KR20120064098A - 아웃바운드 메시지들을 평가하는 시스템 및 방법 - Google Patents

아웃바운드 메시지들을 평가하는 시스템 및 방법 Download PDF

Info

Publication number
KR20120064098A
KR20120064098A KR1020127008418A KR20127008418A KR20120064098A KR 20120064098 A KR20120064098 A KR 20120064098A KR 1020127008418 A KR1020127008418 A KR 1020127008418A KR 20127008418 A KR20127008418 A KR 20127008418A KR 20120064098 A KR20120064098 A KR 20120064098A
Authority
KR
South Korea
Prior art keywords
message
condition
command
field element
evaluation rule
Prior art date
Application number
KR1020127008418A
Other languages
English (en)
Other versions
KR101402561B1 (ko
Inventor
로만 티비안
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20120064098A publication Critical patent/KR20120064098A/ko
Application granted granted Critical
Publication of KR101402561B1 publication Critical patent/KR101402561B1/ko

Links

Images

Classifications

    • 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/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • 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/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

하나 이상의 수신인들에게 송신하기 전에 메시지를 평가할 수 있는 방법들 및 시스템들. 일 실시형태에서, 메시지가 송신되기 전에 메시지 엘리먼트 평가기는 메시지 수신인 및 컨텐트 엘리먼트들 포함하는 메시지 필드 엘리먼트들에 규칙들을 적용한다. 메시지 평가 규칙에 위반된 경우, 경보가 사용자에게 제시된다. 메시지 평가 규칙은 전송자로 하여금 메시지의 전송을 확인하고, 메시지의 편집을 시작하고, 또는 메시지를 취소할 수 있게 할 수도 있다. 메시지 평가 규칙은 또한 메시지가 메시지 평가 규칙에 따르도록 변경될 때까지 메시지가 전송되는 것을 금지할 수도 있다. 본 방법 및 시스템들은 전자 메일, 단순 메시지 시스템, 멀티미디어 메시지 시스템, 및 인스턴트 메시지 시스템 메시지들을 포함한 다양한 메시지 타입들에 적용될 수도 있다.

Description

아웃바운드 메시지들을 평가하는 시스템 및 방법 {A System and Method For Evaluating Outbound Messages}
본 발명은 일반적으로 메시징 시스템들에 관련된 것이고, 더욱 상세하게는 송신 전에 메시지들을 체크하는 방법들 및 시스템들에 관련된 것이다.
몇 개를 들자면 이메일, 단순 메시지 서비스 (simple message service; SMS), 멀티미디어 메시지 서비스 (MMS), 인스턴트 메시징 (IM) 을 포함하는 메시징 시스템들은 사용자들이 선택된 수신자들에게 신속하게 정보를 전송할 수 있게 한다. 메시징 시스템들은 통상적으로 사용자 컴퓨팅 디바이스상에 상주하는 애플리케이션 또는 메시징 서비스들을 클라이언트 컴퓨팅 디바이스에 제공하는 서버 디바이스상에 상주하는 애플리케이션을 포함한다. 메시징 시스템들은 통상적으로 사용자가 메시지 컨텐트 (content) 를 생성하고, 그 메시지를 어드레싱하고 (address), 완성된 메시지를 전송할 수 있게 한다. 메시징 시스템들은 또한, 어드레스들의 디렉토리를 나타냄으로써 및/또는 자동 완성 기능들을 수행함으로써 메시지를 어드레싱할 때 사용자를 보조할 수도 있다.
다수의 메시징 시스템들은 "스팸" 필터들 같은 착신 메시지들을 필터링하는 기회들을 제공하지만, 아웃바운드 메시지들의 제어는 일반적으로 사용자에 남겨둔다. 결과적으로, 사용자들은 메시지들을 전송할 때, 회신이 특정인에 대해 의도됐지만 모두에게 회신하는 것 또는 의도되지 않은 수신자를 포함하는 것과 같은 에러들을 자주 한다. 또한, 메시지들은 일부 수신인들에 적합하지 않은 컨텐트 (content) 와 함께 가끔 전송된다. 그러한 실수들의 결과들은 회사 비밀들이 경쟁자에게 부주의하게 전송될 때와 같은, 당황스러움 내지 금융 손실들에 이를 수 있다.
각종 실시형태들은 아웃바운드 메시지들에서의 잠재적인 문제점들을 모니터링하고 검출하며 메시지가 송신되기 전에 사용자들이 문제를 정정할 수 있도록 사용자들에 경고들을 제공하는 방법들 및 시스템들을 제공한다. 일부 실시형태들은 잠재적인 충돌들, 흔한 어드레싱 실수들 및 다른 타입들의 어드레싱 문제들에 대해 수신인들을 검사한다. 일부 실시형태들은 부적합하거나 전송자에 의한 추가 고려를 요구 할 수도 있는 컨텐트들에 대해 메시지 바디와 같은 메시지 엘리먼트 컨텐츠를 검사한다. 일부 실시형태들은 하나 이상의 메시지 어드레스 엘리먼트들에 대해 부적합한 메시지 바디 컨텐츠와 같은 메시지 컨텐트 엘리먼트들의 포함을 검출한다.
일 실시형태에서, 메시지 엘리먼트 평가기는 메시지가 송신되기 전에 메시징 애플리케이션에 의해 발생되는 메시지에 관해 동작하도록 구성된다. 메시지 엘리먼트 평가기의 기능들은 "전송" 커맨드의 사용자 선택에 의해 트리거링될 수도 있다. 메시지를 메시징 서버에 전송하기 전에, 메시지 엘리먼트 평가기는 수신인 선택 및/또는 메시지 컨텐트에서의 에러들을 검출하기 위해 메시지의 필드들을 체크할 수도 있다. 일 실시형태에서, 메시지 엘리먼트들을 평가하는 프로세스는 하나 이상의 규칙들을 메시지 엘리먼트들에 적용함으로써 달성된다. 일 실시형태에서, 기본 규칙 세트는, 메시지 시스템의 사용자에 의해 확대될 수도 있는 메시지 시스템의 운영자에 의해 확립될 수도 있다. 메시지가 하나 이상의 규칙들을 위반한다면, 메시지 엘리먼트 평가기는 메시지에 의해 위반된 규칙 또는 규칙들에 적합한 하나 이상의 경보 (alert) 메시지들을 사용자에게 제시할 수도 있다. 일 실시형태에서, 규칙들은 컨텍스트 기반 (context driven) 일 수도 있고, 수신인, 수신인 도메인, 전송자 이름, 전송자 도메인 및 메시지 컨텐트에 의존할 수도 있다.
비 제한적인 예시로서, 메시지 엘리먼트 평가기는 이메일 메시지, SMS 애플리케이션, MMS 애플리케이션, 및 인스턴트 메시징 애플리케이션과 함께 동작하도록 구성될 수도 있다. 추가적인 실시형태에서, 메시지 엘리먼트 평가기는 클라이언트-서버 아키텍쳐에서 컴퓨팅 디바이스 상의 클라이언트 애플리케이션에 의해 액세스 되는 서버상의 서비스로서 구성될 수도 있다.
여기서 병합되고 이 명세서의 일부를 구성하는 첨부된 도면들은 본 발명의 예시적인 양태들을 도시한다. 상기에서 주어진 일반적인 설명 및 하기에서 주어지는 상세한 설명과 함께, 도면들은 본 발명의 특징들을 설명하는데 기여한다.
도 1은 일 실시형태에 따른, 메시지 엘리먼트 평가기를 동작시키도록 구성된 애플리케이션을 이용한 메시징 시스템의 논리 컴포넌트 (logical component) 들을 도시한 통신 시스템 블록도이다.
도 2는 일 실시형태에 따른, 애플리케이션에서 동작하는 메시지 엘리먼트 평가기의 논리 컴포넌트들을 도시한 블록도이다.
도 3은 일 실시형태에 따른, 메시지 평가 프로세스의 흐름을 도시한 프로세스 흐름도이다.
도 4는 일 실시형태에 따른, 메시지 엘리먼트 평가기를 동작시키도록 구성된 메시지 관리자를 이용한 메시징 시스템의 논리 컴포넌트들을 도시한 블록도이다.
도 5는 일 실시형태에 따른, 메시지 관리자에서 동작하는 메시지 엘리먼트 평가기의 논리 컴포넌트들을 도시하는 블록도이다.
도 6은 일 실시형태에 따른, 이메일 애플리케이션에서 동작하는 메시지 엘리먼트 평가기의 논리 컴포넌트들의 블록도이다.
도 7은 일 실시형태에 따른, 이메일 메시지 평가 프로세스의 흐름을 도시하는 프로세스 흐름도이다.
도 8은 일 실시형태에 따른, SMS 애플리케이션에서 동작하는 메시지 엘리먼트 평가기의 논리 컴포넌트들의 블록도이다.
도 9는 일 실시형태에 따른, SMS 센터에서 동작하는 메시지 엘리먼트 평가기의 논리 컴포넌트들의 블록도이다.
도 10은 일 실시형태에 따른, IM 애플리케이션에서 동작하는 메시지 엘리먼트 평가기의 논리 컴포넌트들의 블록도이다.
도 11은 일 실시형태에 따른, IM 서버에서 동작하는 메시지 엘리먼트 평가기의 논리 컴포넌트들의 블록도이다.
도 12는 각종 실시형태들과 함께 사용하는데 적합한 데이터 구조의 데이터 구조도이다.
도 13은 각종 실시형태들과 함께 사용하는데 적합한 모바일 디바이스의 컴포넌트 블록도이다.
도 14는 각종 실시형태들과 함께 사용하는데 적합한 컴퓨터 시스템의 컴포넌트 블록도이다.
도 15는 각종 실시형태들과 함께 사용하는데 적합한 서버의 컴포넌트 블록도이다.
각종 양태들이 첨부된 도면들과 관련하여 상세히 설명될 것이다. 가능할 때는 언제든지, 동일한 참조 번호들은 동일하거나 유사한 부분들을 참조하도록 도면들 전체에서 사용될 것이다. 특정 예들 및 구현형태들에서 행해진 참조들은 예시적인 목적들을 위한 것이고 발명이나 청구항들의 범위를 제한하는 것으로 의도되지 않는다.
여기서 사용되는 바와 같이, "메시지 필드" 라는 용어는 현재 정의되거나 장래에 정의될 수도 있는 바와 같은 임의의 메시지 포맷의 모든 필드들을 포함하는 것으로 의도되며, 수신인 필드들, 전송자 어드레스 필드들, 주제 라인 (subject line) 필드들, 메시지 바디 필드들, 메시지 우선순위 필드들, 메시지 날짜 및 시간 필드들, 메시지 라우팅 정보 필드들 및 메시지 메타데이터 필드들을 포함한다. "메시지 어드레스 엘리먼트들" 및 "메시지 컨텐트 엘리먼트들" 이라는 용어들은 어드레싱 엘리먼트들을 (메시지 타입에 포함된다면) 메시지 주제 라인 및 메시지 바디 엘리먼트들 같은 메시지 컨텐트 엘리먼트들과 구별하는데 사용된다.
각종 양태들은 SMS, 이메일 및 인스턴트 메시징 시스템들을 포함하는 특정한 메시징 시스템 실시형태들과 관련하여 설명되지만, 본 발명은 공지되어 있거나 개발될 임의의 메시징 시스템 또는 프로토콜에 적용될 것이다.
상술된 바와 같이, 통상적인 메시징 시스템들은 사용자 컴퓨팅 디바이스상에 상주하는 메시징 애플리케이션 또는 클라이언트 컴퓨팅 디바이스에 메시징 서비스들을 제공하는 서버 디바이스상에 상주하는 메시징 애플리케이션 ("클라이언트-서버" 구현형태들) 을 포함한다. 각종 실시형태들은 양자의 타입들의 구현형태들에 적용될 수도 있고 각각의 예들은 하기에서 설명되는 실시형태들에서 제공된다. 여기서 사용되는 바와 같이, "애플리케이션" 은 특정 디바이스 (즉, 컴퓨팅 디바이스 또는 서버 디바이스) 상에서 상주하는 소프트웨어 명령들을 나타내는 반면, "클라이언트" 는 클라이언트-서버 구현형태에서 서버에 의해 클라이언트 컴퓨팅 디바이스로 다운로드되는 소프트웨어 명령들을 나타낸다. 그러나, 본 기술분야의 기술자가 이해하듯이, 컴퓨팅 디바이스상에서 애플리케이션들로서 구현되는 메시징 시스템들은 메시지들을 중계하는 기능들을 위한 메시징 서버들에 의존하며, 클라이언트-서버 구현형태들은 클라이언트 컴퓨팅 디바이스상에 설치된 일부 애플리케이션 소프트웨어에 의존할 수도 있다. 따라서, "애플리케이션" 및 "클라이언트" 라는 용어들은 설명적인 목적들로만 사용되고, 상호 배타적인 것이거나 특정 타입의 소프트웨어 아키텍쳐가 구현되는 것을 요구하는 것으로 의도되지 않는다.
메시징 시스템들은 개인들 및 사업체들 양자에 의해 폭넓게 사용되고 있다. 다수의 메시징 시스템들은 착신 메시지들을 필터링하는 기회들을 제공하지만, 아웃바운드 메시지의 제어는 일반적으로 사용자에 남겨둔다. 결과적으로, 메시지들은 의도되는 수신인이 아닌 하나 이상의 수신자들에게 메시지가 가도록 초래하는 메시지 어드레스 엘리먼트들을 부주의하게 포함할 수도 있다. 예를 들어, 흔한 사용자 실수는 회신 메시지가 단지 하나의 수신자에 대해 의도됐음에도 "모두에게 회신" 하는 것이다. 다른 흔한 사용자 실수는 (예를 들어, 하나 또는 두 개의 문자들의 입력이 있을 때 수신인 필드가 자동적으로 채워지는 경우) 잘못된 수신인에게 메시지를 전송하거나, 수신해서는 안 되는 하나 이상의 수신인들을 포함하는 수신인들의 그룹에 메시지를 전송하는 것을 포함한다. 다른 흔한 에러는 통신에 부적합한 컨텐트 엘리먼트들을 구비한 메시지들을 수신인에게 전송하는 것을 포함한다. 예를 들어, 흔한 사용자 실수는, 응답들의 확대 체인 (an extended chain of responses) 을 구비한 메시지가 먼저 포함된 메시지들 중 하나에서의 컨텐트를 수신해서는 안 되는 개인에게 전송될 때 발생한다. 다른 흔한 사용자 실수는, 사용자가 메시지의 비밀 또는 민감한 정보가 특정 수신인에 전송되지 않아야 한다는 것을 알지 못하거나 인식하지 못할 때 발생한다.
예를 들어, 고객 서비스 환경에서, 이메일은 고객들과 통신하는데 사용될 수도 있다. 그러한 구현형태에서, 사용자들은 일부가 경쟁자일 수도 있는 몇몇 상이한 고객들에게 정례적으로 메시지들은 전송할 수도 있다. 이로써, 하나의 회사를 위해 의도된 메시지를 경쟁자에게 전송하거나, 동일한 메시지에서 둘 이상의 경쟁자들에 대한 수신인들을 포함할 잠재성이 있다. "모두에게 회신" 이라는 옵션과 같은 흔한 메시징 보조기구들 및 하나 또는 2 개의 문자들에 기초하여 어드레스들을 제안하는 어드레싱 툴 (tool) 들은 그러한 실수들에 대한 원인이 될 수 있다.
그러한 메시징 실수들을 줄이기 위해, 각종 실시형태들은, 각각의 메시지가 전송되는 것이 허용되기 전에 발신 메시지들을 자동으로 필터링하는 이메일 메시징 시스템들에 부가 (addition) 들 또는 인핸스먼트 (enhancement) 들을 제공한다. 각종 실시형태들에서 메시지 어드레스 엘리먼트들 및/또는 메시지 컨텐트 엘리먼트들은 문제들에 대해 평가될 수도 있고, 메시지가 실제로 송신되기 전에 검출된 문제들의 통지가 전송자에게 제공될 수도 있으며, 이로써 전송자에게 잠재적인 실수를 정정할 기회를 제공한다. 하기에서 자세히 설명되는 바와 같이, 이 평가 기능은 메시징 시스템들 및 메시지 구조들에 일반적으로 적용될 수도 있다. 사용자 또는 메시징 시스템의 운영자 (administrator) 는, 2 개의 상이한 회사 이름들 (예를 들어, Doitright 및 Doitall) 또는 2 개의 상이한 어드레스 도메인들 같은 키워드들에 이메일 메시지를 검색하는 필터 옵션들을 구체화할 수도 있다. 메시지가 송신되기 전에, 메시징 애플리케이션 또는 메시징 클라이언트는 메시지 엘리먼트 평가기에 메시지 어드레스 엘리먼트들 및 메시지 컨텐트 엘리먼트들을 "스크럽 (scrub)" 하는 것을 적용할 수도 있다. 메시지 엘리먼트 평가기는 스크러빙 프로세스의 일부로서 다수의 규칙들을 적용할 수도 있다. 예를 들어, 2 개 이상의 키워드들이 메시지에서 발견되는 경우 규칙 조건이 만족 될 수도 있으며, 이에 응답하여 메시지 엘리먼트 평가기는 메시지에서 발견된 문제점 (issue) 을 식별하며 메시지가 전송되어야 하는 것을 확인하도록 전송자에게 프롬프트 (prompt) 하는 팝업 스크린의 디스플레이를 초래한다. 예를 들어, 메시지가 메시지 컨텐트 엘리먼트들 또는 메시지 어드레스 엘리먼트들에서의 어딘가에 2 개의 상이한 회사 이름들을 포함한다면, 메시지가 전송되기 전에 경고 팝업이 발생되어 2 개의 참조 (reference) 들이 안전하게 동일한 메시지에 포함될 수 있다는 것을 사용자가 확인하는 것을 가능하게 할 수도 있다.
일 실시형태에서, 메시지 엘리먼트 평가기는 컴퓨팅 디바이스 (예를 들어, 퍼스널 컴퓨터 또는 모바일 통신 디바이스) 상에서 메시징 애플리케이션과 함께 동작하도록 구성될 수도 있다. 그러한 메시지 엘리먼트 평가기는, 메시징 애플리케이션의 일부로서 또는 별개의 애플리케이션으로서 컴퓨팅 디바이스의 프로세서상에서 구현되는 여기서 설명된 일부 또는 모든 기능들을 포함하는 소프트웨어 모듈일 수도 있다. 메시지 엘리먼트 평가기의 기능들은, 메시징 애플리케이션에 의해 발생되는 그래픽 사용자 인터페이스 (graphical user interface) 에서 제시되는 전송 커맨드의 선택과 같은 사용자에 의한 "전송" 커맨드의 선택에 의해 트리거링될 (triggered) 수도 있다. 메시지를 메시징 서버에 전송하기 전에, 메시지 엘리먼트 평가기는 잠재적인 에러들을 검출하기 위해 메시지의 필드들을 체크할 수도 있다. 수신인, 주제와 같은 메시지 엘리먼트들에게 및/또는 메시지 바디 엘리먼트들에서 규칙들의 세트를 적용함으로써 잠재적인 에러들이 검출될 수도 있다. 일 실시형태에서, 기본 규칙 세트는 메시지 서버의 운영자에 의해 확립될 수도 있고 애플리케이션의 사용자에 의해 확대될 수도 있다. 메시지 엘리먼트 평가기는 메시지가 하나 이상의 규칙들을 위반한다라는 것을 결정한다면, 메시지 엘리먼트 평가기는 하나 이상의 경보 (alert) 프롬프트들을 사용자에게 나타낼 수도 있다. 그러한 경보들은, 메시지에 의해 위반된 특정 규칙 또는 규칙들에 따라 적절한 프롬프트가 생성될 수 있도록 규칙들 세트 내에서 정의될 수도 있다. 예를 들어, 일부 규칙들에 있어서 경보 메시지는 단지 정보적인 것 (informational) 일 수도 있는 반면, 다른 규칙들에 있어서는 경보 메시지는 메시지가 송신되기 전에 사용자에게 액션 (action) 을 취하는 것을 요구할 수도 있다. 다른 예로서, 일부 규칙들은, 경보가 사용자에 의해 무시되지 않고 메시지가 규칙들에 따르게 개정될 때까지 메시지 엘리먼트 평가기가 메시지의 송신을 차단하도록 의무적일 수도 있다.
도 1은 일 실시형태에 따른, 메시지 엘리먼트 평가기 애플리케이션을 이용한 메시징 시스템의 예시적인 기능 컴포넌트들을 도시하는 통신 시스템 블록도이다. 이 예시적인 실시형태에서, 사용자 컴퓨팅 디바이스 (100) 는 메시징 애플리케이션 (105) 을 동작시킨다. 사용자 컴퓨팅 디바이스들은, 예를 들어 데스크탑 컴퓨터, 랩탑 컴퓨터, PDA, 셀폰, 스마트폰, 웹-TV 단말기, 또는 메시지를 생성하고 전송하도록 구성된 임의의 다른 전자 디바이스일 수도 있다. 메시징 애플리케이션 (105) 은, (도 1에 미도시된) 하나 이상의 입력 디바이스들을 통해 사용자로부터 메시지 필드 엘리먼트들을 발생시킬 때의 사용을 위한 정보를 수신하도록 구성될 수도 있다. 비제한적인 예시로서, 입력 디바이스들은 하나 이상의 키보드들, 터치스크린 디스플레이들, 키패드들, 음성 인식 시스템들, 및 컴퓨터 마우스 같은 컴퓨터 포인팅 디바이스들을 포함할 수도 있다. 또한 통상적인 컴퓨팅 디바이스들 (100) 의 컴포넌트들의 자세한 설명들은 도 13 및 도 14와 함께 하기에서 제공된다.
메시징 애플리케이션 (105) 은 통상적으로 사용자로부터 수신된 정보를 다수의 메시지 필드 엘리먼트로 포맷팅한다 (format). 그러한 메시지 필드 엘리먼트들은 수신인 필드들, 전송자 어드레스 필드들, 주제 라인 필드들, 메시지 바디 필드들, 메시지 우선순위 필드들, 메시지 날짜 및 시간 필드들, 메시징 네트워크 (110) 를 통해 메시지를 구성하고 전송하기 위해 메시징 애플리케이션 (105) 에 의해 사용될 수도 있는 다른 메시지 필드 엘리먼트들 및 메시지 라우팅 정보 필드들 및 메시지 메타데이터 필드들을 포함할 수도 있다. 메시지 필드 엘리먼트들은 일반적으로 전송되는 메시지의 타입 및 메시지를 전송하는데 사용되는 메시지 프로토콜에 의해 나타낸다. 메시지 프로토콜은, 메시지가 어디에 전송되어야 하는지를 결정하는데 충분한 정보를 제공하는 메시지 어드레스 엘리먼트들과 같은 의무적인 필드 데이터를 확립할 수도 있다.
메시징 애플리케이션 (105) 은 하기에서 설명되는 바와 같은 메시지 엘리먼트 평가기 (120) 와 협력하도록 (cooperate) 구성될 수도 있다. 메시징 애플리케이션 (105) 은 메시지 네트워크 (110) 를 통해 메시지 서버 (140) 내에서 동작하는 메시지 관리자 (150) 와 통신함으로써 메시지를 송신할 수도 있다. 그 후 메시지 관리자 (150) 는 통상적으로 메시지를 수신하고 메시지 네트워크 (110) 를 통해 목적지 컴퓨팅 디바이스 (미도시) 에 메시지를 라우팅한다.
도 2는 일 실시형태에 따른, 메시징 애플리케이션 (105) 내에서 동작하는 메시지 엘리먼트 평가기 (120) 의 예시적인 기능 컴포넌트들을 도시하는 블록도이다. 메시징 애플리케이션 (105) 은 통상적으로 애플리케이션 커맨드 관리자 (108), 또는 동등한 기능, 및 애플리케이션 디스플레이 관리자 (110), 또는 동등한 기능을 포함한다. 애플리케이션 커맨드 관리자는 발신 메시지들을 발생시키고 송신하는 것 및 착신 메시지들을 디스플레이하고 저장하는 것과 관련된 기능을 포함한다. 애플리케이션 디스플레이 관리자 (110) 는 사용자 컴퓨팅 디바이스 (100) 상에 디스플레이될 수도 있는 그래픽 사용자 인터페이스 (GUI) 를 발생시키는 기능을 포함한다. GUI는 통상적으로 애플리케이션 커맨드 관리자 (108) 에 커맨드들을 발급하기 위해 입력 디바이스를 통해 사용자에 의해 선택될 수도 있는 객체 (object) 들을 디스플레이한다.
메시지 엘리먼트 평가기 (120) 는 여기서 설명된 기능을 포함하며, 별개의 애플리케이션으로서, (도시된 바와 같은) 기능 모듈로서 또는 메시징 애플리케이션 (105) 내에 포함되는 기능으로서 구현될 수도 있다. 메시지 엘리먼트 평가기 (120) 는 전송 검출 엔진 (122) 또는 기능 컴포넌트를 포함할 수도 있다. 전송 검출 엔진 (122) 은, 사용자가 GUI 내의 "전송" 아이콘을 클릭할 때와 같은 때에 애플리케이션 (105) 에 의한 "전송" 커맨드의 발급을 검출하기 위해 애플리케이션 커맨드 관리자 (108) 와 협력한다. 예를 들어, 전송 검출 엔진 (122) 은 "전송" 아이콘이 활성화될 때 셋팅되는 메모리에서의 플래그 (flag) 를 정기적으로 평가하고 그 플래그가 셋팅될 때 메시지 엘리먼트 평가기 (120) 를 론칭하는 (lauch) 프로세스 단계들을 포함할 수도 있다. 일부 구현형태들에서 "전송" 아이콘의 활성화는 메시지 엘리먼트 평가기 (120) 를 직접 활성화시키기 때문에, 전송 검출 엔진 (122) 은 선택적 (optional) 이다. 전송 커맨드의 검출에 응답하여, 전송 검출 엔진 (122) 은 메시지 어드레스 엘리먼트들 및 메시지 컨텐트 엘리먼트들을 규칙 엔진 (124) 에 전송할 수도 있다. 일부 실시형태들에서, 전송 검출 엔진 (122) 은 평가될 각종 엘리먼트들을 획득하기 위해 메시지를 분석하고 (parse) 그들 엘리먼트들을 규칙 엔진 (124) 에 이동시킬 수도 있다. 다른 실시형태들에서, 규칙 엔진 (124) 은 메시지를 메모리로부터 직접 획득하고, 평가될 엘리먼트들을 획득하기 위해 그 메시지를 분석할 수도 있다. 규칙 엔진 (124) 은 규칙 데이터스토어 (126) 로부터 적절한 규칙들을 획득하여 하기에서 더욱 완전히 설명되는 바와 같이 그 규칙들을 메시지 어드레스 엘리먼트들 및/또는 메시지 컨텐트 엘리먼트들에 적용할 수도 있다.
규칙 데이터스토어 (126) 는 모든 메시지들에 적용될 수도 있는 규칙들 및 각각의 메시지의 컨텐트에 기초하여 적용될 수 있는 규칙들을 포함할 수도 있다. 규칙들은 조건들 또는 테스트들 및 상응하는 액션(들)과 같은 다양한 형태들로 제공될 수도 있다. 예를 들어, 메시지 엘리먼트가 규칙의 조건 또는 테스트를 만족하는 경우, 그 규칙에 구체화된 액션 또는 액션들이 수행될 수도 있다. 비제한적인 예시로서, 평판이 나쁜 개인들 (예를 들어, 알려진 "스패머들 (spammers)") 과 같은 특정 수신인에게 메시지들의 전송을 금지하는 규칙이 확립될 수도 있다. 다른 예시적인 예로서, 경쟁자들의 도메인들과 같은 특정 도메인들에 메시지의 전송을 금지하는 규칙들이 확립될 수도 있다.
프롬프트나 경고를 단순히 발생시키는 것을 넘어 메시지상에 추가적인 프로세싱하는 것을 포함하여 더욱 복잡한 테스트들 및 조건부 액션들이 또한 구현될 수도 있다. 일 실시형태에서 테스트 조건이 만족될 때 특정 문법, 단어 사용, 또는 컨텐트 평가들이 실행될 수도 있으며, 결과적인 추천 변경들 (resulting recommended changes) 이 프롬프트에서 사용자에게 디스플레이될 수도 있다. 예를 들어, 테스트 조건은 메시지가 회사 이름 또는 상표 (예를 들어, "Qualcomm") 를 포함하는지 여부일 수도 있으며, 만족될 때는 회사 이름 또는 상표 사용이 (상표 기장을 포함하거나 완전한 상표를 적절히 사용하는) 회사 정책들 또는 법률 요건들에 따르는 것을 확보하도록 문법 규칙들의 세트를 적용하는 액션을 트리거링한다. 상표들 및 상품명들에 그러한 규칙들을 적용하는 것은 상표들이 보통 명칭들이 되게 하는 것을 회사들이 회피하는데 도움이 될 수 있다. 다른 예로서, 테스트 조건은 수신인들을 고객들, 회사 경영진, 또는 정부 관료들의 리스트와 비교할 수도 있으며, 만족될 때는 문법 규칙들의 세트가 비공식적인 어휘들, 비속어, 및 비전문적인 언어를 식별하고 정정하도록 트리거링할 수도 있다. 제 3의 예로서, 테스트 조건은 메시지가 사진을 포함하는 여부일 수도 있고, 만족될 때는 수신인들을 사진들이 전송되지 않아야 하는 수신인들의 리스트와 비교한다.
일부 추가적인 예시적인 규칙 조건들이 예시적인 목적들로만으로 제공되는 표 1에 제시된다.
규칙 조건 액션
Bob 에 대한 메시지들은 동일한 도메인에서의 Fred, Mary, 또는 Bill을 제외하고 다른 사람에게는 복사되서는 안 된다 만일 "TO" 필드="Bob@도메인" 라면 및 만일 "TO" 필드, "CC" 필드 또는 "BCC" 필드에서의 임의의 다른 어드레스가 "Fred," "Mary," 또는 "Bill"@도메인이 아니라면 프롬프트를 발생시킨다:
"메시지 수신인 충돌: Bob에 대한 메시지들은 Fred, Mary, 또는 Bill을 제외하고 다른 사람에게는 복사되서는 안 된다." 사용자 확인에 관해 송신한다.
메시지들은 "X" 수신자들보다 많은 이에게 전송되서는 안 된다. "TO" 필드, "CC" 필드 및 "BCC" 필드 엔트리들을 카운트한다; 만일 카운트>X 라면 프롬프트를 발생시킨다:
"메시지 어드레스 에러: X 수신자들보다 많음." 사용자 확인에 관해 송신한다.
도메인 "Acme" 에 대한 메시지들은 도메인 "Beta" 에 대한 참조들을 포함해서는 안 된다 만일 "TO" 필드="@ACME" 라면 및 만일 "TO" 필드, "CC" 필드, "BCC" 필드 또는 바디에서의 임의의 다른 어드레스가 도메인 "beta" 를 포함하고 있다면 프롬프트를 발생시킨다:
"메시지 수신인 충돌: 메시지들이 Acme 및 Beta 양자에 어드레싱되었다." 사용자 확인에 관해 송신한다.
Bob@도메인 으로부터의 메시지들은 어떤 다른 도메인에게도 전송되서는 안 된다 만일 "FROM" 필드가 "Bob@도메인이라면, 그러면 "TO" 필드, "CC" 필드, "BCC" 필드는 =@도메인이어야 한다. 프롬프트를 발생시킨다:
"메시지 수신인 충돌: 메시지들이 Bob 및 다른 도메인에 어드레싱되었다." 사용자 확인에 관해 송신한다.
Bob 은 그룹들 A, B 또는 C에게 전송해서는 안 된다 만일 "FROM" 필드가 Bob@도메인이라면, 그러면 "TO" 필드, "CC" 필드, "BCC" 필드는 그룹 A, B, 또는 C에 대한 링크를 포함해서는 안 된다. 프롬프트를 발생시킨다:
"메시지 수신인 에러: Bob은 그룹들 A, B, 또는 C에 메시지를 전송해서는 안 된다." 송신을 차단한다.
메시지들은 2 이상의 관련없는 엔터티들에게 참조되서는 안 된다 만일 메시지 바디가 Beta, Gamma, 및 Phi 중 임의의 하나 및 Acme에 대한 참조를 포함한다면 프롬프트를 발생시킨다:
"메시지 수신인 충돌: 메시지가 2 이상의 관련없는 엔터티들에게 어드레싱되었다." 송신을 차단한다.
표 1에서의 예들이 도시하는 바와 같이, 규칙들은 다양한 조건들 또는 테스트들, 및 경보들, 그리고 송신 액션들을 포함할 수도 있다. 규칙들은 다수의 상이한 메시지 필드들을 개별적으로 또는 총괄적으로 테스트할 수도 있다. 조건들 또는 테스트는 특정 단어들, 어드레스들 또는 어드레스 도메인들에 대한 것일 수도 있다. 조건이 만족되는 규칙과 함께 구현될 액션들은 특정한 위반 또는 식별되는 문제점을 설명하는 경보와 같은 것을 사용자에게 경보하는 디스플레이 및 취해질 수도 있는 사용자 액션들의 디스플레이를 발생시키는 것을 포함할 수도 있다.
규칙 엔진 (124) 은 메시지 엘리먼트 컨텐츠에 의해 정해지는 메시지의 컨텍스트 (context) 에 기초하여 규칙 데이터스토어 (126) 로부터 규칙들을 선택할 수도 있다. 다시 말해, 규칙들은 전송된 메시지 내의 하나 이상의 필드들의 컨텐트에 기초하여 규칙 엔진 (124) 에 의해 선택될 수도 있다. 예를 들어, 규칙은 수신인에게 또는 특정 전송자로부터의 도메인에게 메시지의 전송을 금지하는 것으로 확립될 수도 있다. 특정 전송자의 컨텍스트에 기초하여 구현되는 그러한 컨텍스트 규칙은 메시징 시스템의 다양한 사용자들 각각에 대해 상이한 허용들을 실시하는 것을 불러올 수도 있다.
컨텍스트 규칙들은 특정 수신인의 컨텍스트 내에서 메시지의 컨텐트에서의 잠재적인 에러의 전송자에게 경보하는데 또한 사용될 수도 있다. 예를 들어, 메시지 컨텐트 엘리먼트들이 수신인 또는 수신인들에 대해 부적합한지 여부를 결정하기 위해 메시지 필드들이 평가될 수도 있다. 예시로서, 규칙은 John at Acme.com 에 어드레싱되는 메시지는 임의인 at Beta.com 에게 참조해서는 안 된다는 것으로 확립될 수도 있다. 다른 규칙은 John at Acme.com 에 어드레싱되는 메시지는 다른 개인에게 전송되는 메시지의 복사의 결과가 될 수 있는 임의의 필드에서 임의의 다른 수신인들을 포함해서는 안 되는 것으로 확립될 수도 있다.
규칙 엔진 (124) 은 경보 엔진 (128), 및 선택적으로 리디렉션 엔진 (132) 을 통해 실행할 수도 있고 또는 경보 엔진 (128), 및 선택적으로 리디렉션 엔진 (132) 에게 그 결과들을 제공할 수도 있다. 규칙 엔진 (124) 은 예를 들어, 만족되는 규칙에 상응하는 액션을 발송함으로써 또는 만족되는 규칙에 대한 식별자를 발송함으로써 그렇게 할 수도 있다. 메시지 엘리먼트 평가기 (120) 의 기능의 일부 또는 기능 컴포넌트일 수도 있는 경보 엔진 (128) 은 만족되는 규칙에 구체화된 액션들과 일치하는 사용자에 대한 디스플레이를 발생하는데 충분한 기능을 포함한다. 경보 엔진 (128) 은 규칙 엔진 (124) 으로부터 디스플레이될 정보를, (예를 들어, 상응하는 액션을 탐색하기 위해 만족되는 규칙의 인덱스를 사용함으로써) 규칙 데이터스토어 (126) 로부터 수신할 수도 있고, 또는 규칙 엔진 (124) 에 의해 이루어진 결정에 적합한 경보를 선택하기 위해 경보 데이터베이스 (130) 를 참조함으로써 (예를 들어, 만족되는 규칙의 인덱스에 상응하는 경보를 선택함으로써) 수신할 수도 있다.
표 1 이 도시하는 바와 같이, 경보는 주의적인 것, 정보적인 것, 또는 금지적인 것일 수도 있다. 일부 규칙들은 메시지를 전송하기 전에 위반된 조건에 관해 전송자에게 생각하도록 하기 위해 제공될 수도 있다 (예를 들어, 메시지가 50 명의 수신인들 보다 많이 전송되어야 하는지를 확인하는 것). 예를 들어, 경보는 사용자에게 규칙이 위반되었다는 것에 주의를 촉구할 수도 있다. 경보는 "당신이 John에게 전송했던 메시지가 Bob에게 또한 전송될 것이다" 에서와 같이 단순히 발견을 통지할 수도 있다. 주의적인 또는 정보적인 경보는 메시지가 전송되어야 하는지 여부를 입력하도록 전송자에게 프롬프트할 수도 있다. 따라서, 액션이 사용자의 확인에 의거 메시지의 송신을 허용한다면, 액션은 메시지를 송신하는 것 또는 메시지 필드들을 편집하기 위해 메시징 애플리케이션으로 복귀하는 것 같은 사용자 지시들을 수신하는 프롬프트 (예를 들어, GUI 하이퍼링크 아이콘) 를 발생시키는 것을 포함할 수도 있다. 예를 들어, 경보는 "전송하기 위해 확인 버튼을 클릭하세요 또는 취소 버튼을 클릭하면 당신의 메시지는 전송되지 않습니다" 와 함께 종료할 수도 있다. 다른 규칙들은, 2 명의 경쟁 공급자들에게 어드레싱되는 메시지를 전송하는 것과 같은 위반되는 조건이 정정될 때까지 송신을 방해하는 것으로 제공될 수도 있다. 예를 들어, 사용자가 규칙을 무시할 수 없다면, 액션은 메시지 필드들을 편집하기 위해 메시징 애플리케이션으로 복귀하는 프롬프트를 발생시키는 것을 포함할 수도 있다. 전송 확인 및 취소 커맨드들은 하기에서 논의된다.
경보들은, 경보 디스플레이 엔진 (136) 에 의해 실행되는 명령들에 따라 메시징 애플리케이션 (105) 에 의한 디스플레이를 위해 포맷팅될 수도 있다. 특정 규칙이 만족되는 것을 나타내는 규칙 엔진 (124) 에 응답하여, 경보 디스플레이 엔진 (136) 은 경보 메시지의 디스플레이를 발생시키기 위해 애플리케이션 디스플레이 관리자 (110) 와 협력할 수도 있고 또는 경보 메시지에 링크되는 경보 아이콘을 디스플레이할 수도 있다. 일 실시형태에서, 경보 메시지의 특징들은 사용자에 의해 셋팅될 수도 있다. 예를 들어, 일 실시형태에서 사용자는 폰트, 폰트 컬러, 윈도우 사이즈, 경보 아이콘 모양, 경보 아이콘 컬러, 및 경보 아이콘이 깜박거리는지 또는 일정하게 유지되는지 여부와 같은 다른 디스플레이 양태들을 셋팅할 수도 있다.
경보 디스플레이 엔진 (136) 은, 규칙 위반이 이메일의 전송을 금지하지 않을 때 "전송 확인" 프롬프트 객체 (예를 들어, 하이퍼링크 버튼), "메시지 편집" 프롬프트 객체, 및/또는 "메시지 취소" 프롬프트 객체의 디스플레이를 발생시키기 위해 메시징 애플리케이션 디스플레이 관리자 (110) 와 또한 협력할 수도 있다.
일 실시형태에서, 사용자에 의한 "전송 확인" 커맨드의 선택은 메시징 애플리케이션 (105) 에 의한 송신을 위해 메시지를 릴리스 (release) 한다. 이 송신 릴리스는 메시지 엘리먼트 평가기 (120) 기능을 트리거링하는 전송 커맨드에 의해 활성화된 기능과 상이하다. 따라서, "전송 확인" 커맨드의 사용자 활성화는 메시지를 메시지 엘리먼트 평가기 (120) 에 복귀시키지 않는다. 다른 한편으로, 만일 사용자가 "메시지 편집" 커맨드를 선택하고 "전송"을 다시 선택하기 전에 메시징 애플리케이션에서의 메시지를 개정한다면, 편집된 메시지는 두 번째로 메시지 엘리먼트 평가기 (120) 에 의해 평가될 수도 있다.
규칙들은 위반되는 조건이 정정될 때까지 메시지가 전송되는 것을 또한 금지할 수도 있다. 이 상황에서, 경보 메시지는 "전송 확인" 객체를 제공하지 않고 대신에 "메시지 편집" 및/또는 "메시지 취소" 객체만을 제공할 수도 있다. 예를 들어, 경보 메시지는 "당신은 Acme.com 으로 메시지를 전송할 권한이 없습니다. 이 메시지는 전송되지 않을 것입니다." 라고 표시할 수도 있다.
기능 모듈로서 또는 다른 모듈들 또는 메시징 애플리케이션 중 하나의 기능의 일부로서 제공될 수도 있는 선택적 리디렉션 엔진 (132) 은, 메시지 및/또는 경보가 다른 어드레스로 리디렉션되야 하는지 여부에 대해 규칙 엔진 (122) 및 경보 엔진 (128) 의 결정들을 리뷰하도록 구성될 수도 있다. 예를 들어, John at acme.com 에 메시지를 전송할 권한이 없는 사용자로부터의 메시지는 메시지를 조사할 수 있는 보안 요원의 어드레스로 리디렉션될 수도 있다. 대안적으로 또는 추가적으로, 발생된 경보는 IP 관리자에 리디렉션될 수도 있고 추가 액션을 위해 로그 (log) 될 수도 있다. 그러한 로그된 경보들은 추가적인 교육을 위한 전송자를 선택하는데 또는 규칙들을 변경하거나 새로운 규칙들을 생성하는데 사용될 수도 있다. 리디렉션 엔진 (132) 은, 규칙 엔진 (124) 에 의해 플래그되는 (flagged) 메시지들을 리디렉션하기 위한 규칙들 및 어드레스들이 저장되어 있는 선택적 리디렉션 데이터스토어 (134) 와 협력하여 작동하도록 구성될 수도 있다.
도 3은 일 실시형태에 따른, 메시지의 평가를 도시하는 프로세스 흐름도이다. 메시지는 사용자 컴퓨팅 디바이스 (100) 상에서 동작하는 메시징 애플리케이션 (105) 을 이용하여 생성될 수도 있다 (단계 300). 메시지가 전송될 준비가 된 경우, 메시징 애플리케이션은 사용자로부터 전송 커맨드를 수신할 수도 있다 (단계 305). 전송 커맨드의 수신에 응답하여, 메시지 엘리먼트 평가기 (120) 기능이 활성화되고 하나 이상의 규칙들이 규칙 데이터스토어 (126) 로부터 선택될 수도 있다 (단계 310). 메시지 엘리먼트 평가기 (120) 는, 선택된 규칙 또는 규칙들에 의해 지시되는 바와 같이 (다른 메시지 엘리먼트들 뿐만 아니라) 메시지 어드레스 엘리먼트들, 메시지 컨텐트 엘리먼트들 또는 양자 모두에 선택된 규칙을 적용한다 (단계 315).
예를 들어, 규칙은 John at Acme.com 에 어드레싱되는 메시지는 수신인 필드, 메시지 주제 필드, 또는 메시지 바디 필드에서 임의인 at Beta.com 을 참조해서는 안 되는 것으로 확립될 수도 있다. 다른 규칙은 John at Acme.com 에 어드레싱되는 메시지는 다른 개인에게 전송되는 메시지의 복사의 결과가 될 수 있는 어떤 다른 메시지 어드레스 엘리먼트들을 포함해서는 안 되는 것으로 확립될 수도 있다. 또 다른 규칙은 "Robert" 에게 어드레싱되는 메시지는 닉네임 "Bob" 을 사용하지 않는 것으로 확립될 수도 있다. 이러한 예들에서, 전송될 메시지가 John@Acme.com 에 어드레싱된다면, 처음 2 개의 예 규칙들은 단계 310에서 선택될 수도 있고, 메시지가 수신인으로서 "Robert" 를 또한 포함한다면, 세 번째 규칙이 또한 선택될 수도 있다.
규칙 엔진 (124) 은 선택된 규칙들 중 임의의 것에 위반되었는지 여부를 결정할 수도 있다 (결정 320). 규칙에 위반되지 않았다면 (즉, 결정 320="아니오"), 메시지는 송신을 위해 릴리스될 수도 있다 (단계 325). 규칙에 위반되었다면 (즉, 결정 320="예"), 규칙 엔진 (124) (또는 메시지 엘리먼트 평가기 (120) 의 다른 기능 엘리먼트) 은 위반된 규칙이 메시지의 송신을 금지하는지 여부를 결정할 수도 있다 (결정 330). 규칙이 메시지의 송신을 금지한다면 (즉, 결정 330="예"), 경보 메시지가 디스플레이되어 사용자에게 그 메시지를 전송하는 것이 금지되어 있고 메시지의 송신이 차단될 수도 있다는 것을 통지할 수도 있다 (단계 335). 규칙이 메시지의 전송을 금지하지 않는다면 (즉, 결정 330="아니오"), 경보 메시지가 디스플레이되어 사용자에게 규칙에 위반되었다는 것을 통지하고 사용자에게 메시지의 송신을 확인하도록 또는 메시지를 편집 또는 취소하도록 요청할 수도 있다 (단계 340). 메시지 엘리먼트 평가기 (120) 는 사용자 입력의 수신을 대기할 수도 있으며 (결정 345), 이는 타임 아웃 (time-out) 임계값을 전제로 할 수도 있다 (미도시). 입력이 수신되기 전에 타임 아웃 임계값이 도달되면, 메시지는 취소될 수도 있고 프로세싱이 메시징 애플리케이션 (105) 에 복귀될 수도 있다.
사용자 입력이 수신되면 (즉, 결정 345="예"), 메시지 엘리먼트 평가기 (120) 는 입력이 전송 확인 또는 취소 커맨드 인지 여부를 결정할 수도 있다 (결정 350). 입력이 전송 확인 커맨드 일 때 (즉, 결정 350="전송"), 메시지는 송신을 위해 릴리스될 수도 있다 (단계 355). 수신된 사용자 입력이 취소 커맨드이면 (즉, 결정 350="취소"), 메시지 전송 커맨드는 취소될 수도 있고 프로세싱은 메시징 애플리케이션 (105) 의 메시징 커맨드 관리자 (108) 에 복귀될 수도 있어 사용자가 메시지를 편집하거나 다른 메시지를 작성할 수 있게 할 수도 있다 (단계 360).
규칙 조건이 만족될 때 디스플레이되는 경보 메시지의 컨텐트는 사용자에 의해 또는 메시징 시스템의 운영자에 의해 결정되거나 선택될 수도 있다. 비제한적인 예로서, 경보 메시지는 위반된 규칙 및 메시지가 규칙 위반을 극복하기 위해 정정될 방법에 관한 명령들을 포함할 수도 있다. 일 실시형태에서, 운영자는 디폴트 규칙들을 확립할 수도 있고, 디폴트 규칙들을 무시하지 않거나 디폴트 규칙들과 충돌하지 않는 방식으로 개인 메시지 평가 규칙들을 생성함으로써와 같이 사용자는 디폴트 규칙들을 확대하는 것이 허용될 수도 있다.
상술된 바와 같이, 메시징 시스템들은 클라이언트-서버 시스템 아키텍처에서 구현될 수도 있다. 도 4는 일 실시형태에 따른 클라이언트-서버 아키텍처에서의 사용에 적합한 메시지 엘리먼트 평가기를 포함하는 메시징 시스템의 예시적인 기능 컴포넌트들을 도시하는 블록도이다. 도 4에 도시되는 바와 같이 메시지 엘리먼트 평가기 (420) 기능은 메시징 서버 (440) 에 상주할 수도 있고 메시지 서버 (440) 에 위치된 메시지 관리자 서비스 (450) 와 함께 협력할 수도 있다. 이 실시형태에서, 메시징 클라이언트 (405) 는, 메시징 네트워크 (410) 를 통해 메시지 관리자 서비스 (450) 와 협력하여 메시지들을 발생시키기 위해 사용자 컴퓨팅 디바이스 (400) 상에서 호스팅될 수도 있다. 사용자 입력들은 메시징 클라이언트 (405) 에 의해 포맷팅될 수도 있고, 또는 프로세싱을 위해 메시지 관리자 서비스 (450) 에 이동될 수도 있다. 사용자가 메시지는 전송되어야 하는 것을 나타낼 때, 메시지 엘리먼트 평가기 서비스 (420) 는 하기에서 설명되는 바와 같이 메시지 엘리먼트들을 평가하는 프로세싱을 인계받을 (take over) 수도 있다.
도 5는 일 실시형태에 따른, 메시지 관리자 서비스 (450) 내에서 동작하는 메시지 엘리먼트 평가기 서비스 (420) 의 예시적인 기능 컴포넌트들을 도시하는 블록도이다. 메시징 클라이언트 (405) 는 클라이언트 커맨드 관리자 (508) 및 클라이언트 디스플레이 관리자 (510) 를 포함할 수도 있다. 클라이언트 디스플레이 관리자 (510) 는 사용자 컴퓨팅 디바이스 (400) 상에서 디스플레이될 수도 있는 GUI를 발생시킬 수도 있다. 도 2와 관련하여 상술된 실시형태와 유사하게, GUI는 입력 디바이스 (미도시) 를 사용하는 사용자에 의한 선택을 위한 객체들을 디스플레이하여 클라이언트 애플리케이션 커맨드 관리자 (508) 에게 커맨드들을 발급할 수도 있다.
메시징 서버 (440) 는 메시징 관리자 서비스 (450) 를 포함할 수도 있다. 메시징 관리자 서비스 (450) 는 클라이언트-서버 메시징 인터페이스 (510) 및 메시지 엘리먼트 평가기 서비스 (420) 를 포함할 수도 있다.
클라이언트-서버 메시징 인터페이스 (510) 는 메시징 네트워크 (410) 를 통해 메시징 클라이언트 (405) 와 협력할 수도 있다. 클라이언트-서버 메시징 인터페이스 (510) 는 하기에서 논의되는 바와 같이 전송 검출 서비스 (522) 및 경보 디스플레이 서비스 (536) 를 통해 메시지 엘리먼트 평가기 서비스 (420) 와 협력할 수도 있다.
전송 검출 서비스 (522) 는 사용자가 사용자 컴퓨팅 디바이스 (400) 상에서 "전송" 커맨드를 선택했을 때를 전송 검출 서비스 (522) 가 인식하게 할 수 있는 기능을 가질 수도 있다. 전송 검출 서비스 (522) 는 예를 들어 클라이언트 커맨드 관리자 (508) 와 함께 협력함으로써 그렇게 할 수도 있고, 송신을 위해 포매팅된 메시지를 수신할 때 그렇게 할 수도 있다. 전송 커맨드의 검출에 응답하여, 전송 검출 서비스 (122) 는 메시지 어드레스 엘리먼트들 및 메시지 컨텐트 엘리먼트들을 규칙 엔진 (524) 에 전송할 수도 있다. 일부 실시형태들에서 전송 검출 서비스 (522) 는, 평가될 각종 엘리먼트들을 획득하고 이들 엘리먼트들을 규칙 서비스 (524) 에 이동시키기 위해 클라이언트 커맨드 관리자 (508) 로부터 수신된 메시지를 분석할 수도 있다. 다른 실시형태들에서 규칙 서비스 (524) 는 서버 메모리로부터 직접 또는 클라이언트-서버 메시징 인터페이스 (510) 로부터 메시지를 획득할 수 있고, 평가될 엘리먼트들을 획득하기 위해 메시지를 분석할 수도 있다. 규칙 서비스 (524) 는 규칙 데이터스토어 (526) 로부터 적절한 규칙들을 획득할 수도 있고, 하기에서 더욱 완전히 설명되는 바와 같이 그 규칙들을 메시지 어드레스 엘리먼트들 및/또는 메시지 컨텐트 엘리먼트들에 적용할 수도 있다.
규칙 데이터스토어 (526) 는 모든 메시지들에 적용될 수도 있는 규칙들 및 각각의 메시지의 컨텐트에 기초하여 메시지들에 적용될 수도 있는 규칙들을 포함한다. 도 2와 관련하여 상술된 바와 같이 규칙들은 특정 수신인들 또는 특정 어드레스 도메인으로의 메시지들의 전송을 금지하는 것으로 확립될 수도 있다.
도 2와 관련하여 상기에 논의된 실시형태들과 유사하게, 규칙 서비스 (526) 는 전송되는 메시지 내의 하나 이상의 필드들의 컨텐트에 기초하여 규칙 데이터스토어 (526) 로부터 규칙들을 선택할 수도 있다. 컨텍스트 규칙들은, 특정 수신인 또는 수신인들의 컨텍스트에서 메시지의 컨텐트 내의 잠재적인 에러를 전송자에게 경보하는데 또한 사용될 수도 있다.
규칙 서비스 (524) 는 경보 서비스 (528), 및 선택적으로 리디렉션 서비스 (532) 를 통해 실행할 수도 있고 또는 경보 서비스 (528), 및 선택적으로 리디렉션 서비스 (532) 에게 그 결과들을 제공할 수도 있다. 규칙 서비스 (524) 는 예를 들어, 만족되는 규칙에 상응하는 액션을 발송함으로써 또는 만족되는 규칙에 대한 식별자를 발송함으로써 그렇게 할 수도 있다. 메시지 엘리먼트 평가기 서비스 (420) 또는 메시징 서비스 (450) 의 기능의 일부 또는 기능 컴포넌트일 수도 있는 경보 서비스 (528) 는 클라이언트-서버 메시징 인터페이스 (510) 및 메시지 네트워크 (510) 를 통해 사용자 컴퓨팅 디바이스 (400) 에 다시 전달되는 디스플레이를 발생하는데 충분한 기능을 포함한다. 경보 서비스 (528) 는 규칙 서비스 (524) 로부터 디스플레이될 정보를, (예를 들어, 상응하는 액션을 탐색하기 위해 만족되는 규칙의 인덱스를 사용함으로써) 규칙 데이터스토어 (526) 로부터 수신할 수도 있고, 또는 규칙 서비스 (524) 에 의해 이루어진 결정에 적합한 경보를 선택하기 위해 경보 데이터베이스 (530) 를 참조함으로써 (예를 들어, 만족되는 규칙의 인덱스에 상응하는 경보를 선택함으로써) 수신할 수도 있다.
도 2와 관련하여 상술된 바와 같이, 경보들은 주의적인 것, 정보적인 것, 또는 금지적인 것일 수도 있다. 경보들은, 클라이언트-서버 메시징 인터페이스 (510) 를 통해 전달되는 XML 또는 HTTP 명령들 같은, 경보 디스플레이 서비스 (536) 에 의해 제공되는 명령들에 따라 메시징 클라이언트 (405) 에 의한 디스플레이를 위해 포맷팅될 수도 있다. 따라서 경보 서비스 (528) 는, 클라이언트-서버 메시징 인터페이스 (510) 및 메시징 네트워크 (410) 를 통해 클라이언트 디스플레이 관리자 (510) 에게 송신되는 사용자 컴퓨팅 디바이스 (400) 상의 디스플레이를 위한 경보를 발생시키도록 경보 디스플레이 서비스 (536) 에게 지시할 수도 있다. 클라이언트 디스플레이 관리자 (510) 는 디스플레이 명령들을 수신할 수도 있고, 메시징 클라이언트 (405) 로 하여금 경보 메시지를 디스플레이하거나 경보 메시지에 링크될 수도 있는 경보 아이콘을 디스플레이하는 것을 초래할 수도 있다. 일 실시형태에서, 경보 데이터스토어 (530) 또는 규칙 데이터스토어 (526) 에의 저장을 위해 메시징 서버 (440) 에 포매팅한 선택들을 전송함으로써와 같이 경보 메시지의 특징들은 사용자에 의해 셋팅될 수도 있다. 예를 들어, 규칙 위반이 이메일의 전송을 금지하지 않을 때, 경보 디스플레이 서비스 (536) 는 메시징 클라이언트 (105) 로 하여금 "전송 확인" 프롬프트 객체 (예를 들어, 하이퍼링크 버튼), "메시지 편집" 프롬프트 객체, 및/또는 "메시지 취소" 프롬프트 객체를 디스플레이하는 것을 초래하는 명령들을 발생시킬 수도 있다. 일 실시형태에서, 사용자에 의한 "전송 확인" 커맨드의 선택은 메시징 서버 (405) 에 의한 송신을 위해 메시지를 릴리스한다.
규칙은 위반되는 조건이 정정될 때까지 메시지가 전송되는 것을 또한 금지할 수도 있다. 이 상황에서, 경보 메시지는 "전송 확인" 객체를 제공하지 않고 대신에 "메시지 편집" 및/또는 "메시지 취소" 객체만을 제공할 수도 있다.
기능 모듈로서 또는 다른 모듈들 또는 메시징 서버 (440) 중 하나의 기능의 일부로서 제공될 수도 있는 선택적 리디렉션 서비스 (532) 는, 메시지 및/또는 경보가 다른 어드레스로 리디렉션되야 하는지 여부를 결정하기 위해 규칙 서비스 (522) 및 경보 서비스 (528) 의 결정들을 리뷰하도록 구성될 수도 있다.
메시지 엘리먼트 평가기 서비스 (420) 에 의한 프로세싱 메시지들은 도 3과 관련하여 상술된 것과 논리적으로 유사할 수도 있다. 메시지 엘리먼트 서비스 (420) 가 메시지 서버 (140) 기능의 일부로서 그 기능을 수행하고 메시징 네트워크 (410) 상에서 사용자 컴퓨팅 디바이스 (400) 내의 메시징 클라이언트 (405) 에 경보 메시지들을 전송하기 때문에 기능 차이들이 발생한다. 이 상호작용은 클라이언트-서버 메시징 인터페이스 (510) 에 의해 촉진될 수도 있다.
상기에서 언급된 바와 같이, 각종 실시형태들이 폭넓게 다양한 메시징 시스템들 및 프로토콜들과 함께 사용될 수도 있다. 예시로서, 전자 메일 ("이메일"), 단문 메시지 서비스 (short message service; SMS) 및 인스턴트 메시징 (IM) 메시징 프로토콜들과 함께 사용을 위한 예시적인 실시형태들이 하기에서 제공된다.
도 6 은 이메일 실시형태의 예시적인 기능 컴포넌트들의 블록도이다. 사용자 컴퓨팅 디바이스 (600) 는 이메일 애플리케이션 (605) 을 동작시킨다. 이메일 애플리케이션 (605) 은 이메일 커맨드 관리자 (608) 및 이메일 디스플레이 관리자 (610) 를 포함할 수도 있다. 이메일 디스플레이 관리자 (610) 는 사용자 컴퓨팅 디바이스 (600) 상에 디스플레이되는 GUI를 발생시킬 수도 있다. 그래픽 사용자 인터페이스 (GUI) 는 이메일 커맨드 관리자 (608) 에 커맨드들을 발급하기 위해 입력 디바이스를 이용하여 사용자에 의해 선택될 수도 있는 객체를 디스플레이한다.
도 2와 관련하여 상술된 일반적인 메시징 애플리케이션 (105) 와 같이, 이메일 애플리케이션 (605) 은 하나 이상의 입력 디바이스들 (미도시) 을 통해 사용자로부터 메시지 필드 엘리먼트들을 수신하도록 구성될 수도 있다. 이메일 애플리케이션 (605) 은 도 2와 관련하여 상술된 바와 같이 메시지 엘리먼트 평가기 (120) 와 협력하도록 구성될 수도 있다. 이메일 애플리케이션 (605) 은 이메일 가능한 네트워크 (610) 를 통해 이메일 서버 (640) 에 의해 동작하는 이메일 메시지 관리자 (650) 와 통신할 수도 있다.
이메일 프로토콜들은 통상적으로 이메일들이 다양한 방식들로 어드레싱되는 것을 허용한다. 사용자는 이메일 애플리케이션 (605) 의 사용자에게 제시된 GUI를 통해 "to," "cc," 또는 "bcc" 라인에 의도된 수신자의 이메일 어드레스를 입력한다. 수신인의 어드레스는 또한 몇 번의 키스트로크 (keystroke) 들에 응답하여 필드에 자동적으로 삽입될 수도 있다 (때때로 "자동완성"으로 지칭됨). 사용자는 또한 수신들의 리스트를 나타내는 그룹 이름을 선택할 수도 있다. 수신인의 이름을 입력하는 이러한 방법들 중 어떠한 것이라도 의도된 수신자의 어드레스가 아닌 잘못된 어드레스의 선택이 초래될 수도 있다.
도 2와 관련하여 상술된 바와 같이, 메시지 엘리먼트 평가기 (120) 는 이메일 애플리케이션 (605) 의 사용자에 의한 "전송" 커맨드의 선택을 검출하도록 구성될 수도 있다. 메시지 엘리먼트 평가기 (120) 에 의한 "전송" 커맨드의 검출은 도 2와 관련하여 상기에서 설명되어 있다.
도 2와 관련하여 상술된 바와 같이, 전송 커맨드가 검출될 때, 이메일이 이메일 애플리케이션 (605) 에 의해 전송되는 것을 허용하기 전에 규칙 엔진 (124) 은 규칙 데이터스토어 (126) 로부터 선택될 수도 있는 규칙들을 이용하여 이메일 메시지의 필드들을 평가한다. 도 2와 관련하여 상술된 예시적인 규칙들외에도, 규칙 엔진 (124) 은, 이메일이 특정일에 이메일 수신자에게 전송될 수도 있는지 또는 사용자에 의해 전송될 수도 있는지 여부를 결정하기 위한 것과 같이 규칙들을 이메일 메시지 날짜에 적용할 수도 있다.
일 실시형태에서, 규칙 엔진 (124) 은, 선택된 규칙의 조건들이 만족 됐는지 여부를 결정하기 위해 이메일 필드들의 키워드 검색을 수행할 수도 있다. 예를 들어, 규칙 엔진 (124) 은 회사 이름들 (예를 들어, Acme Co. 및 Beta Co.) 또는 도메인들 (예를 들어, Acme.com 및 Beta.com) 과 같은 키워드를 찾을 수도 있다. 그러한 검색을 위한 키워드들은 규칙 데이터스토어 (126) 에 저장될 수도 있다. 이 예시적인 실시형태에서, 규칙 데이터스토어 (126) 는 디폴트 키워드들의 세트 및 사용자 선택 키워드들의 세트를 포함할 수도 있다.
도 2와 관련하여 상술된 바와 같이, 규칙 엔진 (124) 은 경보 엔진 (128), 및 선택적으로 리디렉션 엔진 (132) 에게 그 결과들을 제공할 수도 있다. 경보 엔진 (128) 은 규칙 엔진 (124) 에 이루어진 결정에 적합한 경보를 선택하기 위해 경보 데이터베이스 (130) 를 참조할 수도 있다.
적절한 경보가 주의적인 것 또는 정보적인 것이라면, 경보 디스플레이 엔진 (136) 은 "전송 확인" 커맨드 객체, "메시지 편집" 및/또는 "메시지 취소" 객체를 디스플레이 하기 위해 이메일 디스플레이 관리자 (610) 와 또한 협력할 수도 있다. "전송 확인" 커맨드 객체의 활성화는 이메일 메시지 네트워크 (610) 를 통해 이메일 메시지 서버 (640) 로의 이메일 애플리케이션 (605) 에 의한 전송을 위해 이메일의 릴리스를 초래할 것이다.
일 실시형태에서, 경보 디스플레이 엔진 (136) 은 식별된 키워드들이 하이라이팅된 이메일 메시지의 복사를 생성할 수도 있다. 이메일 메시지의 하일라이팅된 복사는 사용자 컴퓨팅 디바이스 (100) 상의 디스플레이를 위해 이메일 디스플레이 관리자 (610) 에 제공될 수도 있다. 하일라이팅된 텍스트는 컬러, 밑줄, 볼드체, 또는 시각적인 큐 (cue) 들에 의해 표시될 수도 있다.
일 실시형태에서, 규칙 엔진 (124) 은 선택적으로 규칙들 위반 결정들을 리디렉션 엔진 (132) 에 이동시킬 수도 있다. 리디렉션 엔진 (132) 은 규칙 엔진 (122) 및 경보 엔진 (128) 의 결정을 리뷰하도록 및 이메일 메시지 및/또는 경보가 다른 어드레스로 리디렉션되어야 하는지 여부를 결정하도록 구성될 수도 있다. 대안적으로 또는 추가적으로, 규칙들 위반에 상응하는 경보는 IP 관리자에 리디렉션될 수도 있고 추가 액션을 위해 로그될 수도 있다.
도 7은 본 실시형태에 따른, 이메일 메시지의 평가를 도시하는 프로세스 흐름도이다. 이메일 메시지는 사용자 컴퓨팅 디바이스 (100) 상에서 동작하는 이메일 애플리케이션 (605) 을 이용하여 생성될 수도 있다 (단계 700). 이메일 애플리케이션 (105) 이 사용자로부터 전송 커맨드를 수신할 때 (단계 705), 메시지 엘리먼트 평가기 (120) 는 규칙 데이터스토어 (126) 로부터 하나 이상의 규칙들을 선택할 수도 있다 (단계 710). 메시지 엘리먼트 평가기 (120) 는 선택된 규칙들 또는 규칙들에 의해 지시된 바와 같이 선택된 규칙 또는 규칙들을 메시지 어드레스 엘리먼트들, 메시지 컨텐트 엘리먼트들 또는 양자에 적용할 수도 있다 (선택되는 715).
규칙 엔진 (124) 은 선택된 규칙들 중 임의의 것에 위반되었는지 여부를 결정할 수도 있다 (결정 720). 규칙에 위반되지 않았다면 (즉, 결정 720="아니오"), 이메일 메시지는 송신인들로의 송신을 위해 이메일 서버 (640) 에 전송될 수도 있다 (단계 725). 규칙에 위반되었다면 (즉, 결정 720="예"), 규칙 엔진 (124) (또는 메시지 엘리먼트 평가기 (120) 의 다른 기능 엘리먼트) 은 위반된 규칙이 이메일 메시지의 송신을 금지하는지 여부를 결정할 수도 있다 (결정 730). 규칙이 이메일 메시지의 송신을 금지한다면 (즉, 결정 730="예"), 경보 메시지가 디스플레이되어 사용자에게 그 이메일 메시지를 전송하는 것이 금지될 수도 있고 그 이메일은 차단될 수도 있다는 것을 통지할 수도 있다 (단계 735). 메시지 엘리먼트 평가기는 이메일 메시지가 전송되는 것을 차단한다. 규칙이 이메일 메시지의 전송을 금지하지 않는다면 (즉, 결정 730="아니오"), 경보 메시지가 디스플레이되어 사용자에게 규칙에 위반되었다는 것을 통지하고 사용자에게 메시지의 송신을 확인하도록 또는 이메일 메시지 전송 커맨드를 편집 또는 취소하도록 요청할 수도 있다 (단계 740).
메시지 엘리먼트 평가기 (120) 는 사용자 입력의 수신을 대기할 수도 있으며 (결정 745), 이는 타임 아웃 임계값을 전제로 할 수도 있다 (미도시). 입력이 수신되기 전에 타임 아웃 임계값이 도달되면, 이메일 메시지는 취소될 수도 있고 프로세싱이 이메일 애플리케이션 (605) 에 복귀될 수도 있다.
사용자 입력이 수신되면 (즉, 결정 745="예"), 메시지 엘리먼트 평가기 (120) 는 입력이 전송 확인 또는 취소 커맨드 인지 여부를 결정할 수도 있다 (결정 750). 입력이 전송 확인 커맨드 일 때 (즉, 결정 750="전송"), 이메일 메시지는 이메일 서버 (640) 에 송신될 수도 있다 (단계 755). 수신된 사용자 입력이 취소 커맨드 일 때 (즉, 결정 750="취소"), 메시지 전송 커맨드는 취소될 수도 있고 프로세싱은 이메일 애플리케이션 (605) 의 이메일 커맨드 관리자 (608) 에 복귀될 수도 있어 사용자가 이메일 메시지를 편집하거나 다른 이메일 메시지를 작성할 수 있게 할 수도 있다 (단계 760).
도 8은 일 실시형태에 따른 SMS 메시지 시스템의 기능 컴포넌트들의 블록도이다. 이 시스템에서, 모바일 디바이스 (800) 는 사용자들이 SMS 메시지 포맷에서 메시지들을 생성할 수 있도록 구성되는 SMS 애플리케이션 (805) 을 동작한다. SMS 애플리케이션은 셀룰러 데이터 네트워크 (810) 를 통해 완성된 SMS 메시지를 SMS 메시지 센터 (815) 로 전송한다. SMS 메시지는 모바일 스위칭 센터 (820) 로 이동될 수도 있으며, 모바일 스위칭 센터 (820) 는 SMS 메시지가 지향하는 모바일 디바이스와 통신하는 셀룰러 기지국 (825) 으로 SMS 메시지를 라우팅한다. 기지국 (825) 은 셀룰러 데이터 통신 (830) 을 통해 SMS 메시지의 수신인과 관련된 모바일 디바이스 (835) 에 메시지를 전달한다.
이 실시형태에서, SMS 메시지 애플리케이션 (805) 은 메시지 엘리먼트 평가기 (120) 를 포함하며, 메시지 엘리먼트 평가기 (120) 의 기능들은 도 2와 관련하여 상술되어 있다. 메시지 엘리먼트 평가기 (120) 는 도 2와 관련하여 상술된 바와 같이 SMS 메시지 센터 (815) 로의 SMS 메시지의 송신 전에 규칙들과 대조하여 SMS 메시지를 평가한다. SMS 메시지를 평가하는 프로세스는 도 3과 관련하여 상술된 것과 유사하다.
도 9는 일 실시형태에 따른, 메시지 엘리먼트 평가기 (920) 가 SMS 메시지 센터 (815) 와 동작하는 SMS 메시징 시스템의 예시적인 기능 컴포넌트들의 블록도이다. 이 실시형태에서, 메시지 평가 기능 및 규칙 데이터스토어가 모바일 디바이스에서 구성될 필요가 없도록 단문 메시지 센터 (short message center; 815) 는 메시지 엘리먼트 평가기 (920) 을 포함한다. 메시지 엘리먼트 평가기 (920) 의 기능들은 도 3 및 도 5와 관련하여 상술되어 있다. 이 실시형태에서, SMS 메시지 센터 (815) 에서 수신된 SMS 메시지들은 규칙들과 대조하여 메시지 엘리먼트 평가기 (120) 에 의해 평가되며 어드레싱된 모바일 디바이스 (835) 로 송신된다. 메시지 엘리먼트 평가기 (920) 의 기능은, 모바일 디바이스 (800) 상의 SMS 애플리케이션 (805) 이 경보를 디스플레이하는 커맨드를 수신하지 못할 수도 있고, 그래서 메시지 엘리먼트 평가기 (920) 는 회신 SMS 메시지의 형태로 경보를 통신할 수도 있다는 것을 제외하고는, 도 3 및 도 5와 관련하여 상술된 것과 유사할 수도 있다.
도 8 및 도 9는 SMS 메시징 시스템의 컨텍스트에서 설명되었지만, 기능 엘리먼트들은 멀티미디어 메시징 시스템 (MMS) 에 또한 적용될 수도 있다. 그러한 실시형태에서, 메시지 엘리먼트 평가기 (120) 는 MMS 메시지 내에 탑재될 수도 있는 오디오, 비디오, 및 이미지 파일들에 적용가능한 규칙들을 적용할 수도 있다. MMS 메시지를 평가하는 프로세스는, 모바일 디바이스 (800) 상의 MMS 애플리케이션이 경보를 디스플레이하는 커맨드들을 수신하지 못할 수도 있고, 그래서 메시지 엘리먼트 평가기 (920) 는 회신 SMS 또는 MMS 메시지의 형태로 경보를 통신할 수도 있다는 것을 제외하고는, 도 3 및 도 5와 관련하여 상술된 것과 또한 유사하다.
도 10은 일 실시형태에 따른, 인스턴트 메시징 (IM) 시스템의 논리 컴포넌트들의 블록도이다. 사용자 컴퓨팅 디바이스 (100) 는 IM 애플리케이션 (1005) 를 동작시킬 수 있다. IM 애플리케이션 (1005) 은 하나 이상의 입력 디바이스들을 통해 사용자로부터 메시지 필드 엘리먼트들을 수신하도록 구성될 수도 있다. 메시지 필드 엘리먼트들은 메시지 컨텐트 엘리먼트들, 메시지 어드레스 엘리먼트들, 및 IM 메시지를 구성하고 전송하는 IM 메시지 애플리케이션 (1005) 에 의해 사용될 수도 있는 다른 메시지 필드 엘리먼트들을 포함할 수도 있다.
이 실시형태에서, IM 메시지 애플리케이션 (1005) 은 메시지 엘리먼트 평가기 (120) 를 포함하며, 메시지 엘리먼트 평가기 (120) 의 기능들은 도 2와 관련하여 상술되어 있다. 메시지 엘리먼트 평가기 (120) 는 IM 메시지 서버 (1040) 로의 IM 메시지의 전송 전에 규칙들과 대조하여 IM 메시지를 평가한다.
도 11은 일 실시형태에 따른 IM 메시징 시스템의 예시적인 컴포넌트들의 블록도이다. 이 실시형태에서, IM 서버 (1040) 는 메시지 엘리먼트 평가기 (1120) 를 포함한다. 메시지 엘리먼트 평가기 (1120) 의 기능들은 도 2, 도 3 및 도 5와 관련하여 상술되어 있다. 메시지 엘리먼트 평가기 (1120) 는 메시지 수신인으로의 IM 메시지의 송신 전에 규칙들과 대조하여 IM 서버 (1040) 에 의해 수신된 IM 메시지를 평가할 수도 있다. IM 메시지를 평가하는 프로세스는, 컴퓨팅 디바이스 (100) 상의 IM 애플리케이션 (1005) 이 경보를 디스플레이하는 커맨드들을 수신하지 못할 수도 있고, 그래서 메시지 엘리먼트 평가기 (1120) 는 회신 IM 메시지의 형태로 경보를 통신할 수도 있다는 것을 제외하고는, 도 3 및 도 5와 관련하여 상술된 것과 또한 유사하다.
각종 실시형태에서 규칙 데이터스토어 (126) 는 각종 데이터 구조들에서 규칙들을 저장할 수도 있다. 도 12는 각종 실시형태들과 함께 사용하는데 적합한 예시적인 데이터 구조가 도시된다. 이 예시적인 데이터 구조에서, 규칙들은 일련의 데이터 기록들 (1202-1206) 로서 데이터 테이블에 저장되어 있으며, 각각의 데이터 기록들 (1202-1206) 은 규칙 조건들 (데이터 필드들 (1210-1220), 규칙 조건(들) 이 만족된다면 구현되는 결과 액션들 및/또는 경보들 (데이터 필드 1222) 을 구성하는 정보를 저장하는 복수의 데이터 필드들 (1208-1222) 을 포함한다. 데이터 필드는 특정한 규칙들을 조직하거나 특정한 규칙들에 신속한 액세스를 가능하게 하는 인덱스 (데이터 필드 (1208)) 를 또한 포함할 수도 있다. 데이터스토어 (126) 는, 다중인자 조건들 및 다수의 메시지 엘리먼트들에 적용되는 조건들을 수용하기 위해 임의의 수의 데이터 필드들을 포함할 수도 있다. 조건 데이터 필드들 (1210, 1214, 1218) 은, 규칙에 만족되기 위해 상응하는 조건이 만족되야 하는지 또는 선택적으로 만족될 수도 있는지 여부를 구체화하는 결합 조건 데이터 필드들 (1212, 1216, 1220) 과 관련될 수도 있다. 예를 들어, 도 12에서 도시된 바와 같이, 규칙은 수신인 메시지 엘리먼트들을 테스트하여, 메시지가 미국 정부 내의 조직 또는 개인에게 어드레싱되는 여부를 결정하고, 그렇다면 계약들 또는 법률 부서들에게 데이터 기록 (1202) 에 도시된 바와 같은 통신이 통지되는지 여부를 문의하는 전송자를 위한 경보를 발생할 수도 있다. 이 예에서, 제 1 조건은 어드레싱하는 것이 데이터 기록 (1202) 데이터 필드 (1210) 에 나타낸 바와 같이 정부와 관련된 도메인 네임을 포함하는 것일 수도 있다. 이 조건이 만족된다면, 그 후 계약들 및/또는 법률들에 통지되는지 여부에 관하여 문의하는 메시지를 게시하는 (post) 하는 데이터 필드 (1222) 에 저장된 관련된 결과 또는 경보가 활성화될 수도 있다. 데이터 기록 (1204) 에 저장된 제 2 예시적인 규칙은, 수신인들이 법률 부서 또는 회사 변호사를 포함하는지 여부 (데이터 필드 1210) 및 (데이터 필드 (1212) 에서 "And" 로 나타내듯이) 또한 주제 라인이 "특허"라는 단어를 포함하는지 여부 (데이터 필드 (1214)), 또는 (데이터 필드들 (1216 및 1220) 양자에 "Or"로 나타내듯이) 대안적으로 메시지 바디가 "특허"라는 단어를 포함하는지 여부 (데이터 필드 (1218)) 를 테스트한다. 이 조건들이 만족된다면, 그 후 수신인으로서 특허 부서를 포함하는 데이터 필드 (1222) 에 저장된 관련된 결과 또는 경보가 활성화될 수도 있다. 데이터 기록 (1206) 에 저장된 제 3 예시적인 규칙은, 10 보다 많은 수신인들이 있는지 여부 (데이터 필드 (1210)), 및 (데이터 필드 (1212) 에서 "And"로 나타내듯이) 또한 주제 라인이 메시지가 이전 메시지에 대한 회신이라는 것을 나타내는 "re:" 를 포함하는지 여부 (데이터 필드 (1214)) 를 테스트한다. 이들 조건들이 만족된다면, 그 후 데이터 필드 (1222) 에 저장된 관련된 결과 또는 경보는 메시지가 "모두에게 회신"으로서 전송된다는 경보를 발생시킬 수도 있다.
본 기술분야의 기술자는 도 12에 나타난 예시적인 데이터 구조가 규칙 데이터스토어 (126) 를 위해 사용될 수도 있는 폭넓게 다양한 데이터 구조 중의 하나일 뿐이라는 것을 이해할 것이다. 예를 들어, 규칙들은 대안적으로 XML 스트링들, 내포된 (nested) if-then 실행가능 소프트웨어 명령들, 및 상업적으로 이용가능한 데이터베이스에서의 엔트리들로서 저장될 수도 있다. 또한, 규칙 데이터스토어 (126)는 외부 메모리 및 컴퓨팅 디바이스의 내부 메모리에 저장될 수도 있다는 것은 이해되어야 한다. 그러한 외부 메모리는 유선 데이터 연결들 (예를 들어, USB 케이블, 로컬 영역 네트워크 (local area network)) 또는 무선 데이터 링크들 (예를 들어, 와이 파이, 블루투스, 또는 셀룰러 데이터 통신 링크들) 에 의한 컴퓨팅 디바이스에 결합된 임의의 공지의 저장 디바이스일 수도 있다. 예를 들어, 데이터스토어 (126) 는 USB 메모리, 로컬 영역 네트워크를 통해 액세스되는 회사 서버 내, 또는 인터넷을 통해 액세스되는 원거리 서버 내에 있을 수도 있다.
이전에 설명된 바와 같이, 사용자는, 예를 들어 셀룰러 전화기들, 셀룰러 전화기들 및/또는 와이파이 송수신기를 구비한 PDA (personal data assistants), 모바일 전자 메일 수신기들, 모바일 웹 액세스 디바이스들, 및 하나 이상의 데이터 통신 링크들에 연결되는 장래에 개발될 수도 있는 다른 프로세서 장착 디바이스들과 같은 모바일 디바이스들을 포함하는 각종 컴퓨팅 디바이스들을 이용하여 메시징 시스템과 상호작용할 수도 있다. 각종 실시형태들과 함께 사용하기에 적합한 통상적인 모바일 디바이스들은 도 13에 도시된 공통의 컴포넌트들을 가질 것이다. 예를 들어, 예시적인 모바일 다바이스 (1300) 는 내부 메모리 (1302) 에 결합된 프로세서 (1301), 디스플레이 (1303) 를 포함할 수도 있다. 또한, 모바일 디바이스 (1300) 는 무선 데이터 링크에, 및/또는 프로세서 (1301) 에 결합된 셀룰러 전화기 송수신기 (1305) 에 연결된 전자기 방사 (electromagnetic radiation) 를 전송 및 수신하는 안테나 (1304) 를 가질 수도 있다. 일부 구현형태들에서, 셀룰러 전화기 통신들을 위해 사용되는 메모리 (1302) 및 프로세서 (1301) 의 부분들 및 송수신기 (1305) 는 총괄적으로 공중 인터페이스 (air interface) 로서 지칭되며, 왜냐하면 공중 인테페이스는 무선 데이터 링크를 통해 데이터 인터페이스를 제공하기 때문이다. 모바일 디바이스는 통상적으로 사용자 입력들을 수신하는 키패드 (1306) 또는 소형 키보드 및 메뉴 선택 버튼들 또는 로커 스위치 (rocker switch; 1307) 들을 또한 포함한다.
프로세서 (1301) 는 여기서 설명되는 여러 실시형태의 기능을 포함한 여러 기능들을 수행하도록 소프트웨어 명령들 (애플리케이션들) 에 의해 구성될 수 있는, 임의의 프로그램가능한 마이크로프로세서, 마이크로컴퓨터 또는 다중 프로세서 칩 또는 칩들일 수도 있다. 일부 모바일 디바이스에는, 무선 통신 기능 전용의 하나의 프로세서 및 다른 애플리케이션들 실행 전용의 하나의 프로세서와 같은, 다중 프로세서 (1301) 가 제공될 수도 있다. 통상적으로, 소프트웨어 애플리케이션들은 액세스되어 프로세서 (1301) 에 로딩되기 전에, 내부 메모리 (1302) 에 저장될 수도 있다. 일부 모바일 디바이스들에서, 추가적인 외부 또는 내부 메모리 칩들 (1306) (예를 들어, SD (Secure Data) 카드 또는 USB (Universal Serial Bus) 메모리 디바이스) 은 컴퓨팅 디바이스 (1300) 로 플러그될 (plugged) 수도 있고 프로세서 (1301) 에 결합될 수도 있다. 다수의 모바일 디바이스들에서, 내부 메모리 (1302) 는 플래시 메모리와 같은 휘발성 또는 비휘발성 메모리, 또는 양자의 혼합일 수도 있다. 또한, 상기에서 언급된 바와 같이, 추가적인 메모리는 유선 또는 무선 데이터 통신 링크들에 의해 프로세서 (1301) 에 결합된 외부 메모리 저장들 형태일 수도 있다. 이 설명의 목적들을 위한, 메모리에 대한 일반적인 참조는, 외부 메모리, 내부 메모리 (1302), 모바일 디바이스로 플러그되는 착탈식 메모리 (1306), 및 프로세서 (1301) 자체 내의 메모리를 포함하여 프로세서 (1301) 에 의해 액세스가능한 모든 메모리를 나타낸다.
상기에서 설명된 실시형태들은 도 14에 도시된 퍼스널 컴퓨터 (1460) 과 같은 여러 컴퓨팅 디바이스들 중 임의의 것 상에 구현될 수도 있다. 그러한 퍼스널 컴퓨터 (1460) 는 통상적으로 휘발성 메모리 (1462), 및 디스크 드라이브 (1463) 와 같은 대용량 비휘발성 메모리에 결합된 프로세서 (1461) 를 포함한다. 컴퓨터 (1460) 는 또한 프로세서 (1461) 에 결합된 플로피 디스크 드라이브 (1464) 및 컴팩트 디스크 (CD) 드라이브 (1465) 를 포함할 수도 있다. 통상적으로 컴퓨터 디바이스 (1460) 는 또한 마우스 (1467) 와 같은 포인팅 디바이스, 키보드 (1468) 과 같은 사용자 입력 디바이스 및 디스플레이 (1469) 를 포함할 것이다. 컴퓨터 디바이스 (1460) 는 또한, USB 또는 FireWire® 커넥터 소켓, 또는 프로세서 (1461) 를 네트워크 또는 외부 메모리에 결합하기 위한 다른 네트워크 연결 회로 (1466) 와 같은 데이터 연결들을 확립하거나 외부 메모리 디바이스들을 수용하기 위한 프로세서 (1461) 에 결합된 다수의 커넥터 포트들을 포함할 수도 있다. 노트북 구성에서, 컴퓨터 하우징은 컴퓨터 기술에서 공지된 바와 같이 포인팅 디바이스 (1467), 키보드 (1468) 및 디스플레이 (1469) 를 포함한다. 또한, 상기에서 언급된 바와 같이, 추가적인 메모리는 유선 또는 무선 데이터 통신 링크들에 의해 프로세서 (1461) 에 결합된 외부 메모리 저장들 형태일 수도 있다. 이 설명의 목적들을 위한, 메모리에 대한 일반적인 참조는, 외부 메모리, 내부 메모리 (1462, 1463, 1465), 컴퓨터 (1460) 로 플러그되는 착탈식 메모리, 및 프로세서 (1461) 자체 내의 메모리를 포함하여 프로세서 (1461) 에 의해 액세스가능한 모든 메모리를 나타낸다.
상기에서 설명된 다수의 양태들은 또한 도 15에 도시된 서버 (1500) 와 같은 각종 원거리 서버 디바이스들 중 임의의 것과 구현될 수도 있다. 그러한 서버 (1500) 는 통상적으로 휘발성 메모리 (1502) 및 디스크 드라이브 (1503) 와 같은 대용량 비휘발성 메모리에 결합된 프로세서 (1501) 를 포함한다. 서버 (1500) 는 또한 프로세서 (1501) 에 결합된 플로피 디스크 드라이브 및 컴팩트 디스크 (CD) 드라이브 (1506) 를 포함할 수도 있다. 서버 (1500) 는 또한 네트워크 회로들 (1505) 과 데이터 연결들을 확립하기 위한 프로세서 (1500) 에 결합된 다수의 커넥터 포트 (1504) 들을 포함할 수도 있다.
전술한 방법 설명과 프로세스 흐름도는 단지 예시적인 예들로서 제공하는 것으로, 여러 실시형태의 단계들을 그 제공된 순서로 수행해야 한다는 것을 요구하거나 암시하기 위한 의도는 아니다. 당업자가 알 수 있는 바와 같이, 상술한 실시형태들에서 단계들의 순서는 어떠한 순서로도 수행할 수도 있다. 또한, 단계 식별자 및 "후", "그 후", "다음", 등과 같은 단어에 대한 참조는, 단계들의 순서를 한정하려는 것이 아니라; 그러한 식별자들 및 단어들은 그 방법들의 설명을 통하여 독자를 안내하기 위하여 단순히 사용되었다.
여기서 개시한 실시형태와 관련하여 설명한 여러 예시적인 논리 블록, 모듈, 회로 및 알고리즘 단계들은, 전자 하드웨어, 컴퓨터 소프트웨어 또는 이들 양자의 조합으로 구현할 수도 있다. 이러한 하드웨어와 소프트웨어의 호환성을 명확히 나타내기 위하여, 이상에서는, 여러 예시적인 컴포넌트, 블록, 모듈, 회로 및 단계를 그들의 기능의 관점에서 일반적으로 설명하였다. 그런 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 가해지는 구체적인 애플리케이션과 설계 제약 조건에 의존한다. 당업자는 각 특정 애플리케이션 마다 상술한 기능을 여러가지 방법으로 구현할 수도 있으나, 그러한 구현 결정이 본 발명의 범위로부터의 일탈을 초래하는 것으로 해석해서는 안 된다.
여기서 개시한 양태와 관련하여 설명한 여러 예시적인 논리 (logic) 들, 논리 블록들, 모듈들 및 회로들을 구현하는 사용되는 하드웨어는, 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그램가능한 게이트 어레이 (FPGA) 또는 다른 프로그램가능한 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트들, 또는 여기서 설명한 기능을 수행하도록 설계된 이들의 임의의 조합으로 구현하거나 실행할 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 컨트롤러, 마이크로 컨트롤러 또는 상태 머신일 수도 있다. 또한, 프로세서는, 컴퓨팅 디바이스들의 조합, 예를 들면 DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 관련된 하나 이상의 마이크로프로세서들 또는 그와 같은 어느 다른 구성 (configuration) 으로도 구현할 수도 있다. 대안적으로, 일부 단계 또는 방법은 주어진 기능에 고유한 회로에 의해 수행할 수도 있다.
하나 이상의 예시적인 양태들에서, 설명한 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현할 수도 있다. 소프트웨어로 구현하는 경우, 그 기능은 컴퓨터-판독가능 매체 상에 하나 이상의 명령들 또는 코드들로서 저장되거나, 또는 송신될 수도 있다. 여기서 개시한 방법 또는 알고리즘의 단계들은 컴퓨터-판독가능 매체 상에 상주하여 실행될 수 있는 프로세서-실행 가능한 소프트웨어 모듈로 구현할 수도 있다. 컴퓨터 판독가능 매체는 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 어떠한 매체도 포함하는 컴퓨터 저장 매체 및 통신 매체 모두를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 어떠한 가용 매체일 수도 있다. 비제한적인 예시로서, 그런 컴퓨터-판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 스토리지, 자기디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 원하는 프로그램 코드를 명령 또는 데이터 구조 형태로 운반하거나 저장하는데 사용할 수도 있고 컴퓨터에 의해 액세스할 수도 있는 다른 어떠한 매체도 포함할 수도 있다. 또한, 임의의 연결도 적절하게 컴퓨터-판독가능 매체라고 지칭한다. 예를 들면, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL) 또는 적외선, 무선 및 마이크로파와 같은 무선 기술들을 이용하여 소프트웨어를 웹 사이트, 서버 또는 다른 원격 소스로부터 송신하면, 그 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선 및 마이크로파와 같은 무선 기술들을 그 매체의 정의에 포함한다. 여기서 사용되는, 디스크 (disk) 및 디스크 (disc) 는, 콤팩트 디스크(CD), 레이저 디스크, 광디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 데이터를 자기적으로 보통 재생하지만, 디스크 (disc) 는 레이저로 데이터를 광학적으로 재생한다. 이상의 조합도 또한 컴퓨터-판독가능 매체의 범위 내에 포함시켜야 한다. 또한, 방법 또는 알고리즘의 동작은 컴퓨터 프로그램 제품에 포함될 수 있는 머신 판독가능 매체 및/또는 컴퓨터 판독가능 매체 상에 코드들 및/또는 명령들 중 하나 또는 임의의 조합 또는 세트로서 상주할 수도 있다.
개시한 실시형태들의 이전의 설명은 당업자가 본 발명을 실시하고 이용할 수 있도록 제공하는 것이다. 이들 실시형태에 대한 여러 변형들이 당업자에게는 손쉽게 분명해질 것이며, 여기서 정의하는 일반적인 원리들은, 본 발명의 범위로부터 일탈함이 없이, 다른 실시형태들에 적용할 수도 있다. 따라서, 본 발명은 여기에 나타낸 실시형태에 한정되도록 의도된 것이 아니라, 여기서 개시한 원리 및 신규한 특징에 부합하는 최광의의 범위가 부여되어야 한다.

Claims (44)

  1. 아웃바운드 (outbound) 메시지를 평가하는 방법으로서,
    필드 엘리먼트들을 포함하는 메시지를 메시징 애플리케이션으로부터 수신하는 단계;
    데이터스토어에 저장된 메시지 평가 규칙을 액세스하는 단계로서, 상기 메시지 평가 규칙은 조건을 포함하고, 상기 조건은 적어도 제 1 필드 엘리먼트를 제 2 필드 엘리먼트에 관련시키는, 상기 메시지 평가 규칙을 액세스하는 단계;
    상기 메시지 평가 규칙을 적어도 상기 제 1 필드 엘리먼트 및 상기 제 2 필드 엘리먼트에 적용하는 단계;
    상기 메시지 평가 규칙의 조건이 만족 되는지 여부를 결정하는 단계;
    상기 메시지 평가 규칙의 조건이 만족 될 때 사용자에게 경보 (alert) 하는 디스플레이를 발생시키는 단계; 및
    상기 메시지 평가 규칙의 조건이 만족 되지 않을 때 상기 메시지를 전송하는 단계를 포함하는, 아웃바운드 메시지를 평가하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 필드 엘리먼트는 메시지 어드레스 엘리먼트이고, 상기 제 2 필드 엘리먼트는 메시지 어드레스 엘리먼트인, 아웃바운드 메시지를 평가하는 방법.
  3. 제 1 항에 있어서,
    상기 제 1 필드 엘리먼트는 메시지 어드레스 엘리먼트이고, 상기 제 2 필드 엘리먼트는 메시지 컨텐트 엘리먼트인, 아웃바운드 메시지를 평가하는 방법.
  4. 제 1 항에 있어서,
    상기 제 1 필드 엘리먼트 및 상기 제 2 필드 엘리먼트 중 적어도 하나는 메시지 어드레스 엘리먼트인, 아웃바운드 메시지를 평가하는 방법.
  5. 제 1 항에 있어서,
    상기 디스플레이는 전송 확인 커맨드, 편집 메시지 커맨드, 및 취소 메시지 커맨드로 구성되는 그룹으로부터 선택되는 사용자로부터의 응답에 대한 요청을 더 포함하고,
    상기 방법은,
    사용자 응답을 수신하는 단계;
    수신된 사용자 응답이 상기 전송 확인 커맨드일 때 상기 메시지를 송신하는 단계;
    상기 수신된 사용자 응답이 상기 편집 메시지 커맨드일 때 상기 메시지의 프로세싱을 상기 메시징 애플리케이션으로 복귀시키는 단계; 및
    상기 수신된 사용자 응답이 상기 취소 커맨드일 때 상기 메시지를 취소하는 단계를 더 포함하는, 아웃바운드 메시지를 평가하는 방법.
  6. 제 1 항에 있어서,
    상기 디스플레이는 상기 규칙을 만족하는 조건의 설명을 더 포함하는, 아웃바운드 메시지를 평가하는 방법.
  7. 제 6 항에 있어서,
    상기 디스플레이는 상기 조건에 의해 관련된 필드 엘리먼트들 중 적어도 하나의 개정을 요구하는 명령을 더 포함하는, 아웃바운드 메시지를 평가하는 방법.
  8. 제 1 항에 있어서,
    상기 아웃바운드 메시지는 이메일이고, 상기 메시징 애플리케이션은 이메일 애플리케이션인, 아웃바운드 메시지를 평가하는 방법.
  9. 제 1 항에 있어서,
    상기 아웃바운드 메시지는 단순 메시지 시스템 (simple message system) 메시지이고, 상기 메시징 애플리케이션은 단순 메시지 시스템 애플리케이션인, 아웃바운드 메시지를 평가하는 방법.
  10. 제 1 항에 있어서,
    상기 아웃바운드 메시지는 인스턴트 (instant) 메시지이고, 상기 메시징 애플리케이션은 인스턴트 메시지 시스템 애플리케이션인, 아웃바운드 메시지를 평가하는 방법.
  11. 제 1 항에 있어서,
    상기 아웃바운드 메시지는 멀티미디어 메시지 시스템 메시지이고, 상기 메시징 애플리케이션은 멀티미디어 메시지 시스템 애플리케이션인, 아웃바운드 메시지를 평가하는 방법.
  12. 컴퓨팅 디바이스로서,
    메시지 평가 규칙을 저장한 데이터스토어로서, 상기 메시지 평가 규칙은 조건을 포함하고, 상기 조건은 적어도 제 1 필드 엘리먼트를 제 2 필드 엘리먼트에 관련시키는, 상기 데이터스토어;
    상기 데이터스토어에 결합된 프로세서를 포함하며,
    상기 프로세서는,
    상기 제 1 필드 엘리먼트 및 상기 제 2 필드 엘리먼트를 포함하여 복수의 필드 엘리먼트들을 포함하는 메시지를 메시징 애플리케이션으로부터 수신하는 것;
    상기 메시지 평가 규칙을 적어도 상기 메시지의 상기 제 1 필드 엘리먼트 및 상기 제 2 필드 엘리먼트에 적용하는 것;
    상기 메시지 평가 규칙의 조건이 만족 되는지 여부를 결정하는 것;
    상기 메시지 평가 규칙의 조건이 만족 될 때 사용자에게 경보하는 디스플레이를 발생시키는 것;
    상기 메시지 평가 규칙의 조건이 만족 되지 않을 때 상기 메시지를 전송하는 하는 것을 포함하는 동작들을 수행하는 소프트웨어 실행가능한 명령들로 및 메시징 애플리케이션으로 구성되는, 컴퓨팅 디바이스.
  13. 제 12 항에 있어서,
    상기 제 1 필드 엘리먼트는 메시지 어드레스 엘리먼트이고, 상기 제 2 필드 엘리먼트는 메시지 어드레스 엘리먼트인, 컴퓨팅 디바이스.
  14. 제 12 항에 있어서,
    상기 제 1 필드 엘리먼트는 메시지 어드레스 엘리먼트이고, 상기 제 2 필드 엘리먼트는 메시지 컨텐트 엘리먼트인, 컴퓨팅 디바이스.
  15. 제 12 항에 있어서,
    상기 제 1 필드 엘리먼트 및 상기 제 2 필드 엘리먼트 중 적어도 하나는 메시지 어드레스 엘리먼트인, 컴퓨팅 디바이스.
  16. 제 12 항에 있어서,
    상기 디스플레이는 전송 확인 커맨드, 편집 메시지 커맨드, 및 취소 메시지 커맨드로 구성되는 그룹으로부터 선택되는 사용자로부터의 응답에 대한 요청을 더 포함하고,
    상기 프로세서는,
    사용자 응답을 수신하는 것;
    수신된 사용자 응답이 상기 전송 확인 커맨드일 때 상기 메시지를 송신하는 것;
    상기 수신된 사용자 응답이 상기 편집 메시지 커맨드일 때 상기 메시지의 프로세싱을 상기 메시징 애플리케이션으로 복귀시키는 것;
    상기 수신된 사용자 응답이 상기 취소 커맨드일 때 상기 메시지를 취소하는 것을 포함하는 동작들을 더 수행하는 소프트웨어 실행가능한 명령들로 더 구성되는, 컴퓨팅 디바이스.
  17. 제 12 항에 있어서,
    상기 디스플레이는 상기 규칙을 만족하는 조건의 설명을 더 포함하는, 컴퓨팅 디바이스.
  18. 제 17 항에 있어서,
    상기 디스플레이는 상기 조건에 의해 관련된 필드 엘리먼트들 중 적어도 하나의 개정을 요구하는 명령을 더 포함하는, 컴퓨팅 디바이스.
  19. 제 12 항에 있어서,
    상기 아웃바운드 메시지는 이메일이고, 상기 메시징 애플리케이션은 이메일 애플리케이션인, 컴퓨팅 디바이스.
  20. 제 12 항에 있어서,
    상기 아웃바운드 메시지는 단순 메시지 시스템 메시지이고, 상기 메시징 애플리케이션은 단순 메시지 시스템 애플리케이션인, 컴퓨팅 디바이스.
  21. 제 12 항에 있어서,
    상기 아웃바운드 메시지는 인스턴트 메시지이고, 상기 메시징 애플리케이션은 인스턴트 메시지 시스템 애플리케이션인, 컴퓨팅 디바이스.
  22. 제 12 항에 있어서,
    상기 아웃바운드 메시지는 멀티미디어 메시지 시스템 메시지이고, 상기 메시징 애플리케이션은 멀티미디어 메시지 시스템 애플리케이션인, 컴퓨팅 디바이스.
  23. 컴퓨팅 디바이스로서,
    메시지 평가 규칙을 저장하는 수단으로서, 상기 메시지 평가 규칙은 조건을 포함하고 상기 조건은 적어도 제 1 필드 엘리먼트를 제 2 필드 엘리먼트에 관련시키는, 상기 저장하는 수단;
    상기 제 1 필드 엘리먼트 및 상기 제 2 필드 엘리먼트 필드를 포함하여 복수의 필드 엘리먼트들을 포함하는 메시지를 메시징 애플리케이션으로부터 수신하는 수단;
    상기 메시지 평가 규칙을 적어도 상기 메시지의 상기 제 1 필드 엘리먼트 및 상기 제 2 필드 엘리먼트에 적용하는 수단;
    상기 메시지 평가 규칙의 조건이 만족 되는지 여부를 결정하는 수단;
    상기 메시지 평가 규칙의 조건이 만족 될 때 사용자에게 경보하는 디스플레이를 발생시키는 수단; 및
    상기 메시지 평가 규칙의 조건이 만족 되지 않을 때 상기 메시지를 전송하는 하는 수단을 포함하는, 컴퓨팅 디바이스.
  24. 제 23 항에 있어서,
    상기 제 1 필드 엘리먼트는 메시지 어드레스 엘리먼트이고, 상기 제 2 필드 엘리먼트는 메시지 어드레스 엘리먼트인, 컴퓨팅 디바이스.
  25. 제 23 항에 있어서,
    상기 제 1 필드 엘리먼트는 메시지 어드레스 엘리먼트이고, 상기 제 2 필드 엘리먼트는 메시지 컨텐트 엘리먼트인, 컴퓨팅 디바이스.
  26. 제 23 항에 있어서,
    상기 제 1 필드 엘리먼트 및 상기 제 2 필드 엘리먼트 중 적어도 하나는 메시지 어드레스 엘리먼트인, 컴퓨팅 디바이스.
  27. 제 23 항에 있어서,
    상기 메시지 평가 규칙의 조건이 만족 될 때 사용자에게 경보하는 디스플레이를 발생시키는 수단은 확인 커맨드, 편집 메시지 커맨드, 및 취소 메시지 커맨드로 구성되는 그룹으로부터 선택되는 사용자로부터의 응답을 요청하는 수단을 더 포함하고,
    상기 컴퓨팅 디바이스는,
    사용자 응답을 수신하는 수단;
    수신된 사용자 응답이 상기 전송 확인 커맨드일 때 상기 메시지를 송신하는 수단;
    상기 수신된 사용자 응답이 상기 편집 메시지 커맨드일 때 상기 메시지의 프로세싱을 상기 메시징 애플리케이션으로 복귀시키는 수단; 및
    상기 응답이 상기 취소 커맨드일 때 상기 메시지를 취소하는 수단을 더 포함하는, 컴퓨팅 디바이스.
  28. 제 23 항에 있어서,
    상기 메시지 평가 규칙의 조건이 만족 될 때 사용자에게 경보하는 디스플레이를 발생시키는 수단은 상기 규칙을 만족하는 조건의 설명을 포함하는 디스플레이를 발생시키는 수단을 더 포함하는, 컴퓨팅 디바이스.
  29. 제 28 항에 있어서,
    상기 메시지 평가 규칙의 조건이 만족 될 때 사용자에게 경보하는 디스플레이를 발생시키는 수단은 상기 조건에 의해 관련된 필드 엘리먼트들 중 적어도 하나의 개정을 요구하는 명령을 발생시키는 수단을 더 포함하는, 컴퓨팅 디바이스.
  30. 제 23 항에 있어서,
    상기 아웃바운드 메시지는 이메일이고, 상기 메시징 애플리케이션은 이메일 클라이언트인, 컴퓨팅 디바이스.
  31. 제 23 항에 있어서,
    상기 아웃바운드 메시지는 단순 메시지 시스템 메시지이고, 상기 메시징 애플리케이션은 단순 메시지 시스템 애플리케이션인, 컴퓨팅 디바이스.
  32. 제 23 항에 있어서,
    상기 아웃바운드 메시지는 인스턴트 메시지이고, 상기 메시징 애플리케이션은 인스턴트 메시지 시스템 애플리케이션인, 컴퓨팅 디바이스.
  33. 제 23 항에 있어서,
    상기 아웃바운드 메시지는 멀티미디어 메시지 시스템 메시지이고, 상기 메시징 애플리케이션은 멀티미디어 메시지 시스템 애플리케이션인, 컴퓨팅 디바이스.
  34. 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 판독가능 매체는,
    메시지 평가 규칙을 저장하는 적어도 하나의 명령으로서, 상기 메시지 평가 규칙은 조건을 포함하고, 상기 조건은 적어도 제 1 필드 엘리먼트를 제 2 필드 엘리먼트에 관련시키는, 상기 저장하는 적어도 하나의 명령;
    필드 엘리먼트들을 포함하는 메시지를 메시징 애플리케이션으로부터 수신하는 적어도 하나의 명령;
    상기 메시지 평가 규칙을 적어도 상기 제 1 필드 엘리먼트 및 상기 제 2 필드 엘리먼트에 적용하는 적어도 하나의 명령;
    상기 메시지 평가 규칙의 조건이 만족 되는지 여부를 결정하는 적어도 하나의 명령;
    상기 메시지 평가 규칙의 조건이 만족 될 때 사용자에게 경보하는 디스플레이를 발생시키는 적어도 하나의 명령; 및
    상기 메시지 평가 규칙의 조건이 만족 되지 않을 때 상기 메시지를 전송하는 하는 적어도 하나의 명령을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  35. 제 34 항에 있어서,
    상기 제 1 필드 엘리먼트는 메시지 어드레스 엘리먼트이고, 상기 제 2 필드 엘리먼트는 메시지 어드레스 엘리먼트인, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  36. 제 34 항에 있어서,
    상기 제 1 필드 엘리먼트는 메시지 어드레스 엘리먼트이고, 상기 제 2 필드 엘리먼트는 메시지 컨텐트 엘리먼트인, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  37. 제 34 항에 있어서,
    상기 제 1 필드 엘리먼트 및 상기 제 2 필드 엘리먼트 중 적어도 하나는 메시지 어드레스 엘리먼트인, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  38. 제 34 항에 있어서,
    상기 컴퓨터 판독가능 매체는,
    전송 확인 커맨드, 편집 메시지 커맨드, 및 취소 메시지 커맨드로 구성되는 그룹으로부터 선택되는 사용자로부터의 응답을 요청하는 적어도 하나의 명령;
    사용자 응답을 수신하는 적어도 하나의 명령;
    수신된 사용자 응답이 상기 전송 확인 커맨드일 때 상기 메시지를 송신하는 적어도 하나의 명령;
    상기 수신된 사용자 응답이 상기 편집 메시지 커맨드일 때 상기 메시지의 프로세싱을 상기 메시징 애플리케이션으로 복귀시키는 적어도 하나의 명령; 및
    상기 수신된 사용자 응답이 상기 취소 메시지 커맨드일 때 상기 메시지를 취소하는 적어도 하나의 명령을 더 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  39. 제 34 항에 있어서,
    상기 컴퓨터 판독가능 매체는 상기 규칙을 만족하는 조건의 설명을 발생시키는 적어도 하나의 명령을 더 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  40. 제 39 항에 있어서,
    상기 컴퓨터 판독가능 매체는 상기 조건에 의해 관련된 필드 엘리먼트들 중 적어도 하나의 개정을 요구하는 명령을 발생시키는 적어도 하나의 명령을 더 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  41. 제 34 항에 있어서,
    상기 아웃바운드 메시지는 이메일이고, 상기 메시징 애플리케이션은 이메일 클라이언트인, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  42. 제 34 항에 있어서,
    상기 아웃바운드 메시지는 단순 메시지 시스템 메시지이고, 상기 메시징 애플리케이션은 단순 메시지 시스템 애플리케이션인, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  43. 제 34 항에 있어서,
    상기 아웃바운드 메시지는 인스턴트 메시지이고, 상기 메시징 애플리케이션은 인스턴트 메시지 시스템 애플리케이션인, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  44. 제 34 항에 있어서,
    상기 아웃바운드 메시지는 멀티미디어 메시지 시스템 메시지이고, 상기 메시징 애플리케이션은 멀티미디어 메시지 시스템 애플리케이션인, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
KR1020127008418A 2009-08-31 2010-08-31 아웃바운드 메시지들을 평가하는 시스템 및 방법 KR101402561B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/551,503 2009-08-31
US12/551,503 US8769022B2 (en) 2009-08-31 2009-08-31 System and method for evaluating outbound messages
PCT/US2010/047288 WO2011026090A1 (en) 2009-08-31 2010-08-31 A system and method for evaluating outbound messages

Publications (2)

Publication Number Publication Date
KR20120064098A true KR20120064098A (ko) 2012-06-18
KR101402561B1 KR101402561B1 (ko) 2014-05-30

Family

ID=42799880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127008418A KR101402561B1 (ko) 2009-08-31 2010-08-31 아웃바운드 메시지들을 평가하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US8769022B2 (ko)
EP (1) EP2474135A1 (ko)
JP (1) JP2013503402A (ko)
KR (1) KR101402561B1 (ko)
CN (2) CN102484619A (ko)
WO (1) WO2011026090A1 (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9282081B2 (en) 2005-07-28 2016-03-08 Vaporstream Incorporated Reduced traceability electronic message system and method
US8516059B1 (en) * 2008-08-20 2013-08-20 Mcafee, Inc. System, method, and computer program product for communicating automatic response messages based on a policy
US8521143B2 (en) * 2010-04-21 2013-08-27 Blackberry Limited User interface methods and apparatus for use in communicating messages to multiple recipients
US9406048B2 (en) * 2010-07-07 2016-08-02 Mark Meister Email system for preventing inadvertant transmission of propriety message or documents to unintended recipient
US9378487B2 (en) * 2010-10-08 2016-06-28 Mark Meister Outbound blacklist and alert for preventing inadvertent transmission of email to an unintended recipient
US20120246719A1 (en) * 2011-03-21 2012-09-27 International Business Machines Corporation Systems and methods for automatic detection of non-compliant content in user actions
US9147181B2 (en) * 2011-12-07 2015-09-29 International Business Machines Corporation Pre-transmission contextual electronic message prompting
US20130151956A1 (en) * 2011-12-09 2013-06-13 International Business Machines Corporation Autocorrect confirmation system
US20130173733A1 (en) * 2012-01-04 2013-07-04 Alcatel-Lucent Canada Inc. Configurable web service notification with templates
US20130238717A1 (en) 2012-03-07 2013-09-12 International Business Machines Corporation Electronic message alerting
JP6106978B2 (ja) * 2012-07-24 2017-04-05 株式会社リコー 電子メールシステムおよびプログラム
US9414779B2 (en) 2012-09-12 2016-08-16 International Business Machines Corporation Electronic communication warning and modification
US10389675B2 (en) * 2013-02-19 2019-08-20 Sudheer A. Grandhi User interfaces and associated processes in email communication
CN104518953B (zh) * 2013-09-30 2019-12-24 腾讯科技(深圳)有限公司 删除消息的方法、即时通信终端及系统
US20150134379A1 (en) * 2013-11-14 2015-05-14 International Business Machines Corporation Singularity of Presence
US9571427B2 (en) * 2013-12-31 2017-02-14 Google Inc. Determining strength of association between user contacts
CN105099853A (zh) 2014-04-25 2015-11-25 国际商业机器公司 用于防止消息误发的方法和系统
US10826854B1 (en) 2015-02-10 2020-11-03 Open Invention Network Llc Message guardian
CN112152906B (zh) 2015-02-16 2023-04-07 钉钉控股(开曼)有限公司 通讯方法及服务器
CN106034068A (zh) 2015-03-20 2016-10-19 阿里巴巴集团控股有限公司 群聊中进行私聊的方法、装置、客户端、服务器及系统
US9961030B2 (en) 2015-06-24 2018-05-01 Private Giant Method and system for sender-controlled messaging and content sharing
CN105610695B (zh) 2015-12-21 2021-01-12 阿里巴巴集团控股有限公司 对象分配方法及装置
CN105681056B (zh) 2016-01-13 2019-03-19 阿里巴巴集团控股有限公司 对象分配方法及装置
CN105812237B (zh) * 2016-03-07 2020-12-04 钉钉控股(开曼)有限公司 快速添加提醒对象的方法及装置
CN107306286B (zh) 2016-04-21 2020-12-04 钉钉控股(开曼)有限公司 离线考勤的处理方法及装置
CN107305459A (zh) 2016-04-25 2017-10-31 阿里巴巴集团控股有限公司 语音和多媒体消息的发送方法及装置
CN107368995A (zh) 2016-05-13 2017-11-21 阿里巴巴集团控股有限公司 任务处理方法及装置
US10645036B2 (en) * 2016-06-16 2020-05-05 Microsoft Technology Licensing, Llc In-line collaboration in e-mail
JP6671649B2 (ja) * 2016-08-03 2020-03-25 株式会社三鋭システム 情報処理装置
CN107846345A (zh) 2016-09-18 2018-03-27 阿里巴巴集团控股有限公司 通讯方法及装置
US10362163B2 (en) * 2016-11-08 2019-07-23 T-Mobile Usa, Inc. Method, apparatus, and system for preventing unintentional communication
US10931812B2 (en) * 2016-12-30 2021-02-23 Brett Seidman Communication system and method of gaffe prevention
US10334408B2 (en) * 2016-12-30 2019-06-25 Brett Seidman Mobile communication system and method of gaffe prevention
CN108390813A (zh) * 2017-02-03 2018-08-10 阿里巴巴集团控股有限公司 即时通讯消息撤回、修改方法、即时通讯客户端及服务端
US20180262457A1 (en) * 2017-03-09 2018-09-13 Microsoft Technology Licensing, Llc Self-debugging of electronic message bugs
US10755050B2 (en) * 2017-06-19 2020-08-25 Verint Americas Inc. System and method for text analysis and routing of outgoing messages
WO2019222033A1 (en) * 2018-05-12 2019-11-21 Schlumberger Technology Corporation Multi-domain planning and execution
US11050688B2 (en) * 2018-10-30 2021-06-29 AMI Holdings Limited Apparatus and method for improving communication between matched individuals
US11012387B2 (en) 2018-10-30 2021-05-18 AMI Holdings Limited Apparatus and method for matching individuals during an ephemeral time period based upon voting and matching criteria
US10810403B2 (en) 2018-10-30 2020-10-20 AMI Holdings Limited Apparatus and method for coordinating the matching and initial communications between individuals in a dating application
WO2020154297A1 (en) * 2019-01-22 2020-07-30 Otmail Llc Automated time monitoring system and methods of use
JP2020154363A (ja) * 2019-03-18 2020-09-24 株式会社Pfu 情報処理装置、方法、及びプログラム
JP7298249B2 (ja) * 2019-04-08 2023-06-27 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
US11025567B2 (en) * 2019-09-25 2021-06-01 Cameron P. Mitchell Systems and methods for mediation using NLP and machine learning techniques
US11206234B2 (en) * 2020-01-13 2021-12-21 International Business Machines Corporation Validating proposed message recipients based on number of message keywords
US11010181B1 (en) * 2020-11-29 2021-05-18 Digital.Ai Software, Inc. Pop-up free protected operations
US20220394007A1 (en) * 2021-06-08 2022-12-08 Proofpoint, Inc. Misdirected email data loss prevention

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073142A (en) * 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US6393464B1 (en) 1999-05-10 2002-05-21 Unbound Communications, Inc. Method for controlling the delivery of electronic mail messages
EP1223526A1 (en) * 2001-01-10 2002-07-17 Hewlett-Packard Company, A Delaware Corporation Improved process and apparatus for email handling
EP1461749A4 (en) * 2001-12-06 2006-05-03 Manugistics Inc SYSTEM AND METHOD FOR MANAGING MARKET ACTIVITIES
JP3933132B2 (ja) * 2002-01-10 2007-06-20 ブラザー工業株式会社 情報処理装置およびプログラム
US20040068543A1 (en) 2002-10-03 2004-04-08 Ralph Seifert Method and apparatus for processing e-mail
JP4032007B2 (ja) 2003-03-28 2008-01-16 富士通株式会社 電子メール送信方法および電子メール送信プログラム
US7480836B2 (en) * 2005-04-25 2009-01-20 Hewlett-Packard Development Company, L.P. Monitoring error-handler vector in architected memory
JP4703333B2 (ja) 2005-09-26 2011-06-15 エヌ・ティ・ティ・ソフトウェア株式会社 電子メール処理プログラム
US20070088788A1 (en) * 2005-10-14 2007-04-19 International Business Machines Corporation Method and system for enhancing e-mail correspondence
JP4820374B2 (ja) * 2005-12-15 2011-11-24 ネットスター株式会社 ウェブアクセス監視方法及びそのプログラム
US7617214B2 (en) * 2006-01-31 2009-11-10 Dell Products L.P. Porting security application preferences from one system to another
JP2008083917A (ja) 2006-09-27 2008-04-10 Mitsubishi Electric Information Systems Corp 電子メールの誤送信防止システムおよび誤送信防止プログラム
JP4805087B2 (ja) 2006-10-06 2011-11-02 エヌ・ティ・ティ・コミュニケーションズ株式会社 メッセージ送信先確認装置、メッセージ送信先確認方法、メッセージ送信先確認プログラム
WO2008129915A1 (ja) 2007-04-18 2008-10-30 Hitachi Software Engineering Co., Ltd. 電子メールのフィルタリング手段を備えた機器
US8402529B1 (en) * 2007-05-30 2013-03-19 M86 Security, Inc. Preventing propagation of malicious software during execution in a virtual machine
US8990225B2 (en) * 2007-12-17 2015-03-24 Palo Alto Research Center Incorporated Outbound content filtering via automated inference detection
US9392452B2 (en) * 2007-12-26 2016-07-12 General Motors Llc Processing electronic messages wirelessly sent to a vehicle
US20090182818A1 (en) 2008-01-11 2009-07-16 Fortinet, Inc. A Delaware Corporation Heuristic detection of probable misspelled addresses in electronic communications
US20090216875A1 (en) * 2008-02-26 2009-08-27 Barracuda Inc. Filtering secure network messages without cryptographic processes method

Also Published As

Publication number Publication date
KR101402561B1 (ko) 2014-05-30
CN107070776A (zh) 2017-08-18
US20110055334A1 (en) 2011-03-03
JP2013503402A (ja) 2013-01-31
WO2011026090A1 (en) 2011-03-03
US8769022B2 (en) 2014-07-01
CN102484619A (zh) 2012-05-30
EP2474135A1 (en) 2012-07-11

Similar Documents

Publication Publication Date Title
KR101402561B1 (ko) 아웃바운드 메시지들을 평가하는 시스템 및 방법
US11310189B1 (en) Method and system to converse across fragmented messaging services based on discussion topics
JP5456462B2 (ja) 電子メールのフィルタリング手段を備えた機器
US9171291B2 (en) Electronic device and method for updating message body content based on recipient changes
US8868667B2 (en) Email attachment helper
US20140379812A1 (en) Methodology that uses culture information as a means to detect spam
US9804821B2 (en) Interaction history management device, interaction device and interaction history management method
US10558472B1 (en) Security-based message management
JP2018526725A (ja) 業務状態をプロンプトする方法及び装置
US20060031775A1 (en) Action pad
US20160342665A1 (en) Interactive command line for content creation
WO2017214212A1 (en) Dynamic outgoing message modification
CA2810686C (en) Electronic device and method for updating message body content based on recipient changes
CN104509041A (zh) 被遗忘的附件的检测
KR101744071B1 (ko) 메시지의 읽음 상태를 확인하는 방법, 사용자 장치 및 서버
US8775527B2 (en) Collaborative email filtering
JP6210761B2 (ja) 電子メールの送信制御システム及びプログラム
US9923857B2 (en) Symbolic variables within email addresses
US20230101151A1 (en) Systems and methods for providing aggregate group presence state identifier
CN112398719B (zh) 一种用户管理方法、装置、计算机设备及介质
Okae A SHORT MESSAGING SERVICE (SMS) TECHNOLOGY TO AUTHENTICATE CONSUMER PRODUCTS.
JP2021117797A (ja) メッセージ送受信アプリケーションソフトウェア、メッセージ送受信システム
CN116366588A (zh) 电子邮件处理方法、介质、装置和计算设备
JP5190483B2 (ja) 電子メール受付システム、電子メール受付方法およびプログラム
JP2013164767A (ja) 電子メール送信装置、電子メール送信方法および電子メール送信プログラム

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee