KR20120031483A - 액셔너블 이메일 문서 - Google Patents

액셔너블 이메일 문서 Download PDF

Info

Publication number
KR20120031483A
KR20120031483A KR1020120006873A KR20120006873A KR20120031483A KR 20120031483 A KR20120031483 A KR 20120031483A KR 1020120006873 A KR1020120006873 A KR 1020120006873A KR 20120006873 A KR20120006873 A KR 20120006873A KR 20120031483 A KR20120031483 A KR 20120031483A
Authority
KR
South Korea
Prior art keywords
email
data
field
document
response
Prior art date
Application number
KR1020120006873A
Other languages
English (en)
Inventor
수라즈 티. 푸즈히일
사이러스 알. 발사라
제이슨 에이. 볼드
마크 에이치. 루코브스키
리차드 숀 맥도웰
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20120031483A publication Critical patent/KR20120031483A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/60Business processes related to postal services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터에 관련된 메타데이터의 필드에 대응하는 필드 식별자에 응답하여 이메일 문서 내에 포함된 데이터를 이용하여, 수신된 응답 이메일 문서는 소정의 액션을 실행시킬 수 있다. 메타데이터의 알려진 필드에 대응하는 관련 필드 식별자가 그 필드 식별자에 관련된 데이터의 의미론적 의미 및/또는 구문론상의 제약에 대하여 소정의 액션들을 실행시키리라고 예상된다. 설명된 구현에서, 액셔너블 이메일 문서 모듈(actionable email documents module)은 메타데이터의 필드에 매핑된 블럭을 갖는 이메일 문서를 생성한다. 이 이메일 문서는 한 명 이상의 수신자에게 전송된다. 각각의 수신자가 블럭에 데이터를 추가함으로써, 데이터가 메타데이터의 필드에 매핑된다. 수신자가 필드 매핑 데이터(file-mapped data)를 갖는 응답 이메일 문서를 반환한다. 응답 이메일 문서를 수신하면, 모듈은 매핑에 응답하는 필드 매핑 데이터를 이용해 소정의 액션을 실행할 수 있다.

Description

액셔너블 이메일 문서{ACTIONABLE EMAIL DOCUMENTS}
본 발명은 일반적으로 소정의 액션 실행을 용이하게 하는 이메일 문서에 관한 것이며, 특히 (본 발명을 한정하고자 하는 것을 아니지만 예로서) 관련 블럭 및/또는 데이터를 식별하는 필드 태그를 갖는 이메일 문서를 생성 및 이용하는 것에 관한 것이다.
데이터베이스는 탐색(search) 및 검색(retrieval)을 용이하게 하고 고속화하도록 구성된 데이터의 통합으로 고려될 수 있다. 각각의 데이터베이스는 불변적인 데이터의 하나 이상의 대규모 구조 세트를 가질 수 있다. 그들은 주로 데이터를 입력, 갱신 및 질의하기 위한 프로그램에 관련된다. 간단한 데이터베이스의 일례는 수많은 레코드를 포함하는 단일 파일이며, 여기서 각 레코드는 각각 소정의 고정된 최대 크기를 갖는 필드들의 동일한 세트를 포함한다.
기업, 개인, 교육시설 등은 차후에 액세스할 데이터를 저장하는 데 데이터베이스를 이용한다. 데이터베이스는 종종 필드로 구성되고 조직화되어, 거기에 배치된 탐색 및 검색 모두에 관련하여 용이하게 액세스될 수 있게 한다. 그러나, 탐색 또는 검색하기 전에, 주어진 데이터베이스에 포함된 데이터는 데이터베이스에 미리 저장되어 있다. 그러나 불행하게도, 데이터베이스에 데이터를 입력하는 것은 기본 기반구조를 필요로 할 수 있으며 종종 시간이 걸리는 일이다.
예를 들어, 한 명 또는 몇 명의 사람들이 수많은 사람에 관한 데이터를 입력해야한다면, 그 몇 명의 사람들이 데이터를 물리적으로 입력하는 데 걸리는 시간은 엄청날 수 있다. 또한, 처음에 한 명 또는 몇 명의 사람들이 수많은 사람으로부터 데이터를 손수 획득해야하기 때문에 추가적인 시간이 더 걸린다. 반면, 수많은 사람이 데이터베이스에 그들 자신의 데이터를 직접 입력할 수 있게 되면, 이에 따라 데이터베이스에의 완전히 열려있는 액세스(wide-open access)가 수많은 사람에게 주어지며, 이것은 아주 큰 기반구조를 필요로 한다.
따라서, 수많은 사람으로부터 데이터를 획득하고/하거나, 대규모 기반구조 없이 및/또는 데이터베이스에의 액세스를 갖는 한 명 또는 몇 명의 사람들에 의한 대규모의 수동적 입력 없이도 데이터베이스에 이러한 데이터를 입력하는 것을 용이하게 할 수 있는 일반적인 스킴(scheme) 및/또는 기술이 요구된다.
데이터에 관련된 메타데이터의 필드에 대응하는 필드 식별자에 응답하여 이메일 문서 내에 포함된 데이터를 이용하여, 수신된 응답 이메일 문서는 소정의 액션을 실행시킬 수 있다. 메타데이터의 알려진 필드에 대응하는 관련 필드 식별자가 그 필드 식별자에 관련된 데이터의 의미론적 의미 및/또는 구문론상의 제약에 대하여 소정의 액션들을 실행시키리라고 예상된다. 이에 따라, 이러한 예상에 응답하는 적어도 하나의 액션이 실행될 수 있다.
상기 설명된 구현에서, 액셔너블 이메일 문서 모듈(actionable email documents module)은 메타데이터의 필드에 매핑된 블럭을 갖는 이메일 문서를 생성한다. 이메일 문서는 한 명 이상의 수신자에게 전송된다. 각각의 수신자는 적절한 데이터를 추가함으로써, 블럭을 채우도록 요구된다. 이에 따라 이 추가된 데이터는 메타데이터의 필드에 매핑된다. 수신자는 필드 매핑 데이터(file-mapped data)를 갖는 응답 이메일 문서를 반환한다. 응답 이메일 문서를 수신하면, 액셔너블 이메일 문서 모듈은 그 매핑에 응답하는 필드 매핑 데이터를 이용해 소정의 액션을 실행할 수 있다. 예를 들어, 메타데이터가 데이터 소스(data source)를 포함하면, 응답 이메일 문서의 데이터는 데이터가 현재 매핑되어 있는 메타데이터의 필드에 삽입될 수 있다.
다른 방법, 시스템, 접근방식, 장치, 디바이스, 매체, 절차, 배치 등의 구현이 여기에 설명되어 있다.
본 발명은 액셔너블 이메일 문서를 위한 장치 및 방법을 제공한다.
도 1은 액셔너블 이메일 문서(actionable email document)에 대한 예시적인 접근방식의 블럭도.
도 2는 액셔너블 이메일 문서를 생성 및 이용하기 위한 한 방법의 예를 나타내는 흐름도.
도 3은 생성된 이메일 문서에 따라 이분화된 액셔너블 이메일 문서 모듈의 예를 나타내는 블럭도.
도 4는 이메일 문서와 데이터베이스 간의 매핑의 예를 나타내는 블럭도.
도 5는 생성자 디바이스에서 액셔너블 이메일 문서를 생성 및 사용하고 수신자 디바이스에서 그 액셔너블 이메일 문서에 응답하는 것의 예를 나타내는 고레벨 흐름도.
도 6은 일반적인 매핑 스킴(mapping scheme)의 예를 나타내는 도면.
도 7은 이분화된 액셔너블 이메일 문서 모듈을 갖는 특정한 매핑 스킴의 예를 나타내는 도면.
도 8은 여기에 설명된 바와 같은 액셔너블 이메일 문서들 중 적어도 하나의 양태를 (전체적으로 또는 부분적으로) 구현할 수 있는 컴퓨팅 (또는 일반적인 디바이스) 동작 환경의 예를 나타내는 도면.
도면에서 같은 숫자는 유사한 및/또는 대응하는 양태, 특징 및 컴포넌트를 참조하기 위해 이용된다.
데이터베이스 설계자들은 적절한 최종 사용자로부터 그들의 데이터베이스로 데이터를 가져오는 보기에는 단순하지만 항상 거론되는 문제점에 계속 직면해오고 있다. 데이터에 대한 풍부한 뷰(view)를 제공하는 클라이언트 어플리케이션을 구축하는 것이 한가지 옵션이다. 그러면 최종 사용자는 클라이언트 어플리케이션을 통해 데이터베이스와 상호작용할 수 있다. 이러한 뷰는 전용 어플리케이션 또는 웹 솔루션(Web solution)에 의해 계속 제공되어오고 있다. 그러나, 둘 다의 경우에서, 솔루션 작성자들은 솔루션의 배치 및 기초 데이터베이스에의 사용자 액세스를 제공하는 것에 대한 유사한 문제점에 직면해 왔다.
액셔너블 이메일 문서에 대한 설명된 구현에서, 수많은 컴퓨터 사용자들이 이메일에의 액세스를 가지고 있다는 사실을 이용함으로써 데이터베이스에 대한 데이터 수집 시나리오가 용이하게 된다. 액셔너블 이메일 문서 모듈을 이용하여, 데이터베이스 사용자는 폼을 생성하고 그것을 이메일을 통해 특정 수신자에게 송신한다. 이러한 이메일 수신자가 그들이 수신한 폼에 응답하면, 데이터베이스 사용자 및 폼 생성자(form originator)의 자동화된 프로세스가 이메일 응답을 파싱(parse)할 수 있다. 이 자동화된 프로세스는 반환된 이메일 내에 포함되어 있는 관련 데이터를 데이터베이스의 적절한 필드에 자동으로 삽입할 수 있다. 이에 따라 액셔너블 이메일 문서에 대한 설명된 구현은 배치 문제 및/또는 최종 사용자에게 데이터베이스에의 액세스를 제공할 필요가 있는 문제를 해결할 수 있다.
그러나, 액셔너블 이메일 문서를 포함하는 구현은 데이터베이스 삽입 경우 또는 심지어는 일반적으로 데이터베이스 시나리오에만 한정되는 것은 아니다. 액셔너블 이메일 문서는 일반적으로 반환된 응답 이메일 문서를 수신했을 때 액션이 실행될 수 있도록 하는 데 이용될 수 있다. "일반적인 액셔너블 이메일 문서"란 제목의 다음 섹션에서는, 이메일 문서를 수신했을 때 일반적인 액션을 실행하는 것이 일반적인 액셔너블 이메일 문서 모듈 및 메타데이터에 관련하여 일반적으로 설명된다. "액셔너블 이메일 문서에의 데이터 삽입"이란 제목의 다음의 섹션에서는, 이메일 문서 내의 수신된 데이터가 데이터베이스에 삽입되는 특정 구현이 이분화된 액셔너블 이메일 문서 모듈 및 일반적인 메타데이터의 데이터베이스 구현에 관련하여 설명되어 있다.
일반적인 액셔너블 이메일 문서
도 1은 액셔너블 이메일 문서에 대한 예시적인 접근방식의 블럭도(100)이다. 예시된 바와 같이, 블럭도(100)는 액셔너블 이메일 문서 모듈(102), 메타데이터(104), 이메일 프로그램(108) 및 이메일 문서(110)를 포함한다. 메타데이터(104)는 하나 이상의 필드(106)를 포함하며, 이메일 문서(110)는 필드가 매핑된 블럭 및/또는 데이터(112)를 포함한다. 메타데이터(104)는 다른 데이터에 대한 정보 또는 그것의 문서화를 제공하는 정의적인 데이터이다. 다른 데이터는 특정 어플리케이션 및/또는 주어진 환경 내에서 관리되는 데이터일 수 있다.
일반적으로, 메타데이터(104)는 예를 들어 스킴, 일반적인 데이터 소스(예를 들어, 데이터베이스 또는 그것의 일부), 작업 흐름 정보, 이들에 대한 소정의 조합 등을 포함한다. 보다 구체적으로, 메타데이터(104)는, 비용 보고 메타데이터; "Title of Issue", "Description of Issue", "Issue Type", "Assigned To" 등을 포함할 수 있는 문제 추적 메타데이터; "Asset Name", "Asset Type", "Data Acquired" 등과 같은 필드를 포함할 수 있는 자산 추적 메타데이터; "Document Name", "Document Author", "Status", "Approve By" 등과 같은 필드를 포함할 수 있는 문서 인증 메타데이터 등과 같은 작업 흐름 정보에 관련된 메타데이터를 특히 포함할 수 있다.
설명된 구현에서, 액셔너블 이메일 문서 모듈(102)은 메타데이터(104) 및/또는 이메일 프로그램(108)에 관련하여 동작한다. 이메일 문서(110)가 생성되면, 액셔너블 이메일 문서 모듈(102)은 메타데이터(104)의 알려진 필드(106)에 매핑된 필드 매핑 블럭(112)을 포함한다. 데이터가 이러한 필드 매핑 블럭(112)에 채워진 후, 이메일 문서(110)의 필드 매핑(112)에 응답하여 이 데이터에 기초한 소정의 액션이 실행될 수 있는데, 이는 메타데이터(104)의 필드(106)에 대해 알기 때문이다.
액셔너블 이메일 문서에 대한 예시적인 접근방식의 블럭도(100)에 4개의 단계가 제시되어 있다. 단계 1에서, 필드에 매핑된 블럭(112)을 포함하도록 이메일 문서(110)가 생성된다. 이러한 필드 매핑 블럭(112)은 메타데이터(104)의 필드(106)에 매핑된다. 필드(106)는 예상되는(예를 들어, 알려진) 의미론적 의미 및/또는 구문론상의 제약을 갖는다. 단계 2에서, 이메일 프로그램(108)을 이용하여 이메일 문서(110)가 전송된다. 도 1에 구체적으로 나타나진 않지만, 수신자가 필드 매핑 블럭(112)을 이메일 문서(110)의 데이터로 채움으로써, 이러한 블럭은 필드 매핑 데이터(112)가 된다.
단계 3에서, 이메일 프로그램(108)을 이용하여 이메일 문서(110)가 수신된다. 이 이메일 문서(110)의 응답 버전은 필드 매핑 데이터(112)를 포함한다. 단계 4에서, 수신한 응답 이메일 문서(110)의 필드 매핑 데이터(112)를 이용하여 소정의 액션(114)이 실행된다. 이메일 문서(110)가 메타데이터(104)의 필드(106)에 매핑된 데이터 필드 매핑(112)을 이용하여 파싱될 수 있기 때문에, 액션(114)이 실행될 수 있다.
액셔너블 이메일 문서 모듈(102)은 자립형 프로그램, 소정 유형의 플러그인(plug-in), 라이브러리 컴포넌트, 그들에 대한 소정의 조합 등일 수 있다. 액셔너블 이메일 문서 모듈(102)은 이메일 프로그램(108) 및/또는 메타데이터(104)[메타데이터(104)에의 액세스를 제공하는 프로그램 포함]로부터 분리되거나, 그것에 전체적으로 또는 부분적으로 통합될 수 있다. 이메일 프로그램(108)은 이메일 클라이언트 프로그램, 이메일 서버 프로그램, 이메일 기능을 포함하는 또 다른 프로그램 유형일 수 있다.
액셔너블 이메일 문서 모듈(102)은 단일[예를 들어, 모놀리식(monolithic)] 코드 조각 또는 2개 이상의 코드 조각으로 구성될 수 있다. 선택적인 구현에서 및 블럭도(100) 내에 점선으로 나타낸 바와 같이, 액셔너블 이메일 문서 모듈(102)은 이메일 문서 생성 모듈[102(C)] 및 수집된 데이터 액션 실행기 모듈[102(E)]의 두 부를 포함할 수 있다. 도 3-7을 참조하여 그리고 실행된 액션이 데이터 삽입을 포함하는 데이터베이스 특정 구현에 관련하여 다음에 더욱 설명된 바와 같이, 이메일 문서 생성 모듈[102(C)]은 단계 1 및 2를 수반하며, 수집된 데이터 액션 실행기 모듈[102(E)]은 단계 3 및 4를 수반한다.
도 2는 액셔너블 이메일 문서를 생성 및 이용하기 위한 방법의 예를 나타내는 흐름도(200)이다. 흐름도(200)는 4개의 블럭(202-208)을 포함한다. 흐름도(200)의 액션이 다른 환경에서 다양한 하드웨어 및 소프트웨어 조합에 의해 수행될 수 있지만, 도 1은 특히 본 발명의 특정 양태 및 예를 예시하기 위해 이용된다.
블럭(202)에서, 메타데이터와 이메일 문서의 블럭 간의 매핑이 구축된다. 예를 들어, 메타데이터(104)의 필드(106)와 이메일 문서(110)의 필드 매핑 블럭(112) 간의 매핑이 구축될 수 있다. 블럭(204)에서, 이메일 메커니즘(들)을 통해 이메일 문서가 전송된다. 예를 들어, 이메일 프로그램(108)을 이용하여 필드 매핑 블럭(112)을 갖는 이메일 문서(110)가 전송될 수 있다.
블럭(206)에서, 매핑 블럭에 채워진 데이터를 갖는 이메일 문서 응답이 이메일 메커니즘(들)을 통해 수신된다. 예를 들어, 필드 매핑 데이터(112)를 갖는 응답 이메일 문서(110)가 이메일 프로그램(108)을 이용하여 수신될 수 있다. 블럭(208)에서, 메타데이터에의 매핑을 이용하여 이메일 문서 응답의 블럭에 채워진 데이터에 의해 액션이 실행된다. 예를 들어, 메타데이터(104)의 필드에의 매핑에 기인하여 응답 이메일 문서(110)의 필드 매핑 데이터(112)에 의해 액션(114)이 실행될 수 있다.
이러한 액션(114)은 가능한 수많은 액션 중 임의의 하나 또는 그 이상일 수 있다. 이러한 액션(114)에는 데이터베이스와 같은 데이터 소스에 데이터를 삽입; 다른 이메일 문서 내의 데이터를 포워딩(forward); 스프레드시트에 데이터를 추가; 데이터를 갖는 제품을 생산하기 위해 웹 서비스를 개시함; 작업 흐름 관리(예를 들어, 비용 보고, 문제 추적, 자산 추적, 문서 인증 등에 관한 작업 흐름), 그것들에 대한 소정의 조합 등이 포함된다.
단지 예로서, 회계 메타데이터(104)의 알려진 페이롤 필드(payroll filed; 106)에 매핑된 블럭(112)을 갖는 이메일 문서(110)가 생성될 수 있다. 알려진 페이롤 필드(106)에 매핑된 데이터(112)를 갖는 답신 이메일 문서(110)가 반환되면, 하나 이상의 액션이 개시될 수 있다. 이러한 액션은 데이터(112)가 나타내는 비용을 상환하는 프로세싱을 포함한다. 이 예에서 다수의 액션이 개시되면, 상환 프로세싱에 후속하여, 상환/페이롤 데이터(112)가 데이터베이스에 저장된다.
이메일 문서(110)를 수신한 결과로서 취해질 수 있는 다른 예시적인 액션은, (1) 입력된 필드 매핑 데이터(112)를 검증하고 메타데이터(104)에 기초하여 다른 사람들에게 그 데이터를 "포워딩"하는 것 (예를 들어, 송장이 $10,000 이상이면, 그것은 승인을 위해 부사장에게 포워딩될 필요가 있고, 그렇지 않으면, 회계 부서로 포워딩될 수 있음); 및 (2) 공유 문서 라이브러리에 스프레드시트 문서를 업로드(upload)하여, 회계 부서의 여러 사람들이 그 스프레드시트를 볼 수 있게 하는 것을 포함한다.
액셔너블 이메일 문서에의 데이터 삽입
도 3은 이분화된 액셔너블 이메일 문서 모듈[102(C/E)]의 예를 생성된 이메일 문서(110)와 함께 나타낸 블럭도이다. 이분화된 액셔너블 이메일 문서 모듈(102)은 이메일 문서 생성 모듈[102(C)] 및 수집된 데이터 삽입 실행기 모듈[102(E)]을 포함한다. 설명된 구현에서, 이메일 문서 생성 모듈[102(C)]은 데이터베이스 프로그램(302)에 통합되고 그것의 일부를 구성하며, 수집된 데이터 삽입 실행기 모듈[102(E)]은 이메일 프로그램(304)과 상호작용한다. 이메일 프로그램(304)은 플러그인 모듈이 자신과 상호작용할 수 있게 하며, 수집된 데이터 삽입 실행기 모듈[102(E)]은 이러한 플러그인 모듈을 포함한다. 이메일 프로그램(304)은 일반적인 이메일 프로그램(108; 도 1)의 특정한 예이다.
데이터베이스 프로그램(302)은 사용자가 다수의 데이터베이스를 생성하게 하는데, 여기서 데이터베이스 각각은 한 개 이상의 테이블을 갖는다. 데이터베이스 프로그램(302)은, 예를 들어 쿼리 인터페이스를 이용하여 데이터베이스 및 그것의 테이블에의 액세스를 제공한다. 데이터베이스 프로그램(302)의 사용자가 한 테이블의 데이터를 수집하길 원한다면, 그 사용자는 관련 테이블에 액세스하고 있으면서 쿼리를 통해 이메일로 데이터를 수집하기 위한 옵션을 선택(예를 들어, 메뉴, 키보드 문서 등으로)할 수 있다.
이메일 데이터 수집 옵션을 선택하면, 사용자가 생성되는 이메일 문서를 선택적으로 편집할 수 있게 하는 사용자 인터페이스 메커니즘이 개시된다. 사용자 인터페이스는, 예를 들어 마법사, 적어도 하나의 다이얼로그 상자, 메뉴/탭, 타이핑된 코맨드, 그것들에 대한 소정의 조합 등일 수 있다. 사용자 인터페이스는 사용자가 이메일 문서(110)의 수신자로부터 데이터 수집을 시도하기 위하여 데이터베이스 테이블의 어느 필드들이 이메일 문서(110)에 포함될지를 선택할 수 있게 해준다. 사용자는 또한 수신자를 선택할 수 있다. 사용자가 사용자 인터페이스에 의해 제시된 임의의 옵션을 선택한 후, 이메일 문서 생성 모듈[102(C)]은 선택된 옵션으로 이메일 문서(110)를 생성한다.
이메일 문서(110)는 표준 이메일 라우팅 및 서두 정보(salutation information)를 포함할 수 있다. 이 정보는, 예를 들어 "수신자:" 또는 수신자 도착지 ID, "발신자:" 또는 생성지 ID, "제목:" 줄 등을 포함할 수 있다. 이메일 문서(110)는 또한 수신자를 소개 및 설명하는 텍스트를 포함할 수 있다. 이 텍스트는 이메일의 목적을 설명하며, 수신자에게 무엇이 요구되는지를 설명한다. 이러한 텍스트의 샘플이 도 3의 이메일 문서(110)의 예시적인 본문에 제시되어 있다.
도 3에 예시된 바와 같이, 이메일 문서(110)의 예시적인 바디는 필드 매핑 블럭(112)을 포함하는 데이터 수집 폼도 포함한다. 필드 매핑 블럭(112)은 필드 식별자(306) 및 현재 데이터가 채워지지 않은 블럭(308)을 포함한다. 각각의 개별적인 필드 식별자(306)는 개별적인 블럭(308)에 관련되어 있다. 이러한 필드 식별자 및 관련 블럭 쌍이 단 3개만 예시되어 있지만, 이와 달리 임의의 이메일 문서(110) 내에 3개보다 많거나 보다 적게 포함될 수 있다.
또한, 도 3에서는 블럭(308)이 문자 그대로 블럭으로서 나타나 있지만, 그들은 다른 방식으로 디스플레이될 수도 있다. 예를 들어, 블럭(308)은 사용자/생성자 또는 이메일 문서 수신자에게 빈 공간, 밑줄쳐진 영역, 강조된 영역 등으로 디스플레이될 수 있다. 블럭(308)은 또한 사용자/생성자와 비교하여 이메일 문서 수신자에게는 다르게 디스플레이될 수도 있다. 그러므로, 블럭(308)에 관련하여 여기에 이용되는 것과 같은 "블럭"이란 용어는 논리적 및 기능적 용어로서 반드시 실제로 디스플레이되는 구조를 나타내는 것은 아니다.
필드 식별자(306)는 영숫자식 문자와 같은 임의의 주어진 식별 정보로 구성될 수 있다. 그러나, 필드 식별자가 본질적으로 메타데이터(104)의 데이터베이스 구현 예의 대응하는 필드(106)를 나타내면, 인간의 판독가능성 및 이해가 용이해질 수 있다. 이메일 문서(110)의 필드 식별자(306)와 메타데이터(104)의 데이터베이스 구현의 필드(106) 간의 매핑은 특히 도 4, 6 및 7을 참조하여 다음에 보다 상세하게 설명되어 있다.
액셔너블 이메일 문서에 대한 구현은 수많은 상이한 방식으로 실현될 수 있다. 예를 들어, 데이터베이스는 오직 단일 테이블만을 가지거나 심지어는 테이블로 조직되지 않을 수 있다. 이메일 문서(110)는 HTML과 같은 공개 포맷 또는 사유 포맷을 포함하는 임의의 포맷으로 실현될 수 있다. 단지 예로서, 이메일 문서(100)가 HTML 포맷으로 실현되면, 각각의 필드 식별자는 HTML 태그를 포함할 수 있다.
또한, 추가적인 선택 옵션이 생성자(originating user)에게 제공될 수 있다. 예를 들어, 생성자는 이용가능한 이메일 포맷 옵션 간에 또는 그것들 중에 선택해야 한다. 또한, 응답 이메일 프로세싱 옵션이 사용자에 의해 규정될 수 있다. 그 예에는 (ⅰ) 처리될 총 이메일 응답의 개수를 어떤 선택가능한 최대 수에 한정시키는 것, (ⅱ) 프로세싱에 적합하도록 이메일 문서 응답의 도착에 대한 최종 기한을 설정하는 것, (ⅲ) 이메일 문서 응답의 출처가 인식된 경우에만 (예를 들어, 본래 수신자로 목표됨) 이메일 문서 응답을 처리할지를 선택하는 것, (ⅳ) 반환된 데이터 및 필드가 처리되는 순서를 선택하는 것 등이 포함된다.
이외에, 도 3에 예시된 바와 같은 이메일 문서(110)의 예시적인 텍스트가 나타내는 바와 같이, 이메일 문서(110)의 본문에 힌트가 포함될 수 있다. 힌트 섹션은 수신자에게 각각의 채워지지 않은 데이터 블럭(308)에 바람직한 정보의 유형을 나타낸다. 각각의 힌트는 바람직한 데이터가 무엇인지, 데이터의 예상되는 포맷(예를 들어, 문자의 개수 및 유형, 소수점 위치 등) 등을 나타낼 수 있다. 사용자는 또한 블럭(308)의 실제 외형도 결정할 수 있다.
또한, 데이터베이스용 이메일 기반 데이터 수집은 데이터 추가 및 데이터 갱신의 경우 모두에 (그리고 데이터 삭제의 경우에도) 채용될 수 있다. 데이터 추가의 경우에는, 데이터베이스 내의 현재 비어있는 필드를 위한 새로운 데이터가 수집된다. 데이터 갱신의 경우에는, 현재 데이터가 검증되고/되거나 갱신된 데이터로 대채된다. 이러한 데이터 갱신의 경우에, 현재 데이터는 이메일 문서(110)에 포함될 수 있다. 현재 데이터가 포함되는 경우에는, 그 현재 데이터가 블럭(308) 내에 표시되어, 갱신된 데이터의 수신자 입력이 이메일 문서(110) 및/또는 그것의 응답 내의 "현재" 데이터를 오버라이팅한다. 이와 달리, 현재 데이터는 또 다른 컬럼(column)과 같은 이메일 문서(110)의 추가적인 위치에 나타내질 수 있다.
도 4는 이메일 문서(110)와 데이터베이스(402) 간의 매핑(412)에 대한 블럭도의 일례이다. 예시된 바와 같이, 데이터베이스(402)는 적어도 하나의 데이터 테이블(404) 및 데이터베이스 정보 테이블(408)을 포함한다. 데이터베이스 정보 테이블(408)은 데이터베이스 프로그램(302, 도3)에 의한 데이터베이스(402)의 테이블에의 액세스를 용이하게 하는 정보를 포함한다. 이러한 정보는 조직화, 식별, 설명 등에 관련된 것일 수 있다.
액셔너블 이메일 문서에 대한 설명된 구현에서, 데이터베이스 정보 테이블(408)은 적어도 하나의 테이블-대-이메일 문서 링크 식별자(410)를 포함한다. 테이블-대-이메일 문서 링크 식별자(410)는 데이터베이스(402)의 테이블(404)을 이메일 문서(110)에 링크(또는 매핑)시킨다. 언제라도, 데이터베이스(402)의 테이블(404) 각각은 데이터베이스 정보 테이블(408)에 배치된 0개, 1개, 2개 또는 그 이상의 대응하는 테이블-대-이메일 문서 링크 식별자(410)를 가질 수 있다. 테이블-대-이메일 문서 링크 식별자(410)는 영숫자식 문자와 같은 어떤 식별 정보로도 구성될 수 있다. 그러나, 설명된 구현에서, 테이블-대-이메일 문서 링크 식별자(410) 각각은 GUID(globally unique identifier)로 구성될 수 있다.
테이블(404)은 다수의 필드(406)를 포함한다. 테이블(404)과 필드(406)는 각각 일반적인 메타데이터(104)와 일반적인 필드(106)(둘 다 도 1 참조)의 데이터베이스-특정적인 예이다. 예시된 바와 같이, 테이블(404)은 필드[406(1)], 필드[406(2)],.., 및 필드[406(n)]를 포함한다. 테이블(404)은 임의의 개수의 필드(406)를 가질 수 있는데, 의도된 목적 및/또는 테이블(404)의 정의에 따라, 각각의 이러한 필드(406)는 개별적인, 동일한, 관련된, 관련되지 않은 등의 구문상의 제약 및 의미론적 의미를 갖는다. 각각의 필드(406)는 이메일 문서(110)에 매핑(412)될 수 있다[이러한 필드(406) 모두가 반드시 그런 것은 아님].
이메일 문서 생성 모듈[102(C); 도 3]에 의해 생성된 이메일 문서(110)는 다수의 필드 식별자(306) 및 데이터 채우기용 블럭(308)을 포함한다. 이메일 문서(110)는 또한 테이블-대-이메일 문서 링크 식별자(410)도 포함한다. 예시된 바와 같이, 이메일 문서(110)는 필드 식별자[306(1)], 필드 식별자[306(2)],.., 및 필드 식별자[306(n)]를 포함하며, 이 필드 식별자들은 각각 데이터 채우기용 블럭[308(1)], 데이터 채우기용 블럭[308(2)],..., 및 데이터 채우기용 블럭[308(n)]에 관련되어 있다.
일반적으로, 이메일 문서(110)의 필드 식별자(306) 각각은 테이블(404)의 대응하는 필드(406)에 매핑된다. 예시된 바와 같이, 필드[406(1)], 필드[406(2)],..., 및 필드[406(n)]는 각각 필드 식별자[306(1)], 필드 식별자[306(2)],.., 및 필드 식별자[306(n)]에 매핑된다. 그러므로, 테이블-대-이메일 문서 링크 식별자(410)는 이메일 문서(110)를 데이터베이스(402)의 테이블(404)에 링크시킨다. 필드(406)와 필드 식별자(306) 간의 매핑(412)은 각각의 데이터 채우기용 블럭(308)을 테이블(404)의 필드(406)에 링크시킨다.
이러한 매핑은 응답 이메일 문서(110) 내의 데이터 채우기용 블럭(308)이 데이터베이스(402)의 테이블(404)에 삽입될 수 있게 한다. 이러한 매핑 및 데이터 삽입은 특히 도 6 및 도 7을 참조하여 다음에 보다 상세하게 설명되어 있다. 이메일 문서를 생성 및 전송하는 것, 응답 이메일 문서를 수신하는 것, 및 수신한 응답 이메일 문서(110)를 데이터 삽입에 대해 이용하는 것에 대한 전반적인 프로세스의 예가 고레벨 추상화에서 특히 도 5를 참조하여 다음에 더욱 설명되어 있다.
도 5는 생성자 디바이스(502)에서 액셔너블 이메일 문서(110)를 생성 및 이용하는 것, 수신자 디바이스(504)에서 액셔너블 이메일 문서(110)에 응답하는 것에 대한 예를 나타내는 고레벨 흐름도(500)이다. 흐름도(500)는 10개의 블럭(508-526)을 포함한다. 7개의 블럭(508-520)의 액션들은 생성자 디바이스(502)에서 수행되고, 3개의 블럭(522-526)의 액션들은 수신자 디바이스(504)에서 수행된다. 흐름도(500)의 액션들이 다른 환경에서 다양한 하드웨어 및 소프트웨어 조합으로 수행될 수 있지만, 도 1, 3 및 4는 특히 본 발명의 특정 양태 및 예를 예시하기 위해 이용된다.
블럭(508)에서, 테이블 또는 쿼리가 사용자/생성자에 의해 선택된다. 예를 들어, 데이터베이스(402)의 테이블(404)(또는 그것에 대한 쿼리)이 선택될 수 있다. 블럭(510)에서, 데이터를 수집하기 위한 폼을 포함하는 이메일 문서가 생성된다. 예를 들어, 이메일 문서 생성 모듈[102(C)]을 이용하여[이메일 프로그램(304)과 관련될 가능성이 있음], 필드 매핑 블럭(112)을 포함한 이메일 문서(110)가 생성될 수 있다. 필드 매핑 블럭(112)은 필드 식별자(306) 및 각각의 관련 데이터 채우기용 블럭(308)을 포함한다. 각각의 필드 식별자(306)는 테이블(404)의 각 필드(406)에 대응한다. 생성자는 이메일 문서(110)의 데이터 수집 폼에 테이블(404)의 어느 필드(406)를 포함시킬지를 선택할 수 있다.
블럭(512)에서, 이메일 문서가 발송된다. 예를 들어, 생성자는 "송신" 버튼 또는 이와 유사한 것을 누름으로써, 이메일 문서(110)가 발신되어야 한다는 것을 나타낼 수 있다. 블럭(514)에서, 이메일 문서가 생성자 디바이스로부터 수신자(들)의 디바이스(들)로 전송된다. 예를 들어, 이메일 프로그램(304)은 네트워크(506)(들)를 통해 수신자 디바이스(504)로 이메일 문서(110)를 전송할 수 있다. 네트워크(506)(들)는 사설 LAN, 인터넷, PSTN, 무선 네트워크, 그들에 대한 소정의 조합 등과 같은 하나 이상의 네트워크일 수 있다.
블럭(522)에서, 이메일 문서가 수신자 디바이스에 수신된다. 예를 들어, 이메일 문서(110)가 수신자 디바이스(504)에 수신될 수 있다. 블럭(524)에서, 수신자가 수신된 이메일 문서의 폼을 채운다. 예를 들어, 데이터를 필드 매핑 데이터(112)로 변형시키기 위해, 수신자는 수신된 이메일 문서(110)의 필드 매핑 블럭(112)에 적절한 데이터를 입력할 수 있다. 보다 구체적으로, 데이터를 데이터(308) 또는 데이터 블럭(308)으로 변형시키기 위해 수신자는 수집된 데이터를 블럭(308)에 입력할 수 있다. 각각의 데이터 블럭(308)은 각각의 필드 식별자(306)에 관련되어 있다.
수신자 디바이스(504)에서 이용되는 이메일 클라이언트에 따라서, "응답" 코맨드를 활성화하기 전에 또는 그것을 활성화한 후에, 수신자는 데이터를 입력할 수 있다. 바꾸어 말하면, 수신자는 수신된 이메일 문서(110) 또는 생성자 디바이스(502)에 전송된 응답 이메일 문서(110)에 수집된 데이터를 입력할 수 있다. 블럭(506)에서, 수신자는 데이터가 채워진 이메일 문서로 송신자에게 응답한다. 예를 들어, 수신자 디바이스(504)는 필드 매핑 데이터(112)와 같은 데이터가 채워져 있는 블럭(308)을 가진 응답 이메일 문서(110)를 생성자 디바이스(502)에 전송할 수 있다.
블럭(516)에서, 이메일 문서 응답이 수신된다. 예를 들어, 필드 매핑 데이터(112)를 가진 응답 이메일 문서(110)가 이메일 프로그램(304)을 통해 생성자 디바이스(502)에서 수신될 수 있다. 블럭(518)에서, 이메일 문서 응답으로부터의 데이터가 데이터베이스에 (예를 들어, 자동으로) 가져오기(import)된다. 예를 들어, 수집된 데이터 삽입 실행기 모듈[102(E)]을 이용하여, 현재 블럭(308)에 채워져 있는 데이터가 매핑(412)을 이용해 데이터베이스(402)의 적절한 테이블(404)에 삽입될 수 있다. 이와 달리, 데이터는 블럭(308)으로부터 데이터베이스(402)로 수동으로 가져오기될 수도 있다.
이 매핑(412)은 테이블-대-이메일 문서 링크 식별자(410) 및 데이터(308)가 채워진 각각의 블럭들에 관련된 각 필드 식별자(306)를 수반한다. 응답 이메일 문서(110)의 각 필드 식별자(306)에 관련된 블럭(308) 내의 데이터 각각은 데이터베이스(402)의 테이블(404)의 대응하는 각 필드(406)에 삽입된다. 이 매핑은 특히 도 6 및 도 7을 참조하여 다음에 더욱 상세하게 설명된다. 흐름도(500)의 블럭(520)에서, 테이블 또는 쿼리 내의 데이터가 갱신된다. 예를 들어, 수집된 데이터 삽입 실행기 모듈[102(E)] 및/또는 데이터 프로그램(302)은 테이블(404) 또는 본래 쿼리를 갱신할 수 있다.
도 6은 매핑 모듈(602)을 갖는 일반적인 매핑 스킴의 예를 도시한다. 매핑 모듈(602)은 액셔너블 이메일 문서 모듈(102)의 일부이다. 그러나, 매핑 모듈(602)은 임의의 편리하거나 바람직한 방식으로 배치될 수 있다. 예를 들어, 매핑 모듈(602)은 이메일 문서 생성 모듈[102(C)]이나 수집된 데이터 삽입 실행기 모듈[102(E)], 또는 이 둘 모두의 일부일 수 있다.
일반적으로, 매핑 모듈(602)은 데이터베이스(402)의 테이블(404)의 각 필드(406)와 이메일 문서(110)의 각 블럭(308) 간의 매핑을 보증한다. 요약하면, 데이터베이스마다 다수의 테이블을 갖는 구현에서, 매핑 모듈(602)은 데이터베이스/테이블/필드(604)와 이메일 문서/블럭(606) 간의 매핑을 보증한다. 이 매핑은 하나 이상의 정보 조각 및 임의의 위치에 분산 및 배치되어 있는 정보를 이용하는 방식으로 구축될 수 있다.
그러나, 설명된 구현에서, 이 매핑은 테이블-대-이메일 문서 링크 식별자(410)와 필드 식별자(306)의 2조각의 정보를 이용하여 구축된다. 테이블-대-이메일 문서 링크 식별자(410)는 각각의 주어진 이메일 문서(110)를 데이터베이스(402)의 특정 테이블(404)에 링크 또는 매핑시킨다. 특정 테이블(404) 내에서, 특정 테이블(404)의 각 필드(406)는 각각의 필드 식별자(306)를 이용하여 주어진 이메일 문서(110)의 각 블럭(308)에 매핑된다. 매핑 정보를 위한 예시적인 분배 위치를 포함하는 이 설명된 매핑의 예가 특히 도 7을 참조하여 다음에 더욱 설명된다.
도 7은 이분화된 액셔너블 이메일 문서 모듈[102(C/E)]을 갖는 특정한 매핑 스킴(700)의 예를 예시한다. 매핑 스킴(700)이 5개의 단계로 설명되어 있다. 여기에 상기 설명된 바와 같이, 이메일 문서(110)는 이메일 문서 생성 모듈[102(C)]에 의해 생성된다. 매핑 스킴(700)의 단계 1에서, 생성 프로세스의 일부로서, 이메일 문서 생성 모듈[102(C)]이 링크 테이블(702)을 유지하고 있다.
링크 테이블(702)은 이메일 문서(110)를 데이터베이스(402)에 링크시킨다. 링크 테이블(702)의 각 엔트리는 주어진 이메일 문서(110)의 주어진 링크 식별자를 특정한 데이터베이스(402)에 링크시킨다. 링크 식별자는 도 4에 도시된 바와 같이 이메일 문서(110) 및 데이터베이스 정보 테이블(408)의 일부로서 포함된 테이블-대-이메일 문서 링크 식별자(410)에 대응한다. 링크 테이블(702)은 어느 곳에나 배치될 수 있다. 그러나, 설명된 구현에서, 링크 테이블(702)은 이메일 프로그램(304)에 대한 구성 파일(예를 들어, XML 포맷)의 일부로 저장된다.
단계 2에서, 이메일 프로그램(304)에 의해 응답 이메일 문서(110)가 수신된다. 그 결과, 이메일 프로그램(304)은 수집된 데이터 삽입 실행기 모듈[102(E)]을 포함하는 자신의 플러그인(plug-in)에 새로운 이메일 이벤트 통지를 제공한다.
단계 3에서, 수집된 데이터 삽입 실행기 모듈[102(E)]은 수신된 이메일 문서(110)로부터 테이블-대-이메일 문서 링크 식별자(410)를 (존재하면) 획득하다. 수집된 데이터 삽입 실행기 모듈[102(E)]은 획득한 테이블-대-이메일 문서 링크 식별자(410)를 링크 테이블(702)의 각 링크 식별자와 비교한다. 매치하는 것을 발견하면, 수신된 응답 이메일 문서(110)가 필드 매핑 데이터(112)를 포함할 수 있다는 것이 자명해진다. 따라서 링크 테이블(702) 내의 매칭 링크 식별자에 관련된 데이터베이스(402)가 추출된다.
이 설명된 구현에서, 특정 데이터베이스(402)는 링크 테이블(702)로부터 결정될 수 있지만, 특정 테이블(404)은 데이터베이스 정보 테이블(408)로부터 확인될 수 있다. 보안상의 이유로 이렇게 분리되지만, 특정 테이블(404)은 이와 달리 링크 테이블(702)로부터도 발견될 수 있다. 데이터가 수동으로 가져오기될 것인 경우, 단계 2의 새로운 메일 이벤트 통지는, 단순히 단계 3 이후에 수신된 응답 이메일 문서(110)가 수동 가져오기를 위해 준비가 되어 있다고 또는 그와 유사하게 표시되는 것으로 될 수 있다.
단계 4에서, 수집된 데이터 삽입 실행기 모듈[102(E)]은 발견된 매칭 링크 식별자에 관련되어 있는 추출된 데이터베이스(402)의 데이터베이스 정보 테이블(408)에 액세스한다. 데이터베이스 정보 테이블(408)로부터, 응답 이메일 문서(110)의 테이블-대-이메일 문서 링크 식별자(410)에 대한 실제 특정 테이블(404)이 검색된다. 이때, 수집된 데이터 삽입 실행기 모듈[102(E)]은 수신된 응답 이메일 문서(110)에 매핑하는 테이블(404)을 확인한다.
단계 5에서, 수집된 데이터 삽입 실행기 모듈[102(E)]은 테이블(404)의 필드(406)에 응답 이메일 문서(110)의 블럭(308)으로부터의 데이터를 삽입한다. 보다 구체적으로, 필드(406)에 대응하는 필드 식별자(306)를 이용하여, 각각의 식별자(306)에 관련된 블럭(308)에 채워진 각 데이터는 각각의 필드(406)에 삽입될 수 있다. 예시된 바와 같이, 응답 이메일 문서(110)의 필드 식별자[306(n)]는 테이블(404)의 필드[406(n)]에 대응한다. 블럭[308(n)]에 채워진 데이터는 필드 식별자[360(n)]에 관련된다. 그러므로, 수집된 데이터 삽입 실행기 모듈[102(E)]은 블럭[308(n)]에 채워진 데이터를 데이터베이스(402) 테이블(404)의 필드[406(n)]에 삽입한다. 삽입은 데이터 추가 및/또는 데이터 갱신을 실행할 수 있다. 블럭(308)에 채워진 "빈 데이터"의 삽입은 데이터 삭제를 실행하기 위한 한 기술이다. 이와 달리, "빈 데이터"가 블럭(308) 내에 수신되면, 데이터 삭제를 실행하기 위해 실제적으로 필드 및/또는 레코드가 제거될 수 있다.
삽입하기 전에, 데이터베이스 프로그램(302)의 다른 부분에 선택적으로 관련되어 있는 수집된 데이터 삽입 실행기 모듈[102(E)]은 데이터 블럭(308)으로부터의 데이터를 검증할 수 있다. 검증은 데이터(308)가 삽입될 필드(406)에 알맞은 것인지를 보증하기 위한 하나 이상의 구문론상의 확인절차를 포함할 수 있다. 검증 확인절차가 실패되면, 에러 메시지가 생성될 수 있다.
도 1-7의 디바이스, 액션, 양태, 특징, 단계, 절차, 모듈, 컴포넌트 등이 다수의 블럭으로 나뉜 도면에 예시되어 있다. 그러나, 도 1-7이 설명되고/되거나 도시된 순서, 상호작용, 상호관계, 레이아웃(layout) 등은 본 발명을 한정하기 위한 것은 아니며, 임의의 개수의 블럭도 액셔너블 이메일 문서에 대한 하나 이상의 시스템, 방법, 디바이스, 절차, 매체, 장치, 배치 등을 구현할 수 있는 임의의 방식으로 수정, 조합, 재배치, 확장, 생략 등이 될 수 있다. 또한, 여기서 설명이 특정한 구현(도 8의 일반적인 디바이스를 포함)을 참조하고 있지만, 예시된 및/또는 설명된 구현은 임의의 적절한 하드웨어, 소프트웨어, 펌웨어 또는 그들의 조합으로 구현되고, 임의의 적절한 이메일 문서 포맷(들), 매핑 스킴(들) 또는 데이터 구조(들), 모듈 분산(들), 식별자 표현(들), 액션 실행(들), 메타데이터 실현(들) 등을 이용할 수 있다.
컴퓨터 또는 다른 디바이스를 위한 예시적인 동작 환경
도 8은 여기에 설명된 바와 같은 액셔너블 이메일 문서를 위한 적어도 하나의 시스템, 디바이스, 장치, 컴포넌트, 배치, 프로토콜, 접근방식, 방법, 절차, 매체, API, 이들에 대한 소정의 조합 등을 (전체적으로 또는 부분적으로) 구현할 수 있는 예시적인 컴퓨팅 (또는 일반적인 디바이스) 동작 환경(800)을 나타낸다. 동작 환경(800)은 다음에 설명된 컴퓨터 및 네트워크 아키텍처(network architecture)에서 이용될 수 있다.
예시적인 동작 환경(800)은 환경의 일례일 뿐이며, 적용가능한 디바이스(컴퓨터, 네트워크 노드, 기업 디바이스, 모바일 전자 장치, 범용 전자 디바이스 등을 포함) 아키텍처의 이용 또는 기능의 범위를 한정하기 위한 것은 아니다. 동작 환경(800)(또는 그것의 디바이스)은 도 8에 예시된 바와 같은 컴포넌트들 중의 임의의 하나 또는 그들에 대한 임의의 조합에 관하여 임의의 종속성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
이외에, 액셔너블 이메일 문서는 수많은 다른 범용 또는 특수목적 디바이스(컴퓨팅 시스템을 포함) 환경 또는 구성들과 함께 구현될 수 있다. 이용하기에 적합할 수 있는 잘 알려진 디바이스, 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 신 클라이언트(thin client), 씨크 클라이언트(thick client), PDA, 모바일 전화, 시계, 핸드헬드 또는 랩탑 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋 탑 박스, 프로그램가능한 가전제품, 비디오 게임 기기, 게임 콘솔(game console), 휴대용 또는 핸드핼드 게이밍 유닛(gaming unit), 네트워크 PC, 화상회의 장치, 미니컴퓨터, 메인프레임 컴퓨터, 네트워크 노드, 상기의 시스템 또는 디바이스 중의 임의의 것을 포함하는 분산형 또는 멀티 프로세싱 컴퓨팅 환경 그들에 대한 소정의 조합 등이 포함되지만, 이에만 한정되는 것은 아니다.
액셔너블 이메일 문서에 대한 구현은 프로세서 실행가능 명령어의 일반적인 문맥으로 설명될 수 있다. 일반적으로, 프로세서 실행가능 명령어는 특정 태스크를 수행 및/또는 가능하게 하고/하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 프로토콜, 객체, 인터페이스, 컴포넌트, 데이터 구조 등을 포함한다. 여기 특정 구현에 설명된 바와 같은 액셔너블 이메일 문서는 또한 통신 링크 및/또는 네트워크를 통해 연결된 원격적으로 링크된 프로세싱 디바이스에 의해 태스크가 수행되는 분산형 프로세싱 환경에서도 실행될 수 있다. 특히, 프로세서 실행가능 명령어는 분산형 컴퓨팅 환경에만 배타적으로 위치하는 것이 아니라, 서로 다른 프로세서에 의해 실행되는 개별적인 저장 매체에 배치되고/되거나 전송 매체를 통해 전파된다.
예시적인 동작 환경(800)은 컴퓨팅/프로세싱 기능을 가진 임의의(예를 들어, 전자) 디바이스를 포함할 수 있는 컴퓨터(802)의 형태인 범용 컴퓨팅 디바이스를 포함한다. 컴퓨터(802)의 컴포넌트들은 하나 이상의 프로세서 또는 프로세싱 유닛(804), 시스템 메모리(806), 및 프로세서(804)를 포함하는 다양한 시스템 컴포넌트를 시스템 메모리(806)에 연결시키는 시스템 버스(808)를 포함할 수 있지만, 이에만 한정되는 것은 아니다.
프로세서(804)는 그들을 형성하는 물질 또는 그들에 채용된 프로세싱 메커니즘에 의해 한정되지 않는다. 예를 들어, 프로세서(804)는 반도체(들) 및/또는 트랜지스터[예를 들어, 전자 집적 회로(electronic IC)]로 구성될 수 있다. 이러한 문맥에서, 프로세서 실행가능 명령어는 전자적으로 실행가능한 명령어일 수 있다. 이와 달리, 프로세서(804)의 또는 그것에 대한 메커니즘, 및 컴퓨터(802)의 또는 그것에 대한 메커니즘은 대용량 컴퓨팅, 선택적 컴퓨팅, 기기 컴퓨팅(예를 들어, 나노기술을 이용) 등을 포함할 수 있지만, 이에만 한정되는 것은 아니다.
시스템 버스(808)는 메모리 버스 또는 메모리 제어기, 점대점 접속, 스위칭 패브릭(switch fabric), 주변 버스, 고속 그래픽 포트, 및 다양한 버스 아키텍처 중 임의의 것을 사용하는 프로세서 또는 로컬 버스를 포함하는 수많은 유형의 유무선 버스 구조 중 임의의 것 중 하나 이상을 나타낸다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 일렉트로닉스 표준 어소시에이션(VESA) 로컬 버스, 및 메자닌(Mezzanine) 버스로도 알려진 주변 컴포넌트 상호접속(PCI) 버스, 그들에 대한 소정의 조합을 포함하지만, 이에만 한정되는 것은 아니다.
컴퓨터(802)는 전형적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 이러한 매체는 컴퓨터(802) 또는 다른(예를 들어, 전기) 디바이스에 의해 액세스되는 임의의 이용가능 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체 둘 다, 그리고 저장 및 전송 매체를 포함한다.
시스템 메모리(806)는 RAM(810)과 같은 휘발성 메모리 및/또는 ROM(812)과 같은 비휘발성 메모리의 형태인 컴퓨터 판독가능 저장 매체를 포함한다. 시동중과 같은 때에 컴퓨터(802) 내의 구성요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(814; BIOS)은 전형적으로 ROM(812)에 저장된다. RAM(810)은 전형적으로 프로세싱 유닛(804)에 즉시 액세스할 수 있고 및/또는 프로세싱 유닛(804)에 의해 현재 동작되고 있는 데이터 및/또는 프로그램 모듈/명령어를 포함한다.
컴퓨터(802)는 또한 다른 분리형, 비분리형 및/또는 휘발성, 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 도 8은 (전형적으로) 비분리형 비휘발성 자기 매체(개별적으로 도시되지 않음)로부터 판독하고 그 자기 매체에 기록하는 하드 디스크 드라이브 또는 디스크 드라이브 어레이(816), (전형적으로) 분리형 비휘발성 자기 디스크(820)(예를 들어, "플로피 디스크")로부터 판독하고 그 자기 디스크에 기록하는 자기 디스크 드라이브(818), 및 CD, DVD 또는 다른 광학 매체와 같은 (전형적으로) 분리형 비휘발성 광학 디스크(824)로부터 판독하고/하거나 그 광학 디스크에 기록하는 광학 디스크 드라이브(822)를 예시한다. 하드 디스크 드라이브(816), 자기 디스크 드라이브(818) 및 광학 디스크 드라이브(822)는 각각 하나 이상의 저장 매체 인터페이스(826)에 의해 시스템 버스(808)에 접속된다. 이와 달리, 하드 디스크 드라이브(816), 자기 디스크 드라이브(818) 및 광학 디스크 드라이브(822)는 하나 이상의 다른 개별적인 또는 조합된 인터페이스(도시되지 않음)에 의해 시스템 버스(808)에 접속될 수도 있다.
디스크 드라이브 및 그 관련 컴퓨터 판독가능 매체는 데이터 구조, 프로그램 모듈 및 컴퓨터(802)에 대한 다른 데이터와 같은 프로세서 실행가능 명령어의 비휘발성 저장소를 제공한다. 예시적인 컴퓨터(802)는 하드 디스크(816), 분리형 자기 디스크(820) 및 분리형 광학 디스크(824)만을 예시하고 있지만, 자기 카세트 또는 다른 자기 저장 디바이스, 플래시 메모리, CD, DVD 또는 다른 광학 저장소, RAM, ROM, EEPROM 등의 다른 유형의 컴퓨터 판독가능 매체도 디바이스가 액세스할 수 있는 명령어를 저장할 수 있다는 것은 명백해질 것이다. 이러한 매체는 또한 소위 특수 목적 또는 하드와이어드 IC 칩(hard-wired IC chip)을 포함할 수 있다. 다른 말로 하면, 예시적인 동작 환경(800)의 저장 매체를 실현하기 위해 임의의 컴퓨터 판독가능 매체가 이용될 수 있다.
통상적인 예로서, 오퍼레이팅 시스템(828), 하나 이상의 어플리케이션 프로그램(830), 다른 프로그램 모듈(832) 및 프로그램 데이터(834)를 포함하는 임의의 개수의 프로그램 모듈(또는 프로세서 실행가능 명령어의 따른 유닛 또는 세트)은 하드 디스크(816), 자기 디스크(820), 광학 디스크(824), ROM(812) 및/또는 RAM(810) 상에 저장될 수 있다. 이러한 프로세서 실행가능 명령어는, 예를 들어 액셔너블 이메일 문서 모듈, 메타데이터(예를 들어, 데이터베이스 또는 그것의 테이블과 같은 데이터 소스), 데이터베이스 프로그램, 이메일 프로그램 등 중 하나 이상을 포함할 수 있다.
사용자는 키보드(836) 및 포인팅 디바이스(838)(예를 들어, "마우스")와 같은 입력 디바이스를 통해 컴퓨터(802)에 코맨드 및/또는 정보를 입력할 수 있다. (구체적으로 도시되지 않은) 다른 입력 디바이스(840)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 시리얼 포트, 비디오 카메라, 스캐너 및/또는 이와 유사한 것들을 포함할 수 있다. 이들 입력 디바이스 및 다른 입력 디바이스는 시스템 버스(808)에 접속된 입출력 인터페이스(842)를 통해 프로세싱 유닛(804)에 접속된다. 그러나, 입력 디바이스 및/또는 다른 디바이스는 대신에 병렬 포트, 게임 포트 또는 유니버설 시리얼 버스(USB) 포트, 적외선 포트, IEEE 1394["파이어와이어(Firewire)"] 인터페이스, IEEE 802.11 무선 인터페이스, 블루투스? 무선 인터페이스 등과 같은 다른 인터페이스 및 버스 구조에 의해 접속될 수 있다.
모니터/뷰 스크린(844) 또는 다른 유형의 디스플레이 디바이스는 또한 비디오 어댑터(846)와 같은 인터페이스를 통해 시스템 버스(808)에 연결될 수 있다. 비디오 어댑터(846)(또는 다른 컴포넌트)는 그래픽 집약적 계산을 처리하고 요구되는 디스플레이 요청사항을 처리하기 위한 그래픽 카드이거나 그것을 포함할 수 있다. 전형적으로, 그래픽 카드는 그래픽 프로세싱 유닛(GPU), 비디오 RAM(VRAM) 등을 포함하여, 신속한 그래픽 디스플레이 및 그래픽 동작의 수행을 용이하게 한다. 모니터(844) 외에도, 다른 출력 주변 디바이스는 입출력 인터페이스(842)를 통해 컴퓨터(802)에 연결될 수 있는 (도시되지 않은) 스피커 및 프린터(848)와 같은 컴포넌트를 포함할 수 있다.
컴퓨터(802)는 원격 컴퓨팅 디바이스(850)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용하여 네트워킹된 환경에서 동작할 수 있다. 예를 들어, 원격 컴퓨팅 디바이스(850)는 주변 디바이스, 퍼스널 컴퓨터, 휴대용 컴퓨터(예를 들어, 랩탑 컴퓨터, 타블릿 컴퓨터, PDA, 모바일 스테이션 등), 팜(palm) 또는 포켓 사이즈 컴퓨터, 시계, 게임 디바이스, 서버, 라우터, 네트워크 컴퓨터, 피어(peer) 디바이스, 다른 네트워크 노드, 또는 상기 열거된 다른 디바이스 유형 등 일 수 있다. 그러나, 원격 컴퓨팅 디바이스(850)는 컴퓨터(802)에 관련하여 여기에 설명된 구성요소 및 특징 중 다수 또는 모두를 포함할 수 있는 휴대용 컴퓨터로 예시된다.
컴퓨터(802)와 원격 컴퓨터(850) 간의 논리적 접속은 근거리 통신망(LAN; 852) 및 원거리 통신망(WAN; 854)으로 나타나있다. 이러한 네트워킹 환경은 사무실, 기업 규모 컴퓨터 네트워크, 인트라넷, 인터넷, 고정된 및 모바일 전화 네트워크, 특별한 기반구조 무선 네트워크, 그물망 네트워크, 다른 무선 네트워크, 게이밍 네트워크, 이들에 대한 소정의 조합 등에 일반적인 것이다. 이러한 네트워크와 논리적 및 물리적 통신 접속은 추가적인 전송 매체의 예이다.
LAN 네트워킹 환경에서 구현되는 경우, 컴퓨터(802)는 보통 네트워크 인터페이스 또는 어댑터(856)를 통해 LAN(852)에 접속된다. WAN 네트워킹 환경에서 구현되는 경우, 컴퓨터(802)는 전형적으로 WAN(854)을 통해 통신을 구축하기 위한 모뎀(858) 또는 다른 컴포넌트를 포함한다. 컴퓨터(802)에 내장되거나 외장될 수 있는 모뎀(858)은 입출력 인터페이스(842) 또는 임의의 다른 적절한 메커니즘(들)을 통해 시스템 버스(808)에 접속될 수 있다. 예시된 네트워크 접속은 예시적인 것일 뿐이며, 컴퓨터(802)와 컴퓨터(850) 간의 통신 링크(들)를 구축하기 위한 다른 방식이 채용될 수 있음이 인식될 것이다.
네트워킹된 환경에서, 동작 환경(800)으로 예시된 바와 같이, 컴퓨터(802) 또는 이것의 일부에 관련하여 설명된 프로그램 모듈 또는 다른 명령어는 원격 매체 저장 디바이스에 전체적으로 또는 부분적으로 저장될 수 있다. 예로서, 원격 어플리케이션 프로그램(860)은 원격 컴퓨터(850)의 메모리 컴포넌트 상에 상주해 있지만, 컴퓨터(802)를 통해 이용될 수 있거나 다른 한편으로 액세스될 수 있다. 또한, 예시를 위해, 어플리케이션 프로그램(830) 및 오퍼레이팅 시스템(828)과 같은 다른 프로세서 실행가능 명령어는 여기에 개별적인 블럭으로 예시되어 있지만, 이러한 프로그램, 컴포넌트 및 다른 명령어들은 다양한 시간에 컴퓨팅 디바이스(802)[및/또는 원격 컴퓨팅 디바이스(850)]의 서로 다른 저장 컴포넌트에 상주하며, 컴퓨터(802)[및/또는 원격 컴퓨팅 디바이스(850)]의 프로세서(804)(들)에 의해 실행된다는 것이 인식될 것이다.
시스템, 매체, 디바이스, 방법, 절차, 장치, 기술, 스킴, 접근방식, 절차, 배치 및 다른 구현들이 구조, 논리, 알고리즘 및 기능적 특징 및/또는 도면에 특정한 언어로 설명되어 있지만, 첨부된 청구항에 정의된 본 발명이 설명된 특정한 특징 또는 도면에 반드시 한정되는 것이 아님을 이해할 것이다. 오히려, 특정한 특징 또는 도면은 주장되는 본 발명을 구현하는 예시적인 형태로서 제시된 것이다.
110: 이메일 문서
120(C): 이메일 문서 생성 모듈
120(E): 수집된 데이터 액션 실행기 모듈
302: 데이터베이스 프로그램
304: 이메일 프로그램

Claims (20)

  1. 실행되는 경우 컴퓨팅 장치로 하여금 방법을 수행하도록 하는 프로세서 실행가능 명령어들을 포함하는 컴퓨터 판독가능 기록 매체로서,
    상기 방법은,
    스프레시트 문서의 필드들을 채우기 위한 데이터를 획득하기 위해 데이터 수집의 유형(a type of data collection)에 대한 선택을 수신하는 단계 - 상기 데이터 수집의 유형은 이메일에 대한 응답의 요청(solicitation)을 포함함 - ;
    상기 수신에 응답하여, 상기 스프레드시트 문서의 필드를 식별하는 필드 식별자를 포함하는 이메일 문서를 생성하는 단계;
    상기 이메일 문서를 수신자(recipient)에게 송신하는 단계;
    상기 수신자로부터 응답 이메일을 수신하는 단계 - 상기 응답 이메일은 상기 필드 식별자 및, 상기 수신자에 의해 입력되고 상기 필드 식별자와 연관된 데이터를 포함함 - ; 및
    상기 응답 이메일을 처리하는 단계 - 상기 처리하는 단계는 상기 필드 식별자에 의해 식별된 스프레드시트 문서의 필드로 상기 데이터를 가져오기(import) 하는 단계를 포함함 - 를 포함하는
    컴퓨터 판독가능 기록 매체.
  2. 제1항에 있어서,
    상기 이메일 문서는 상기 필드 식별자와 연관되며 상기 이메일의 수신자에 의해 입력된 데이터를 받아들일 수 있는 블럭을 더 포함하는
    컴퓨터 판독가능 기록 매체.
  3. 제1항에 있어서,
    상기 이메일 문서는 상기 스프레드시트 문서에 상기 이메일 문서를 매핑하는 스프레드시트-투-이메일 문서 링크 식별자(spreadsheet-to-email document linkage identifier)를 더 포함하는
    컴퓨터 판독가능 기록 매체.
  4. 제1항에 있어서,
    상기 응답 이메일의 처리는 상기 스프레드시트 문서와 연관된 스프레드시트 프로그램의 플러그인(plug-in)에 의해 실행되는
    컴퓨터 판독가능 기록 매체.
  5. 제1항에 있어서,
    상기 방법은 상기 스프레드시트 문서의 필드로 데이터를 가져오기 전에 상기 데이터를 검증하는(validating) 단계를 더 포함하고,
    상기 검증은 상기 데이터가 상기 스프레드시트 문서의 필드에 적합하다는 것을 보증하기 위한 하나 이상의 구문론상의 확인(syntactic checks)을 포함하는
    컴퓨터 판독가능 기록 매체.
  6. 제1항에 있어서,
    상기 방법은 상기 이메일 문서에 힌트 섹션(hints section)을 첨부하는 단계를 더 포함하고,
    상기 힌트 섹션은 상기 데이터의 예상되는 컨텐츠 포맷(expected content format)을 상기 이메일의 수신자에게 나타내는
    컴퓨터 판독가능 기록 매체.
  7. 제1항에 있어서,
    상기 방법은 이메일 문서 생성 마법사(wizard)를 생성하는 단계를 더 포함하고,
    상기 이메일 문서 생성 마법사는 상기 이메일에 대한 적어도 하나의 수신 어드레스의 표시(indication)를 수신하고 상기 이메일 문서에 포함시키기 위해 상기 스프레드시트 문서로부터의 하나 이상의 필드들에 대한 선택을 수신하는
    컴퓨터 판독가능 기록 매체.
  8. 메타데이터의 필드들을 채우기 위한 데이터를 획득하기 위해 데이터 수집의 유형에 대한 선택을 수신하는 단계 - 상기 데이터 수집의 유형은 이메일에 대한 응답의 요청(solicitation)을 포함함 - ;
    상기 수신에 응답하여, 상기 메타데이터의 필드를 식별하는 필드 식별자를 포함하는 이메일 문서를 생성하는 단계;
    상기 이메일 문서를 수신자에게 송신하는 단계;
    상기 수신자로부터 응답 이메일을 수신하는 단계 - 상기 응답 이메일은 상기 필드 식별자 및 상기 필드 식별자와 연관된 데이터를 포함함 - ; 및
    컴퓨팅 장치의 프로세서에 의해 상기 응답 이메일을 처리하는 단계 - 상기 처리하는 단계는 상기 데이터로 상기 필드 식별자에 의해 식별된 메타데이터의 필드 내 데이터를 갱신하는 단계를 포함함 - 를 포함하는
    방법.
  9. 제8항에 있어서,
    상기 메타데이터는 다른 데이터에 관한 정보 또는 상기 다른 데이터의 문서화(documentation)를 제공하는, 정의형 데이터(definitional data)를 포함하는
    방법.
  10. 제9항에 있어서,
    상기 다른 데이터는 스프레드시트 애플리케이션 또는 데이터베이스 애플리케이션 중 적어도 하나 내에서 관리되는 데이터를 포함하는
    방법.
  11. 제8항에 있어서,
    상기 메타데이터의 필드는 예상되는 의미론적 의미, 예상되는 구문론상 제약(expected syntactic constraint) 또는 이들 모두를 가지는
    방법.
  12. 제8항에 있어서,
    상기 이메일 문서는 갱신될 메타데이터에 상기 이메일 문서를 매핑하는 링크 식별자를 더 포함하는
    방법.
  13. 제12항에 있어서,
    상기 링크 식별자는 GUID(globally unique identifier)를 포함하는
    방법.
  14. 제8항에 있어서,
    상기 응답 이메일의 도착에 대한 데드라인을 설정하는 단계를 더 포함하고,
    상기 응답 이메일은 상기 데드라인 전에 수신된 경우에 처리될 수 있는
    방법.
  15. 디바이스로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의해 실행될 수 있는 프로세서 실행가능 명령어들을 포함하는 하나 이상의 매체를 포함하고,
    상기 프로세서 실행가능 명령어들은 상기 디바이스로 하여금 방법을 수행하도록 하며, 상기 방법은,
    수신자로부터 응답 이메일을 수신하는 단계 - 상기 응답 이메일은 처리 동작과 연관되고, 상기 응답 이메일 외부의 필드를 식별하는 필드 식별자 및 상기 필드 식별자와 연관된 데이터를 포함함 - ; 및
    상기 처리 동작에 따라 상기 응답 이메일을 처리하는 단계 - 상기 처리하는 단계는,
    상기 처리 동작이 삽입(insert)을 나타내는 경우에, 상기 데이터를 상기 필드 식별자에 의해 식별된 상기 응답 이메일 외부의 필드로 삽입하는 단계; 및
    상기 처리 동작이 갱신을 나타내는 경우에, 상기 데이터로 상기 필드 식별자에 의해 식별된 상기 응답 이메일 외부의 필드 내 데이터를 갱신하는 단계를 포함함 - 를 포함하는
    디바이스.
  16. 제15항에 있어서,
    상기 응답 이메일 외부의 필드는 스프레드시트 문서의 필드, 데이터베이스의 필드, 다른 이메일 문서의 필드 또는 작업 흐름(workflow) 중 하나 이상을 포함하는
    디바이스.
  17. 제15항에 있어서,
    상기 처리 동작이 삽입을 나타내는 경우에, 상기 응답 이메일 외부의 필드는 빈 필드(empty field)인
    디바이스.
  18. 제15항에 있어서,
    상기 처리 동작이 갱신을 나타내는 경우에, 상기 응답 이메일 외부의 필드는 현재 데이터(existing data)를 포함하고, 상기 갱신하는 단계는 상기 데이터로 상기 현재 데이터를 교체하거나 검증하는 단계를 포함하는
    디바이스.
  19. 제15항에 있어서,
    상기 방법은,
    이메일에 대한 응답의 요청이 데이터 수집의 유형임을 나타내는 상기 응답 이메일 외부의 필드를 채우기 위한 데이터를 획득하기 위해 데이터 수집의 유형에 대한 선택을 수신하는 단계;
    상기 선택의 수신에 응답하여, 필드 식별자 및, 상기 필드 식별자와 연관되며 데이터를 수신할 수 있는 하나 이상의 블럭들을 포함하는 발신 이메일(outgoing email)을 생성하는 단계;
    상기 발신 이메일과 상기 처리 동작을 연관시키는 단계; 및
    상기 발신 이메일을 수신자에게 송신하는 단계를 포함하는
    디바이스.
  20. 제19항에 있어서,
    상기 응답 이메일의 데이터는 상기 하나 이상의 블럭들을 채우는
    디바이스.
KR1020120006873A 2004-12-15 2012-01-20 액셔너블 이메일 문서 KR20120031483A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/012,866 US7734670B2 (en) 2004-12-15 2004-12-15 Actionable email documents
US11/012,866 2004-12-15

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020050101268A Division KR101183401B1 (ko) 2004-12-15 2005-10-26 액셔너블 이메일 문서를 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20120031483A true KR20120031483A (ko) 2012-04-03

Family

ID=36102665

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020050101268A KR101183401B1 (ko) 2004-12-15 2005-10-26 액셔너블 이메일 문서를 위한 장치 및 방법
KR1020120006873A KR20120031483A (ko) 2004-12-15 2012-01-20 액셔너블 이메일 문서

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020050101268A KR101183401B1 (ko) 2004-12-15 2005-10-26 액셔너블 이메일 문서를 위한 장치 및 방법

Country Status (5)

Country Link
US (3) US7734670B2 (ko)
EP (1) EP1672576A3 (ko)
JP (2) JP5247983B2 (ko)
KR (2) KR101183401B1 (ko)
CN (1) CN1790401B (ko)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1715641B1 (en) * 2003-02-20 2009-08-19 Strongmail Systems, Inc. Email using queues in non-persistent memory
US7461151B2 (en) * 2003-11-13 2008-12-02 International Business Machines Corporation System and method enabling future messaging directives based on past participation via a history monitor
US7698369B2 (en) 2004-05-27 2010-04-13 Strongmail Systems, Inc. Email delivery system using metadata on emails to manage virtual storage
US7734670B2 (en) 2004-12-15 2010-06-08 Microsoft Corporation Actionable email documents
GB2421827B (en) * 2004-12-31 2010-04-14 Ibm Methods apparatus and computer programs for dynamic generation of forms
US7831665B2 (en) * 2005-05-02 2010-11-09 Xerox Corporation Electronic mail behavior with a multi-function machine
US20070208587A1 (en) * 2005-12-08 2007-09-06 Arun Sitaraman Systems, software, and methods for communication-based business process messaging
US8527595B2 (en) * 2007-08-31 2013-09-03 Red Hat, Inc. GUI for presenting electronic messages
US8621009B2 (en) * 2007-08-31 2013-12-31 Red Hat, Inc. Method and system for optimizing transmission of electronic messages
US8239462B2 (en) * 2007-08-31 2012-08-07 Red Hat, Inc. Method and system for composing electronic messages
US7698462B2 (en) * 2007-10-22 2010-04-13 Strongmail Systems, Inc. Systems and methods for adaptive communication control
US20090183073A1 (en) * 2008-01-15 2009-07-16 Aaron Scriver Method and apparatus for displaying download information at an electronic device
US7941415B2 (en) * 2008-06-17 2011-05-10 International Business Machines Corporation Method of editing recipient header fields based on email content
US8286171B2 (en) 2008-07-21 2012-10-09 Workshare Technology, Inc. Methods and systems to fingerprint textual information using word runs
US8631080B2 (en) * 2009-03-12 2014-01-14 Microsoft Corporation Email characterization
US20110082687A1 (en) * 2009-10-05 2011-04-07 Marcelo Pham Method and system for taking actions based on analysis of enterprise communication messages
US8635295B2 (en) 2010-11-29 2014-01-21 Workshare Technology, Inc. Methods and systems for monitoring documents exchanged over email applications
US10783326B2 (en) 2013-03-14 2020-09-22 Workshare, Ltd. System for tracking changes in a collaborative document editing environment
US9898454B2 (en) * 2010-12-14 2018-02-20 Microsoft Technology Licensing, Llc Using text messages to interact with spreadsheets
US9811516B2 (en) 2010-12-14 2017-11-07 Microsoft Technology Licensing, Llc Location aware spreadsheet actions
US9129234B2 (en) 2011-01-24 2015-09-08 Microsoft Technology Licensing, Llc Representation of people in a spreadsheet
US9105009B2 (en) 2011-03-21 2015-08-11 Microsoft Technology Licensing, Llc Email-based automated recovery action in a hosted environment
US9117074B2 (en) 2011-05-18 2015-08-25 Microsoft Technology Licensing, Llc Detecting a compromised online user account
US9613340B2 (en) * 2011-06-14 2017-04-04 Workshare Ltd. Method and system for shared document approval
US9087324B2 (en) 2011-07-12 2015-07-21 Microsoft Technology Licensing, Llc Message categorization
US9065826B2 (en) 2011-08-08 2015-06-23 Microsoft Technology Licensing, Llc Identifying application reputation based on resource accesses
CN102521214B (zh) * 2011-11-19 2017-03-22 上海量明科技发展有限公司 即时通信传输文档中进行标识加置的方法及系统
US8839257B2 (en) 2011-11-22 2014-09-16 Microsoft Corporation Superseding of recovery actions based on aggregation of requests for automated sequencing and cancellation
US9460303B2 (en) 2012-03-06 2016-10-04 Microsoft Technology Licensing, Llc Operating large scale systems and cloud services with zero-standing elevated permissions
US9325645B2 (en) 2012-10-05 2016-04-26 Oracle International Coporation Method and system for communicating within a messaging architecture using dynamic form generation
US9501764B2 (en) 2012-10-05 2016-11-22 Oracle International Corporation Method and system for communicating within a messaging architecture using a structured data object
US9509642B2 (en) 2012-10-05 2016-11-29 Oracle International Corporation Messaging architecture configured to use an execution-enabled element to initiate an operation in an application
CN104904163B (zh) * 2012-10-05 2018-04-24 甲骨文国际公司 用于在使用结构化数据对象的消息传送架构内进行通信的方法和系统
ITGE20120114A1 (it) * 2012-12-04 2014-06-05 M 3 S S R L Sistema di interazione tra fogli elettronici in rete
US8881249B2 (en) 2012-12-12 2014-11-04 Microsoft Corporation Scalable and automated secret management
US9262239B2 (en) * 2013-05-10 2016-02-16 Adobe Systems Incorporated User-creatable custom workflows
US9043403B2 (en) * 2013-05-10 2015-05-26 Google Inc. System and method for providing visual representations of email to enable efficient email processing
US10536404B2 (en) * 2013-09-13 2020-01-14 Oracle International Corporation Use of email to update records stored in a database server
JP6013391B2 (ja) * 2014-03-28 2016-10-25 株式会社ドコモCs東海 帳票作成支援プログラム
US9374480B2 (en) * 2014-08-08 2016-06-21 Kabushiki Kaisha Toshiba Image processing apparatus and system and method for transmitting an image
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
US20160283876A1 (en) * 2015-03-24 2016-09-29 Tata Consultancy Services Limited System and method for providing automomous contextual information life cycle management
US20160323224A1 (en) * 2015-04-28 2016-11-03 SmartSheet.com, Inc. Systems and methods for providing an email client interface with an integrated tabular data management interface
US10931682B2 (en) 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
US10412029B2 (en) 2015-12-11 2019-09-10 Microsoft Technology Licensing, Llc Providing rich preview of communication in communication summary
US10482132B2 (en) * 2016-03-16 2019-11-19 Microsoft Technology Licensing, Llc Contact creation and utilization
US10997362B2 (en) * 2016-09-01 2021-05-04 Wacom Co., Ltd. Method and system for input areas in documents for handwriting devices
US11496286B2 (en) * 2017-01-08 2022-11-08 Apple Inc. Differential privacy with cloud data
CN108304400A (zh) * 2017-01-11 2018-07-20 阿里巴巴集团控股有限公司 对含有超文本标记语言的文档操作的追踪的方法和装置
US20180375805A1 (en) * 2017-06-23 2018-12-27 Microsoft Technology Licensing, Llc Collecting Information in a Messaging System
EP4004795A1 (en) * 2019-07-29 2022-06-01 Artificial Intelligence Robotics Pte. Ltd. Stickering method and system for linking contextual text elements to actions
US11847301B2 (en) * 2019-11-14 2023-12-19 Black Hills Ip Holdings, Llc Structured text for electronic communications
US11803661B1 (en) * 2019-12-18 2023-10-31 Imagesource, Inc. Computer-implemented system and method for facilitating data security of documents
US20220245210A1 (en) * 2021-02-04 2022-08-04 ProSearch Strategies, Inc. Methods and systems for creating, storing, and maintaining custodian-based data
US11868711B2 (en) 2021-08-16 2024-01-09 Google Llc Creating dynamic data-bound container hosted views and editable forms

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345288B1 (en) * 1989-08-31 2002-02-05 Onename Corporation Computer-based communication system and method using metadata defining a control-structure
JPH04372080A (ja) * 1991-06-20 1992-12-25 Matsushita Electric Ind Co Ltd 電子メイルを利用したアンケート装置
JP3325928B2 (ja) * 1992-09-29 2002-09-17 沖電気工業株式会社 電子メールシステム
US5752059A (en) * 1992-12-29 1998-05-12 Apple Computer, Inc. Apparatus and method for representing electronic mail
CA2158897A1 (en) 1994-09-26 1996-03-27 James B. Sanders Survey tool for email
JPH1055321A (ja) * 1996-08-12 1998-02-24 Nec Corp 電子メールシステム
US6292810B1 (en) * 1997-03-03 2001-09-18 Richard Steele Richards Polymorphic enhanced modeling
US20010031454A1 (en) 1997-05-30 2001-10-18 Alex Mintz Multi-functional communication and aggregation platform
JPH11143856A (ja) * 1997-11-10 1999-05-28 Naoya Sannomiya 多人数からの情報収集を目的とした電子メールシステム
CA2327409A1 (en) * 1998-04-08 1999-10-14 Opentv, Inc. System and method for one-touch e-mail reply
US6405225B1 (en) * 1998-06-17 2002-06-11 Microsoft Corporation Integrating email functionality into a word processor by incorporating an email GUI within the word processor
US6587969B1 (en) * 1998-06-22 2003-07-01 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server
US6785710B2 (en) * 1998-06-22 2004-08-31 Genesys Telecommunications Laboratories, Inc. E-mail client with programmable address attributes
US6253231B1 (en) * 1998-10-07 2001-06-26 Sony Corporation System and method for incorporating image data into electronic mail documents
US6941304B2 (en) * 1998-11-17 2005-09-06 Kana Software, Inc. Method and apparatus for performing enterprise email management
JP2000163341A (ja) 1998-11-30 2000-06-16 Nec Corp メールサーバー及び迷惑電子メール自動処分方法
US7076730B1 (en) * 1998-12-10 2006-07-11 Intellinet, Inc. Electronic mail software with modular integrated authoring/reading software components
US7966373B1 (en) * 1999-02-02 2011-06-21 Dialogic Communications Corporation Automated system and method for delivery of messages and processing of message responses
AU3395500A (en) * 1999-03-04 2000-09-21 Cardiff Software, Inc. Automated form generation into an advanced page layout format with embedded field definitions
US7158986B1 (en) * 1999-07-27 2007-01-02 Mailfrontier, Inc. A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and system providing user with personalized recommendations by electronic-mail based upon the determined interests of the user pertain to the theme and concepts of the categorized document
US6507865B1 (en) * 1999-08-30 2003-01-14 Zaplet, Inc. Method and system for group content collaboration
JP2001162261A (ja) 1999-09-28 2001-06-19 Toshiba Corp 環境配慮状況情報取得方法および環境配慮状況情報取得システムおよび環境配慮状況情報取得プログラムを記録した媒体
US6829607B1 (en) * 2000-04-24 2004-12-07 Microsoft Corporation System and method for facilitating user input by automatically providing dynamically generated completion information
US6757739B1 (en) * 2000-06-05 2004-06-29 Contivo, Inc. Method and apparatus for automatically converting the format of an electronic message
AU2001268688A1 (en) * 2000-06-22 2002-01-02 Eventra, Inc. Method and system for supplier relationship management
JP2002032620A (ja) 2000-07-19 2002-01-31 Nissin Electric Co Ltd 電子競争売買仲介システム
JP4521943B2 (ja) * 2000-07-24 2010-08-11 キヤノン株式会社 情報提供装置及び情報提供方法、コンピュータ読み取り可能な記憶媒体
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
WO2002021413A2 (en) * 2000-09-05 2002-03-14 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
JP2002091871A (ja) 2000-09-14 2002-03-29 Sharp Corp 電子メールシステム並びに電子メール端末装置
US20020046248A1 (en) * 2000-10-13 2002-04-18 Honeywell International Inc. Email to database import utility
US20020080158A1 (en) * 2000-11-30 2002-06-27 Storfer Paul D. Offline data collection
US7178099B2 (en) * 2001-01-23 2007-02-13 Inxight Software, Inc. Meta-content analysis and annotation of email and other electronic documents
US6954934B2 (en) * 2001-03-15 2005-10-11 Intel Corporation Management of links to data embedded in blocks of data
JP2002358268A (ja) * 2001-05-31 2002-12-13 Toppan Forms Co Ltd 情報収集システム
JP2003006519A (ja) * 2001-06-26 2003-01-10 Tokuhiro Kumagai 情報提供システム及び方法及びプログラム
US7689489B2 (en) * 2001-07-27 2010-03-30 Scott Fergusson Methods and systems for assisting financial services firms and their representatives
US6839717B1 (en) * 2001-10-15 2005-01-04 Ricoh Company, Ltd. Method and system of remote monitoring and support of devices, extracting data from different types of email messages, and storing data according to data structures determined by the message types
JP2003150524A (ja) 2001-11-12 2003-05-23 Nec Corp 情報収集システム、情報収集方法、およびデータ修正プログラム
US20030163537A1 (en) * 2001-11-27 2003-08-28 International Business Machines Corporation Method and apparatus for handling conversation threads and message groupings as a single entity
EP1472633A2 (en) * 2002-01-08 2004-11-03 Sap Ag Enhanced email management system
EP1481346B1 (en) * 2002-02-04 2012-10-10 Cataphora, Inc. A method and apparatus to visually present discussions for data mining purposes
JP3871941B2 (ja) 2002-02-22 2007-01-24 日本電気通信システム株式会社 携帯電話のメールサーバーにおける迷惑メール自動処分方法、メールサーバー及びプログラム
US7370276B2 (en) 2002-05-17 2008-05-06 Sap Aktiengesellschaft Interface for collecting user preferences
JP4271977B2 (ja) 2003-04-11 2009-06-03 株式会社エヌ・ティ・ティ・ドコモ メール配信サーバ装置
US7272853B2 (en) * 2003-06-04 2007-09-18 Microsoft Corporation Origination/destination features and lists for spam prevention
US7367048B2 (en) * 2003-07-10 2008-04-29 International Business Machines Corporation Apparatus and method for autonomic email access control
US7363581B2 (en) * 2003-08-12 2008-04-22 Accenture Global Services Gmbh Presentation generator
US20050080863A1 (en) * 2003-10-14 2005-04-14 Daniell W. Todd Providing indicators in group email messages
US20050198567A1 (en) * 2004-01-29 2005-09-08 Vermeulen Bert M. Web navigation method and system
US7694315B2 (en) * 2004-02-13 2010-04-06 Microsoft Corporation Schema-based machine generated programming models
US20050192920A1 (en) * 2004-02-17 2005-09-01 Hodge Philip C. Real time data management apparatus, system and mehtod
US7734670B2 (en) 2004-12-15 2010-06-08 Microsoft Corporation Actionable email documents
US9721227B2 (en) * 2009-03-27 2017-08-01 Bank Of America Corporation Custodian management system
US20110320494A1 (en) * 2010-06-28 2011-12-29 Martin Fisher Litigation document management linking unstructured documents with business objects

Also Published As

Publication number Publication date
US7734670B2 (en) 2010-06-08
CN1790401B (zh) 2012-07-18
EP1672576A3 (en) 2008-08-27
JP5302374B2 (ja) 2013-10-02
US8868557B2 (en) 2014-10-21
KR20060067816A (ko) 2006-06-20
JP2012038343A (ja) 2012-02-23
JP2006172444A (ja) 2006-06-29
KR101183401B1 (ko) 2012-09-17
US10216717B2 (en) 2019-02-26
EP1672576A2 (en) 2006-06-21
JP5247983B2 (ja) 2013-07-24
CN1790401A (zh) 2006-06-21
US20100205269A1 (en) 2010-08-12
US20060129592A1 (en) 2006-06-15
US20140245118A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
KR101183401B1 (ko) 액셔너블 이메일 문서를 위한 장치 및 방법
JP6327723B2 (ja) ワークフロー生成、配置、及び/又は実行のためのシステム、方法、及びグラフィカルユーザインターフェイス
JP6327725B2 (ja) ワークフロー生成、配置、及び/又は実行のためのシステム、方法、及びグラフィカルユーザインターフェイス
US9350775B2 (en) Method to initiate server based collaboration on E-mail attachments
JP5787963B2 (ja) コンピュータプラットフォームのプログラミングインターフェース
US9430193B2 (en) Interface for a computer platform
US7480664B2 (en) Composite user interface and framework
US20080010341A1 (en) Processing model of an application wiki
US20080040661A1 (en) Method for inheriting a Wiki page layout for a Wiki page
US20080126944A1 (en) Method for processing a web page for display in a wiki environment
US20120198457A1 (en) Method and apparatus for triggering workflow deployment and/or execution
US20070288837A1 (en) System and method for providing content management via web-based forms
WO2005098663A1 (ja) 情報管理装置
US10964416B1 (en) Block chain management
Franz et al. The X-COSIM integration framework for a seamless semantic desktop
CN112783482A (zh) 一种可视化表单生成方法、装置、设备及存储介质
JP3980974B2 (ja) スケジュール情報抽出編集装置および方法
WO2005098698A1 (ja) 文書処理装置
KR101857997B1 (ko) 전자 문서에 대한 검색 기능을 제공하는 온라인 문서 작성 서비스 장치 및 그 동작 방법
JP7249453B1 (ja) 契約管理プログラム、情報処理装置、情報処理システム、情報処理方法
JP2024057140A (ja) 契約管理プログラム、情報処理装置、情報処理システムの製造方法、情報処理方法
JP2024057170A (ja) 契約管理プログラム、情報処理装置、情報処理システムの製造方法、情報処理方法
US20060212463A1 (en) Method and apparatus for extracting metadata information from an application
JP2024031106A (ja) 契約管理プログラム、情報処理装置、情報処理システム、情報処理方法
WO2017141785A1 (ja) 設計書の入出力装置、設計書の入出力システム及び設計書の入出力方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20130201

Effective date: 20140829

J122 Written withdrawal of action (patent court)