KR100848947B1 - 수신장치와 방법, 송신장치와 방법, 기록매체 및 통신시스템 - Google Patents

수신장치와 방법, 송신장치와 방법, 기록매체 및 통신시스템 Download PDF

Info

Publication number
KR100848947B1
KR100848947B1 KR1020010050436A KR20010050436A KR100848947B1 KR 100848947 B1 KR100848947 B1 KR 100848947B1 KR 1020010050436 A KR1020010050436 A KR 1020010050436A KR 20010050436 A KR20010050436 A KR 20010050436A KR 100848947 B1 KR100848947 B1 KR 100848947B1
Authority
KR
South Korea
Prior art keywords
mail
script
data
program
transmission
Prior art date
Application number
KR1020010050436A
Other languages
English (en)
Other versions
KR20020016524A (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 KR20020016524A publication Critical patent/KR20020016524A/ko
Application granted granted Critical
Publication of KR100848947B1 publication Critical patent/KR100848947B1/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
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/537Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for exchanging game data using a messaging service, e.g. e-mail, SMS, MMS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

수신장치와 방법, 송신장치와 방법, 기록매체 및 전자메일을 송신하거나 수신하는 통신시스템을 나타낸다. 구문분석모듈은 전자메일메세지의 개봉 지시와 연동하여, 첨부파일로서 전자메일메세지에 첨부된 스크립트를 추출하고, 그 추출한 스크립트의 구문을 분석한다. 실행모듈은 스크립트에 첨부하는 데이터나 입력이벤트에 대응하는 처리를 실행한다. 출력모듈은 이 처리결과의 출력을 제어한다. 이러한 구성으로, 전자메일의 송신자는 수신자로 하여금 그가 원하는 행동을 신속하고 확실하게 실행하도록 한다.

Description

수신장치와 방법, 송신장치와 방법, 기록매체 및 통신시스템{Receiving apparatus and method, sending apparatus and method, recording medium, and communication system}
도 1은 본 발명의 일실시예로서 실시되는 메일송수신시스템을 나타내는 블록도이다.
도 2는 PDA의 외관을 나타내는 투시도이다.
도 3은 크래이들(cradle)에 수용되어 있는 PDA를 나타내는 투시도이다.
도 4는 PDA의 외관을 나타내는 정면도이다.
도 5는 PDA의 구성을 나타내는 블록도이다.
도 6은 PDA가 송신한 메일을 다른 PDA가 수신하는 절차를 나타내는 개략도이다.
도 7은 메일을 송신하는 PDA에 의해 실행될 프로그램의 설명도이다.
도 8은 메일을 송신하거나 수신하는 PDA에 의해 실행될 프로그램의 설명도이다.
도 9는 PDA의 표시예를 나타내는 정면도이다.
도 10은 인터프리터의 상세한 구조의 설명도이다.
도 11은 인터프리터의 동작설명도이다.
도 12는 메일메세지의 구조예의 설명도이다.
도 13은 인터프리터의 동작설명도이다.
도 14는 인터프리터의 동작설명도이다.
도 15는 메일메세지의 예를 나타내는 도면이다.
도 16은 스크립트의 실행을 나타내는 도면이다.
도 17은 스크립트의 예를 나타내는 도면이다.
도 18은 PDA의 표시예를 나타내는 정면도이다.
도 19는 PDA의 또 다른 표시예를 나타내는 정면도이다.
도 20은 PDA의 또 다른 표시예를 나타내는 정면도이다.
도 21은 PDA의 또 다른 표시예를 나타내는 정면도이다.
도 22는 메일송신처리를 설명하는 플로차트이다.
도 23은 메일수신처리를 설명하는 플로차트이다.
도 24는 스크립트 처리를 설명하는 플로차트이다.
도 25는 오델로처리를 설명하는 플로차트이다.
도 26은 본 발명의 제 2실시예로서 실시되는 메일송수신 시스템을 나타내는 개략도이다.
도 27은 디지털카메라 휴대전화기의 외관을 나타내는 투시도이다.
도 28은 디지털카메라 휴대전화기의 표시부의 외관을 나타내는 부분사시도이다.
도 29는 디지털카메라 휴대전화기의 구성을 나타내는 블록도이다.
도 30은 인터프리터의 상세한 구성을 나타내는 블록도이다.
도 31은 인증데이터를 격납하는 스크립트를 포함하는 메일메세지의 예를 나타내는 도면이다.
도 32는 표시부에 표시되는 아이콘의 예를 나타내는 정면도이다.
도 33은 플랫폼의 변경에 의해 행해지는 인터프리터의 구성의 변경을 나타내는 도면이다.
도 34는 스크립트 전송매체의 변경에 의해 행해지는 인터프리터의 구성의 변경을 나타내는 도면이다.
도 35는 도 30에 그 구성을 나타낸 인터프리터에 의해 전자메일에 첨부된 스크립트의 실행을 설명하는 플로차트이다.
도 36은 도 30에 그 구성을 나타낸 인터프리터에 의해 전자메일에 첨부된 스크립트의 실행을 설명하는 플로차트이다.
도 37은 도 30에 그 구성을 나타낸 인터프리터에 의해 전자메일에 첨부된 스크립트의 실행을 설명하는 플로차트이다.
도 38은 도 30에 그 구성을 나타낸 인터프리터에 의해 스크립트 데이터베이스에 격납된 스크립트의 실행을 설명하는 플로차트이다.
도 39는 도 30에 그 구성을 나타낸 인터프리터에 의해 스크립트 데이터베이스에 격납된 스크립트의 실행을 설명하는 플로차트이다.
도 40은 도 30에 그 구성을 나타낸 인터프리터에 의해 스크립트 데이터베이스에 격납된 스크립트의 실행을 설명하는 플로차트이다.
*도면의 주요부분에 대한 부호의 설명
1-1, 1-2. PDA 2-1, 2-2. 크레이들
3-1, 3-2. 퍼스널컴퓨터 4. 인터넷
4-1, 5-2. 메일서버 6-1, 6-2. DNS서버
11. 메모리스틱 21. 표시부
22. 키 23. 조그다이얼
31. CPU 33. flash ROM
34. EDO DRAM 35. 메모리스틱 인터페이스
36. USB 인터페이스 61. 자기디스크
62. 광디스크 63. 광자기디스크
64. 반도체메모리 101.OS
102-1 내지 102-4. 드라이버 104. 메일송수신 프로그램
106. 인터프리터 151. 메일
201-1 내지 201-4. 기지국 202. 공중회선망
203. 액세스서버 204. 콘텐츠서버
205-1 내지 205-N. WWW서버 301-1, 301-2. 디지털카메라 휴대전화기
309. 액정 디스플레이 351. 주제어부
364. 송수신회로부 501. 메일송수신 프로그램 인터페이스
502. 메일구문분석부 503. 디코더
504. 인터페이스 505. 구문분석부
506. 스크립트 인터프리터 507. 인증암호화부
508. 리소스 액세스 메니져 509. 플랫폼 리소스 액세스 인터페이스
510. I/O모듈 511. 기억모듈
517. 데이터 구성부 518. 엔코더
519. 메일생성부 520. 스크립트 런쳐
521. 스크립트 데이터베이스 531. 오델로게임 스크립트
532. 회람메일 스크립트 533. 자동삭제메일 스크립트
534. 애니메이션메일 스크립트 535. 갱신메일 스크립트
571. 스크립트 처리부 581. 플랫폼 의존부
591. I/O모듈 592. 기억모듈
593. 애플리케이션 프로그램 601. 스크립트 처리부
602. 송수신 프로그램 603. 통신부
611. 변환부
본 발명은 일반적으로 수신장치와 방법, 송신장치와 방법, 기록매체 및 통신시스템에 관한 것으로, 특히 전자메일을 송신하거나 수신하는 수신장치와 방법, 송신장치와 방법, 기록매체 및 통신시스템에 관한 것이다.
오늘날, 예를 들면 네트워크를 거쳐서 텍스트에 기초한 데이터를 송수신하는 시스템이나 혹은 소위 전자메일시스템이 널리 사용되고 있다.
전자메일(이하 간단하게 메일이라고도 한다)을 수신하는 수신장치는 수신한 메일을 텍스트형식으로 표시한다.
메일 송신자는 그 수신자가 메일수신의 결과로서 어떠한 행동을 취하는 것을 희망하는 상황이 있을 수 있다.
그러나, 전자메일의 수신자에 의해 취해질 행동은 메일송신자에 의해 희망되는 것과 같이 반드시 실행될 수 있는 것은 아니라는 문제점이 있다.
예를 들면, 수신자가 메일을 읽고, 그 내용을 정확하게 이해하고 행동을 취하지 않는다면 메일 송신자가 희망하는 행동은 실행되지 않는다.
유사하게, 전자메일에 데이터가 첨부되어 있는 경우, 수신측에 있어서 그 데이터에 대응하는 애플리케이션 프로그램이 실행되지 않았다면, 그 요구되는 행동은 실행되지 않을 것이다.
예를 들면, 파티의 참석 확인을 전자메일로 송신하면, 송신자는 수신자가 그 메일을 읽고 파티에 참석할 것인지 여부의 응답을 회신할 것을 기대한다.
그러나, 종래의 기술에서는, 송신자가 수신자로부터 응답을 받기 위해서는, 수신자가 수신한 전자메일의 내용을 정확하게 이해하고, 파티의 스케쥴을 이해하고, 파티의 참석여부를 회신메일에 기입하고 그 메일을 송신자에게 회신해야만 했다.
그러나, 송신자가 수신자에게서 참석여부의 회신메일을 항상 받을 수 있다는 보증은 없다.
이러한 문제는 메일에 수신자가 메일을 회신하기 위한 애플리케이션 프로그램을 첨부함으로써 피할 수 있다. 이 경우에는, 수신자가 그 애플리케이션 프로그램을 기동시켜야만 한다.
예를 들면, 전자메일을 거쳐서 오델로와 같은 게임이 실행되면, "+"와 "-"기호로 오델로판(Othello board)을 기술하고 흑백점기호로 피스를 기술하여 판과 피스를 텍스트형식으로 바꿈으로써 게임을 이동시킬 수 있다.
그러나, 새로운 이동이 삽입될 때마다, 이들 기호의 정렬이 무질서하므로, 각 플레이어는 각 이동에서 정렬을 정정해야 한다.
게임화면의 내용을 예를 들면 파워포인트(상표)(마이크로소프트사의 애플리케이션 프로그램)에 기술하고 생성한 파일을 전자메일에 첨부하여 송신할 가능성도 있을 수 있다. 그러나, 이 경우에, 수신자는 전자메일을 수신할 때마다 대응하는 애플리케이션 프로그램을 기동시켜야만 한다. 그러므로, 수신자가 대응하는 애플리케이션 프로그램을 가지고 있지 않으면, 게임스크린을 볼 수 없다.
더구나, 예를 들면 오델로의 경우에 있어서, 각 플레이어는 새로운 이동이 게임의 규칙에 따라서 행해졌는지 여부를 판정하고 그 새로운 이동에 기초하여 피스를 뒤집어야만 하며, 때때로 에러가 발생한다.
그러므로, 본 발명의 목적은 전자메일의 수신자가 신속하고 확실하게 송신자가 희망하는 행동을 취하게 하는 것이다.
본 발명의 제 1양태에 따라서 실행할 때, 메일의 개봉 지시와 연동하여 첨부파일로서 메일에 첨부된 스크립트를 추출하는 추출수단과, 그 추출된 스크립트의 구문분석을 실행하는 실행수단과, 스크립트에 첨부하는 데이터나 입력이벤트에 대응하는 처리를 실행하고 그 처리결과의 출력을 제어하는 출력제어수단을 포함하여 구성되는 메일수신용 수신장치가 제공되어 있다.
본 발명의 제 2양태에 따라서 실행할 때, 메일의 개봉 지시와 연동하여 첨부파일로서 메일에 첨부된 스크립트를 추출하는 단계와, 그 추출된 스크립트의 구문분석을 실행하는 단계와, 스크립트에 첨부하는 데이터나 입력이벤트에 대응하는 처리를 실행하고 그 처리결과의 출력을 제어하는 단계를 포함하여 구성되는 메일수신용 수신장치의 수신방법이 제공되어 있다.
본 발명의 제 3양태에 따라서 실행할 때, 메일의 개봉 지시와 연동하여 첨부파일로서 메일에 첨부된 스크립트를 추출하는 단계와, 그 추출된 스크립트의 구문분석을 실행하는 단계와, 스크립트에 첨부하는 데이터나 입력이벤트에 대응하는 처리를 실행하고 그 처리결과의 출력을 제어하는 단계를 포함하여 구성되는 메일수신처리용 컴퓨터 독출가능한 프로그램을 기억하는 제 1기록매체가 제공되어 있다.
이들 구성으로, 첨부파일로서 전자메일에 첨부된 스크립트가 전자메일의 개봉 지시와 연동하여 추출되고, 그 추출된 스크립트의 구문이 분석되고, 스크립트나 입력이벤트에 첨부하는 데이터가 처리되며, 처리결과의 출력이 제어된다. 따라서, 전자메일의 송신자는 수신자로 하여금 그가 희망하는 행동을 신속하고 확실하게 취하도록 할 수 있다.
본 발명의 제 4양태에 따라서 실행할 때, 제 1스크립트를 실행함으로써 메일에 격납되는 제 2스크립트를 생성하는 생성수단과, 메일에 제 2스크립트를 격납하는 격납수단(storage means)과, 제 2스크립트를 격납하는 메일의 송신을 제어하는 송신제어수단을 포함하여 구성되는 메일송신용 송신장치가 제공되어 있다.
본 발명의 제 5양태에 따라서 실행할 때, 제 1스크립트를 실행함으로써 메일에 격납되는 제 2스크립트를 생성하는 단계와, 메일에 제 2스크립트를 격납하는 단계와, 제 2스크립트를 격납하는 메일의 송신을 제어하는 단계를 포함하여 구성되는 메일송신용 송신장치의 송신방법이 제공되어 있다.
본 발명의 제 6양태에 따라서 실행할 때, 제 1스크립트를 실행함으로써 메일에 격납되는 제 2스크립트를 생성하는 단계와, 메일에 제 2스크립트를 격납하는 단계와, 제 2스크립트를 격납하는 메일의 송신을 제어하는 단계를 포함하여 구성되는 프로그램인 메일송신처리용 컴퓨터 독출가능한 프로그램을 기억하는 제 2기록매체가 제공되어 있다.
이들 구성으로, 제 1스크립트의 실행에 의해, 제 2스크립트가 생성되고, 제 2스크립트가 전자메일에 격납되고, 제 2스크립트를 갖는 전자메일의 송신이 제어된다. 따라서, 전자메일의 송신자는 수신자로 하여금 그가 희망하는 행동을 신속하고 확실하게 취하도록 할 수 있다.
본 발명의 제 7양태에 따라서 실행할 때, 메일송신용 송신장치와 메일수신용 수신장치를 갖는 통신시스템이 제공되어 있으며, 이에 있어서, 송신장치는 제 1스크립트를 실행함으로써 메일에 격납되는 제 2스크립트를 생성하는 생성수단과, 메일에 제 2스크립트를 격납하는 격납수단과, 제 2스크립트를 격납하는 메일의 송신을 제어하는 송신제어수단을 포함하여 구성되고, 수신장치는 메일의 개봉 지시와 연동하여 제 2스크립트를 추출하는 추출수단과, 그 추출된 제 2스크립트의 구문분석을 실행하는 실행수단과, 제 2스크립트에 첨부하는 데이터나 입력이벤트에 대응하는 처리를 실행하고 그 처리결과의 출력을 제어하는 출력제어수단을 포함하여 구성된다.
이들 구성으로, 제 1스크립트의 실행에 의해, 전자메일에 격납되는 제 2스크립트가 생성되고, 제 2스크립트가 전자메일에 격납되고, 제 2스크립트를 갖는 전자메일의 송신이 제어되고, 제 2스크립트가 전자메일의 개봉 지시와 연동하여 추출되고, 그 추출된 제 2스크립트의 구문이 분석되고, 제 2스크립트에 첨부하는 데이터나 입력이벤트에 대응하는 처리가 실행되고, 처리결과의 출력이 제어된다. 따라서, 전자메일의 송신자는 수신자로 하여금 그가 희망하는 행동을 신속하고 확실하게 취하도록 할 수 있다.
본 발명의 상기 목적, 특징, 이점 및 다른 목적, 특징, 이점들은 동일부분에 동일부호로 나타낸 첨부도면과 관련하여, 이하의 설명과 첨부된 청구항으로부터 더욱 명백해질 것이다.
이제 도 1을 참조하여, 본 발명의 일실시예로서 실시되는 메일송수신 시스템을 설명하는 블록도를 나타낸다. 크레이들(cradle)(2-1)에 장착되어 있는 PDA(Personal Digital Assistant)(1-1)는 크레이들(2-1)을 거쳐서 퍼스널컴퓨터(3- 1)에 접속되어 있다.
PDA(1-1)는 크레이들(2-1), 퍼스널컴퓨터(3-1), 인터넷(4), 메일서버(5-1 및 5-2) 및 DNS(Domain Name System)서버(6-1 및 6-2)를 거쳐서 PDA(1-2)에 전자메일을 송신한다. PDA(1-2)는 수신한 메일이 있다면 (예를 들면, 자바로 기술된) 스크립트를 추출하고 그 추출한 스크립트를 실행한다.
크레이들(2-2)에 장착되어 있는 PDA(1-2)는 크레이들(2-2)을 거쳐서 퍼스널컴퓨터(3-2)에 접속되어 있다.
PDA(1-2)는 크레이들(2-2), 퍼스널컴퓨터(3-2), 인터넷(4), 메일서버(5-1 및 5-2) 및 DNS서버(6-1 및 6-2)를 거쳐서 PDA(1-1)에 메일을 송신한다. PDA(1-1)는 수신한 메일이 있다면 스크립트를 추출하고 그 추출한 스크립트를 실행한다.
크레이들(2-1)은 USB(Universal Serial Bus)나 RS232C에 의거하여 직렬통신에 의해 PDA(1-1)와 퍼스널컴퓨터(3-1)에 접속되어 있다. 크레이들(2-1)은 PDA(1-1)와 접속하기 위한 단자와 퍼스널컴퓨터(3-1)와 접속하기 위한 케이블을 가지며, 장착되어 있는 PDA(1-1)와 퍼스널컴퓨터(3-1)간에 메일의 송수신을 실행한다. 또한, 크레이들(2-1)은 장착되어 있는 PDA(1-1)에 전원을 공급한다.
퍼스널컴퓨터(3-1)는 크레이들(2-1)을 거쳐서 PDA(1-1)에 접속되어 있고, 도시하지 않은 공중전화회선과 인터넷접속서비스 프로바이더를 거쳐서 인터넷(4)에 접속되어 있다. 퍼스널컴퓨터(3-1)는 인터넷(4)을 거쳐서 PDA(1-1)로부터 수신한 전자메일을 메일서버(5-1)에 송신하고, 메일서버(5-1)로부터 수신한 전자메일을 PDA(1-1)에 송신한다.
크레이들(2-2)은 USB나 RS232C에 의거하여 직렬통신에 의해 PDA(1-2)와 퍼스널컴퓨터(3-2)에 접속되어 있다. 크레이들(2-2)은 PDA(1-2)와 접속하기 위한 단자와 퍼스널컴퓨터(3-2)와 접속하기 위한 케이블을 가지며, 장착되어 있는 PDA(1-2)와 퍼스널컴퓨터(3-2)간에 메일의 송수신을 실행한다. 또한, 크레이들(2-2)은 장착되어 있는 PDA(1-2)에 전원을 공급한다.
퍼스널컴퓨터(3-2)는 크레이들(2-2)을 거쳐서 PDA(1-2)에 접속되어 있고, 도시하지 않은 공중전화회선과 인터넷접속서비스 프로바이더를 거쳐서 인터넷(4)에 접속되어 있다. 퍼스널컴퓨터(3-2)는 인터넷(4)을 거쳐서 PDA(1-2)로부터 수신한 전자메일을 메일서버(5-2)에 송신하고, 메일서버(5-2)로부터 수신한 전자메일을 PDA(1-2)에 송신한다.
메일서버(5-1)는 인터넷(4)을 거쳐서 PDA(1-1)나 PDA(1-2)로부터 전자메일을 수신하고, 그 수신한 메일의 어드레스의 도메인이 메일서버(5-1)에 대응하지 않으면, 다른 메일서버, 예를 들면 메일서버(5-2)에 메일을 전송한다. 메일서버(5-1)는 인터넷(4)을 거쳐서 메일서버(5-2)로부터 전송된 전자메일을 수신하고, 수신한 메일의 어드레스의 도메인이 메일서버(5-2)에 대응하지 않으면, 도시하지 않은 다른 메일서버로 메일을 전송한다.
인터넷(4)을 거쳐서 PDA(1-1)나 PDA(1-2) 또는 메일서버(5-2)로부터 수신한 전자메일의 어드레스의 도메인이 메일서버(5-1)에 대응하면, 메일서버(5-1)는 스풀(spool)이라 불리는 자신의 메일박스에 수신한 메일을 격납한다.
메일서버(5-2)는 인터넷(4)을 거쳐서 PDA(1-1)나 PDA(1-2)로부터 전자메일을 수신하고, 그 수신한 메일의 어드레스의 도메인이 메일서버(5-2)에 대응하지 않으면, 다른 메일서버, 예를 들면 메일서버(5-1)에 메일을 전송한다. 메일서버(5-2)는 인터넷(4)을 거쳐서 메일서버(5-1)로부터 전송된 전자메일을 수신하고, 수신한 메일의 어드레스의 도메인이 메일서버(5-2)에 대응하지 않으면, 도시하지 않은 다른 메일서버로 메일을 전송한다.
인터넷(4)을 거쳐서 PDA(1-1)나 PDA(1-2) 또는 메일서버(5-1)로부터 수신한 전자메일의 어드레스의 도메인이 메일서버(5-2)에 대응하면, 메일서버(5-2)는 스풀이라 불리는 자신의 메일박스에 수신한 메일을 격납한다.
DNS서버(6-1)는 PDA(1-1)나 PDA(1-2) 또는 메일서버(5-1 또는 5-2)로부터 호스트명을 수신할 때, 수신한 호스트명에 대응하는 IP(Internet Protocol)어드레스를 그 송신자에게 송신한다.
DNS서버(6-1)는 메일서버(5-1 또는 5-2)로부터 도메인명을 수신할 때, 수신한 도메인명에 대응하는 메일서버(예를 들면, 메일서버(5-1 또는 5-2))의 호스트명을 그 송신자에게 송신한다.
DNS서버(6-2)는 PDA(1-1)나 PDA(1-2) 또는 메일서버(5-1 또는 5-2)로부터 호스트명을 수신할 때, 수신한 호스트명에 대응하는 IP어드레스를 그 송신자에게 송신한다.
DNS서버(6-2)는 메일서버(5-1 또는 5-2)로부터 도메인명을 수신할 때, 수신한 도메인명에 대응하는 메일서버(예를 들면, 메일서버(5-1 또는 5-2))의 호스트명을 그 송신자에게 송신한다.
이하, PDA(1-1)와 PDA(1-2)를 구별할 필요가 없다면 총칭하여 간단하게 PDA(1)라고 한다. 유사하게, 크레이들(2-1)과 크레이들(2-2)을 크레이들(2)이라고 하고, 퍼스널컴퓨터(3-1)와 퍼스널컴퓨터(3-2)를 퍼스널컴퓨터(3)라고 한다.
이하, 인터넷(4)을 거쳐서 실행되는 메일송수신처리를 설명한다.
인터넷(4)을 거쳐서 전자메일을 송신하고 수신하는 것은 실제 우편인 경우와 매우 유사하다. 실제 우편의 경우, (Ⅰ)편지를 쓴다, (Ⅱ)그 편지를 우체통에 넣는다, (Ⅲ)우체국간에 그 편지를 송수신한다, (Ⅳ)그 편지를 수신자에게 배달한다의 4단계로 편지는 수신자에게 도착한다.
인터넷에 의거한 전자메일의 경우에, (Ⅰ)메일 송수신 프로그램을 사용하여 메일을 쓴다, (Ⅱ)기입을 종료했을 때 이 프로그램의 송신버튼을 누른다, (Ⅲ)메일서버간에 메일을 전송한다, (Ⅳ)수신자가 메일송수신 프로그램의 수신버튼을 누른다의 4단계로 메일이 수신자에게 도착한다.
메일송수신 프로그램은 전자메일을 송신하고 수신한다. 메일송수신 프로그램은 또한 메일러(mailer)라고도 불리며, 길에 있는 우편함이나 집에 있는 편지함과 같은 기능을 갖는다.
대부분의 메일송수신 프로그램은 메일을 화면에 표시하는 기능이나 메일을 기입하기 위한 에디터기능을 갖는다. 사용자는 메일송수신 프로그램을 조작하여 전자메일을 송신하고 수신한다.
대표적인 메일송수신 프로그램은 마이크로소프트사의 Outlook Express(상표), 퀄컴사의 Eudora Pro(상표) 및 예를 들면, Becky!InterMail이나 Al-Mail32와 같은 무료소프트웨어가 있다.
각 메일서버는, 말하자면, 우체국의 역할을 갖는다. 메일서버는 메일송수신 프로그램으로부터 송신된 메일을 수신하고, 그 수신한 메일을 메일송수신 프로그램에 송신한다. 대표적인 메일서버프로그램은, 예를 들면, 센드메일사(Sendmail Incorporated)의 Sendmail(상표)이 있다.
메일서버는 세 개의 주요기능을 갖는다. 첫째, 메일서버는 메일송수신 프로그램으로부터 수신된 메일을 적당하게 다른 메일서버로 송신한다. 둘째, 메일서버는 다른 메일서버로부터 수신한 메일을 목적지(또는 수신자)별로 정리하고 이런 식으로 정리된 메일을 관리한다. 셋째, 메일서버는 관리하고 있는 메일을 메일송수신 프로그램의 요구에 따라서 메일송수신 프로그램에 송신한다.
메일을 메일서버에 송신하는 메일송수신 프로그램의 처리는 처리절차와 통신절차에 있어서 메일을 메일송수신 프로그램에 송신하는 메일서버의 처리와 다르다.
처리절차는 프로토콜이라고 불린다. 메일을 메일서버에 송신하는 메일송수신 프로그램의 처리와 메일을 다른 메일서버에 송신하는 메일서버의 처리는 여러 경우에 있어서 SMTP(Simple Mail Transfer Protocol)에 의거하여 실행된다.
메일서버로부터 메일을 수신하는 메일송수신 프로그램의 처리는 여러 경우에 있어서 POP3(Post Office Protocol Version 3)에 의거하여 실행된다.
메일서버는 SMTP와 POP3에 대하여 다른 포트(ports)를 갖는다. 메일송수신 프로그램은, 메일을 송신할 때, SMTP에 대응하는 포트를 거쳐서 메일서버와 통신하고, 메일을 수신할 때, POP3에 대응하는 포트를 거쳐서 메일서버와 통신한다.
실제 우편의 경우, 외국에서 송신된 편지는 나라를 통과할 때마다 소인이 찍힌다. 유사하게, 전자메일은 표시가 된다.
전자메일을 송신하면, 메일서버를 통과할 때마다 메일본문의 선두부분에 소인이 찍힌다. 이 소인은 메일의 선두에 붙여지기 때문에 헤더(header)라고 불린다.
헤더는 크게 세 블록으로 나뉘며, 메일의 (본문에 가장 가까운) 최하부분은 메일송수신 프로그램이 붙인 블록이며, 상위 두 개의 부분은 메일서버가 붙인 블록이다.
헤더는 이 부분들을 올리기 때문에 더 최근정보를 격납한다.
메일송수신 프로그램에 의해 붙여진 헤더정보는 실제 우편의 주소와 유사하다. "From"은 송신자의 메일어드레스를 격납하고, "To"는 수신자의 어드레스를 격납하고, "Subject"는 메일 메세지의 제목을 격납한다.
메일서버가 붙인 블록 중, "Received"는 타임스탬프(time stamp)를 격납한다. "From"은 이 메일이 통과한 서버의 명칭을 격납한다.
각 메일서버는 통과하는 각각의 메일에 이 "Received"블록을 붙인다. 그러므로, "Received"블록을 밑에서 꼭대기까지 잇따라 확인하는 것은 이 메일이 통과한 메일서버를 나타낸다.
이하 메일송수신 프로그램의 설정을 설명한다. 메일을 송신하기 위해 정확하게 설정해야만 하는 정보는 메일송수신 프로그램에 대응하는 전자메일 어드레스와 SMTP에 대응하는 메일서버의 호스트명을 포함한다.
메일송수신 프로그램에 대응하는 전자메일 어드레스는 송신자명에 대응하는 송신자의 어드레스이다. 메일송수신 프로그램에 대응하는 전자메일 어드레스가 설정되어 있지 않으면, 수신자는 그 송신자를 알 수 없다. 목적지 어드레스가 알려져 있지 않으면, 메일을 되돌릴 수 없다.
메일송수신 프로그램은 거기에 대응하는 전자메일 어드레스를 헤더의 "From"행에 삽입한다. 메일송수신 프로그램에 대응하는 전자메일 어드레스는 수신자가 답장을 쓰는 목적지 어드레스로서도 사용된다. 어떤 메일송수신 프로그램은 답장 어드레스의 항목을 설정함으로써 응답 메일의 수신자를 변경할 수 있다.
SMTP에 대응하는 메일의 호스트명에는, 메일송수신 프로그램이 메일을 송신하는 메일서버의 호스트명이 설정된다. 메일송수신 프로그램은 메일을 송신할 때, SMTP에 대응하는 메일서버의 호스트명에 의거하여 메일서버로 메일을 송신한다. 호스트명은 예를 들면 "mailserver.so-net.ne.jp"로 기술된다.
전자메일 어드레스와 호스트명은 도메인명에 의거하여 기술된다. 도메인명은 국가명, 조직종류 및 회사명이 콤마"."로 서로 구분되어 기술된다. 각 도메인명에서, 더 큰 구분은 도메인명 문자열에 있어서 뒤에 온다.
각 전자메일 어드레스는 사용자 이름과 경계자 "@"와 도메인명의 순으로 구성되어 있다.
호스트명은 서버명과 경계자 "."와 도메인명으로 구성되어 있다.
기술한 바와 같이, 각 전자메일 어드레스나 호스트명은 유일한 메일어드레스나 호스트명을 제공한다.
전자메일 어드레스와 호스트명의 도메인명은 대문자와 소문자를 가질수도 있으나, 그들은 구별되지 않는다.
이하에 메일송수신 프로그램에 의한 메일서버로의 전자메일의 송신을 설명한다. 메일송수신 프로그램은 메일을 송신할 때, 호스트명에 대응하는 IP어드레스를 취득해야만 한다. IP어드레스는 예를 들면, "192.168.0.1"과 같이 수자와 콤마의 조합으로 기술된다.
DNS는 호스트명을 IP어드레스로 변환하는 시스템이다. 인터넷은 DNS서버를 많이 가지고 있다. 호스트명이 DNS서버 중 어떤 것으로 송신될 때, 그 DNS서버는 호스트명에 대응하는 IP어드레스를 회답한다.
예를 들면, 도 1에 나타낸 DNS서버(6-1)는 호스트명(A)에 대응하는 IP어드레스(a.a.a.a)를 기억한다.
메일송수신 프로그램은 메일서버를 액세스하기 직전에 DNS서버로부터 그 메일서버의 IP어드레스를 획득한다.
이하에 메일송수신 프로그램으로부터 메일서버로 전자메일을 송신하는 절차를 설명한다. 메일송수신 프로그램은 SMTP의 절차에 따라서 메일서버로 전자메일을 송신한다.
SMTP절차는 TCP(Transmission Control Protocl)셋업, 메일서버호출, 송신의 준비, 어드레스 통지, 본문의 송신, 종료확인 및 TCP종료처리로 구성되어 있다. 메일서버호출, 송신의 준비, 어드레스 통지, 본문의 송신 및 종료확인은 각각 메일송수신 프로그램으로부터의 요구와 메일서버로부터의 응답으로 구성된다.
SMTP처리에 있어서, 메일송수신 프로그램과 메일서버는 코맨드문(command statement)과 회답메일코드에 의해 서로 통신한다. 예를 들면, 코맨드문 "RCPT from:y@so-net.ne.jp"에 있어서, "RCPT"는 메일목적지 어드레스를 말하는 명령어이며, 메일목적지 어드레스는 "y@so-net.ne.jp"이다.
회답메일코드에 있어서, 예를 들면, "Yes"는 "250"이다. 251은 "그와 같은 사용자는 존재하지 않는다"를 나타내고, 450은 "메일박스가 사용중이다"를 나타내고, 451은 "에러로 인한 이상종료"를 나타내고, 452는 "필요한 리소스가 충분하지 않다"를 나타내고, 501은 "코맨드구문에러"를 나타내고, 502는 "코맨드가 사용불가능하다"를 나타내고, 550은 "메일박스가 존재하지 않는다"를 나타내는 회답메일코드가 있다.
전자메일은 동보통신(同報通信)기능(broadcasting capability)을 갖는다. 그 기능은 동일한 메일메세지를 여러 수신자들에게 송신한다.
예를 들면, 헤더의 "To"행에 복수의 메일 어드레스를 기재할 때, 메일송수신 프로그램은 RCPT코맨드를 송신하는 처리를 이들 메일어드레스 각각에 대하여 반복한다.
예를 들면, "CC"(Carbon Copy)나 "BCC"(Blind Carbon Copy)와 같은 전용헤더의 사용에 의해 동보통신이 지지되기도 한다. CC행이나 BCC행의 사용에 의해 메일이 송신되면, 각각의 메일 수신자들은 헤더의 "To"행에 수신자 어드레스가 없기 때문에 그 수신한 메일이 원본의 카피인 것을 알게 된다.
CC행의 사용에 의해 메일이 송신되면, 헤더에는 수신자의 메일어드레스가 격 납되어 있다. BCC행의 사용에 의해 메일이 송신되면, 메일송수신 프로그램은 RCPT코맨드송신처리시에 헤더로부터 BCC행을 삭제하고, 그 메일의 본문을 송신한다. BCC행의 사용에 의한 메일송신은 송신자가 특정메일메세지가 동보통신되는 수신자의 어드레스를 알리고 싶어하지 않을 때 유용하다.
이하에 메일서버가 메일의 목적지 어드레스 근처의 메일서버에 메일을 전송하는 처리를 설명한다. 메일서버간의 메일전송은 SMTP순서에 따라서 실행된다.
메일서버간의 메일전송에서는, 메일을 송신하는 메일서버는 메일의 목적지 어드레스로부터 도메인명을 추출하고, 그 추출된 도메인명을 DNS서버에 송신한다.
DNS서버는 도메인명과 메일서버 호스트명과의 관계를 MX레코드로서 격납하고 있기 때문에, 도메인명에 대응하는 메일서버의 호스트명을 도메인명을 송신한 메일서버로 송신한다.
예를 들면, 도 1에 나타낸 DNS서버(6-2)는 도메인명(B.B.B)에 관련하여 호스트명(B)을 기억한다.
호스트명을 수신한 메일서버는 그 호스트명을 DNS서버에 송신한다.
DNS서버는 호스트명과 IP어드레스와의 관계를 A레코드로서 기억하고 있기 때문에, 호스트명에 대응하는 IP어드레스를 호스트명을 송신한 메일서버에 송신한다.
예를 들면, 도 1에 나타낸 DNS서버(6-2)는 호스트명(B)에 관련하여 IP어드레스(b.b.b.b.)를 기억한다.
IP어드레스를 송신한 메일서버는 상술한 SMTP순서에 따라서 메일을 메일의 목적지 어드레스의 도메인명에 대응하는 메일서버로 송신한다.
각각의 메일서버는 메일링리스트를 이용하여 메일을 동보통신할 수 있다. 메일링리스트를 사용하여 메일을 동보통신할 때, 에일리어스 기능(alias capability)이 사용된다.
에일리어스 기능을 사용하는 각 메일서버는 소정의 메일 어드레스(대표 어드레스)에 대하여 복수의 어드레스 그룹을 기억한다. 메일서버는 대표 어드레스로 어드레스되어 있는 메일메세지를 수신할 때, 대표 어드레스에 기록되어 있는 어드레스 전체에 대하여 수신한 메일의 카피를 재송신한다. 메일서버는 메일의 헤더를 고쳐쓰지 않고 등록된 메일어드레스에 연속하여 메일을 송신한다.
도메인명에 대응하는 메일서버는 수신한 메일을 스풀이라 불리는 메일박스에 격납한다. 메일서버는 각 사용자에 대하여 메일을 관리하고, 목적지 어드레스에 대응하는 사용자의 메일송수신 프로그램의 수신버튼을 사용자가 누를 때 메일을 배달한다.
메일서버가 SMTP에 의거하여 메일송수신 프로그램에 메일을 송신하지 않는 이유는 메일송수신 프로그램을 실행하고 있는 장치가 작동하고 있지 않거나 인터넷(4)에 접속되어 있지 않을 가능성이 있기 때문이다.
메일서버는 POP3에 의거하여 메일송수신 프로그램에 메일을 송신한다. POP3 순서는 TCP셋업, 메일서버호출, 사용자 인증, 메일박스 내용확인, 수신한 메일메세지수의 체킹, 본문의 수신, 삭제의 요구, 종료확인 및 TCP의 종료로 구성되어 있다.
메일서버호출, 사용자 인증, 메일박스 내용확인, 수신한 메일메세지수의 체 킹, 본문의 수신, 삭제의 요구, 종료확인은 각각 메일송수신 프로그램으로부터의 요구와 메일서버응답으로 구성되어 있다.
POP3에서의 코맨드문과 회답메일코드는 SMTP에서의 코맨드문 및 회답메일코드와 다르다.
POP3에서는, 사용자가 메일서버에 미리 등록되어 있는 사용자ID와 패스워드에 의해 인증되어 있지 않으면, 메일수신처리는 실행되지 않는다.
도 2 내지 도 4는 PDA(1)의 외관을 나타낸다. 도 2는 사용자의 손에 쥐어진 PDA(1)의 사시도를 나타낸다. 도 3은 크레이들(2)에 장착되어 있는 PDA(1)의 사시도를 나타낸다. 도 4는 PDA(1)의 정면도를 나타낸다.
PDA(1)의 케이스는 한손으로 쥘 수 있고, 이 상황에서 용이하게 조작할 수 있도록 형성되어 있다. PDA(1)의 상단에는 반도체메모리를 내장하고 있는 메모리 스틱(상표)을 장착하는 슬롯이 설치되어 있다.
PDA(1)는 PDA(1)의 바닥이 크레이들(2)의 상면과 접촉하게 되도록 크레이들(2)에 장착된다. PDA(1)의 바닥에는 PDA(1)를 크레이들(2)에 접속하기 위한 USB(Universal Serial Bus) 포트(도시하지 않음)가 설치되어 있다.
PDA(1)는 표시부(21), 키부(key section)(22) 및 조그다이얼(23)을 갖는다.
표시부(21)는 액정표시장치와 같은 박형 표시장치로 구성되어 있고, 예를 들면, 아이콘, 썸네일(thumbnails) 및 텍스트를 표시한다. 표시부(21)의 상측에는 터치패드가 설치되어 있다. 사용자는 터치패드를 손가락이나 펜으로 누름으로써 PDA(1)에 소정의 데이터나 지시를 입력할 수 있다.
키부(22)는 예를 들면, 사용자가 표시부(21)에 표시된 아이콘이나 썸네일의 선택을 입력하는 입력키로 구성되어 있다.
조그다이얼(23)을 회전시키나 PDA(1)의 본체로 눌러서 표시부(21)에 표시되어 있는, 예를 들면, 아이콘이나 썸네일을 선택한다.
도 5는 PDA(1)의 구성을 나타낸다. CPU(Central Processing Unit)(31)는 발진기(32)로부터 공급된 클럭신호에 동기하여, flash ROM(Read Only Memory)(33)이나 EDO DRAM(Extended Data Out Dynamic Random Access Memory)(34)에 격납되어 있는 오퍼레이팅 시스템이나 개발한 애플리케이션 프로그램과 같은 각종 프로그램을 실행한다.
flash ROM(33)은 일종의 EEPROM(Electrically Erasable Programmable Read Only Memory)인 플래쉬 메모리로 구성되어 있고, 일반적으로 CPU(31)가 사용하는 프로그램과 산술파라미터 중에서 기본적으로 고정되어 있는 데이터를 격납한다. EDO DRAM(34)은 CPU(31)가 사용하는 프로그램이나 그 실행에 있어서 때때로 변화하는 파라미터를 격납한다.
메모리스틱 인터페이스(35)는 PDA(1)에 장착되어 있는 메모리스틱(11)으로부터 데이터를 독출하고, CPU(31)로부터 공급된 데이터를 메모리스틱(11)에 기입한다.
USB(Universal Serial Bus)인터페이스(36)는 발진기(37)로부터 공급되는 클럭신호에 동기하여, USB기기인 드라이브(51)로부터 데이터나 프로그램을 입력하고, CPU(31)로부터의 데이터를 드라이브(51)에 공급한다. USB인터페이스(36)는 발진 기(37)로부터 공급되는 클럭신호에 동기하여, USB기기인 크레이들(2)로부터 데이터나 프로그램을 입력하고, CPU(31)로부터의 데이터를 크레이들(2)에 공급한다.
드라이브(51)는 거기에 각각 장착되어 있는 자기디스크(61), 광디스크(62), 광자기디스크(63) 또는 반도체메모리(64)로부터 데이터나 프로그램을 독출하고, 이들 데이터나 프로그램을 USB 인터페이스(36)를 거쳐서 CPU(31)나 EDO DRAM(34)로 공급한다. 동시에, 드라이브(51)는 데이터나 프로그램을 자기디스크(61), 광디스크(62), 광자기디스크(63) 또는 반도체메모리(64)에 기억시킨다.
flash ROM(33), EDO DRAM(34), 메모리스틱 인터페이스(35) 및 USB 인터페이스(36)는 어드레스 버스와 데이터버스를 거쳐서 CPU(31)에 접속되어 있다.
표시부(21)는 LCD버스를 거쳐서 CPU(31)로부터 데이터를 수신하고, 수신한 데이터에 의거하여 화상이나 텍스트를 표시한다. 터치패드 제어부(38)는 표시부(21)의 상측에 설치되어 있는 터치패드가 조작될 때, (예를 들면, 터치된 좌표를 나타내는)데이터를 수신하고, 그 수신한 데이터에 대응하는 신호를 시리얼버스를 거쳐서 CPU(31)에 공급한다.
EL(Electro Luminescence) 드라이버(39)는 표시부(21)의 액정기기의 후방측에 설치되어 있는 전계발광소자를 동작시켜서 표시부(21)의 밝기를 조절한다.
적외선통신부(40)는 UART(Universal Asynchronous Receiver Transmitter)를 거쳐서 CPU(31)로부터 수신한 데이터를 적외선을 매체로서 사용하여 도시하지 않은 다른 기기로 송신하고, 수신한 데이터를 적외선을 매체로 사용하여 다른 기기로부터 CPU(31)로 송신한다. PDA(1)는 UART를 거쳐서 다른 기기와 통신할 수 있다.
예를 들면, 스피커와 음성데이터 복호회로로 구성되어 있는 음성재생부(42)는 예를 들면 인터넷(4)을 거쳐서 수신된 음성데이터를 복호하고, 수신한 데이터를 재생하고, 재생된 데이터의 음성을 출력한다. 예를 들면, 음성재생부(42)는 버퍼(41)를 거쳐서 CPU(31)로부터 공급된 음성데이터를 재생하여 그 재생한 음성데이터의 음성을 출력한다.
예를 들면, 입력키로 구성되어 있는 키부(22)는 CPU(31)로 각종 명령을 입력할 때 사용자에 의해 조작된다.
조그다이얼(23)은 사용자에 의해 회전되고 눌려져서 대응하는 데이터를 CPU(31)에 공급한다.
전원회로(43)는 배터리(52)나 AC(Alternating Current)어댑터(53)로부터 공급되는 전원의 전압을 변환하고, 그 전압을, 상술한 회로, 즉 CPU(31)내지 음성재생부(42)로 공급한다.
이하에 도 6을 참조하여 PDA(1-1)에 의해 송신된 메일이 PDA(1-2)에 의해 수신되는 절차를 설명한다. PDA(1-1)는 메일서버(5-1)의 호스트명을 크레이들(2-1), 퍼스널 컴퓨터(3-1) 및 인터넷(4)을 거쳐서 DNS서버(6-1)에 송신한다. DNS서버(6-1)는 인터넷(4)을 거쳐서, 수신한 호스트명에 관련하여 A레코드에 격납되어 있는 메일서버(5-1)의 IP어드레스를 PDA(1-1)에 송신한다.
PDA(1-1)는 DNS서버(6-1)로부터 수신한 메일서버(5-1)의 IP어드레스에 의거하여, 퍼스널 컴퓨터(3-1)와 인터넷(4)을 거쳐서 SMTP(Simple Mail Transfer Protocol)절차에 의거하여 메일을 메일서버(5-1)에 송신한다.
메일서버(5-1)는 수신한 메일의 목적지 어드레스를 확인하고, 목적지 어드레스의 도메인명이 메일서버(5-1)의 도메인과 일치하지 않으면, 인터넷(4)을 거쳐서 도메인명을 DNS서버(6-2)에 송신한다. DNS서버(6-2)는 인터넷(4)을 거쳐서 수신한 도메인명에 관련하여 MX레코드에 격납되어 있는 메일서버(5-2)의 호스트명을 메일서버(5-1)에 송신한다.
메일서버(5-1)는 인터넷(4)을 거쳐서 DNS서버(6-2)로부터 수신한 목적지 어드레스에 대응하는 메일서버(5-2)의 호스트명을 메일서버에 송신한다. DNS서버(6-2)는 인터넷(4)을 거쳐서, 수신한 호스트명에 관련하여 A레코드에 격납되어 있는 메일서버(5-2)의 IP어드레스를 메일서버(5-1)에 송신한다.
메일서버(5-1)는 인터넷(4)을 거쳐서, 수신한 IP어드레스에 따라서 SMTP절차에 의거하여 메일을 메일서버(5-2)에 전송한다. 메일서버(5-2)는 수신한 메일의 목적지 어드레스를 확인하고, 목적지 어드레스의 도메인명이 메일서버(5-2)의 도메인과 일치하면 수신한 메일을 스풀이라 불리는 메일박스에 격납한다.
PDA(1-2)는 크레이들(2-2), 퍼스널컴퓨터(3-2) 및 인터넷(4)을 거쳐서 DNS서버(6-2)에 메일서버(5-2)의 호스트명을 송신한다. DNS서버(6-2)는 인터넷(4)을 거쳐서, 수신한 호스트명에 대응하는 메일서버(5-2)의 IP어드레스를 PDA(1-2)에 송신한다.
PDA(1-2)는 수신한 메일서버(5-2)의 IP어드레스에 의거하여, 크레이들(2-2), 퍼스널 컴퓨터(3-2) 및 인터넷(4)을 거쳐서, POP3(Post Office Protocol Version 3)절차에 의거하여 메일서버(5-2)에 메일을 요구한다. PDA(1-2)는 크레이들(2- 2), 퍼스널 컴퓨터(3-2) 및 인터넷(4)을 거쳐서 POP3절차에 의거하여 메일서버(5-2)로부터 메일을 수신한다.
도 7은 메일을 송신하는 PDA(1)에 의해 실행되는 프로그램을 나타낸다. 오퍼레이팅 시스템(이하 OS라고 한다)(101)은 PDA(1)의 기본적인 동작을 제어한다.
드라이버(102-1)는 표시부(11)의 표시를 제어하는 프로그램이다. 드라이버(102-2)는 터치패드 제어부(38)의 동작을 제어하는 프로그램이다. 드라이버(102-3)는 음성재생부(42)의 오디오데이터의 재생을 제어하는 프로그램이다. 드라이버(102-4)는 조그다이얼(23)의 입력동작에 대응하는 처리를 실행하는 프로그램이다.
라이브러리(library)(103)는 메일송수신 프로그램(104)과 같은 애플리케이션 프로그램이 사용하는 복수의 루틴을 격납한다.
메일송수신 프로그램(104)은 크레이들(2-1 또는 2-2), 퍼스널컴퓨터(3-1 이나 3-2) 및 인터넷(4)을 거쳐서 전자메일을 송신하고 수신한다.
도 7에 나타낸 프로그램의 구성은 종래기술의 메일송수신기기의 프로그램의 구성과 거의 동일하다.
도 8은 메일을 송신하거나 수신하는 PDA(1)에 의해 실행되는 프로그램을 나타낸다. 메일송수신 프로그램(104)은 메일서버(5-2)로부터 메일을 수신할 때, 예를 들면, 도 9에 나타낸 화상을 표시부(11)에 표시한다. 메일송수신 프로그램(104)은 수신한 메일을 표시할 때, 그 수신한 메일을 인터프리터(interpreter)(106)에 공급한다.
라이브러리(105)는 인터프리터(106)가 스크립트를 실행할 때 이용되는 루틴을 격납한다.
인터프리터(106)는 메일송수신 프로그램(104)에 플러그인된 프로그램이며, 수신한 메일로부터 스크립트를 추출하여 그 추출한 스크립트를 실행한다. 예를 들면, 인터프리터(106)는 드라이버(102-1)로 하여금 스크립트의 실행에 따라서 소정의 화상을 표시부(11)에 표시하도록 하고, 드라이버(102-3)로 하여금 소정의 음성데이터를 음성재생부(42)로부터 재생하도록 한다.
인터프리터(106)는 표시부(11)와 음성재생부(42)에 대응하는 드라이버(102-1 내지 102-4)로 하여금 화상표시와 음성재생을 실행하도록 한다. 그러므로, 다른 유형의 PDA(1)로 인해 표시부(11)나 음성재생부(42)가 다른 유형으로 될지라도, 인터프리터(106)에 의한 화상표시와 음성재생은 확실하게 실행될 수 있다.
또한, 인터프리터(106)는 표시부(11) 및 음성재생부(42)와 같은 기기에 대응하는 드라이버(102-1 내지 102-4)로 하여금 화상표시나 음성재생과 같은 처리를 실행하도록 한다. 그러므로, 스크립트의 실행에 따라서 동작되는 다양한 유형의 기기들이 PDA(1)에 내장되어 있더라도, 이들 기기는 인터프리터(106)에 의해 확실하게 제어될 수 있다.
메일송수신 프로그램(104)은 표시될 메일메세지가 스크립트를 포함하면, 인터프리터(106)를 기동시키고 라이브러리(105)를 로드(load)하여도 좋다.
도 10은 인터프리터(106)의 상세한 구조를 나타낸다. 인터프리터(106)는 구문분석모듈(121), 실행모듈(122) 및 출력모듈(123)로 구성되어 있다.
구문분석모듈(121)은, 예를 들면, 도 11에 나타낸 바와 같이 메일송수신 프로그램(104)이 메일메세지(151)를 표시할 때, 메일송수신 프로그램(104)으로부터 메일메세지(151)를 수신하고, 그 수신한 메일메세지(151)로부터 스크립트를 추출하고, 그 추출한 스크립트를 실행모듈(122)에 공급한다.
도 12는 PDA(1)에 의해 송신되거나 수신되는 메세지(151)의 구조의 예를 나타낸다. 메일메세지(151)가 스크립트를 포함하면, 그 스크립트를 메일본문의 뒤에 격납한다. 메일메세지(151)는 격납하고 있는 스크립트가 데이터를 필요로 하면, 스크립트의 다음에, 인터프리터(106)에 의한 스크립트의 실행에 필요한 데이터를 격납한다.
구문분석모듈(121)은 메일메세지(151)에 스크립트와 함께 데이터가 격납되어 있으면, 스크립트와 데이터를 모두 추출하고, 그 추출한 스크립트와 데이터를 실행모듈(122)에 공급한다.
도 13은 메일메세지(151)가 스크립트를 격납하고 있을 때 실행되는 인터프리터(106)의 처리의 흐름을 나타낸다. 구문분석모듈(121)은 추출한 스크립트를 실행모듈(122)에 공급한다.
실행모듈(122)은 수신한 스크립트를 실행한다. 출력모듈(123)은 스크립트의 실행결과에 따라서, 화상을 표시하거나, 음성을 출력하거나, 출력데이터를 예를 들면 EDO DRAM(34)에 격납시킨다.
한편, 구문분석모듈(121)이 메일메세지(151)로부터 스크립트를 추출하지 않았으면(즉, 메일메세지(151)에 스크립트가 포함되어 있지 않으면), 도 14에 나타낸 바와 같이 구문분석모듈(121)은 메일송수신 프로그램(104)으로 하여금 이후의 처리를 실행하도록 하고 통상의 메일처리가 실행되도록 한다. 이 때, 메일송수신 프로그램(104)은 메일메세지(151)의 본문에 대응하는 텍스트데이터(151)를 드라이버(102-1)에 공급한다. 드라이버(102-1)는 메일메세지(151)의 본문을 텍스트데이터(191)에 의거하여 표시부(11)에 표시한다.
도 15는 오델로게임을 실행하는 메일메세지(151)의 예를 나타낸다. 도 15에 나타낸 예에 있어서, 메일메세지는 본문과 스크립트로 구성되어 있다. 도 15에 나타낸 메일메세지에 포함되어 있는 스크립트는 MIME(Multi Purpose Internet Mail Extension)로 기술된 application/x-emma이다.
도 15에 나타낸 메일메세지(151)에서, "To:"Someone"<someone@sony.co.jp>" 내지 "the second move of Othello"는 본문에 대응하고, "------=_NextPart_000_0011_01BFA9E7.2EE28580" 내지 "----Next_Part(Wed_Apr_19_11:42:48_2000_705)----"는 스크립트에 대응한다.
도 16은 스크립트의 실행을 개략적으로 나타낸다. 스크립트 실행은 입력부와 실행부로 분류된다.
입력부에서, 구문분석모듈(121)에 의해 메일메세지(151)로부터 스크립트가 추출된다.
실행부는 다시 데이터입력부, 처리실행부 및 출력부로 분류된다. 데이터입력부에서, 실행모듈(122)은 예를 들면, 드라이버(102-1)로 하여금 데이터 입력용 화상을 표시하도록 하고, 드라이버(102-2)로 하여금 터치패드 제어부(38)로부터의 입력을 제어하도록 한다.
데이터입력부의 입력은 예를 들면, 테블릿(tablet), 키부(22), 조그다이얼(23), 센서, 메모리스틱 인터페이스(35), 외부부착 키보드, 모뎀, USB 인터페이스(36), 적외선 통신부(40) 및 드라이브(52)를 제어함으로서 실행모듈(122)에 의해 실행된다.
처리실행부에서, 실행모듈(122)은 스크립트의 처리논리조작을 실행한다.
출력부에서, 출력모듈(123)은 처리실행부의 처리에 따라서, 예를 들면 드라이버(102-1)로 하여금 처리결과를 나타내는 화상을 표시부(11)에 표시하도록 하고, 드라이버(102-3)로 하여금 처리의 결과인 음성신호를 음성재생부(42)로부터 출력하도록 한다.
출력부에서, 출력은, 예를 들면, 표시부(11), 모뎀, 음성재생부(42), 메모리스틱 인터페이스(35), USB 인터페이스(36), 적외선 통신부(40) 및 드라이브(52)에대응하는 드라이버를 제어함으로써 출력모듈(123)에 의해 실행된다.
도 17은 오델로 게임을 실행하는 스크립트의 예를 나타낸다. 도 17에 나타낸 스크립트가 인터프리터(106)에 읽혀들여질 때, 실행모듈(122)은 onload()방식을 기동시켜서, 도 18에 나타낸 바와 같이 show()방식으로 하여금 오델로 판(board)과 피스(pieces)를 표시부(11)에 표시하도록 한다.
도 19에 나타낸 바와 같이 사용자가 새로운 이동을 입력할 때, 실행모듈(122)은 ontap()방식에 의해, 새로운 이동이 행해진 오델로판상의 좌표를 포착한다. 실행모듈(122)은 check()방식에 의해 새로운 이동에 대응하는 좌표가 오델로의 규칙에 의해 규정된 요건을 충족하는지를 판정한다. 새로운 이동이 그 요건을 충족시키지 않으면, 실행모듈(122)은 confirm()방식에 의해 에러를 통지하고(표시부(11)에 에러메세지를 표시한다), ontap()방식의 실행을 반복한다.
새로운 이동이 요건을 충족시킨다면, 실행모듈(122)은 도 20에 나타낸 바와 같이 update()방식에 의해 피스면을 갱신한다. 출력모듈(123)은 sendmail()방식에 의해 도 21에 나타낸 바와 같이 메일을 상대에게 송신하는 처리를 실행하여 exit()방식에 의해 처리는 종료한다.
이하 도 22에 나타낸 플로차트를 참조하여 메일송수신 프로그램(104)을 실행하는 PDA(1)에 의해 메일을 송신하는 처리를 설명한다. 스텝(S11)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 크레이들(2), 퍼스널컴퓨터(3) 및 인터넷(4)을 거쳐서 메일서버(1-1)에 대응하는 호스트명을 DNS서버(6-1)에 송신하도록 하며, 메일서버(5-1)에 대응하는 IP어드레스를 DNS서버(6-1)로부터 취득한다.
스텝(S12 내지 S18)의 처리는 예를 들면 AMTP절차에 의거하여 실행된다.
스텝(S12)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 크레이들(2), 퍼스널컴퓨터(3) 및 인터넷(4)을 거쳐서 IP어드레스를 지정함으로써 PDA(1)를 메일서버(5-1)에 접속하도록 한다. 스텝(S13)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 크레이들(2), 퍼스널컴퓨터(3) 및 인터넷(4)을 거쳐서 메일서버(5-1)를 호출하도록 한다(즉, 메일서버(5-1)에 의해 실행되는 메일서버프로그램(예를 들면, sendmail(상표))을 호출한다).
스텝(S14)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 메일송신을 준비하는 메일서버(5-1)를 요구하도록 한다(즉, 메일서버(5-1)에 의해 실행되는 메일서버프로그램에 메일송신절차의 실행을 통지한다). 스텝(S15)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 송신되는 메일메세지의 목적지 어드레스(메일 어드레스)의 메일서버(5-1)를 통지하도록 한다.
스텝(S16)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 메일메세지를 메일서버(5-1)에 송신하도록 한다. 스텝(S17)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 메일서버(5-1)와의 처리의 종료를 확인하도록 한다.
스텝(S17)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 메일서버(5-1)로부터 접속을 절단하고, 처리가 종료되도록 한다.
따라서, PDA(1)는 메일서버(5-1)에 메일을 송신할 수 있다.
메일서버(5-1)가 메일서버(5-2)에 메일을 전송하는 처리는 일반적으로 메일목적지 어드레스에 대응하는 호스트명을 취득하는 처리를 제외하고, 메일송신처리와 동일하므로, 메일전송처리의 설명은 생략한다.
이하 도 23에 나타낸 플로차트를 참조하여 메일송수신 프로그램(104)을 실행하는 PDA(1)에 의한 메일수신처리를 설명한다. 스텝(S31)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 크레이들(2), 퍼스널 컴퓨터(3) 및 인터넷(4)을 거쳐서 메일서버(5-2)에 대응하는 호스트명을 DNS서버(6-2)에 송신하도록 하며, 메일서버(5-2)에 대응하는 IP어드레스를 DNS서버(6-2)로부터 취득한다.
스텝(S32 내지 S40)의 처리는 예를 들면 POP3절차에 의거하여 실행된다.
스텝(S32)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 크레이들(2), 퍼스널 컴퓨터(3) 및 인터넷(4)을 거쳐서 IP어드레스를 지정하도록 하여 PDA(1)를 메일서버(5-2)에 접속한다. 스텝(S33)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 크레이들(2), 퍼스널 컴퓨터(3) 및 인터넷(4)을 거쳐서 메일서버(5-2)를 호출하도록 한다.
스텝(S34)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 크레이들(2), 퍼스널 컴퓨터(3) 및 인터넷(4)을 거쳐서 PDA(1)의 사용자의 사용자ID와 패스워드를 메일서버(5-2)에 송신하도록 하고, 그 메일서버(5-2)가 사용자의 인증을 실행하도록 한다.
스텝(S35)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 메일서버(5-2)에 의해 (PDA(1)의 사용자에 어드레스되는 메일을 격납하는) 메일박스의 내용을 확인하도록 한다.
스텝(S36)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 메일서버(5-2)에 의해 PDA(1)의 사용자에 어드레스되는 메일메세지수를 송신하도록 하고 메일수를 수신한다.
스텝(S37)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 메일서버(5-2)에 의해 PDA(1)의 사용자에 어드레스되는 메일을 송신하도록 하고 메일서버(5-2)로부터 송신한 메일을 수신한다. 그리고 나서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 메일서버(5-2)에 PDA(1)의 사용자에 어드레스되는 메일을 삭제할 것을 요구하도록 한다. 따라서 메일서버(5-2)는 PDA(1)의 사용자에 어드레스되는 메일을 삭제한다.
스텝(S39)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 메일서버(5-2)와의 처리의 종료를 확인하도록 한다.
스텝(S40)에서, 메일송수신 프로그램(104)은 USB 인터페이스(36)로 하여금 메일서버(5-2)와의 접속을 절단하고, 처리가 종료되도록 한다.
따라서, PDA(1)는 PDA(1)의 사용자에 어드레스되는 메일을 메일서버(5-2)로부터 수신할 수 있다.
이하에 메일송수신 프로그램(104)이 수신한 메일메세지를 표시할 때 실행되는 처리인, 메일송수신 프로그램(104)과 인터프리터(106)를 실행하는 PDA(1)의 스크립트처리를 도 24에 나타낸 플로차트를 참조하여 설명한다. 스텝(S51)에서, 메일송수신 프로그램(104)은 수신한 메일메세지(151)를 읽어들인다.
스텝(S52)에서, 메일송수신 프로그램(104)은 그 읽어들인 메일메세지(151)가 스크립트를 포함하는지를 확인한다. 스크립트가 발견되면, 메일송수신 프로그램(104)은 스텝(S53)으로 진행하여 인터프리터(106)를 개시한다. 메일송수신 프로그램(104)은 메일메세지(151)를 인터프리터(106)에 공급한다.
인터프리터(106)는 메일송수신 프로그램(104)과 함께 미리 개시되어 있어도 좋다.
스텝(S54)에서, 인터프리터(106)의 구문분석모듈(121)은 메일메세지(151)의 설명에 의거하여 메일메세지(151)로부터 스크립트를 추출한다. 스텝(S55)에서, 인터프리터(106)의 실행모듈(122)은 추출한 스크립트를 실행한다.
스텝(S56)에서, 인터프리터(106)의 출력모듈(123)은 스크립트 실행의 결과에 따라서 화상표시나 음성출력처리를 실행한다. 스텝(S57)에서, 메일송수신 프로그램(104)은 인터프리터(106)를 종료하고, 처리는 종료하게 된다.
스텝(S52)에서, 스크립트가 발견되지 않으면, 스크립트 처리가 필요하지 않기 때문에, 스텝(S53 내지 S57)의 처리는 건너뛰고, 처리는 종료된다.
따라서, 메일메세지(151)에 스크립트가 포함되어 있을 때, PDA(1)는 인터프리터(106)를 기동하여 스크립트에 대응하는 처리를 실행한다.
스텝(S52)의 처리는 이미 기동되어 있는 인터프리터(106)의 구문분석모듈(121)에 의해 실행되어도 좋다.
이하에 도 25에 나타낸 플로차트를 참조하여, 스크립트 실행의 더 구체적인 예인 오델로의 처리를 설명한다. 스텝(S71)에서, 메일송수신 프로그램(104)은 수신한 메세지(151)를 읽어들인다.
스텝(S72)에서, 메일송수신 프로그램(104)은 인터프리터(106)를 기동한다. 스텝(S73)에서, 인터프리터(106)의 출력모듈(123)은 오델로판과 피스를 표시부(11)에 표시한다.
스텝(S74)에서, 실행모듈(122)은 새로운 이동이 행해졌는지를 판정한다. 새로운 이동이 발견되지 않으면, 실행모듈(122)은 새로운 이동이 발견될 때까지 스텝(S74)의 판정처리를 반복한다.
스텝(S74)에서 새로운 이동이 발견되면, 그 때 실행모듈(122)은 스텝(S75)에 서 새로운 이동의 (오델로판상의 위치를 나타내는)좌표를 독해한다. 스텝(S76)에서, 실행모듈(122)은 새로운 이동이 오델로 규칙으로 규정된 요건을 만족시키는지를 판정한다. 새로운 이동이 그 요건을 만족시키면, 실행모듈(122)은 스텝(S77)으로 진행하여 새로운 이동에 대응하는 오델로판의 위치에 피스를 위치시킨다.
스텝(S78)에서, 실행모듈(122)은 특정피스의 면을 뒤집는 것과 같은 피스갱신동작을 실행한다. 스텝(S79)에서, 출력모듈(123)은 오델로판과 피스를 표시부(11)에 표시한다.
스텝(S80)에서, 출력모듈(123)은 USB 인터페이스(36)로 하여금 새로운 이동을 상대에게 통신하도록 한다. 스텝(S81)에서, 메일송수신 프로그램(104)은 인터프리터(106)를 종료하고, 처리는 종료된다.
스텝(S76)에서, 새로운 이동이 오델로 규칙의 요건을 만족시키지 않으면, 스텝(S82)에서, 출력모듈(123)은 에러메세지를 표시부(11)에 표시하여 사용자에게 에러를 통지하고, 그 절차는 스텝(S74)으로 되돌아가서 새로운 이동의 입력으로부터 처리를 반복한다.
따라서, PDA(1)는 메일메세지(151)에 포함되어 있는 스크립트에 의거하여 오델로게임처리를 실행한다.
설명한 바와 같이, PDA(1)는 사용자가 메일메세지(151)를 읽을 때, 메일메세지(151)의 송신자가 원하는 행동을 실행한다. PDA(1)는 사용자가 메일메세지(151)를 읽지 않으면, 메일메세지(151)에 포함되어 잇는 스크립트를 실 행하지 않으므로, 스크립트처리의 부하가 최소화된다.
PDA(1)는 인터프리터(106)를 실행함으로써만이 스크립트 기술에 대응하는 각종 처리를 실행하므로, 메일에 데이터를 첨부하는 것과 비교하여, 첨부된 데이터의 종류에 대응하는 다수의 애플리케이션 프로그램을 격납할 필요가 없다.
게다가, 인터프리터(106)가 스크립트를 실행하기 때문에, 인터프리터(106)가 안전하게 설치되면, 메일에 첨부된 실행프로그램에 의해 직접 실행되는 처리와 비교하여 더욱 안전하게 처리를 실행할 수 있다.
이하 본 발명의 제 2실시예로서 실시되는 메일송수신 시스템을 설명한다.
도 26은 본 발명의 제 2실시예로서 실시되는 메일송수신 시스템을 나타낸다. 공중회선망(202)은 통신서비스 제공영역을 원하는 사이즈로 분할함으로써 얻어진 셀에 각각 배치되는, 정지무선국인 기지국(201-1 내지 201-4)을 거쳐서 PDA(1-1 또는 1-2)나 디지털카메라 휴대전화기(301-1 및 301-2)에 접속되어 있다.
기지국(201-1 내지 201-4)은 이동무선국인 PDA(1-1 및 1-2) 및 디지털카메라 휴대전화기(301-1 및 301-2)를 예를 들면, W-CDMA(Wideband Code Division Multiple Access)의 코드분할다원접근에 의해 무선접속하고, PDA(1-1 및 1-2) 및 디지털카메라 휴대전화기(301-1 및 301-2)와 2GHz 주파수대역을 사용하여 최대 2Mbps의 데이터전송속도로 대용량 데이터와 통신할 수 있다.
PDA(1-1 및 1-2) 및 디지털카메라 휴대전화기(301-1 및 301-2)는 기지국(201-1 내지 201-4)과 W-CDMA에 의거한 고속 데이터전송률로 대용량 데이터를 통신할 수 있기 때문에, 음성회화뿐만 아니라 전자메일송수신의 각종 데이터 통 신, 간단한 홈페이지 브라우징 및 화상송수신을 실행할 수 있다.
기지국(201-1 내지 201-4)은 유선회선에 의해 공중회선망(202)에 접속되어 있다. 공중회선망(202)은 인터넷(4), 도시하지 않은, 예를 들면, 가입자유선단말장치, 컴퓨터 네트워크 및 기업내 네트워크에 접속되어 있다.
인터넷 서비스 프로바이더의 액세스 서버(203)는 공중회선망(202)에 접속되어 있고, 인터넷 서비스 프로바이더가 보유하는 콘텐츠 서버(204)에 접속되어 있다.
콘텐츠서버(204)는 가입자유선단말장치, PDA(1-1 또는 1-2) 또는 디지털카메라 휴대전화기(301-1 내지 301-4)로부터의 요구에 응하여, 예를 들면 간단한 홈페이지와 같은 콘텐츠를 콤팩트 HTML(Hyper Text Markup Language)의 형식으로 제공한다.
인터넷(4)은 다수의 WWW(World Wide Web)서버(205-1 내지 205-N)에 접속되어 있다. WWW서버(205-1 내지 205-N)는 TCP(Transmission Control Protocol)/IP(Internet Protocol)규격에 따라서 가입자유선단말장치, PDA(1-1 및 1-2) 및 디지털카메라 휴대전화기(301-1 및 301-2)로부터 액세스된다.
PDA(1-1 및 1-2) 및 디지털카메라 휴대전화기(301-1 및 301-2)로 인하여, 2Mbps의 간단한 트란스포트 프로토콜(transport protocol)에 의해 기지국(201-1 내지 201-4)과의 통신이 행해지고, TCP/IP에 의해 기지국(201-1 내지 201-4)에서 인터넷(4)과 WWW서버(205-1 내지 205-N)로의 통신이 행해진다.
관리제어장치(206)는 공중회선망(202)을 거쳐서 가입자유선단말장치, PDA(1- 1 및 1-2) 및 디지털카메라 휴대전화기(301-1 및 301-2)에 접속되어 가입자유선단말장치, PDA(1-1 및 1-2) 및 디지털카메라 휴대전화기(301-1 및 301-2)의 인증처리와 부과금처리를 실행한다.
디지털카메라 휴대전화기(301-1 및 301-2)는 공중회선망(202)과 인터넷(4)을 거쳐서 PDA(1)와 동일한 처리에 의해 메일을 송신하거나 수신한다. 디지털카메라 휴대전화기(301-1 및 301-2)는, 수신한 메일에 스크립트가 포함되어 있으면, 인터프리터(106)를 기동하여 스크립트를 실행한다.
이하, 디지털카메라 휴대전화기(301-1 및 301-2)는 그들을 특별히 구별할 필요가 없다면 총칭하여 디지털카메라 휴대전화기(301)라고 한다.
이하 본 발명을 적용한 디지털카메라 휴대전화기(301)의 외부구성을 설명한다. 도 27에 나타낸 바와 같이, 디지털카메라 휴대전화기(301)는 표시부(302)와 본체(303)로 구성되어 있고, 중앙의 힌지(304)주위에서 접힐 수 있다.
표시부(302)는 상단좌측에 접어넣을 수 있는 송수신 안테나(105)를 갖는다. 디지털카메라 휴대전화기(301)는 안테나(305)를 거쳐서 정지무선국인 기지국(201-1 내지 201-4) 중의 어느 것과 전파를 송수신한다.
표시부(302)는 상단중앙부에서 대략 180도의 범위에서 선회가능한 카메라부(306)를 갖는다. 디지털카메라 휴대전화기(301)는 카메라부(306)에 수납되어 있는 CCD카메라(307)에 의해 원하는 물체의 영상을 나타낸다.
카메라부(306)가 사용자에 의해 대략 180도 회전되면, 도 28에 나타낸 바와 같이 표시부(302)는 카메라부(306)의 배면중앙에 배치된 스피커(308)가 전면측에 마주하여 위치하고 있다. 따라서, 디지털카메라 휴대전화기(301)는 통상의 대화모드를 얻게 된다.
게다가, 표시부(302)는 정면중앙부에 액정디스플레이(309)를 갖는다. 액정 디스플레이(309)는 전파수신상태, 배터리 잔여량 및 전화번호부로서 등록되어 있는 이름과 전화번호에 더하여 전자메일의 내용, 간단한 홈페이지, 카메라부(306)의 CCD카메라(307)에 잡힌 영상을 표시한다.
한편, 본체(303)는 정면에 "0" 내지 "9"의 숫자키, 통화키, 리다이얼키, 클리어/전원키, 클리어키 및 전자메일키와 같은 조작키(310)를 갖는다. 각종 지시가 이들 조작키(310)로부터 디지털카메라 휴대전화기(301)로 입력된다.
본체(303)의 조작키(310)의 하부에는, 메모버튼(311)과 마이크로폰(312)이 배치되어 있다. 디지털카메라 휴대전화기(301)는 메모버튼(311)을 누르면, 통화중의 상대의 음성을 녹음한다. 디지털카메라 휴대전화기(301)는 마이크로폰(312)을 통해서 통화모드시에 사용자의 음성을 모은다.
게다가, 회전가능한 조그다이얼(313)은 본체(303)의 표면으로부터 약간 돌출하는 식으로 본체(303)의 조작키(310)에 걸쳐서 배치되어 있다. 디지털카메라 휴대전화기(301)는 조그다이얼(313)의 회전조작에 따라서, 예를 들면 액정 디스플레이(309)에 표시되어 있는 전화번호부 리스트나 전자메일메세지의 스크롤, 간단한 홈페이지의 표시된 페이지의 터닝(turning), 표시된 화상의 공급을 실행한다.
예를 들면, 본체(303)는 사용자에 의한 조그다이얼(313)의 회전에 의해 액정디스플레이(309)에 표시된 전화번호부 리스트 중에서 원하는 전화번호를 선택하고, 조그다이얼(313)을 본체(303)로 누를 때, 그 선택한 전화번호를 확정함으로써, 선택한 전화번호의 상대에게 자동적으로 전화를 건다.
본체(303)에는 배면측에 도시하지 않은 배터리팩(battery pack)이 장착되어 있다. 클리어/전원키가 온으로 되면, 배터리팩에서 각 회로로 전원이 공급되어 디지털카메라 휴대전화기(301)를 동작준비상태로 만든다.
본체(303)는 또한 분리가능한 메모리스틱(11)이 장착되어 있는 상단좌측에 메모리스틱슬롯(Memory Stick slot)(314)을 갖는다. 디지털카메라 휴대전화기(301)는 메모버튼(311)을 누를 때, 장착되어 있는 메모리 스틱(11)에 통화중인 상대의 음성을 기록한다. 디지털카메라 휴대전화기(301)는 사용자의 조작에 따라서, 전자메일 메세지, 간단한 홈페이지 또는 CCD카메라(307)에 의해 취해진 화상을 장착되어 있는 메모리 스틱(11)에 기록한다.
메모리 스틱(11)은 본 출원인인 소니 주식회사에 의해 개발된 플래쉬 메모리카드의 일종이다. 메모리 스틱(11)은 21.5mm×50mm×2.8mm의 치수를 갖는 플라스틱 케이스에 수납된 EEPROM(Electrically Erasable and Programmable Read Only Memory)의 일종인 플래쉬 메모리소자를 내장하고 있다. 메모리 스틱은 10핀 단자를 거쳐서 화상, 음성 또는 음악과 같은 각종 데이터를 기입하고 독출하도록 한다.
메모리 스틱(11)은 예를 들면, 그 용량의 증가로 인하여 내장 플래쉬메모리가 변화하였더라도 사용되는 기기와 호환성을 보증하는 독점 시리얼 프로토콜을 사용하고, 1.5MB/S의 최대기입속도와 2.45MB/S의 최대독출속도의 속도실행을 실현하 고, 오소거방지 스위치의 제공에 의해 높은 신뢰성을 확보한다.
따라서, 메모리 스틱(11)을 분리가능하게 장착하여 구성되어 있는 디지털카메라 휴대전화기(301)는 메모리 스틱(11)을 거쳐서 다른 전자기기와 데이터를 공유한다.
도 29에 나타낸 바와 같이, 디지털카메라 휴대전화기(301)는 표시부(302)와 본체(303)의 각부를 중심적으로 제어하는 주제어부(351)가 전원회로부(352), 조작입력제어부(353), 화상엔코더(354), 카메라 인터페이스부(355), LCD(Liquid Crystal Display) 제어부(356), 화상 디코더(357), 다중분리부(358), 기억재생부(363), 변복조회로부(359) 및 음성코덱(360)에 메인버스(361)를 거쳐서 접속되어 있고, 화상 엔코더(354), 화상 디코더(357), 다중분리부(358), 변복조회로부(359) 및 음성코덱(360)이 동기버스(362)에 의해 서로 접속되어 있도록 구성되어 있다.
전원회로부(352)는 사용자에 의해 클리어/전원키가 온으로 될 때, 배터리팩으로부터 각 구성성분 회로로 전원을 공급함으로써, 디지털카메라 휴대전화기(301)를 조작준비의 상태로 만든다.
디지털카메라 휴대전화기(301)는, 예를 들면 CPU, ROM 및 RAM으로 구성되어 있는 주제어부(351)의 제어하에서, 통화모드에서 마이크로폰(312)으로 모은 음성신호를 음성코덱(360)을 통해서 디지털 음성데이터로 변환한다. 디지털카메라 휴대전화기(301)는 변복조회로부(359)를 통해서 디지털 음성데이터의 스펙트럼확산을 실행하고, 송수신회로부(364)를 통해서 디지털 음성데이터의 디지털 대 아날로그 변환 및 주파수변환을 실행하여 안테나(305)를 거쳐서 그 디지털 음성데이터를 송신한다.
디지털카메라 휴대전화기(301)는 통화모드에서 안테나(305)로 수신한 수신신호를 증폭시키고, 그 증폭된 수신신호의 주파수 변환 및 아날로그 대 디지털 변환을 실행하고, 변복조회로부(359)를 통해서 변환된 신호의 스팩트럼확산을 실행하고, 그 결과 얻어지는 신호를 음성코덱(360)을 통해서 아날로그 음성신호로 변환한다.
또한, 디지털카메라 휴대전화기(301)는 데이터 통신모드에 있어서, 전자메일을 송신할 때, 조작키(310)와 조그다이얼(313)로부터 입력된 전자메일의 텍스트데이터를 조작입력제어부(353)를 거쳐서 주제어부(351)로 송신한다.
주제어부(351)는 텍스트 데이터에 변복조회로부(359)를 통해서 스펙트럼 확산을 실행하고, 그 후, 송수신회로부(364)를 통해서 디지털 대 아날로그 변환과 주파수변환을 실행하여 그 결과로서 얻어지는 텍스트 데이터를 안테나(305)를 거쳐서 대응하는 기지국에 송신한다.
디지털카메라 휴대전화기(301)는, 데이터통신모드에 있어서, 전자메일을 수신할 때, 안테나(305)를 거쳐서 기지국(CS3)으로부터 수신한 수신신호에 변복조회로부(359)를 통해서 스펙트럼 역확산을 실행하여 원래의 데이터를 복구하고, LCD제어부(356)를 통해서 액정 디스플레이(309)에 원래의 데이터를 전자메일메세지로서 표시한다.
주제어부(351)는, 데이터통신모드에 있어서, 전자메일을 송신하거나 수신할 때, 메일송수신 프로그램(104)과 인터프리터(106)를 실행한다.
LCD제어부(356)는 플렉시블 프린트 회로기판(flexible printed circuit board)(11)과 같은 패널ID설정부를 갖는 플렉시블 프린트 회로기판을 거쳐서 액정 디스플레이(309)에 접속되어 있다.
그리고 나서, 디지털카메라 휴대전화기(301)는 사용자의 조작에 따라서 수신한 전자메일을 기억재생부(363)를 거쳐서 메모리 스틱(11)에 기록한다.
디지털카메라 휴대전화기(301)는, 데이터통신모드에 있어서, 화상데이터를 송신할 때, CCD카메라(307)로 취한 화상데이터를 카메라 인터페이스부(355)를 거쳐서 화상 엔코더(354)로 공급한다.
디지털카메라 휴대전화기(301)는, 화상데이터를 송신하지 않을 때, CCD카메라(307)로 취한 화상데이터를 카메라 인터페이스부(355)와 LCD제어부(356)를 거쳐서 액정 디스플레이(309)에 표시할 수도 있다.
화상 엔코더(354)는 CCD카메라(307)로부터 공급된 화상데이터를 예를들면, MPEG2(Moving Picture Experts Group 2)나 MPEG4에 의거하여 부호화하고 압축함으로써 부호화된 화상데이터로 변환하고, 그 부호화된 화상데이터를 다중분리부(358)로 송신한다.
이 때, 디지털카메라 휴대전화기(301)는 CCD카메라(307)에 의해 화상을 취하는 동안 마이크로폰(312)으로 모은 음성신호를 음성코덱(360)을 거쳐서 음성데이터로서 다중분리부(358)로 송신한다.
다중분리부(358)는 화상 엔코더(354)로부터 공급된 부호화 화상데이터를 음 성 코덱(360)으로부터 공급된 음성데이터와 소정의 방식으로 다중화하고, 그 결과얻어지는 다중화 데이터를 변복조회로부(359)를 통해서 스펙트럼 확산하고, 송수신회로부(364)를 통해서 디지털 대 아날로그 변환 및 주파수변환을 실행하여, 그 결과 얻어지는 데이터를 안테나(305)를 거쳐서 출력한다.
디지털카메라 휴대전화기(301)는, 데이터통신모드에 있어서, 예를 들면 간단한 홈페이지와 링크된 동화상 파일의 데이터를 수신할 때, 안테나(305)를 거쳐서 대응하는 기지국으로부터 수신한 수신신호에 변복조회로부(359)를 통해서 스펙트럼 역확산을 실행하고, 그 결과 얻어지는 다중화데이터를 다중분리부(358)로 송신한다.
다중분리부(358)는 다중화 데이터를 부호화 화상데이터와 음성데이터로 분리하고, 동기버스(362)를 거쳐서 부호화 화상데이터를 화상 디코더(357)에 공급하고 음성데이터를 음성 코덱(360)에 공급한다.
화상디코더(357)는 부호화 화상데이터를 예를 들면, MPEG2나 MPEG4와 같은 소정의 대응하는 복호화방식에 의해 복호화함으로써 재생 동화상데이터를 생성하고, 그 재생 동화상데이터를 LCD제어부(356)를 거쳐서 액정 디스플레이(309)에 공급한다. 따라서, 디지털카메라 휴대전화기(301)는, 예를 들면, 간단한 홈페이지와 링크된 동화상파일에 포함되어 있는 동화상데이터를 표시한다.
동시에, 음성 코덱(360)은 음성데이터를 아날로그 음성신호로 변환하고 그것을 스피커(308)에 공급한다. 따라서, 디지털카메라 휴대전화기(301)는, 예를 들면, 간단한 홈페이지와 링크된 동화상파일에 포함되어 있는 음성데이터를 재생한 다.
이 경우에, 전자메일과 같이, 디지털카메라 휴대전화기(301)는 수신한 간단한 홈페이지에 링크된 데이터를 사용자에 의해 조작되는 바와 같이 기억재생부(363)를 거쳐서 메모리스틱(11)에 기록할 수도 있다.
본 발명은 PDA(1)와 디지털카메라 휴대전화기(301)뿐만 아니라, 전자메일을 송수신하는 노트형 퍼스널컴퓨터, PHS(Personal Handyphone System)와 같은 단말장치 및 자동차 네비게이션 시스템에 적용할 수 있다.
이하 인터프리터(106)의 상세한 구성을 설명한다.
도 30은 인터프리터(106)의 상세한 구성의 일례를 나타낸다.
도 30에 나타낸 메일구문분석부(502), 디코더(503), 구문분석부(505), 데이터구성부(517), 엔코더(518) 및 메일생성부(519)는 도 10에 나타낸 구문분석모듈(121)에 대응한다.
도 30에 나타낸 스크립트 인터프리터(506), 인증암호화부(507), 리소스 액세스 메니져(508) 및 기억 모듈(511)은 도 10에 나타낸 실행모듈(122)에 대응한다.
도 30에 나타낸 I/O(Input/Output) 모듈(510)은 도 10에 나타낸 출력모듈(123)에 대응한다.
메일송수신 프로그램(104)은 메일송수신 프로그램 인터페이스(501)를 거쳐서 열고자 하는 메일메세지(151)를 메일구문분석부(502)에 공급하거나 메일생성부(519)에 의해 생성되는 메일메세지(151)를 취득한다.
메일구문분석부(502)는 메일송수신 프로그램 인터페이스(501)를 거쳐서 메일 송수신 프로그램(104)으로부터 공급된 메일메세지(151)의 구문을 분석하고 메일메세지(151)로부터 스크립트와 데이터를 추출한다. 메일구문분석부(502)는 추출한 스크립트와 데이터를 디코더(503)에 공급한다.
스크립트는 영숫자와 같은 문자코드에 의해 처리순서가 기술되는 일련의 명령어로 구성되는 프로그램의 일종이다.
디코더(503)는 Base64와 같은 부호화방식에 의해 부호화되는 데이터를 복호화한다. Base64는 7비트 데이터만을 전송하는 네트워크에 걸쳐서 데이터나 프로그램을 전송하기 위해, 데이터나 프로그램을 64유형 ASCII코드열로 변환하는 2진 데이터 암호화방식이다.
디코더(503)는 부호화되어 있는 스크립트를 복호화하도록 되어 있어도 좋다.
디코더(503)는 인터페이스(504)를 거쳐서 복호화된 스크립트를 구문분석부(505)로 공급하고, 복호화된 데이터를 스크립트 인터프리터(506)로 공급한다.
구문분석부(505)는 스크립트에 포함되어 있는 소정의 문자열을 스크립트 인터프리터(506)에 의해 처리될 수 있는 중간코드(intermediate code)로 치환한다. 중간코드는 일반적으로 (Ⅰ) 어휘분석의 결과나 생성된 텍스트열과 같은 텍스트열, (Ⅱ) 구문분석의 결과로서 생성되는 분석목(analysis tree)이나 구문목(syntax tree) 또는 폴리쉬법(Polish notation)에 의거한 목구조(tree structure), (Ⅲ) 세쌍 혹은 네 쌍으로 불리는 가상기계코드와 같은 기계어에 근접한 형식으로 분류된다. 본 명세서에서, 중간코드는 분석목을 의미한다.
자바언어로 상기 (Ⅲ)을 바이트코드라고 한다.
중간코드는 소프트웨어 프로그램에서의 소스코드를 최종적으로 실행가능한 형식으로 변환하는 과정에서 편의상 일시적으로 발생하는 코드이다. 따라서, 소스에서 타겟으로 변환처리를 상세하게 분할함으로써, 언어처리계는 복수의 플랫폼(혹은 타겟)에 용이하게 적합하도록 될 수 있다.
예를 들면 자바언어에서, 소스코드는 일시적으로 바이트코드라고 불리는 중간코드로 변환되고, WWW서버에 보존된다. WWW서버는 클라이언트측의 WWW브라우저에 이 바이트코드를 송신한다. 클라이언트측의 자바VM(Virtual Machine)은 바이트코드를 해석하고 실행한다. 이 경우에, 플랫폼간의 차이(즉, CPU간의 차이 및 오퍼레이팅 시스템간의 차이)는 자바VM에 의해 흡수되어서, 바이트코드 자신은 특정 플랫폼에 의존하지 않는다. 따라서, 자바언어에서, 런타임(run-time) 부하(즉, 바이트코드로부터 실행코드로의 변환)를 최소화하면서 플랫폼에 의존하지 않는 프로그램환경이 실행될 수 있다.
다른 고급언어 컴파일러에서도, 소스코드는 실행프로그램(통상으로는 CPU에 의해 해석될 수 있는 이진코드)으로 직접 변환되지 않고, 종종 실제기계보다 추상적인 중간코드로 변환되고(예를 들면, 실제 기계술로 제한되지 않기 때문에 코드 최적화가 용이해진다), 이어서 최종실행 이진코드를 생성한다.
구문분석부(505)는 소정의 문자열이 중간코드로 치환된 스크립트를 스크립트 인터프리터(506)에 공급한다.
스크립트 인터프리터(506)는 스크립트를 인증암호화부(507)에 공급하여 스크 립트의 정당성을 판정하도록 한다.
인증암호화부(507)는 예를 들면 MD5(Message Digest 5)와 같은 헤쉬(hash)함수를 스크립트에 적용하여 스크립트에 대응하는 헤쉬값을 산출한다. 인증암호화부(507)는 산출된 헤쉬값이 스크립트에 포함되어 있는 인증데이터에 매치되는지를 판정한다.
도 31은 인증데이터를 포함하는 메일메세지(151)의 예를 나타낸다.
도 31에 나타낸 메일메세지(151)에서, "<SIGNATURE>"와 "</SIGNATURE>"사이에 배치되어 있는 "347a9d8684ab96533fb6b51906fdacf9"와 같은 데이터는 인증데이터이다.
메일메세지(151)에 전자서명이나 증명서가 포함되어 있어서 그 전자서명과 증명서에 의거하여 인증암호화부(507)에 의해 인증되어도 좋다.
인증암호화부(507)는, 산출된 헤쉬값이 인증데이터에 매치된다고 발견되면, 스크립트가 수정되지 않았기 때문에 스크립트의 정당성을 나타내는 데이터를 스크립트 인터프리터(506)에 공급한다.
인증암호화부(507)는, 산출된 헤쉬값이 인증데이터에 매치되지 않는다고 발견되면, 스크립트가 수정되었기 때문에 스크립트의 정당하지 않음을 나타내는 데이터를 스크립트 인터프리터(506)에 공급한다.
스크립트 인터프리터(506)는, 스크립트의 정당하지 않음을 나타내는 데이터가 인증암호화부(507)로부터 공급될 때, 그 스크립트를 실행하지 않는다.
스크립트 인터프리터(506)는, 스크립트의 정당성을 나타내는 데이터가 인증 암호화부(507)로부터 공급될 때, 디코더(503)로부터 공급된 데이터에 의거하여 그 스크립트를 실행한다.
따라서, 스크립트 인터프리터(506)는 정당한 스크립트만을 실행함으로써, 본 발명에 관련된 메일송수신 시스템은 수정된 정당하지 않은 스크립트에 의거한 공격을 방지하여 스크립트 실행의 안전성을 보증할 수 있다.
스크립트 인터프리터(506)는, 표시부(21)에 화상을 표시하거나 터치패드로부터 입력된 데이터를 검색할 때, 리소스 액세스 메니져(508)로 하여금 화상표시나 데이터검색의 처리를 실행하도록 한다.
스크립트 인터프리터(506)는, flash ROM(33)이나 EDO DRAM(34)에 데이터를 기억시키거나 flash ROM(33)이나 EDO DRAM(34)으로부터 데이터를 검색할 때, 리소스 액세스 메니져(508)로 하여금 데이터기억이나 데이터검색의 처리를 실행하도록 한다.
스크립트 인터프리터는 스케쥴노트 프로그램(512), 주소록 프로그램(513), 메모장 프로그램(514), TODO장 프로그램(515) 또는 애플리케이션 프로그램(516)을 액세스할 때, 리소스 액세스 메니져(508)로 하여금 스케쥴노트 프로그램(512), 주소록 프로그램(513), 메모장 프로그램(514), TODO장 프로그램(515) 또는 애플리케이션 프로그램(516)을 액세스하도록 한다.
리소스 액세스 메니져(508)는 스크립트 인터프리터(506)에 의해 화상을 표시부(21)에 표시하도록 요구되거나, 터치패드로부터 입력된 데이터를 검색할 것이 요구될 때, 플랫폼 리소스 액세스 인터페이스(509)를 거쳐서, I/O모듈(510)로 하여금 표시부(21)에 화상을 표시하거나 터치패드로부터 입력된 데이터를 검색하도록 한다. 터치패드로부터 입력되고 I/O모듈(510)에 의해 검색된 데이터는 플랫폼 리소스 액세스 인터페이스(109)를 거쳐서 리소스 액세스 메니져(508)에 공급된다.
리소스 액세스 메니져(508)는 터치패드로부터 입력되고 I/O모듈(510)에 의해 검색된 데이터를 스크립트 인터프리터(506)에 공급한다.
리소스 액세스 메니져(508)는 스크립트 인터프리터(506)에 의해 데이터를 flash ROM(33)이나 EDO DRAM(34)에 기억시키도록 요구되거나, flash ROM(33)이나 EDO DRAM(34)으로부터 데이터를 검색할 것이 요구될 때, 플랫폼 리소스 액세스 인터페이스(509)를 거쳐서, 기억모듈(511)로 하여금 flash ROM(33)이나 EDO DRAM(34)에 데이터를 기억시키거나 flash ROM(33)이나 EDO DRAM(34)으로부터 데이터를 검색하도록 한다. flash ROM(33)이나 EDO DRAM(34)으로부터 기억모듈(511)에 의해 검색된 데이터는 플랫폼 리소스 액세스 인터페이스(509)를 거쳐서 리소스 액세스 메니져(508)에 공급된다.
리소스 액세스 메니져(508)는 flash ROM(33)이나 EDO DRAM(34)으로부터 기억모듈(511)에 의해 검색된 데이터를 스크립트 인터프리터(506)에 공급한다.
리소스 액세스 메니져(508)는 스크립트 인터프리터(506)에 의해 스케쥴노트 프로그램(512), 주소록 프로그램(513), 메모장 프로그램(514), TODO장 프로그램(515) 또는 애플리케이션 프로그램(516)을 액세스하도록 요구될 때, 플랫폼 리소스 액세스 인터페이스(509)를 거쳐서 스케쥴노트 프로그램(512), 주소록 프로그램(513), 메모장 프로그램(514), TODO장 프로그램(515) 또는 애플리케이션 프 로그램(516)을 액세스한다.
스케쥴노트 프로그램(512)은 스케쥴노트에 스케쥴을 기록하거나 기록되어 있는 스케쥴을 표시하는 애플리케이션 프로그램이다.
메모장 프로그램(514)은 메모장에 메모를 기록하거나 기록되어 있는 메모를 표시하는 애플리케이션 프로그램이다.
TODO장 프로그램(515)은 사용자가 행할 항목을 기록하거나 기록되어 있는 항목이 사용자가 행할 것임을 표시하는 애플리케이션 프로그램이다.
애플리케이션 프로그램(516)은 소정의 처리를 실행한다.
데이터 구성부(517)는 원하는 데이터를 메일메세지(151)에 첨부하여 송신할 때, 스크립트 인터프리터(506)로부터 공급된 이 데이터를 소정의 데이터 구조로 변환한다.
예를 들면, 스크립트 인터프리터(506)는 스크립트의 실행을 중단하고 스크립트 실행상태를 나타내는 데이터를 메일메세지(151)에 첨부하여 송신할 때, 프로그램 카운터의 값이나 푸쉬-다운 스택(push-down stack)에 격납되어 있는 데이터와 같이 스크립트 실행상태를 나타내는 데이터를 데이터 구성부(517)에 공급한다.
데이터 구성부(517)는 스크립트 인터프리터(506)로부터 공급된 스크립트 실행상태를 나타내는 소정의 데이터를 소정의 데이터구조로 변환한다.
데이터 구성부(517)는 소정의 데이터 구조의 데이터를 인터페이스(504)를 거쳐서 엔코더(518)에 공급한다.
스크립트 인터프리터(506)는 원하는 스크립트를 메일메세지(151)에 첨부하여 송신할 때, 그 스크립트를 인터페이스(504)를 거쳐서 엔코더(518)에 공급한다.
엔코더(518)는 데이터 구성부(517)로부터 공급된 소정의 구조를 지닌 데이터를, 예를 들면, Base64에 의해 부호화한다. 엔코더(518)는 부호화된 데이터를 메일생성부(519)에 공급한다. 엔코더(518)는 스크립트 인터프리터(506)로부터 공급된 스크립트를 변화시키지 않고 메일생성부(509)에 공급한다.
엔코더(518)는 스크립트를 부호화하도록 되어 있어도 좋다.
메일생성부(519)는 엔코더(518)로부터 공급된 부호화된 데이터나 스크립트를 격납한 메일메세지(151)를 생성한다. 메일생성부(519)는 생성된 메일메세지(151)를 메일송수신 프로그램 플러그인 인터페이스(501)를 거쳐서 메일송수신 프로그램(104)에 공급한다.
메일송수신 프로그램(104)은 메일생성부(519)로부터 공급된 메일메세지(151)를 송신한다.
스크립트 런쳐(script launcher)(520)는 표시부(21)의 터치패드로부터의 입력에 의거하여, 오델로게임 스크립트(531), 회람메일 스크립트(532), 자동삭제메일 스크립트(533), 애니메이션메일 스크립트(534) 및 갱신메일 스크립트(535) 중 하나를 선택하고 그 선택한 스크립트를 인터페이스(504)를 거쳐서 구문분석부(505)에 공급한다.
예를 들면, 도 32에 나타낸 바와 같이, 표시부(21)에 나타낸 아이콘 중, 오델로 라벨이 붙어 있는 아이콘이 선택되면, 스크립트 런쳐(520)는 오델로 아이콘에 대응하는 오델로게임 스크립트(531)를 스크립트 데이터베이스(521)로부터 독출하고 그 스크립트를 인터페이스(504)를 거쳐서 구문분석부(505)에 공급한다.
표시부(21)에 나타낸 아이콘 중, 회람메일 라벨이 붙어 있는 아이콘이 선택되면, 스크립트 런쳐(520)는 회람메일 아이콘에 대응하는 회람메일 스크립트(532)를 스크립트 데이터베이스(521)로부터 독출하고 그 스크립트를 인터페이스(504)를 거쳐서 구문분석부(505)에 공급한다.
구문분석부(505)는 오델로게임 스크립트(531), 회람메일 스크립트(532), 자동삭제메일 스크립트(533), 애니메이션메일 스크립트(534) 또는 갱신메일 스크립트(535)에 포함되어 있는 소정의 문자열을 스크립트 인터프리터(506)에 의해 처리될 수 있는 중간코드로 치환한다. 구문분석부(505)는 중간코드 스크립트를 스크립트 인터프리터(506)에 공급한다.
스크립트 인터프리터(506)는 구문분석부(505)로부터 공급된 중간코드에 의해 문자열이 치환된, 오델로게임 스크립트(531), 회람메일 스크립트(532), 자동삭제메일 스크립트(533), 애니메이션메일 스크립트(534) 또는 갱신메일 스크립트(535)를 실행한다.
따라서, 도 30에 그 구성을 나타낸 인터프리터(106)는 메일메세지(151)를 열 때 그 메일메세지(151)에 첨부되어 있는 스크립트를 실행함으로써, 예를 들면, 소정의 화상을 표시부(21)에 표시하는, 표시부(21)의 터치패드 조작에 대응하는 처리를 실행하거나, 원하는 데이터를 flash ROM(33)이나 EDO DRAM(34)에 기억시키거나, flash ROM(33)이나 EDO DRAM(34)으로부터 데이터를 검색한다.
그러므로, 소정의 처리를 실행하는 스크립트를 메일메세지(151)에 첨부하는 것은 그 송신자가 수신자로 하여금 원하는 행동을 신속하고 확실하게 행하도록 한다.
예를 들면, 메일메세지(151)의 수신자가 소형 단말장치를 사용하고, 너무 작아서 그 메일에 대하여 즉각적인 응답을 할 수 없더라도, 메일메세지(151)의 송신자는 수신자가 신속하고 확실하게 응답하도록 할 수 있다.
메일송수신 프로그램(104)이 메일메세지(151)를 열려고 할 때, 인터프리터(106)는 거기에 첨부되어 있는 스크립트를 실행함으로써, 메일 수신자는 메일메세지(151)를 수신하기 전에 대응하는 스크립트를 획득할 필요가 없다.
새롭게 생성된 스크립트는 메일메세지(151)에 첨부되어 전송됨으로써, 그 수신자가 스크립트를 신속하게 얻을 수 있어서 새롭게 생성된 스크립트를 신속하게 실행할 수 있다.
또한, 도 30에 그 구성을 나타낸 인터프리터(106)는 기억하고 있는 스크립트를 실행함으로써, 예를 들면, 소정의 화상을 표시부(21)에 표시하는 것과 같은 처리를 실행하거나, 표시부(21)에 터치패드 조작에 대응하는 처리를 실행하거나, 원하는 데이터를 flash ROM(33)이나 EDO DRAM(34)에 기억시키거나, flash ROM(33)이나 EDO DRAM(34)으로부터 데이터를 검색한다.
게다가, 도 30에 그 구성을 나타낸 인터프리터(106)는 기억하고 있는 스크립트를 실행함으로써, 원하는 스크립트를 기억하고 있는 메일메세지(151)를 생성하고, 그 생성한 메일메세지(151)를 메일송수신 프로그램(104)에 송신한다.
이하에 플랫폼의 변경과 스크립트 전송매체를 설명한다.
도 33은 OS(101)를, 예를 들면, Windows CE(마이크로소프트사의 상표)나 다른 오퍼레이팅 시스템으로 변경하는 인터프리터(106)의 구성의 변경을 나타낸다.
도 33에 나타낸 스크립트 처리부(551)는 플랫폼 의존부(561), 스크립트 실행부(562) 및 전자메일 변환부(563)로 구성되어 있다.
플랫폼 의존부(561)는 I/O모듈(510), 기억모듈(511) 및 애플리케이션 모듈(516)로 구성되어 있다.
스크립트 실행부(562)는 도 30에 나타낸 구문분석부(505), 스크립트 인터프리터(506), 인증암호화부(507), 리소스 액세스 메니져(508) 및 데이터 구성부(517)에 대응한다.
전자메일 변환부(563)는 도 30에 나타낸 메일송수신 프로그램 플러그-인 인터페이스(501), 메일구문분석부(502), 디코더(503), 인터페이스(504), 엔코더(518) 및 메일생성부(519)에 대응한다.
통신부(552)는 크레이들(2)과 인터넷(4)을 거쳐서 메일메세지(151)를 수신하는, 도 5에 나타낸, USB 인터페이스(36)에 대응한다.
예를 들면, OS(101)를 다른 오퍼레이팅 시스템으로 변경하는 것과 같은 플랫폼 변경이 일어나면, 그 변경된 플랫폼에 대응하는 스크립트 처리부(571)는 플랫폼 의존부(561)로부터 플랫폼 의존부(581)로 변경된다. 스크립트 실행부(562)와 전자메일 변환부(563)는 변경되지 않고 남아있다.
플랫폼 의존부(581)는 변경된 플랫폼에 대응하는 I/O모듈(591), 기억모듈(592) 및 애플리케이션 프로그램(593)으로 구성되어 있다.
따라서, 플랫폼을 변경하면, 플랫폼 의존부만을 변경하는 것은 인터프리터(106)가 메일메세지(151)에 첨부되어 있는 스크립트를 실행하도록 한다.
도 34는 예를 들면, Bluetooth에 의거한 통신에 의해 스크립트 자신을 전송하는 것과 같이 스크립트 전송매체가 변경되었을 때 인터프리터(106)의 구성의 변경을 나타낸다.
스크립트 전송매체를 변경한 후의 스크립트 처리부(601)는 플랫폼 의존부(561), 스크립트 실행부(562) 및 변환부(611)로 구성되어 있다.
송수신 프로그램(602)은 Bluetooth등에 의거한 통신을 실행하는 통신부(603)로 하여금 스크립트나 데이터를 송신하거나 수신하도록 한는 프로그램이다. 송수신 프로그램(602)은 통신부(603)에 의해 수신된 스크립트나 데이터를 취득하고, 그 스크립트나 데이터를 플랫폼 의존부(561)의 변환부(611)에 공급한다.
게다가, 송수신 프로그램(602)은 통신부(603)로 하여금 변환부(611)로부터 공급된 스크립트나 데이터를 송신하도록 한다.
변환부(611)는 송수신 프로그램(602)으로부터 공급된 스크립트에 소정의 문자열을 변환하고, 그 변환된 스크립트를 스크립트 실행부(562)에 공급한다. 또한, 변환부(611)는 스크립트 실행부(562)로부터 공급된 스크립트나 데이터를 변환하고, 그 변환된 스크립트나 데이터를 송수신 프로그램(602)에 공급한다.
스크립트 실행부(562)는 변환부(611)로부터 공급된 스크립트를 실행한다.
따라서, 스크립트 전송매체를 변경하더라도, 전송 의존부만을 변경하는 것은 인터프리터(106)가 전송 의존부 전체를 변경하지 않고 스크립트를 실행하도록 한 다.
이하에 도 35 내지 도 37에 나타낸 플로차트를 참조하여, 도 30에 그 구성을 나타낸 인터프리터(106)에 의한 전자메일에 첨부된 스크립트의 실행을 설명한다.
스텝(S501)에서, 메일송수신 프로그램(104)은 스크립트를 갖는 메일메세지(151)가 표시될 것인지 아닌지를 판정한다. 스크립트를 갖는 메일메세지(151)가 표시되지 않는다고 판정되면, 그 절차는 스텝(S501)으로 되돌아가서 판정처리를 반복한다.
스텝(S501)에서, 스크립트를 갖는 메일메세지(151)가 표시될 것이라고 판정되면, 그 후, 스텝(S502)에서 메일송수신 프로그램(104)은 열고자 하는 메일메세지(151)를 메일송수신 프로그램 플러그-인 인터페이스(501)를 거쳐서 메일구문분석부(502)에 공급한다.
스텝(S503)에서, 메일구문분석부(502)는 메일송수신 프로그램(104)으로부터 취득한 메일메세지(151)로부터 스크립트 실행에 필요한 스크립트나 데이터를 추출한다. 스크립트 실행에 필요한 데이터는, 예를 들면, 스크립트 실행이 중단될 때 스크립트 실행상태를 나타내는 프로그램 카운터값이나 스택 포인터값에 대응하는 데이터, 오델로게임 피스배치를 나타내는 데이터, 애니메이션을 그리는 데이터, 프로그램을 갱신하는 데이터 또는 전자메일 회람상태를 나타내는 데이터이다.
메일구문분석부(502)는 추출한 스크립트나 스크립트 실행에 필요한 데이터를 디코더(503)에 공급한다.
스텝(S504)에서, 디코더(503)는 메일구문분석부(502)로부터 공급된 스크립트 실행에 필요한 데이터를, 예를 들면, Base64에 의해 복호한다.
스텝(S505)에서, 디코더(503)는 스크립트를 인터페이스(504)를 거쳐서 구문분석부(505)에 공급한다.
스텝(S506)에서, 디코더(503)는 스크립트 실행에 필요한 데이터를 인터페이스(504)를 거쳐서 스크립트 인터프리터(506)에 공급한다.
스텝(S507)에서, 구문분석부(505)는 디코더(503)로부터 공급된 스크립트의 소정의 문자열을 스크립트 인터프리터(506)에 의해 해석될 수 있는 중간코드로 치환한다. 구문분석부(505)는 중간코드로 치환된 소정의 문자열을 가진 스크립트를 스크립트 인터프리터(506)에 공급한다.
스텝(S508)에서, 스크립트 인터프리터(506)는 스크립트를 인증암호화부(507)에 공급하여 인증암호화부(507)로 하여금 스크립트의 정당성을 확인하도록 한다. 인증암호화부(507)는 스크립트 인터프리터(506)로부터 공급된 스크립트로부터 인증데이터를 추출하고 그 스크립트에 헤쉬함수를 적용하여 헤쉬값을 생성한다. 인증암호화부(507)는 추출한 인증데이터와 생성된 헤쉬값간의 매치에 의거하여 스크립트의 정당성을 판정한다.
인증암호화부(507)는 스크립트의 정당성이나 비정당성을 나타내는 데이터를 스크립트 인터프리터(506)에 공급한다.
스텝(S509)에서, 스크립트 인터프리터(506)는 인증암호화부(507)로부터 공급된 데이터에 의거하여 스크립트가 정당한지 여부를 판정한다. 스크립트가 정당하지않다고 판정되면, 스크립트가 수정된 것을 나타내어 스크립트를 실행하지 않고 처리는 종료된다.
스텝(S509)에서, 스크립트가 정당하다고 판정되면, 그 후, 스크립트 인터프리터(506)는 스텝(S510)에서 스크립트를 실행한다.
스텝(S511)에서, 스크립트 인터프리터(506)는 스크립트를 실행함으로써 입출력, 정보기억이나 검색, 또는 외부 애플리케이션 프로그램의 액세스가 요구되었는지를 판정한다. 그것들이 요구되었다고 판정되면, 그 후, 스텝(S512)에서, 스크립트 인터프리터(506)는 리소스 액세스 메니져(508)로 하여금 요구된 입출력 동작, 정보기억이나 검색 또는 외부 애플리케이션 프로그램의 액세스를 실행하도록 한다.
스텝(S513)에서, 리소스 액세스 메니져(508)는 입출력 동작이 요구되었는지를 판정한다. 입출력 동작이 요구되었다고 판정되면, 그 후, 스텝(S514)에서, 리소스 액세스 메니져(508)는 I/O모듈(510)로 하여금 사용자에게 입출력 동작을 실행하는지의 여부를 입력할 것을 촉구하는 다이알로그 박스를 표시부(21)에 표시함으로써 사용자 입력조작에 의거하여 입출력동작을 실행하는지의 여부를 판정한다.
스텝(S514)에서 입출력 동작이 실행된다고 판정되면, 그 후 리소스 액세스 메니져(508)는 I/O모듈(510)로 하여금 스텝(S515)에서 화상을 표시하는 것과 같은 입출력 처리를 실행하도록 하고, 순서는 스텝(S516)으로 진행한다.
스텝(S513)에서 입출력 동작이 요구되지 않았다고 판정되면, 입출력 처리가 요구되지 않았음을 나타내어 스텝(S514 및 S515)의 처리를 건너뛰고, 순서는 스텝(S516)으로 진행한다.
스텝(S514)에서, 입출력 동작이 실행되지 않을 거라고 판정되면, 입출력 동 작이 실행되지 말아야 함을 나타내어 스텝(S515)의 처리를 건너뛰고 순서는 스텝(S516)으로 진행한다.
스텝(S516)에서, 리소스 액세스 메니져(508)는 정보기억이나 검색이 요구되었는지의 여부를 판정한다. 정보기억이나 검색이 요구되었다고 판정되면, 그 후, 스텝(S517)에서, 리소스 액세스 메니져(508)는 I/O모듈(510)로 하여금 사용자에게 정보기억이나 검색을 실행하는지의 여부를 입력할 것을 촉구하는 다이알로그 박스를 표시부(21)에 표시함으로써, 사용자 입력조작에 의거하여 정보기억이나 검색을 실행하는지의 여부를 판정한다.
정보기억이나 검색이 스텝(S517)에서 실행된다고 판정되면, 그 후 리소스 액세스 메니져(508)는 기억모듈(511)로 하여금 스텝(S518)에서, 예를 들면, flash ROM(33)에 정보기억이나 검색을 실행하도록 하고, 순서는 스텝(S519)으로 진행한다.
스텝(S516)에서 정보기억이나 검색이 요구되지 않는다고 판정되면, 정보기억이나 검색처리가 요구되지 않음을 나타냄으로써, 스텝(S517 및 S518)의 처리는 건너뛰고, 순서는 스텝(S519)으로 진행한다.
스텝(S517)에서 정보기억이나 검색이 실행되지 않는다고 판정되면, 정보기억이나 검색처리가 실행되지 않음을 나타냄으로써, 스텝(S518)의 처리는 건너뛰고, 순서는 스텝(S519)으로 진행한다.
스텝(S519)에서, 리소스 액세스 메니져(508)는 스케쥴노트 프로그램(512), 주소록 프로그램(513), 메모장 프로그램(514), TODO장 프로그램(515) 또는 애플리 케이션 프로그램(516)이 요구되었는지 여부를 판정한다. 이들 외부 애플리케이션 프로그램 중 어느 것에 액세스가 요구된다고 판정되면, 그 후, 스텝(S520)에서, 리소스 액세스 메니져(508)는 I/O모듈(510)로 하여금 사용자가 어느 외부 애플리케이션 프로그램에 액세스를 실행하는지의 여부를 입력하게 하는 다이알로그 박스를 표시부(21)에 표시하도록 함으로써, 사용자의 입력조작에 의거하여 어떤 외부 애플리케이션 프로그램을 실행하는지의 여부를 판정한다.
스텝(S520)에서 외부 애플리케이션 프로그램에 액세스가 실행된다고 판정되면, 그 후 리소스 액세스 메니져(508)는 스텝(S521)에서 지정된 외부 애플리케이션 프로그램을 액세스하고, 스텝(S522)으로 진행한다.
스텝(S519)에서 외부 애플리케이션 프로그램에 액세스가 요구되지 않는다고 판정되면, 외부 애플리케이션 프로그램을 액세스하는 처리가 요구되지 않음을 나타냄으로써, 스텝(S520 및 S521)의 처리를 건너뛰고, 스텝(S522)으로 진행한다.
스텝(S520)에서 외부 애플리케이션 프로그램에 액세스가 실행되지 않는다고 판정되면, 외부 애플리케이션 프로그램을 액세스하는 처리가 실행되지 않음을 나타냄으로써, 스텝(S521)의 처리를 건너뛰고, 스텝(S522)으로 진행한다.
스텝(S522)에서, 리소스 액세스 메니져(508)는 입출력 동작, 정보기억이나 검색 또는 외부 애플리케이션 프로그램에의 액세스의 결과를 스크립트 인터프리터(506)에 공급한다.
스텝(S523)에서, 스크립트 인터프리터(506)는 사용자 조작이나 스크립트 기술에 의거하여 스크립트 실행결과를 전자메일로 송신하는지 여부를 판정한다. 스크립트 실행결과가 송신된다면, 그 후, 스텝(S524)에서, 스크립트 인터프리터(506)는 데이터 구성부(517)에, 소정의 형식으로 형성되어야 하는 데이터를 나타내는 스크립트 실행상태와 같이 전자메일에 첨부된 데이터를 공급한다.
스텝(S525)에서, 데이터 구성부(517)는 스크립트 인터프리터(506)로부터 공급된 데이터를 소정의 형식으로 형성한다. 데이터 구성부(517)는 형성한 데이터를 인터페이스(504)를 거쳐서 엔코더(518)에 공급한다.
스텝(S526)에서, 스크립터 인터프리터(506)는 전자메일에 첨부될 스크립트나 데이터를 인터페이스(504)를 거쳐서 엔코더(518)에 공급한다. 스크립트 인터프리터(506)에 의해 엔코더(518)에 공급될 데이터는 데이터 구성부(517)로 형성할 필요가 없다.
스텝(S527)에서, 엔코더(518)는 데이터 구성부(517)로부터 공급된 데이터나 스크립트 인터프리터(506)로부터 공급된 데이터를, 예를 들면, Base64에 의해 부호화한다. 엔코더(518)는 부호화된 데이터나 스크립트를 메일생성부(519)에 공급한다.
스텝(S528)에서, 메일생성부(519)는 엔코더(518)로부터 공급된 스크립트나 데이터에 의거하여 스크립트나 데이터를 첨부한 메일메세지(151)를 생성한다. 메일생성부(519)는 생성한 메일메세지(151)를 메일송수신 프로그램 플러그-인 인터페이스(501)를 거쳐서 메일송수신 프로그램(104)으로 공급한다.
스텝(S529)에서, 메일송수신 프로그램(104)은 메일생성부(519)로부터 공급된 메일메세지(151)를 송신하고, 처리는 종료된다.
스텝(S511)에서, 입출력 동작, 정보기억이나 검색 또는 외부 애플리케이션 프로그램에의 액세스가 요구되지 않는다고 판정되면, 입출력 동작, 정보기억이나 검색 또는 외부 애플리케이션 프로그램에의 액세스의 실행이 요구되지 않는 것을 나타내어, 스텝(S512 내지 S522)의 처리를 건너뛰고 스텝(S523)으로 진행하며, 스크립트 인터프리터는 스크립트 실행결과를 전자메일로 송신하는지 여부를 판정한다.
스텝(S523)에서, 스크립트 실행결과가 송신되지 않는다고 판정되면, 전자메일을 송신하는 처리가 요구되지 않음을 나타내어, 스텝(S524 내지 S529)의 처리를 건너뛰고, 처리는 종료된다.
따라서, 도 30에 그 구성을 나타낸 인터프리터는 스크립트가 첨부된 메일메세지(151)를 표시할 때, 메일메세지(151)로부터 스크립트를 추출하고, 그 추출한 스크립트를 실행한다.
도 30에 그 구성을 나타낸 인터프리터(106)는, 메일메세지(151)에 첨부된 스크립트의 실행에 의해 입출력 동작, 정보기억이나 검색 또는 외부 애플리케이션 프로그램에의 액세스가 요구될 때, 그 요구된 입출력 동작, 정보기억이나 검색 또는 외부 애플리케이션 프로그램에의 액세스를 실행할 수 있다.
도 30에 그 구성을 나타낸 인터프리터(106)는, 전자메일로 스크립트 실행결과를 송신하는 것이 요구될 때, 스크립트 실행결과에 따라서 스크립트나 데이터가 첨부된 메일메세지(151)를 송신할 수 있다.
이하 도 38 내지 도 40에 나타낸 플로차트를 참조하여 도 30에 그 구성을 나 타낸 인터프리터(106)에 의해 스크립트 데이터베이스(521)에 기억되어 있는 스크립트를 실행하는 처리를 설명한다.
스텝(S601)에서, 스크립트 런쳐(520)는 터치패드로부터의 입력에 의거하여, 스크립트 데이터베이스(521)에 기억되어 있는, 예를 들면, 오델로게임 스크립트(531), 회람메일 스크립트(532), 자동삭제메일 스크립트(533), 애니메이션메일 스크립트(534) 및 갱신메일 스크립트(535) 중의 하나를 선택하고, 그 선택한 스크립트를 인터페이스(504)를 거쳐서 구문분석부(505)에 공급한다.
스텝(S602 내지 S624)의 처리는 스텝(S507 내지 S529)의 처리와 동일하므로 그 설명은 생략한다.
따라서, 도 30에 그 구성을 나타낸 인터프리터(106)는 스크립트 데이터베이스에 기억되어 있는 선택된 스크립트를 실행할 수 있다.
도 30에 그 구성을 나타낸 인터프리터(106)는, 기억되어 있는 스크립트의 실행에 의해 입출력 동작, 정보기억이나 검색 또는 외부 애플리케이션 프로그램의 액세스가 요구될 때, 그 요구되는 입출력 동작, 정보기억이나 검색 또는 외부 애플리케이션 프로그램의 액세스를 실행할 수 있다.
도 30에 그 구성을 나타낸 인터프리터(106)는, 스크립트 데이터베이스에 기억되어 있는 선택된 스크립트를 실행함으로써, 스크립트나 데이터가 첨부되어 있는 메일메세지(151)를 송신할 수 있다.
상술한 일련의 처리는 하드웨어나 소프트웨어에 의해 실행될 수 있다. 소프트웨어에 의한 실행은 그 소프트웨어를 구성하는 프로그램이 전용하드웨어장치에 미리 설치되어 있는 컴퓨터나 이들 프로그램이 기록매체로부터 인스톨되는 각종 기능을 실행할 수 있는, 예를 들면, 범용 퍼스널컴퓨터에 의해 지지된다.
기록매체는 도 5에 나타낸 자기디스크(61)(플로피디스크를 포함), 광디스크(62)(CD-ROM(Compact Disc-Read Only Memory)과 DVD(Digital Versatile Disc)를 포함), 광자기디스크(63)(MD(Mini Disk)) 또는 반도체메모리(64)로 구성된 패키지 매체나 프로그램이 일시적으로 또는 영구적으로 격납되어 있는 flash ROM(33)이나 하드디스크일 수도 있다. 이들 기록매체로의 프로그램의 기억은 필요한 루터(router)나 모뎀과 같은 인터페이스를 거쳐서 공중회선망(202), 근거리통신망, 인터넷(4) 또는 디지털 위성방송과 같은 유선이나 무선통신매체의 사용에 의해 실행된다.
프로그램 기억매체에 기억되어 있는 프로그램을 기술하는 단계는 기술한 순서로 시계열적으로 실행될 뿐만 아니라 병렬적으로 또는 개별적으로 실행된다.
여기에 사용된 "시스템"이라는 용어는 복수의 구성성분장치로 구성된 정치 전체를 나타낸다.
특정한 용어를 사용하여 본 발명의 바람직한 실시예를 기술하였으나, 그러한 기술은 단지 설명하기 위해서 행해진 것이고, 이하의 청구항의 진의와 범위로부터 벗어나지 않게 다양하게 변화시킬 수 있다.
본 발명의 수신장치와 방법 및 제 1기록매체에 의하면, 메일의 개봉 지시와 연동하여 메일에 첨부파일로서 첨부된 스크립트가 추출되고, 추출된 스크립트의 구문분석이 실행되고, 스크립트에 첨부하는 데이터나 각종 입력이벤트에 따른 처리가 실행되고, 그 처리결과의 출력이 제어되도록 함으로써, 신속하고 확실하게 메일 송신자가 수신자로 하여금 그가 원하는 행동을 실행하도록 할 수 있게 된다.
본 발명의 송신장치와 방법 및 제 2기록매체에 의하면, 제 1스크립트의 실행에 의해, 메일에 격납하는 제 2스크립트가 생성되고, 메일에 제 2스크립트가 격납되고, 제 2스크립트가 격납된 메일의 송신이 제어되도록 함으로써, 신속하고 확실하게 메일 송신자가 수신자로 하여금 원하는 행동을 실행하도록 할 수 있게 된다.
본 발명의 통신시스템에 의하면, 제 1스크립트의 실행에 의해, 메일에 격납되는 제 2스크립트가 생성되고, 메일에 제 2스크립트가 격납되고, 제 2스크립트가 격납된 메일의 송신이 제어되고, 메일의 개봉 지시와 연동하여 제 2스크립트가 추출되고, 추출된 제 2스크립트의 구문분석이 실행되고, 제 2스크립트에 첨부하는 데이터나 각종 입력이벤트에 따른 처리가 실행되고, 그 처리결과의 출력이 제어되도록 함으로써, 신속하고 확실하게 메일 송신자가 수신자로 하여금 원하는 행동을 실행하도록 할 수 있게 된다.

Claims (10)

  1. 메일을 수신하는 수신장치에 있어서,
    상기 메일의 개봉 지시와 연동하여 첨부파일로서 상기 메일에 첨부된 스크립트와 데이터를 추출하는 추출수단과,
    추출된 상기 스크립트의 구문분석을 실행하는 실행수단과,
    상기 스크립트에 첨부되는 상기 데이터에 대응하는 처리나 입력이벤트에 대응하는 처리를 실행하고 상기 처리결과의 출력을 제어하는 출력제어수단을 포함하여 구성되고,
    상기 데이터는 상기 처리가 실시되는 특정점에 대한 상태정보이며,
    상기 출력제어수단은 상기 스크립트의 실행에 따라서 상기 메일에 대응하는 회신메일을 송신하는 것을 특징으로 하는 수신장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 메일을 송신하는 송신장치에 있어서,
    제 1스크립트를 실행함으로써 상기 메일에 격납되는 제 2스크립트 및 상기 송신장치에 의해 실행되는 처리의 특정점에 대한 상태정보를 생성하는 생성수단과,
    상기 메일에 상기 제 2스크립트 및 상기 데이터를 격납하는 격납수단(storage means)과,
    상기 제 2스크립트 및 상기 데이터를 격납하는 메일의 송신을 제어하는 송신제어수단을 포함하여 구성되는 것을 특징으로 하는 송신장치.
  7. 삭제
  8. 메일을 송신하는 송신장치의 송신방법에 있어서,
    제 1스크립트를 실행함으로써 상기 메일에 격납되는 제 2스크립트 및 송신장치에 의해 실시되는 처리의 특정점에 대한 상태 정보를 생성하는 단계와,
    상기 메일에 상기 제 2스크립트 및 상기 데이터를 격납하는 단계와,
    상기 제 2스크립트 및 상기 데이터를 격납하는 상기 메일의 송신을 제어하는 단계를 포함하여 구성되는 것을 특징으로 하는 송신방법.
  9. 메일 송신처리용 컴퓨터독출가능한 프로그램을 기억하고 있는 기록매체에 있어서,
    제 1스크립트를 실행함으로써 상기 메일에 격납되는 제 2스크립트 및 송신장치에 의해 실시되는 처리의 특정점에 대한 상태 정보를 생성하는 단계와,
    상기 메일에 상기 제 2스크립트 및 상기 데이터를 격납하는 단계와,
    상기 제 2스크립트 및 상기 데이터를 격납하는 상기 메일의 송신을 제어하는 단계를 포함하여 구성되는 것을 특징으로 하는 프로그램인 메일송신처리용 컴퓨터 독출가능한 프로그램을 기억하는 기록매체.
  10. 메일을 송신하는 송신장치와 상기 메일을 수신하는 수신장치를 갖는 통신시스템에 있어서,
    상기 송신장치는,
    제 1스크립트를 실행함으로써 상기 메일에 격납되는 제 2스크립트 및 상기 송신장치에 의해 실행되는 처리의 특정점에 대한 상태정보를 생성하는 생성수단과,
    상기 메일에 상기 제 2스크립트 및 상기 데이터를 격납하는 격납수단과,
    상기 제 2스크립트 및 상기 데이터를 격납하는 상기 메일의 송신을 제어하는 송신제어수단을 포함하여 구성되고,
    상기 수신장치는,
    상기 메일의 개봉 지시와 연동하여 상기 제 2스크립트 및 상기 데이터를 추출하는 추출수단과,
    추출된 상기 제 2스크립트의 구문분석을 실행하는 실행수단과,
    상기 제 2스크립트에 첨부되는 상기 데이터나 입력이벤트에 대응하는 처리를 실행하고 상기 처리결과의 출력을 제어하는 출력제어수단을 포함하여 구성되며,
    상기 데이터는 상기 처리가 실시되는 특정점에 대한 상태정보인 것을 특징으로 하는 통신시스템.
KR1020010050436A 2000-08-24 2001-08-21 수신장치와 방법, 송신장치와 방법, 기록매체 및 통신시스템 KR100848947B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00253333 2000-08-24
JP2000253333 2000-08-24
JPJP-P-2001-00096789 2001-03-29
JP2001096789A JP4595228B2 (ja) 2000-08-24 2001-03-29 受信装置および方法、送信装置および方法、記録媒体、並びに通信システム

Publications (2)

Publication Number Publication Date
KR20020016524A KR20020016524A (ko) 2002-03-04
KR100848947B1 true KR100848947B1 (ko) 2008-07-29

Family

ID=26598349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010050436A KR100848947B1 (ko) 2000-08-24 2001-08-21 수신장치와 방법, 송신장치와 방법, 기록매체 및 통신시스템

Country Status (6)

Country Link
US (1) US7016940B2 (ko)
EP (1) EP1182834B1 (ko)
JP (1) JP4595228B2 (ko)
KR (1) KR100848947B1 (ko)
CN (1) CN1223157C (ko)
DE (1) DE60120855T2 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002073421A1 (fr) * 2001-03-08 2002-09-19 Fujitsu Limited Dispositif de gestion de courrier electronique, serveur de courrier, procede de transfert de courrier, et support correspondant
EP1296275A3 (en) * 2001-08-15 2004-04-07 Mail Morph Limited A system and method for the analysis of email traffic
US20030185302A1 (en) * 2002-04-02 2003-10-02 Abrams Thomas Algie Camera and/or camera converter
JP4222774B2 (ja) * 2002-05-20 2009-02-12 株式会社エヌ・ティ・ティ・ドコモ 携帯端末およびプログラムの起動方法
JP3987025B2 (ja) * 2002-12-12 2007-10-03 シャープ株式会社 マルチメディアデータ処理装置およびマルチメディアデータ処理プログラム
JP4590835B2 (ja) * 2003-07-11 2010-12-01 ソニー株式会社 情報処理装置および情報処理方法、情報処理システム、記憶媒体、並びに、プログラム
JP3719607B2 (ja) * 2003-08-25 2005-11-24 任天堂株式会社 ゲーム装置およびゲームプログラム
US7707218B2 (en) * 2004-04-16 2010-04-27 Mobot, Inc. Mobile query system and method based on visual cues
US20060033809A1 (en) * 2004-08-10 2006-02-16 Mr. Jim Robinson Picture transmission and display between wireless and wireline telephone systems
KR100631625B1 (ko) * 2005-02-15 2006-10-11 엘지전자 주식회사 수신 메세지의 이메일 전송 방법
KR100717405B1 (ko) * 2005-09-09 2007-05-11 삼성전자주식회사 생체 신호 측정기 및 이를 이용한 건강 관리 방법
US20070078859A1 (en) * 2005-10-03 2007-04-05 Steve Arnold Method, system, apparatus, and software product for an intelligent transfer log
US8320819B2 (en) 2005-11-01 2012-11-27 Nokia Corporation Mobile TV channel and service access filtering
US8243731B2 (en) * 2006-08-07 2012-08-14 Qualcomm Incorporated Apparatus and methods for code-enhanced messaging
US8234641B2 (en) 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US8458695B2 (en) * 2006-10-17 2013-06-04 Manageiq, Inc. Automatic optimization for virtual systems
JP5096063B2 (ja) * 2007-07-30 2012-12-12 京セラ株式会社 受信装置
JP5430862B2 (ja) * 2008-02-20 2014-03-05 株式会社タイトー 素材画像配置サーバ、素材画像配置プログラム及びゲームシステム
JP5300438B2 (ja) * 2008-11-21 2013-09-25 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US8352401B2 (en) * 2009-04-08 2013-01-08 International Business Machines Corporation Incorporating representational authenticity into virtual world interactions
JP5499598B2 (ja) * 2009-09-28 2014-05-21 ブラザー工業株式会社 多機能機
JP5605836B2 (ja) * 2010-10-01 2014-10-15 埼玉日本電気株式会社 電話端末機能設定方法、電話端末および電話端末機能設定プログラム
US8745634B2 (en) * 2010-10-15 2014-06-03 Invensys Systems, Inc. System and method for integrated workflow scaling
CN102801644B (zh) * 2011-12-31 2015-01-21 华为数字技术(成都)有限公司 邮件行为阻断方法、装置及网关
US9384711B2 (en) 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
US9154456B2 (en) * 2012-04-17 2015-10-06 Trenda Innovations, Inc. Messaging system and method
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9230517B2 (en) * 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9286122B2 (en) 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US10360139B2 (en) 2013-03-12 2019-07-23 Entit Software Llc Identifying transport-level encoded payloads
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
CN112272135B (zh) * 2020-10-15 2022-05-27 苏州浪潮智能科技有限公司 一种存储软件的邮件发送方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990023580A (ko) * 1997-08-22 1999-03-25 포만 제프리 엘 전자 메일 또는 에이전트를 이용하여 클라이언트 상에서 gui를 작성하는 정보 처리 방법 및 정보 처리 장치, 정보 처리 장치를 제어하는 프로그램을 저장한 기억 매체
WO1999020014A2 (en) * 1997-10-14 1999-04-22 Maila Nordic Ab A system for transfer of data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992022033A1 (en) 1991-05-24 1992-12-10 Bell Communications Research, Inc. Active messaging system
JP3210265B2 (ja) * 1997-03-21 2001-09-17 シャープ株式会社 電子メール端末装置,電子メールシステム及び情報処理システム
US6179713B1 (en) * 1997-06-18 2001-01-30 Circadence Corporation Full-time turn based network multiplayer game
JPH11212891A (ja) * 1998-01-26 1999-08-06 Fuji Xerox Co Ltd プリンタおよびネットワークシステム
US6336216B1 (en) * 1998-12-10 2002-01-01 International Business Machines Corporation Objects oriented programming system with objects for storing compressed data files and self-extracting the data files
US6539396B1 (en) * 1999-08-31 2003-03-25 Accenture Llp Multi-object identifier system and method for information service pattern environment
JP2002292145A (ja) * 2001-03-29 2002-10-08 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990023580A (ko) * 1997-08-22 1999-03-25 포만 제프리 엘 전자 메일 또는 에이전트를 이용하여 클라이언트 상에서 gui를 작성하는 정보 처리 방법 및 정보 처리 장치, 정보 처리 장치를 제어하는 프로그램을 저장한 기억 매체
WO1999020014A2 (en) * 1997-10-14 1999-04-22 Maila Nordic Ab A system for transfer of data

Also Published As

Publication number Publication date
EP1182834A2 (en) 2002-02-27
KR20020016524A (ko) 2002-03-04
US7016940B2 (en) 2006-03-21
EP1182834B1 (en) 2006-06-21
CN1223157C (zh) 2005-10-12
EP1182834A3 (en) 2003-08-06
DE60120855T2 (de) 2007-01-18
DE60120855D1 (de) 2006-08-03
US20020049819A1 (en) 2002-04-25
CN1342013A (zh) 2002-03-27
JP4595228B2 (ja) 2010-12-08
JP2002140270A (ja) 2002-05-17

Similar Documents

Publication Publication Date Title
KR100848947B1 (ko) 수신장치와 방법, 송신장치와 방법, 기록매체 및 통신시스템
US6997809B2 (en) Method, system, and computer program product for playing a game over electronic mail
US7136900B2 (en) Information processing apparatus and method recording medium, and program
US20030014252A1 (en) Information processing apparatus, information processing method, recording medium, and program
US7020650B2 (en) Information processing system for e-mail, information processing method and program storage medium therefor
US20070143421A1 (en) System and method for reviewing attachment content on a mobile device
JP2009176118A (ja) 携帯情報端末および一時文字保存プログラム
JP2003022008A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP4656359B2 (ja) 送信装置および方法、記録媒体、プログラム、並びに通信システム
JP4590835B2 (ja) 情報処理装置および情報処理方法、情報処理システム、記憶媒体、並びに、プログラム
KR101147689B1 (ko) 컨텐츠 메시지를 송수신하기 위한 방법과 그를 위한시스템, 서버, 이동통신 단말기 및 컴퓨터로 읽을 수 있는기록매체
JP4581280B2 (ja) 受信装置および方法、送信装置および方法、通信システム、記録媒体、並びにプログラム
JP2002297515A (ja) 受信装置および方法、送信装置および方法、通信システム、記録媒体、並びにプログラム
JP2002297513A (ja) 受信装置および方法、送信装置および方法、記録媒体、プログラム、通信システム、並びにプログラム生成方法
JP2002297489A (ja) 情報提供装置および方法、情報処理装置および方法、情報処理システム、記録媒体、並びにプログラム
JP2002366492A (ja) 送信装置および方法、受信装置および方法、通信システム、記録媒体、並びにプログラム
JP2004005759A (ja) 電子機器、通信方法、記録媒体、プログラム、および通信システム
JP2002297520A (ja) 受信装置および方法、送信装置および方法、記録媒体、プログラム、並びに通信システム
JP2002297509A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2002297406A (ja) 送信装置および方法、受信装置および方法、通信システム、記録媒体、並びにプログラム
JP2002132680A (ja) 受信装置および方法、送信装置および方法、通信システム、並びにプログラム格納媒体
JP2002297512A (ja) 受信装置および方法、送信装置および方法、通信システム、記録媒体、並びにプログラム
JP2002297400A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2002297519A (ja) 受信装置および方法、送信装置および方法、記録媒体、プログラム、並びに通信システム
JPH1027141A (ja) 電子メールシステム

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120713

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee