KR100884651B1 - 정보처리장치, 정보처리방법, 정보교환방법,기록매체와,프로그램 - Google Patents

정보처리장치, 정보처리방법, 정보교환방법,기록매체와,프로그램 Download PDF

Info

Publication number
KR100884651B1
KR100884651B1 KR1020020013355A KR20020013355A KR100884651B1 KR 100884651 B1 KR100884651 B1 KR 100884651B1 KR 1020020013355 A KR1020020013355 A KR 1020020013355A KR 20020013355 A KR20020013355 A KR 20020013355A KR 100884651 B1 KR100884651 B1 KR 100884651B1
Authority
KR
South Korea
Prior art keywords
function
information
module
function module
processing apparatus
Prior art date
Application number
KR1020020013355A
Other languages
English (en)
Other versions
KR20020073390A (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 KR20020073390A publication Critical patent/KR20020073390A/ko
Application granted granted Critical
Publication of KR100884651B1 publication Critical patent/KR100884651B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)

Abstract

제 1의 PC와 제 2의 PC가 피어 투 피어(peer-to-peer)통신을 수행하며, 제 1의 PC는 제 2의 PC가 가지지 않는 추가 기능모듈을 가지고, 제 1의 PC와 제 2의 PC는 추가기능모듈에 근거하여 피어 투 피어 통신을 수행한다. 따라서, 기능모듈의 기능들은 모든 통신단자들이 기능모듈을 가지지 않고 있더라도 통신을 위해 이용될 수 있다.

Description

정보처리장치, 정보처리방법, 정보교환방법, 기록매체와, 프로그램{Information processing apparatus, information processing method, information exchanging method, recording medium, and program}
도 1은 본 발명의 제 1실시예로 도시된 통신시스템의 개략구성도이다.
도 2는 피어 투 피어 통신을 기술하는 도면이다.
도 3은 PC(Personal Computer)(1-1)의 외부의 구성예를 도시한 도면이다.
도 4는 PC(1-1)의 외부의 구성예를 도시한 다른 도면이다.
도 5는 PC(1-1)의 외부의 구성예를 도시한 또 다른 도면이다.
도 6은 PC(1-1)의 외부의 구성예를 도시한 또 다른 도면이다.
도 7은 PC(1-1)의 내부의 구성예를 도시한 블록도이다.
도 8은 피어 투 피어 통신을 위한 통신연결을 설정하기 위한, PC(1-1)의 동작을 기술하는 흐름도이다.
도 9는 PC(1-1)의 LCD(15)의 표시예를 도시한 도면이다.
도 10은 첨부된 IP어드레스 파일을 가지는 e-mail의 내용을 도시한 도면이다.
도 11은 피어 투 피어 통신을 위한 통신연결을 설정하기 위한 PC(1-2)의 동작을 기술하는 흐름도이다.
도 12는 추가기능모듈을 이용하는 통신의 경우의 처리절차를 도시한 흐름도이다.
도 13은 PC(1-1)의 LCD(15)의 다른 표시예를 도시한 도면이다.
도 14는 PC(1-2)의 표시부 상의 표시예를 도시한 도면이다.
도 15는 도 12의 단계(S33)의 상세부분을 도시한 흐름도이다.
도 16은 가위바위보 게임 추가기능모듈의 초기상태로 표시된 GUI를 도시한 흐름도이다.
도 17은 도 12의 단계(S36)의 처리에 관한 상세부분을 도시한 흐름도이다.
도 18은 PC(1-1)의 LCD(15)의 다른 표시예를 도시한 도면이다.
도 19는 도 12의 단계(S37)의 처리에 관한 상세부분을 도시한 흐름도이다.
도 20은 PC(1-1)의 LCD(15)의 다른 표시예를 도시한 도면이다.
도 21은 PC(1-2)의 표시부 상의 다른 표시예를 도시한 도면이다.
도 22는 PC(1-2)의 표시부 상의 다른 표시예를 도시한 도면이다.
도 23은 PC(1-1)의 LCD(15) 상의 다른 표시예를 도시한 도면이다.
도 24는 PC(1-2)의 표시부 상의 다른 표시예를 도시한 도면이다.
도 25는 본 발명의 제 2실시예로 도시된 통신시스템의 전체 기본구성을 도시한 개략도이다.
도 26은 통신시스템에 이용되는 컴퓨터 장치의 구성을 도시한 기능블록도이다.
도 27은 컴퓨터의 처리를 위해 실행되는 통신 프로그램의 모듈구조를 도시한 모델 도면이다.
도 28은 통신 프로그램을 구성하는 응용모듈이 통신 프로그램에 의해 교환되는 데이터에 의해 구동되는 경우를 기술하는 모델 도면이다.
도 29는 통신 프로그램을 위해 이용되는 연결설정정보의 데이터의 구조를 도시한 모델 도면이다.
도 30은 실행되는 통신 프로그램에 의한 처리의 전체 흐름을 도시한 흐름도이다.
도 31은 실행되는 통신 프로그램에 의한 처리의 전체 흐름을 도시한 다른 흐름도이다.
도 32는 통신 프로그램과 함께 이용되는 기능모듈의 데이터 구조를 도시한 모델 도면이다.
도 33은 통신 프로그램내에서 구동되는 서버모듈에 의한 처리의 흐름을 도시한 흐름도이다.
도 34는 통신 프로그램내에서 구동되는 서버모듈에 의한 처리의 흐름을 도시한 다른 흐름도이다.
도 35는 통신 프로그램내에서 구동되는 서버모듈에 의해 이용되는 사용자 리스트의 데이터 구조를 도시한 도면이다.
도 36은 실행되는 통신 프로그램에 의해 컴퓨터 장치의 화면상에 표시되는 사용자 정보설정 윈도우의 보기를 도시한 모델 도면이다.
도 37은 실행되는 통신 프로그램에 의해 컴퓨터 장치의 화면상에 표시되는 기본표시 윈도우의 보기를 도시한 모델 도면이다.
도 38은 실행되는 통신 프로그램에 의해 컴퓨터 장치의 화면상에 표시되는 감소된 표시 윈도우의 보기를 도시한 모델 도면이다.
도 39는 실행되는 통신 프로그램에 의해 컴퓨터 장치의 화면상에 표시되는 e-mail 윈도우의 보기를 도시한 모델 도면이다.
도 40은 클라이언트가 통신 프로그램에 연결되어 있고, 클라이언트에 대응하는 영상이 기본표시 윈도우내에 표시되는 보기를 도시한 모델 도면이다.
도 41은 통신 프로그램에서, 사용자측으로부터 텍스트 데이터가 전달되는 경우의 기본표시 윈도우를 도시한 모델도면이다.
도 42는 통신 프로그램에서, 클라이언트측으로부터 전달된 텍스트 데이터가 표시되는 경우의 기본표시 윈도우를 도시한 모델도면이다.
도 43은 실행되는 통신 프로그램에 의해 컴퓨터 장치의 화면상에 표시되는 도구표시 윈도우의 보기를 도시한 모델 도면이다.
도 44는 실행되는 통신 프로그램에 의해 컴퓨터 장치의 화면상에 표시되는 감정표현 윈도우의 보기를 도시한 모델 도면이다.
도 45는 통신 프로그램에 의해 기능모듈을 교환하는 경우를 기술하는 모델 도면이다.
도 46은 기능모듈이 통신 프로그램에 의해 교환되어지는 상태를 기술하는 모델 도면이다.
도 47은 통신 프로그램에 의해 기능모듈을 교환하는 경우를 설명하는 흐름도 이다.
도 48은 통신 프로그램에 의해 기능모듈을 교환함으로써 컴퓨터 장치의 화면상에 표시되는 시험-이용 확인 윈도우(test-use confirmation window)의 보기를 도시한 모델 도면이다.
도 49는 통신 프로그램을 가지는 이용가능한 기능모듈을 선택하는 처리를 도시한 흐름도이다.
도 50은 통신 프로그램을 가지는 다른 사용자로부터 제공되는 기능들을 선택하는 버튼이 표시되는 상태에서 기본표시 윈도우의 보기를 도시한 모델 도면이다.
도 51은 통신 프로그램을 가지는 다른 사용자로부터 제공되는 기능을 이용하는 경우에 수행되는 처리를 판단하는 흐름도이다.
*도면의 주요부분에 대한 부호설명
1 : PC
3 : 인터넷
15 : LCD
17 : 전원 스위치
53 : 브릿지
본 발명은 정보처리장치, 정보처리방법, 정보교환방법, 기록매체 및 프로그램에 관한 것이며, 특히 통신연결설정을 위해 필요한 정보가 간단한 절차에 의해 얻어질 수 있는 정보처리장치, 정보처리방법, 정보교환방법, 기록매체 및 프로그램에 관한 것이다.
그러나, 통신이 통신 프로그램상에서 실행되는 소정의 기능들을 이용하여 시도되는 경우에, 서로 통신하는 모든 단자들은 그 기능들을 수행하기 위한 모듈을 가지는 것이 필요했다. 즉, 그 모듈을 가지지 않는 단자는 그것과 통신하는 단자가 그 모듈을 가지고 있는 경우라도, 그 기능을 이용하여 통신할 수가 없다.
본 발명은 이와 같은 점을 감안하여 이루어진 것이며, 본 발명의 목적은 모든 단자들이 기능모듈을 가지지 않는 경우라도, 기능모듈의 기능들을 이용하여 서로 통신하는 모든 단자들을 구동시켜 통신하도록 하는 것이다.
이러한 목적을 위해, 본 발명의 제 1의 형태에 따르면, 정보처리장치는 소정의 기능을 이용하는데 필요한 기능모듈을 보존하는 보존수단과,
상기 기능모듈을 다른 정보처리장치로 전달하는 제 1의 전달수단과,
상기 기능의 처리를 지정하는 지정수단과,
상기 기능모듈에 따라, 상기 지정수단에 의해 지정된 상기 처리를 실행하는 제 1의 실행수단과,
상기 다른 정보처리장치로부터 전달된 상기 기능모듈에 따라 상기 기능의 처리를 실행함으로써 상기 다른 정보처리장치에 의해 얻어진 정보와, 상기 기능의 식별정보를 수신하는 수신수단과,
상기 수신수단 의해 수신된 상기 기능모듈에 따라 상기 기능의 처리를 실행 하는 상기 다른 정보처리장치에 의해 얻어진 정보에 대응하여, 상기 수신수단에 의해 수신된 상기 식별정보에 의해 식별된 상기 기능의 처리를, 상기 기능모듈에 따라 실행하는 제 2의 실행수단과,
상기 제 1의 실행수단 또는 상기 제 2의 실행수단에 의해 상기 기능의 처리를 실행함으로써 얻어지는 정보와, 상기 식별정보를 상기 다른 정보처리장치로 전달하는 제 2의 전달수단을 구비한다.
본 발명의 제 2의 형태에 따르면, 정보처리방법은 소정의 기능을 이용하는데 필요한 기능모듈을 보존하는 보존단계와,
상기 기능모듈을 다른 정보처리장치로 전달하는 제 1의 전달단계와,
상기 기능의 처리를 지정하는 지정단계와,
상기 기능모듈에 따라, 상기 지정단계에서 지정된 상기 처리를 실행하는 제 1의 실행단계와,
상기 다른 정보처리장치로부터 전달된 상기 기능모듈에 따라 상기 기능의 처리를 실행함으로써 상기 다른 정보처리장치에 의해 얻어진 정보와, 상기 기능의 식별정보를 수신하는 수신단계와,
상기 수신단계에서 수신된 상기 기능모듈에 따라 상기 기능의 처리를 실행하는 상기 다른 정보처리장치에 의해 얻어진 정보에 대응하여, 상기 수신수단에 의해 수신된 상기 식별정보에 의해 식별된 상기 기능의 처리를, 상기 기능모듈에 따라 실행하는 제 2의 실행단계와,
상기 제 1의 실행단계 또는 상기 제 2의 실행단계에서 상기 기능의 처리를 실행함으로써 얻어지는 정보와, 상기 식별정보를 상기 다른 정보처리장치로 전달하는 제 2의 전달단계를 구비한다.
본 발명의 제 3의 형태에 따르면, 컴퓨터 독출가능 프로그램을 저장하는 기록매체에 있어서, 상기 프로그램은,
소정의 기능을 이용하는데 필요한 기능모듈을 보존하는 보존단계용 코드와,
상기 기능모듈을 다른 정보처리장치로 전달하는 제 1의 전달단계용 코드와,
상기 기능의 처리를 지정하는 지정단계용 코드와,
상기 기능모듈에 따라, 상기 지정단계에서 지정된 상기 처리를 실행하는 제 1의 실행단계용 코드와,
상기 다른 정보처리장치로부터 전달된 상기 기능모듈에 따라 상기 기능의 처리를 실행함으로써 상기 다른 정보처리장치에 의해 얻어진 정보와, 상기 기능의 식별정보를 수신하는 수신단계용 코드와,
상기 수신단계에서 수신된 상기 기능모듈에 따라 상기 기능의 처리를 실행하는 상기 다른 정보처리장치에 의해 얻어진 정보에 대응하여, 상기 수신수단에 의해 수신된 상기 식별정보에 의해 식별된 상기 기능의 처리를, 상기 기능모듈에 따라 실행하는 제 2의 실행단계용 코드와,
상기 제 1의 실행단계 또는 상기 제 2의 실행단계에서 상기 기능의 처리를 실행함으로써 얻어지는 정보와, 상기 식별정보를 상기 다른 정보처리장치로 전달하는 제 2의 전달단계용 코드를 구비한다.
본 발명의 제 4의 형태에 따르면, 컴퓨터로 하여금 처리를 실행시키는 프로그램에 있어서, 상기 처리는 최소한,
소정의 기능을 이용하는데 필요한 기능모듈을 보존하는 보존단계와,
상기 기능모듈을 다른 정보처리장치로 전달하는 제 1의 전달단계와,
상기 기능의 처리를 지정하는 지정단계와,
상기 기능모듈에 따라, 상기 지정단계에서 지정된 상기 처리를 실행하는 제 1의 실행단계와,
상기 다른 정보처리장치로부터 전달된 상기 기능모듈에 따라 상기 기능의 처리를 실행함으로써 상기 다른 정보처리장치에 의해 얻어진 정보와, 상기 기능의 식별정보를 수신하는 수신단계와,
상기 수신단계에서 수신된 상기 기능모듈에 따라 상기 기능의 처리를 실행하는 상기 다른 정보처리장치에 의해 얻어진 정보에 대응하여, 상기 수신수단에 의해 수신된 상기 식별정보에 의해 식별된 상기 기능의 처리를, 상기 기능모듈에 따라 실행하는 제 2의 실행단계와,
상기 제 1의 실행단계 또는 상기 제 2의 실행단계에서 상기 기능의 처리를 실행함으로써 얻어지는 정보와, 상기 식별정보를 상기 다른 정보처리장치로 전달하는 제 2의 전달단계를 구비한다.
상기한 바와 같이 구성된 본 발명에서 따르면, 소정의 기능을 이용하는데 필요한 기능모듈이 보존되고, 상기 기능모듈이 다른 정보처리장치로 전달되며, 상기 기능의 처리가 지정되고, 지정된 상기 처리가 기능모듈에 따라 실행되고, 다른 정보처리장치로부터 전달된 상기 기능모듈에 따라 상기 기능의 처리를 실행함으로써 상기 다른 정보처리장치에 의해 얻어진 정보와, 상기 기능의 식별정보가 수신되며, 상기 기능모듈에 따라 상기 기능의 처리를 실행하는 상기 다른 정보처리장치에 의해 얻어지는 수신된 정보에 대응하는 수신된 식별정보에 의해 식별된 상기 기능의 처리가 상기 기능모듈에 따라 실행되며, 상기 기능의 처리를 실행함으로써 얻어지는 정보와 상기 식별정보가 상기 다른 정보처리장치로 전달된다.
본 발명의 제 5의 형태에 따르면, 정보처리장치는 다른 정보처리장치로부터 전달되며, 소정의 기능을 이용하는데 필요한 기능모듈을 수신하는 제 1의 수신수단과,
상기 기능의 처리를 지정하는 지정수단과,
상기 기능모듈에 따라, 상기 지정수단에 의해 지정된 상기 처리를 실행하는 제 1의 실행수단과,
상기 다른 정보처리장치로부터 전달된 상기 기능모듈에 따라 상기 기능의 처리를 실행함으로써 상기 다른 정보처리장치에 의해 얻어진 정보와, 상기 기능의 식별정보를 수신하는 제 2의 수신수단과,
상기 제 2의 수신수단 의해 수신된 상기 기능모듈에 따라 상기 기능의 처리를 실행하는 상기 다른 정보처리장치에 의해 얻어진 정보에 대응하여, 상기 제 2의 수신수단에 의해 수신된 상기 식별정보에 의해 식별된 상기 기능의 처리를, 상기 기능모듈에 따라 실행하는 제 2의 실행수단과,
상기 제 1의 실행수단 또는 상기 제 2의 실행수단에 의해 상기 기능의 처리를 실행함으로써 얻어지는 정보와, 상기 식별정보를 상기 다른 정보처리장치로 전 달하는 전달수단을 구비한다.
본 발명의 제 6의 형태에 따르면,
정보처리방법은 다른 정보처리장치로부터 전달되며, 소정의 기능을 이용하는데 필요한 기능모듈을 수신하는 제 1의 수신단계와,
상기 기능의 처리를 지정하는 지정단계와,
상기 기능모듈에 따라, 상기 지정단계에 의해 지정된 상기 처리를 실행하는 제 1의 실행단계와,
상기 다른 정보처리장치로부터 전달된 상기 기능모듈에 따라 상기 기능의 처리를 실행함으로써 상기 다른 정보처리장치에 의해 얻어진 정보와, 상기 기능의 식별정보를 수신하는 제 2의 수신단계와,
상기 제 2의 수신단계에서 수신된 상기 기능모듈에 따라 상기 기능의 처리를 실행하는 상기 다른 정보처리장치에 의해 얻어진 정보에 대응하여, 상기 제 2의 수신단계에서 수신된 상기 식별정보에 의해 식별된 상기 기능의 처리를, 상기 기능모듈에 따라 실행하는 제 2의 실행단계와,
상기 제 1의 실행단계 또는 상기 제 2의 실행단계에 의해 상기 기능의 처리를 실행함으로써 얻어지는 정보와, 상기 식별정보를 상기 다른 정보처리장치로 전달하는 전달단계를 구비한다.
본 발명의 제 7의 형태에 따르면, 컴퓨터 판독가능 프로그램을 저장하는 기록매체에서, 상기 프로그램은,
다른 정보처리장치로부터 전달되며, 소정의 기능을 이용하는데 필요한 기능 모듈을 수신하는 제 1의 수신단계용 코드와,
상기 기능의 처리를 지정하는 지정단계용 코드와,
상기 기능모듈에 따라, 상기 지정단계에 의해 지정된 상기 처리를 실행하는 제 1의 실행단계용 코드와,
상기 다른 정보처리장치로부터 전달된 상기 기능모듈에 따라 상기 기능의 처리를 실행함으로써 상기 다른 정보처리장치에 의해 얻어진 정보와, 상기 기능의 식별정보를 수신하는 제 2의 수신단계용 코드와, 상기 제 2의 수신단계에서 수신된 상기 기능모듈에 따라 상기 기능의 처리를 실행하는 상기 다른 정보처리장치에 의해 얻어진 정보에 대응하여, 상기 제 2의 수신단계에서 수신된 상기 식별정보에 의해 식별된 상기 기능의 처리를, 상기 기능모듈에 따라 실행하는 제 2의 실행단계용 코드와,
상기 제 1의 실행단계 또는 상기 제 2의 실행단계에 의해 상기 기능의 처리를 실행함으로써 얻어지는 정보와, 상기 식별정보를 상기 다른 정보처리장치로 전달하는 전달단계용 코드를 구비한다.
본 발명의 제 8의 형태에 따르면, 컴퓨터로 하여금 처리를 실행시키는 프로그램에서, 상기 프로그램은 최소한,
다른 정보처리장치로부터 전달되며, 소정의 기능을 이용하는데 필요한 기능모듈을 수신하는 제 1의 수신단계와,
상기 기능의 처리를 지정하는 지정단계와,
상기 기능모듈에 따라, 상기 지정단계에 의해 지정된 상기 처리를 실행하는 제 1의 실행단계와,
상기 다른 정보처리장치로부터 전달된 상기 기능모듈에 따라 상기 기능의 처리를 실행함으로써 상기 다른 정보처리장치에 의해 얻어진 정보와, 상기 기능의 식별정보를 수신하는 제 2의 수신단계와,
상기 제 2의 수신단계에서 수신된 상기 기능모듈에 따라 상기 기능의 처리를 실행하는 상기 다른 정보처리장치에 의해 얻어진 정보에 대응하여, 상기 제 2의 수신단계에서 수신된 상기 식별정보에 의해 식별된 상기 기능의 처리를, 상기 기능모듈에 따라 실행하는 제 2의 실행단계와,
상기 제 1의 실행단계 또는 상기 제 2의 실행단계에 의해 상기 기능의 처리를 실행함으로써 얻어지는 정보와, 상기 식별정보를 상기 다른 정보처리장치로 전달하는 전달단계를 구비한다.
상기한 바와 같이 구성된 본 발명에 따르면, 소정의 기능을 이용하는데 필요한 기능모듈이 보존되고, 상기 기능모듈이 다른 정보처리장치로 전달되며, 상기 기능의 처리가 지정되고, 지정된 상기 처리가 기능모듈에 따라 실행되며, 다른 정보처리장치로부터 전달된 상기 기능모듈에 따라 상기 기능의 처리를 실행함으로써 상기 다른 정보처리장치에 의해 얻어진 정보와, 상기 기능의 식별정보가 수신되고, 상기 기능모듈에 따라 상기 기능의 처리를 실행하는 상기 다른 정보처리장치에 의해 얻어지는 수신된 정보에 대응하는 수신된 식별정보에 의해 식별된 상기 기능의 처리가 상기 기능모듈에 따라 실행되며, 상기 기능의 처리를 실행함으로써 얻어지는 정보와 상기 식별정보가 상기 다른 정보처리장치로 전달된다.
본 발명의 제 9의 형태에 따르면, 컴퓨터망을 통해 연결된 복수의 정보처리장치들 사이에서 소정의 기능을 이용하는데 필요한 기능 모듈에 따라 처리를 실행함으로써 얻어지는 정보를 교환하는 정보교환방법에 있어서, 상기 방법은,
상기 정보를 전달하는 전송측 정보처리장치로부터 다른 정보처리장치로 상기 정보를 전달하는 정보전달단계와,
상기 기능모듈이 수신측 정보처리장치내에 존재하지 않는 경우, 상기 전송측 정보처리장치로부터 상기 정보를 수신하는 상기 수신측 정보처리로 상기 기능모듈을 전달하는 기능모듈 전달단계와,
상기 수신측 정보처리장치에 제공된 저장수단내에 상기 기능모듈을 저장하는 기능모듈 저장단계와,
상기 수신측 정보처리장치의 상기 기능모듈에 따라 처리를 실행함으로, 상기 수신측 정보처리장치와 상기 전송측 정보처리장치 사이에서, 상기 정보를 교환하는 정보교환단계를 구비한다.
본 발명의 제 10의 형태에 따르면, 컴퓨터망을 통해 연결된 복수의 정보처리장치들 사이에서 소정의 기능을 이용하는데 필요한 기능 모듈에 따라 처리를 실행함으로써 얻어지는 정보를 교환하는 컴퓨터 판독가능 프로그램을 저장하는 기록매체는
상기 정보를 전달하는 전송측 정보처리장치로부터 다른 정보처리장치로 상기 정보를 전달하는 정보전달단계용 코드와,
상기 기능모듈이 수신측 정보처리장치 내에 존재하지 않는 경우, 상기 전송측 정보처리장치로부터 상기 정보를 수신하는 상기 수신측 정보처리로 상기 기능모듈을 전달하는 기능모듈 전달단계용 코드와,
상기 수신측 정보처리장치에 제공된 저장수단내에 상기 기능모듈을 저장하는 기능모듈 저장단계용 코드와,
상기 수신측 정보처리장치의 상기 기능모듈에 따라 처리를 실행함으로써, 상기 수신측 정보처리장치와 상기 전송측 정보처리장치 사이에서 상기 정보를 교환하는 정보교환단계용 코드를 구비한다.
본 발명의 다른 형태에 따르면, 컴퓨터망을 통해 연결된 복수의 정보처리장치들 사이에서 소정의 기능을 이용하는데 필요한 기능 모듈에 따라 처리를 실행함으로써 얻어지는 정보를 교환하기 위해, 컴퓨터로 하여금 처리를 실행시키는 프로그램에 있어서, 상기 처리는 최소한, 상기 정보를 전달하는 전송측 정보처리장치로부터 다른 정보처리장치로 상기 정보를 전달하는 정보전달단계와,
상기 기능모듈이 수신측 정보처리장치 내에 존재하지 않는 경우, 상기 전송측 정보처리장치로부터 상기 정보를 수신하는 상기 수신측 정보처리로 상기 기능모듈을 전달하는 기능모듈 전달단계와,
상기 수신측 정보처리장치에 제공된 저장수단내에 상기 기능모듈을 저장하는 기능모듈 저장단계와,
상기 수신측 정보처리장치의 상기 기능모듈에 따라 처리를 실행함으로써, 상기 수신측 정보처리장치와 상기 전송측 정보처리장치 사이에서 상기 정보를 교환하는 정보교환단계를 구비한다.
상기한 바와 같이 구성된 본 발명에 따르면, 복수의 정보처리장치가 특정한 기능모듈에 의해 처리되는 정보를 교환할 때, 기능모듈이 수신측 정보처리장치에 존재하지 않더라도, 기능모듈은 전송측 정보처리장치로부터 전달될 수 있다. 따라서, 기능모듈에 의해 처리되는 정보는 전송측 정보처리장치로부터 제공되는 기능모듈을 실행하는 수신측 정보처리장치에 의해 교환될 수 있다.
<제 1의 실시예>
우선, 본 발명의 제 1의 실시예를 도면을 참조하여 상세하게 설명한다. 도 1은 본 발명이 적용된 통신 시스템의 구성예를 도시하고 있다.
PC(1-1)에서(1-N)까지의 N개(각각의 컴퓨터에 대한 구별이 필요없는 경우에 간단히 "PC(1)"라고 부른다)는 전화망(2)과 각 인터넷제공자(도시 안 함)를 통해 인터넷(3)에 연결된다.
PC(1)는 인터넷(3)을 통해 e-mail을 교환할 수 있다. 즉, PC(1)의 IP어드레스는 인터넷(3)에 연결된 각 e-mail 서버(도시 안됨)에 의해 등록되어 있다.
PC(1)는 또한, 예를 들면, 전화망(2)을 통해 피어 투 피어 통신을 할 수 있다. 피어 투 피어 통신을 수행함으로써, 예를 들면, 도 2에 도시한 바와 같이, 서버를 통과하지 않고 PC(1-1) 내에 수신된 음성과 영상이 PC(1-2, 1-3)로 직접 공급되며, 서버를 통과하지 않고 PC(1-2) 내에 수신된 음성과 영상이 PC(1-1, 1-3)로 직접 공급된다. PC(1-3)에서는, PC(1-1, 1-2)의 각각으로부터 공급된 음성과 영상이 혼합되어 출력된다(즉, 재생된다).
이러한 피어 투 피어 통신을 위한 통신연결은 예를 들면 PC(1-1)로부터 통신 목적지가 되는 PC(1-1), 예를 들면 e-mail을 개방하는 PC(1-2)로 전달되는 PC(1-1)의 IP 어드레스가 첨부된 e-mail과 e-mail에 첨부된 IP어드레스를 얻음으로써 설정된다. 즉, 본 발명이 적용되는 통신 시스템에서는, 피어 투 피어 통신을 위한 통신연결은 인터넷(3)에 이미 등록된 IP어드레스(좀 더 자세하게는, e-mail 서버내에 등록된 IP 어드레스)에 의해 설정된다.
PC(1)는 서로 통신하는 PC(1)중 최소한 하나가 추가기능모듈을 가지고 있으면, 기능모듈(이후, "추가기능모듈"이라 부른다)에 근거하여 통신가능하다.
예를 들면, PC(1-1)와 PC(1-2)가 피어 투 피어 통신을 수행하는 경우에, PC(1-1)가 추가기능모듈을 가지고 있으나 PC(1-2)가 그것을 가지고 있지 않을 때에라도, 피어 투 피어 통신은 추가기능모듈에 근거하여 PC(1-1)와 PC(1-2)사이에서 수행될 수 있다.
도 3 - 도 6은 PC(1-1)의 외관도를 도시하고 있다.
PC(1-1)는 기본적으로 메인부(11)와 메인부(11)에 대해서 개폐하는 표시부(12)로 구성된다. 도 3은 표시부(12)가 메인부(11)에 대해서 개방되는 상태를 도시한 외부 개략도이다. 도 4는 메인부(11)의 평면도이다. 도 5는 메인부(11)에 제공된 후술하는 조그 다이얼(13)의 확대도이다. 또한 도 6은 메인부(11)에 제공된 조그 다이얼(13)의 측면도이다.
메인부(11)의 상부면에는 여러 가지 형태의 문자와 심볼등을 입력하기 위해 조작되는 키보드(14), LCD(15)상에 표시되는 포인터(마우스 커서)를 이동시키기 위해 조작되는 포인팅 장치(pointing device)인 터치패드(touchpad : 16)와, 전원 스위치(17)가 제공된다. 또한 조그 다이얼(13)과 IEEE 1394포트(18) 등은 측면에 제공된다. 스틱형(stick type) 포인팅장치는 터치패드(16) 대신에 제공된다.
표시부(12)의 전면에는 영상을 표시하는 LCD(15), 그것의 상부 좌측에 있는 전원 소스램프(PL), 배터리 램프(BL), 메시지 램프(ML : 도시 안됨)와 다른 LED램프들이 있다. 게다가, 표시부(12)의 상부 중앙에는 CCD와 마이크로폰(21)으로 구성되는 CCD영상카메라(19)를 가지는 영상부(20)가 제공된다. CCD영상카메라(9)를 조작하는 셔터버튼(22)은 도 3의 메인부(11)의 상부 우측에 제공되어 있다.
영상부(20)는 표시부(12)에 회전하도록 고정되어 있다. 예를 들면, 사용자는 PC(1-1)를 조작하는 사용자 자신의 영상을 수신할 수 있는 위치로부터 PC(1-1)를 조작하는 사용자의 시계(field of view)와 동일한 방향내에서 영상을 수신하는 위치로 CCD영상카메라(19)를 회전시키는 것이 가능하다.
다음에는, 조그 다이얼(13)이 예를 들면 도 4의 메인부(11)의 키보드(14)의 우측에 배치된 키(A)와 키(B) 사이에 부착되어 있다. 이 때에 상부면은 키(A)와 키(B)와 거의 동일한 높이에 있다. 조그 다이얼(13)은 도 5의 화살표(a)에 의해 지시되는 회전동작에 대응하는 소정의 처리(예를 들면, 화면을 스크롤링하기)를 실행하며, 도면의 화살표(b)에 의해 지시되는 회전동작에 대응하는 소정의 처리(예를 들면, 아이콘의 허가선택)를 실행한다.
IEEE 1394포트(18)는 IEEE 1394에서 제정한 표준에 근거하는 구조를 가지며, IEEE 1394에서 제정한 표준에 근거하는 케이블은 그 구조에 연결되어 있다.
다음에는, PC(1-1)의 내부구성의 보기는 도 7을 참조하여 설명된다.
CPU(51)는 예를 들면 인텔사에 의해 제조된 펜티엄(등록된 마크)의 구성이며, 호스트 버스(52)에 연결되어 있다. 게다가, 호스트 버스(52)에 연결되어 있는 것은 브릿지(53 : 소위 North 브릿지)이며, 브릿지(53)는 AGP(Accelerated Graphics Port : 50)를 가지며 PCI(Peripheral Component Interconnect/Interface)버스(56)를 가진다.
브릿지(53)는 인텔사에 의해 제작된 AGP호스트 브릿지 제어기가 되는 400BX등으로 구성된다. 그리고 CPU(51)와 RAM(54)등을 제어한다. 게다가, 브릿지(53)는 AGP(50)를 통해 영상 제어기(57)를 제어한다. 이 브릿지(53)와 브릿지(소위 South 브릿지(PCI_ISA브릿지))는 소위 칩 세트를 구성한다.
브릿지(53)는 또한 캐시 메모리(55)에 연결되어 있다. 캐시 메모리(55)는 SRAM(정적 RAM)과 같은 RAM(54)보다 고속으로 입력 또는 독출동작을 실행하는 메모리로 구성된다. 그리고 CPU(51)가 사용하는 프로그램과 데이터를 캐시한다(cache)(일시적으로 저정한다.).
게다가, CPU(51)는 CPU(51) 자체에 의해 조작되며, 캐시 메모리(55)보다 고속으로 조작가능한 주 캐시(primary cache)를 가지고 있다.
RAM(54)은 예를 들면 DRAM으로 구성되며, CPU(51)에 의해 실행되는 프로그램 또는 CPU(51)가 동작하는데 필요한 데이터를 저장한다. 자세하게는, 예를 들면, RAM(54)은 e-mail프로그램(54A), 자동 파일롯 프로그램(54B), 조그 다이얼 상태 모 니터링 프로그램(54C), 조그 다이얼 구동기(54D), 동작 시스템(54E), 통신 프로그램(54F), 추가기능모듈(54G)과 어느 시간에서 하드 디스크 드라이브(67)로부터 로드되는 다른 응용 프로그램(54H)을 저장하고 있다.
e-mail프로그램(54A)은 모뎀(75), 전화망(2), 인터넷 제공자, e-mail 서버와, 인터넷(3)을 통해 통신 텍스트(e-mail)를 교환하기 위한 프로그램이다.
자동 파일롯 프로그램(54B)은 이미 설정된 순서에 따라 이미 설정된 복수의 처리(또는 프로그램들)을 순차적으로 구동시키는 프로그램이다.
조그 다이얼 상태 모니터링 프로그램(54C)은 상술한 응용 프로그램으로부터조그 다이얼(13)과 양립가능(compatible)한지의 여부에 대한 통지를 수신하며, 조그 다이얼(13)과 양립가능하다면, 조그 다이얼(13)을 동작시킴으로써 행해질 수 있는 것이 LCD(15)상에 표시된다.
조그 다이얼 상태 모니터링 프로그램(54C)은 또한 조그 다이얼(13)의 이벤트(조그 다이얼(13)이 도 5의 화살표(a)에 의해 지시되는 방향 내에서 회전하거나 또는 도 5의 화살표(b)에 의해 지시되는 방향 내에서 눌려지는 동작)를 검출한다. 그리고, 검출된 이벤트에 대응하는 처리를 실행한다. 조그 다이얼 구동기(54D)는 조그 다이얼(13)의 동작에 대응하는 여러 가지 기능들을 실행한다.
동작 시스템(54E)은 컴퓨터의 기본동작을 제어하는 프로그램이다. 가장 대표적인 것은 마이크로 소프트사의 윈도우 95(등록된 상표) 또는 윈도우 98, 또는 애플 컴퓨터의 소위 Mac OS등이 있다.
통신 프로그램(54F)은 피어 투 피어 통신을 위한 처리를 실행하며, 또한 e-mail 프로그램(54A)을 제어하여 PC(1-1)의 IP어드레스가 첨부된 e-mail을 다른 상대방으로 전달하며, 통신 연결을 설정하기 위해서 다른 상대방으로부터 전달된 어느 e-mail로부터 IP어드레스를 얻는 것을 제어한다.
통신 프로그램(54F)은 또한 추가기능모듈(54G)을 제어하여 추가기능모듈(54G)의 기능에 근거하는 통신을 수행한다.
추가기능모듈(54G)은 (후술되는) 통신 프로그램(54F)의 제어에 따라 소정의 처리를 실행한다.
영상제어기(57)는 AGP(50)를 통해 브릿지(53)에 연결되어 있으므로, AGP(50)와 브릿지(53)를 통해 CPU(51)로부터 공급된 데이터(영상 데이터, 텍스트 데이터등)를 수신한다. 그리고 수신된 데이터에 대응하는 영상 데이터를 생성하며, 생성된 영상 데이터를 내장된 영상 메모리내에 저장 또는 수신된 데이터를 그대로 저장한다. 영상제어기(57)는 표시부(12)의 LCD(15)의 영상 메모리내에 저장된 영상 데이터에 대응하는 영상을 표시한다.
또한 영상제어기(57)는 PCI버스(56)를 통해 CCD영상카메라(19)로부터 RAM(54)으로 영상 데이터를 공급한다.
PCI버스(56)는 그것에 연결된 음성 제어기(64)를 가지고 있다. 음성 제어기(64)는 마이크로폰(21)으로부터 음성을 수신하며 그 음성에 대응하는 데이터를 생성하고, 이것을 RAM(54)에 출력한다. 또한, 음성 제어기(64)는 스피커(65)를 구동하므로, 스피커(65)는 음성을 출력한다.
또한, 모뎀(75)은 PCI 버스(56)에 연결되어 있다. 모뎀(75)은 전화망(2) 에 연결되어 있으며, 전화망(2) 또는 인터넷(3)을 통해 통신처리를 실행한다.
PC카드슬롯 인터페이스(111)는 PCI 버스(56)에 연결되어 있으며, CPU(51)로부터 공급된 데이터를 인터페이스 카드(112)로 출력하는 동안에, 슬롯(23)에 장착된 인터페이스 카드(112)로부터 공급된 데이터를 CPU(51) 또는 RAM(54)으로 공급한다. 드라이브(113)는 PC카드슬롯 인터페이스(111)와 인터페이스 카드(112)를 통해 PCI 버스(56)에 연결되어 있다.
드라이브(113)는 장착된 자기 디스크(121), 광디스크(122)와 광자가 디스크(123) 또는 반도체 메모리(124)내에 기록된 데이터를 독출하며, 독출된 데이터를 PC카드슬롯 인터페이스(111)와 인터페이스 카드(112) 및 PCI버스(56)를 통해 RAM(54)으로 공급한다.
또한, 브릿지(58 : 소위 South 브릿지)는 PCI 버스(56)에 연결된다. 브릿지(58)는 예를 들면 인텔사에 의해 제작된 PIIX4E로 구성되며 IDE(Integrated Drive Electronics) 제어기/구성 레지스터(59), IDE 인터페이스(61), USB 인터페이스(68)등을 내장하고 있다. 브릿지(58)는 IDE버스(62)에 연결된 장치들, ISA/EIO(Industry standard Architecture/Extended input output)버스(63) 또는 I/O 인터페이스(69)등을 통해 연결된 장치들과 같은 여러 가지 형태의 I/O(Input/Output)를 제어한다.
IDE 제어기/구성 레지스터(59)는 소위 일차 IDE제어기와 이차 IDE제어기와 같은 두개의 IDE 제어기와 구성 레지스터(configuration register)(도면에 도시 안 됨) 등으로 구성된다.
하드 디스크 드라이브(67)는 IDE버스(62)를 통해 일차 IDE제어기에 여결된다. 또한, 도시 안된 CD-ROM 드라이브 또는 하드 디스크 드라이브와 같은 소위 IDE장치가 다른 IDE버스에 장착되는 경우에는, 장착된 IDE버스장치는 전기적으로 제 2차 IDE제어기에 연결된다.
하드 디스크 드라이브(67)는 e-mail프로그램(67A), 자동 파일롯 프로그램(67B), 조그 다이얼 상태 모니터링 프로그램(67C), 조그 다이얼 구동기(67D), 동작 시스템(67E), 통신 프로그램(67F), 추가기능모듈(67G)과 다른 응용 프로그램(67H)등을 기록하고 있다.
하드 디스크 드라이브(67)에 기록되어 있는 e-mail프로그램(67A) - 응용 프로그램(67H)등은 적절하게 RAM(54)에 로드된다.
I/O 인터페이스(69)는 ISA/EIO버스(63)에 연결된다. 이러한 I/O 인터페이스(69)는 내장된 제어기에 의해 구성되며, ROM(70), RAM(71)와 CPU(72)가 상호 접속되어 있다.
ROM(70)은 미리 IEEE1394 인터페이스 프로그램(70A), LED 제어프로그램(70B), 터치패드 입력 모니터링 프로그램(70C), 키입력 모니터링 프로그램(70D), 호출 프로그램(wake-up program : 70E)과 조그 다이얼 상태 모니터링 프로그램(70F) 등을 가지고 있다.
IEEE1394 인터페이스 프로그램(70A)은 IEEE1394 포트(18)를 통해 IEEE1394 표준에 따르는 데이터(패킷 형태로 저장된 데이터)를 교환한다. LED 제어프로그램(70B)은 전원소스 램프(PL), 배터리 램프(BL), 필요에 따라 제공되는 메시지 렘프(ML)와 다른 LED램프들을 점등하는 것을 제어한다. 터치패드 입력 모니터링 프로그램(70C)은 사용자의 조작에 대응하여 터치패드(16)의 입력을 모니터하는 프로그램이다.
키입력 모니터링 프로그램(70D)은 키보드(14) 또는 다른 키 스위치의 입력을 모니터하는 프로그램이다. 호출 프로그램(70E)은 브릿지(58)의 타이머 회로(도시 안 됨)로부터 공급되는 현재시간을 나타내는 데이터에 근거하여, 시간이 미리 설정된(preset) 시간인지의 여부를 검사하는 프로그램이며, 설정시간에 도달한 경우에는, PC(1-1)를 구성하는 각 칩의 전원 소스는 소정의 처리(또는 프로그램)를 구동시키기 위해서 관리된다. 조그 다이얼 상태 모니터링 프로그램(70E)은 조그 다이얼(13)의 회전 인코더가 회전되는지와, 조그 다이얼(13)이 눌려졌는지의 여부를 항상 모니터하는 프로그램이다.
BIOS(Basic Input/Output System)(70G)는 ROM(70)에 입력된다. BIOS(70G)는 동작 시스템과 응용 프로그램 사이의 데이터의 (입력/출력)처리와 주변장치(터치패드(16), 키보드(14), 하드 디스크 드라이브(67)등)를 제어한다.
RAM(71)은 71(A) - 71(F) 레지스터와 같이, LED제어, 터치패드 입력상태, 키입력 상태, 또는 설정시간용 레지스터, 조그 다이얼 상태 모니터링 I/O 레지스터, 또는 IEEE1394 인터페이스 레지스터등을 가지고 있다. 예를 들면, 조그 다이얼(13)이 눌려지고 e-mail 프로그램(54A)이 구동되는 경우에, 소정의 값이 LED 레지스터 내에 저장되며, 메시지 램프의 점등은 저장된 값에 따라 제어된다. 조그 다이얼(13)이 눌려지는 경우에, 소정의 동작키 플래그가 키입력 상태 레지스터 내에 저장된다. 사용자에 의한 키보드(14)등의 동작에 따라 설정시간 레지스터 내에 어느 시간이 설정된다.
도시 안된 커넥터를 통해 이러한 I/O 인터페이스(69)에 연결되는 것은 조그 다이얼(13), 터치패드(16), 키보드(14), IEEE1394 포트(18), 셔터버튼(22)등이다. 이 때에, 조그 다이얼(13), 터치패드(16), 키보드(14), IEEE1394 포트(18), 셔터버튼(22)의 각각의 동작에 대응하는 신호들은 ISA/EIO(63)에 출력된다. 또한, I/O 인터페이스(69)는 IEEE1394 포트(18)를 통해 연결된 장치들과의 데이터 교환을 제어한다. 게다가, I/O 인터페이스(69)에 연결되어 있는 것은 전원소스 램프(PL), 배터리 램프(BL), 메시지 렘프(ML), 전원 소스 제어회로(73)와 다른 LED램프들이다.
전원 소스 제어회로(73)는 주변장치의 제 2배터리들의 내부 배터리(74)를 충전하는 제어를 수행하는 동안에, 내부 배터리(74) 또는 AC전원에 연결되어 있으며 각 블록으로 필요한 전원을 공급한다. 또한, I/O 인터페이스(69)는 전원을 온/오프 시킬 때에 동작되는 전원 스위치(17)를 모니터한다.
전원이 오프상태가 되더라도, I/O 인터페이스(69)는 내부적으로 제공된 전원 소스에 의해 IEEE1394 인터페이스 프로그램(70A) - 조그 다이얼 상태 모니터링 프로그램(70F)을 실행한다. 즉, IEEE1394 인터페이스 프로그램(70A) - 조그 다이얼 상태 모니터링 프로그램(70F)은 항상 동작하고 있다.
따라서, 전원이 오프되고 CPU(51)가 동작 시스템(54E)을 가동시키지 않고, I/O 인터페이스(69)가 조그 다이얼 상태 모니터링 프로그램(70F)을 실행시키고, 조 그 다이얼이 전원 보존상태 또는 전원 오프상태에서 눌려지는 경우가 발생하더라도, PC(1-1)는 미리 설정된 소정의 프로그램 또는 스크립트 파일의 처리를 구동시킨다.
이와 같이, PC(1-1)에 의해, 조그 다이얼(13)은 프로그램 가능한 전원키(PPK)의 기능을 가지게 되므로 전용키를 제공할 필요가 없게 된다.
PC(1-2) - (1-N)는 또한 PC(1-1)와 같은 동일한 기본 구조로 되어 있으므로, 그들의 도면과 설명은 생략된다.
다음에 피어 투 피어 통신을 위한 통신연결을 설정하는 처리 절차는 PC(1-2)와 피어 투 피어 통신을 시도하는 PC(1-1)의 보기를 참조하면서 기술될 것이다.
먼저, 피어 투 피어 통신을 시도하는 PC(1-1)의 동작이 도 8에 도시된 흐름도를 참조하여 설명될 것이다.
단계(S1)에서는, PC(1-1)의 CPU(51)가 통신 프로그램(54F)을 실행하고, 그 후에 피어 투 피어 통신의 통신 목적지를 선택하기 위해 동작되며 도 9에 도시되어 있는 화면(201)(이후로는 "선택화면"이라고 부른다.)을 LCD(15)상에 표시하기 위해서 영상제어기(57)를 제어하게 된다.
이러한 선택화면(201)은 피어 투 피어 통신이 이루어질 수 있는 PC(1-1) - (1-N)의 IP어드레스등을 표시하는 표시부(214), 표시부(214)의 표시내용을 스위치하기 위해 동작되는 버튼(212)과, 표시부(214)상에 표시되는 IP 어드레스를 피어 투 피어 통신의 통신 목적지로 여기는 PC(1)를 선택하기 위해 동작되는 버튼(213)을 구비한다.
또한, 하드 디스크 드라이브(67)등의 PC(1-1) - (1-N)의 IP 어드레스를 미리 어느 그룹들로 나누어 저장하게 되면, PC(1-1) - (1-N)의 IP어드레스는 그룹별로 표시부(214)상에 표시되며, 그룹별로 선택된다.
도 9에 표시된 통신화면(211)은 이 때에 LCD(15)상에 표시되지 않는다.
다음에, 단계(S2)에서, PC(1-1)의 CPU(51)(통신 프로그램 : 54F)는 도 9에 도시한 바와같이, PC(1-1)의 사용자의 상태를 표시하는 통신화면(211)을 LCD(15)상에 표시한다. (도 9에 도시된 보기에서는, 이것이 선택화면(201)의 상부 좌측에 표시된다.)
통신화면(211)은 CCD영상카메라(19)에 의해 수신되는 영상(예를 들면, PC(1-1)를 조작하는 사용자의 얼굴 영상)이 표시되는 표시부(221)와, 표시부(221)의 표시내용들을 변경시키는 버튼(222)을 구비한다.
단계(S3)에서는, 통신 프로그램(54F)이 선택화면(201)의 버튼(213)이 동작할 때까지 대기하며, 피어 투 피어 통신의 통신 목적지가 결정된다. 그리고 이것이 일단 결정되면, 흐름은 단계(S4)로 진행한다. 다음에서는, 피어 투 피어 통신의 통신 목적지로 선택된 PC(1)가 통신 피어 PC로 언급된다는 것을 주목하자.
이 보기의 경우에는, 버튼(213)은 표시부(214)상에 표시된 PC(1-2)의 IP 어드레스등에 의해 동작한다. 그로 인해 PC(1-2)는 통신 피어 PC로 설정된다.
단계(S4)에서는, 통신 프로그램(54F)이 PC(1-1)와의 피어 투 피어 통신을 위한 통신 연결을 설정하지 않은 통신 피어 PC가 현재 시간에서 존재하는지의 여부를 판단하며, 이러한 PC가 존재하는 경우에는, 흐름이 단계(S5)로 진행한다.
PC(1-1)와 PC(1-2)는 이 때에 피어 투 피어 통신을 위한 통신연결을 아직 설정하지 않았으므로, 흐름은 단계(S5)로 진행한다.
단계(S5)에서는, 통신 프로그램(54F)이 하드 디스크 드라이브(67)로부터 PC(1-1)의 IP어드레스를 얻게 된다.
다음에, 단계(S6)에서는, 통신 프로그램(54F)이 PC(1-1)의 IP어드레스를 암호화하며 그것을 소정의 파일에 기록한다. 그 후에 통신 프로그램(54F)은 암호화된 IP 어드레스(이후로는 "IP 어드레스 파일"이라고 부른다.)가 기록되어있는 파일을 하드 디스크 드라이브(67)내에 저장한다.
단계(S7)에서는, 통신 프로그램(54F)이 e-mail 프로그램(54A)을 구동시킨다.
다음에, 단계(S8)에서는, e-mail 프로그램(54A)은 피어 투 피어 통신을 위한 통신연결의 설정이 이루어지지 않았다는 판단이 단계(S4)에서 내려진 경우, LCD(15) 상에 표시되며 단계(S6)에서 하드 디스크 드라이브(67) 내에 저장되어 있는 IP 어드레스를 가지고 통신 피어 PC에 어드레스 되는 e-mail을 생성한다.
도 10은 PC(1-1)의 암호화된 IP 어드레스를 가지는 IP 어드레스 파일에 의해, PC(1-2)에 어드레스 되는 e-mail의 표시의 보기이다.
이러한 e-mail의 서두에는 다음이 기록된다.
수신자가 되는 PC(1-2)의 IP 어드레스, 송신자가 되는 PC(1-1)의 IP 어드레스와, 이러한 e-mail에 첨부된 IP 어드레스 파일의 디렉토리등이 기술된다. 또한, 설정된 문구("INVITATION TO CHAT")는 e-mail의 주제로서 서두부분에 기술된다.
e-mail의 메시지 부분에는 설정된 텍스트가 기술된다. ("THIS IS AN INVITATION TO CHAT FROM 'USER OF PERSONAL COMPUTER 1-1'. OPENING THE ATTACHED FILE WILL CONNECT YOU TO 'USER OF PERSONAL COMPUTER 1-1'.")
PC(1-1)의 사용자는 예를 들면, 필요에 따라 메시지 부분의 e-mail 또는 텍스트의 주제를 변경할 수 있다.
단계(S9)에서는, e-mail 프로그램(5A)은 단계(S8)에서 생성된 e-mail의 버튼(231)(도 10)이 동작할 때까지 대기상태에 있다. 그리고 동작시에는, 흐름이 단계(S10)로 진행하며, 단계(S8)에서 생성된 e-mail을 통신연결이 설정되지 않는 통신 피어 PC(이 보기의 경우에서는, PC(1-2))로 전송한다.
단계(S4)에서는, 통신연결이 모든 통신 피어 PC와 설정되었다는 판단이 내려진 경우(이 보기의 경우에서는, PC(1-1)와 PC(1-2)사이에서 이미 통신연결이 설정되어 있다는 판단이 내려진 경우) 또는, 단계(s10)내의 처리가 수행되어진 경우, 처리가 종료한다.
상술한 PC(1-1)의 동작에 대응하는 PC(1-2)의 동작은 도 11의 흐름도를 참조하면서 기술될 것이다.
단계(S21)에서는, PC(1-2)의 CPU가 통신 프로그램을 구동시킨다. 이 보기의 경우에는, PC(1-2)의 통신 프로그램이 IP 어드레스 파일의 개방시에 구동된다. IP어드레스 파일내에는, PC(1-1)(도 10)로부터 전달된 e-mail에 첨부되어 있는 PC(1-1)의 IP 어드레스(암호화된 IP 어드레스)가 기술되어 있다.
다음에 단계(S22)에서는, PC(1-2)의 CPU(통신 프로그램)가 IP 어드레스 파일 내에 기술되어 있는 암호화된 IP 어드레스(PC(1-1)의 IP 어드레스)를 해독한다. 단계(S23)에서는, PC(1-2)의 통신 프로그램은 해독되어진 IP 어드레스를 가지는 PC(1-1)와의 피어 투 피어 통신을 하기 위해 통신연결을 설정하는 처리를 수행한다. PC(1-1)의 통신 프로그램(54F)은 PC(1-2)의 통신 프로그램의 처리에 대응하여, PC(1-2)와의 통신 연결을 설정하는 처리를 이 때에 또한 수행한다는 것을 주목하자.
다음에, 그 처리는 종료한다.
본 발명이 적용되는 통신시스템에 대해서 상술한 바와같이, 피어 투 피어 통신을 위한 통신연결은 통신이 요구되는 목적지에 컴퓨터 자신의 IP를 전달함으로써 간단하게 설정될 수 있다.
다음에, 추가기능모듈에 근거하여 통신을 수행하는 처리절차들은 도 12에 도시된 흐름도를 참조하여 기술될 것이다. PC(1-1)와 PC(1-2)가 가위바위보 게임을 위한 추가기능모듈(54G)(이후로는 "가위바위보 추가기능모듈"이라 부른다)을 이용하여 피어 투 피어 통신을 수행하는 보기에 대해서 먼저 설명이 이루어질 것이다. 이 보기의 경우에서는, PC(1-1)가 하드 디스크 드라이브(67) 내에 가위바위보 추기능모듈(67G)을 가지고 있으나 PC(1-2)는 그것을 가지고 있지 않다.
또한, 이때, PC(1-1)와 PC(1-2) 사이의 피어 투 피어 통신을 위한 통신 연결은 이미 설정되어 있으며, 도 13에 도시한 바와 같이, PC(1-1)의 LCD(15) 상에는, 표시부(221) 상에 표시된 PC(1-1)의 CCD영상카메라에 의해 수신된 영상을 가지는 통신화면(211), (예를 들면, 가위바위보 추가기능모듈(67G)의 아이콘과 후술하는 설계 추가기능모듈(67G)의 아이콘을 포함하여) PC(1-1)가 가지는 추가기능모듈(67G)에 대한 각 아이콘을 표시하는 추가기능모듈화면(251)과, PC(1-2)로부터 피어 투 피어 통신에 의해 전달되며 PC(1-2)에 의해 수신된 영상을 표시하는 표시부(311)로 구성되는 통신화면(311)이 표시되어 있다.
한편, 도 14에 도시한 바와 같이, PC(1-2)의 표시부 상에는, 표시부(411) 상에 표시된 PC(1-2)에 의해 수신되는 영상을 가지는 통신화면(401), (가위바위보 추가기능모듈의 아이콘과 후술하는 설계 추가기능모듈(67G)의 아이콘을 포함하지 않고) PC(1-2)가 가지는 추가기능모듈(67G)에 대한 각 아이콘을 표시하는 추가기능모듈화면(451)과, PC(1-1)로부터 피어 투 피어 통신에 의해 전달되며 PC(1-1)에 의해 수신된 영상을 표시하는 표시부(511)로 구성되는 통신화면(501)이 표시되어 있다.
단계(S31)에서는, PC(1-1)가 하드 디스크 드라이브(67)로부터 RAM(45)으로 통신 프로그램(67F)을 로드하며, 통신 프로그램(54F)을 실행하며, 어느 이벤트가 발생할 때까지 대기한다.
여기에서의 어느 이벤트는 추가기능모듈화면(251)(도 13)내에 표시되는 추가기능모듈(67G)의 아이콘에 관한 동작, 추가기능모듈(67G)(좀 더 자세하게 말하자면, 추가기능모듈(67G)은 RAM(54)으로 로드되므로, 추가기능모듈(54G)이 된다.)에 대응하는 어느 화면(후술함)에 관한 동작과, PC(1-2)로부터 전달되는 표시 데이터(후술함)와 식별자의 수신에 관한 동작을 의미한다. 즉, PC(1-1)의 통신 프로그 램(54F)은 추가기능모듈(67G)의 아이콘이 동작할 때까지 대기하고 있다. 어느 표시는 추가기능모듈(67G)에 대응하여 동작되거나 또는 식별자와 표시 데이터는 PC(1-2)로부터 수신된다.
이제, 사용자는 추가기능모듈화면(251)상에 표시된 추가기능모듈(67G)의 아이콘을 조작하여 추가기능모듈(67G)을 이용하는 통신을 개시하며, 추가기능모듈(54G)에 대응하는 어느 표시에 관한 동작을 수행하여 추가기능모듈(54G)에 의한 어느 처리를 실행하게 된다.
단계(S31)에서 어느 이벤트가 발생하는 경우에는, 흐름은 단계(S32)로 진행한다. 단계(S32)에서는, PC(1-1)의 통신 프로그램(54F)은 단계(S31)에서 발생한 이벤트가 추가기능모듈(67G)의 아이콘의 동작에 의해 발생한 것인지에 대한 판단을 한다. 즉 새로운 추가기능모듈(67G)의 이용이 요청되었는지에 대한 판단을 한다. 그리고, 추가기능모듈(67G)의 이용이 요청된 경우에는, 흐름은 단계(S33)로 진행한다.
이 보기의 경우에서는, PC(1-1)의 사용자는 터치패드(16)등을 조작하며, 추가기능모듈화면(251)(도 13)상에 표시되는 가위바위보 추가기능모듈(67G)의 아이콘을 클릭한다. 즉, 여기에서 발생한 이벤트는 추가기능모듈(67G)의 아이콘에 관한 동작에 의한 것이다. (즉, 가위바위보 추가기능모듈(67G)의 이용이 요청되었다.) 그러므로 흐름은 단계(S33)로 진행한다.
단계(S33)에서는, 추가기능모듈 시작처리가 실행된다. 이러한 처리의 상세한 부분은 도 15에 도시한 흐름도에 도시되어 있다.
단계(S51)에서는, PC(1-1)의 통신 프로그램(54F)은 아이콘이 조작되어지는 추가기능모듈(67G) 즉, 가위바위보 추가기능모듈(67G)을 하드 디스크 드라이브(67)로부터 RAM(54)으로 로드한다.
다음에 단계(S52)에서는, 통신 프로그램(54F)이 표시부(12)의 LCD(15)상의 가위바위보 추가기능모듈(54G)의 초기표시를 표시한다.
도 16은 가위바위보 추가기능모듈(54G)의 초기표시로서 표시된 GUI의 표시보기를 도시하고 있다. 이러한 GUI는 3가지 형태의 아이콘, 즉, 가위(scissors) 아이콘, 바위(stone) 아이콘과 보(paper) 아이콘으로 구성된다.
단계(S53)에서, 통신 프로그램(54F)은 단계(S51)에서 하드 디스크 드라이브(67)로부터 RAM(54)으로 로드된 가위바위보 추가기능모듈(54G)(도 16)의 식별자와 가위바위보 추가기능모듈(54G)의 초기표시를 나타내는 데이터(표시 데이터)를 PC(1-2)로 전송한다.
그 후에, 처리가 종료되며, 흐름은 도 12의 단계(S34)로 진행한다.
단계(S34)에서는, PC(1-1)의 통신 프로그램(54F)이 통신 프로그램(54F)의 실행이 중지되도록 지시되었는지를 판단한다. 그리고 이러한 지시자 존재하지 않는다면, 흐름은 단계(S31)로 진행하며, 후속 처리를 실행한다.
이 보기의 경우에서는, 통신 프로그램(54F)의 실행을 중지시키라는 지시가 없으므로, 흐름은 단계(S31)로 진행한다. 또한, 이 보기의 경우에서는, PC(1-1)의 사용자는 터치패드(touchpad : 16)를 조작하여 도 15의 단계(S52) 내의 LCD(15) 상에 표시되어 있으며 도 16에 도시되어 있는 GUI아이콘의 "바위" 아이콘을 클릭하게 된다. 그러므로 처리는 단계(S31) 및 단계(S32)를 거쳐 단계(S35)로 진행한다.
단계(S35)에서는, 통신 프로그램(54F)이 단계(S31)에서 발생된 이벤트가 추가기능모듈(54G)에 대응하는 소정의 표시에 관한 동작에 의한 것인지를 판단한다. 그리고 이러한 이벤트가 추가기능모듈(54G)에 대응하는 정의 표시에 관한 동작에 의해 발생된 것이라면, 흐름은 단계(S36)로 진행한다.
도 16에 도시된 GUI의 "바위" 아이콘에 관한 선택동작은 추가기능모듈(54G)에 대응하는 소정의 표시에 관한 동작이다. 그러므로 흐름은 단계(S36)로 진행한다.
단계(S36)에서는, 추가기능모듈 표시변경처리가 실행된다. 이러한 처리의 상세한 부분은 도 17의 흐름도에 도시되어 있다.
단계(S61)에서는, PC(1-1)의 통신 프로그램(54F)이 추가기능모듈(54G)에 대응하는 소정의 표시에 관한 동작 내용에 따라 표시를 변경한다.
이 보기의 경우에서는, 도 16의 표시는 GUI의 "바위" 아이콘에 관한 선택동작에 따라, 도 18에 도시된 표시로 변경된다. 즉, 큰 "바위" 표시는 GUI의 좌측에 표시된다.
도 17로 돌아가면, 단계(S62)에서는, 통신 프로그램(54F)이 가위바위보 추가기능모듈(54G)의 식별자와, 단계(S61)(도 18)내에서 변경되는 표시의 표시내용을 나타내는 표시 데이터를 PC(1-2)로 전달한다.
단계(S63)에서는, 통신 프로그램(54F)이 가위바위보 추가기능모듈(54G)의 사용을 중지하는 지시가 존재하는지를 판단하며, 이러한 지시가 존재한다면, 흐름은 단계(S64)로 진행하며, 가위바위보 추가기능모듈(54G)은 하드 디스크 드라이브(67)로 언로드(unload)되어, 가위바위보 추가기능모듈(54G)의 사용이 중지된다.
단계(S63)에서 가위바위보 추가기능모듈(54G)을 중지시키는 지시가 존재하지 않거나, 또는 단계(S64)의 처리가 수행된다고 판단되면, 처리가 종료되며, 흐름은 도 12의 단계(S34)로 진행한다.
또한, 이 예의 경우에서는, 후술하나, PC(1-1)는 PC(1-2)로부터 전달되는 식별자(가위바위보 추가기능모듈(54G)의 식별자)와 표시 데이터(GUI의 "가위"에 관한 동작내용에 대응하는 표시 내용을 나타내는 표시된 데이터)를 수신한다. 그러므로 처리는 단계(S31), 단계(S32), 단계(S35)와 단계(S37)로 진행한다.
단계(S37)에서는, 통신 프로그램(54F)이 수신데이터와 (식별자 및 표시 데이터)를 분석하기 위한 처리를 수행한다. 처리의 상세한 부분은 도 19의 흐름도에 도시되어 있다.
단계(S71)에서는, PC(1-1)의 통신 프로그램(54F)이 식별자를 수신한 가위바위보 추가기능모듈(54G)이 RAM(54)에 이미 로드되어 있는지를 판단하며, 이미 로드되어 있다고 판단되면, 그 흐름은 단계(S72)로 진행한다.
PC(1-1)의 가위바위보 추가기능모듈(54G)은 이미 이 때에 RAM(54)에 이미 로드되어 있다. (그 이유는 이미 실행된 도 15의 단계(S51)의 처리에서 로드되어 있기 때문이다.) 그러므로 흐름은 단계(S72)로 진행한다.
단계(S72)에서는, 통신 프로그램(54F)은 수신된 표시 데이터(GUI의 "가위" 아이콘에 관한 선택동작에 따르는 표시내용들의 표시 데이터)에 따라 표시부(12)의 표시를 변경한다.
이 보기의 경우에서는, 이미 수행된 도 17의 단계(S61)의 처리에서 표시되어진 도 18의 표시는 도 20에 도시된 것으로 변경된다. 즉, PC(1-2)에서 선택된 "가위" 표시는 GUI의 우측(PC(1-1)에 의해 선택된 "가위' 표시의 반대측)에서 확대되어 표시된다.
다음에는, 단계(S73)에서, PC(1-1)의 통신 프로그램(54F)이 가위바위보 추가기능모듈(54G)의 사용을 중지하는 지시가 존재하는지를 판단하며, 이러한 지시가 존재한다면, 흐름은 단계(S74)로 진행하며, 가위바위보 추가기능모듈(54G)은 RAM(54)으로부터 하드 디스크 드라이브(67)로 언로드된다.
단계(S73)에서 가위바위보 추가기능모듈(54G)을 중지시키는 지시가 존재하지 않거나, 또는 단계(S74)의 처리가 수행된다고 판단되면, 처리가 종료되며, 흐름은 도 12의 단계(S34)로 진행한다.
단계(S75) - 단계(S78)내의 처리는 후술된다.
즉, 도 20에 도시된 표시는 PC(1-1)의 LCD(15)상에 표시된다.
다음에, PC(1-1)의 동작에 대응하는 PC(1-2)의 동작은, 상술한 가위바위보 추가기능모듈(54G)을 이용하는 피어 투 피어 통신을 수행하는 경우에, 도 12의 흐름도를 참조하여 설명될 것이다. 즉, PC(1-2)는 또한 PC(1-1)와 같이 동일한 방식으로, 도 12, 15, 17과 19에 도시된 처리를 실행한다.
단계(S31)에서는, PC(1-2)의 CPU가 통신 프로그램을 하드 디스크 드라이브로 부터 RAM으로 로드하며, 통신 프로그램을 실행하고, 어느 이벤트가 발생하기까지 대기한다.
이 예의 경우에서는, PC(1-2)가 PC(1-1)에 의해 이미 수행된 도 15의 단계(S53)의 처리시에 PC(1-1)로부터 전달되는 식별자(가위바위보 추가기능모듈(54G)의 식별자)와 표시 데이터(가위바위보 추가기능모듈(54G)의 초기표시가 되는 GUI의 표시 데이터)를 수신한다. 그러므로 처리는 단계(S31), 단계(S32), 단계(S35)와 단계(S37)로 진행한다.
단계(S37)에서는, PC(1-2)의 통신 프로그램이 수신데이터(식별자 및 표시 데이터)를 분석하기 위한 처리를 수행한다.
즉, 도 19의 단계(S71)에서는, PC(1-2)의 통신 프로그램이 수신된 식별자를 가지는 가위바위보 추가기능모듈(54G)이 RAM에 이미 로드되어 있는지를 판단하며, 이미 로드되어 있지 않다고 판단되면, 그 흐름은 단계(S75)로 진행한다.
가위바위보 추가기능모듈(54G)은 이때에 PC(1-2)의 RAM에 로드되어 있지 않으므로, 흐름은 단계(S75)로 진행한다.
단계(S75)에서, PC(1-2)의 통신 프로그램이 그것이 수신된 식별자를 가지는 가위바위보 추가기능모듈(67G)을 가지고 있는지를 판단한다. 그리고 그것이 이러한 모듈을 가지고 있지 않다고 판단하는 경우에는, 흐름이 단계(S76)로 진행한다.
이 예의 경우에서는, PC(1-2)가 가위바위보 추가기능모듈(67G)을 가지고 있지 않으므로, 흐름은 단계(S76)로 진행한다.
단계(S76)에서는, PC(1-2)의 통신 프로그램은 PC(1-1)(추가기능모듈의 식별자와 표시 데이터의 전송자)과 통신하며, 가위바위보 추가기능모듈(67G)을 다운로드하고, 그것을 RAM으로 로드한다.
한편, PC(1-2)가 가위바위보 추가기능모듈(67G)을 가지고 있는 경우에는, 예를 들면, 단계(S75)에서 PC(1-2)가 가위바위보 추가기능모듈(67G)을 가지고 있는 경우에는, 흐름은 단계(S77)로 진행하며, PC(1-2)의 통신 프로그램은 가위바위보 추가기능모듈(67G)을 하드 디스크 드라이브로부터 RAM으로 로드한다.
단계(S76) 또는 단계(S77)에서 RAM으로 가위바위보 추가기능모듈(67G)이 로드되면, 흐름은 단계(S78)로 진행하며, PC(1-2)의 통신 프로그램은 PC(1-1)에 의해 도 15의 단계(S52)에서 실행된 처리와 같은 방식으로, GUI(도 16)를 표시부상에 가위바위보 추가기능모듈(54G)의 초기상태로 표시한다.
그 후에, 흐름은 단계(S72)로 진행하며, 수신된 표시 데이터에 따라 PC(1-2)의 통신 프로그램은 표시부상의 표시를 변경한다. 이 보기의 경우에서는, 가위바위보 추가기능모듈(54G)의 초기표시의 표시 데이터가 수신되므로, 단계(S78)의 처리에 의해 표시되는 초기 표시는 변경되지 않는다.
그 후에, 흐름은 단계(S73)로 진행한다. 그러나 이 보기의 경우에서는, 가위바위보 추가기능모듈(54G)을 중지시키는 지시가 없으므로, 처리는 단계(S74)를 생략하고, 도 12의 단계(S34)로 진행한다. 또한, 이 보기의 경우에서는, PC(1-2)의 통신 프로그램의 실행을 중지시키는 명령이 존재하지 않으므로, 처리는 단계(S31)로 돌아가게 된다.
그 후에, 이 보기의 경우에서는, PC(1-2)의 사용자는 터치패드를 조작하여, 도 19의 단계(S78)의 처리에 의해 표시부에 표시된 GUI(도 16)내의 "가위" 아이콘 클릭하게 된다. 그러므로 처리는 단계(S31), 단계(S32)와 단계(S35)를 거쳐 단계(S35)로 진행한다.
즉, 도 17의 단계(S61)에서는, PC(1-2)의 통신 프로그램이 GUI의 "가위" 아이콘에 관한 선택동작에 따라, 도 21에 도시된 표시된 바와같이, 도 16의 표시를 변경한다.
다음에, 단계(S62)에서는, PC(1-2)의 통신 프로그램이 가위바위보 추가기능모듈(54G)의 식별자와, 단계(S61)내에서 변경되는 표시의 표시내용을 나타내는 표시 데이터(도 21)를 PC(1-1)로 전달한다. PC(1-1)는 그 데이터를 수신한다.
그 후에, 흐름은 단계(S63)로 진행한다. 이 보기의 경우에서는, 가위바위보 추가기능모듈(54G)의 사용을 중지하는 지시가 존재하지 않으므로, 단계(S64)를 생략하고, 도 12의 단계(S34)로 진행한다. 이 보기의 경우에서는, PC(1-2)의 통신 프로그램의 실행을 중지시키는 명령이 존재하지 않으므로, 처리는 단계(S31)로 돌아간다.
그 후에, 이 보기의 경우에서는, PC(1-2)가 PC(1-1)로부터, 식별자와 표시 데이터 (PC(1-1)에 의해 이미 수행되어진 도 17의 단계(S62)의 처리에 의해 PC(1-1)로부터 전달되는 가위바위보 추가기능모듈(54G)의 식별자와, GUI의 "바위" 아이콘에 관한 선택동작에 대응하는 표시내용을 나타내는 표시 데이터)를 수신한다. 그러므로, 처리는 단계(S31), 단계(S32), 단계(S35)와 단계(S37)로 진행한다.
즉, 도 19의 단계(S71)에서는, 가위바위보 추가기능모듈(54G)이 로드되어 있는지가 판단된다. 그러나, 단계(S76)에서 이미 수행된 PC(1-1)로부터 다운로드된 가위바위보 추가기능모듈(54G)이 이미 다운로드 되어진다. 그러므로, 흐름은 단계(S72)로 진행한다.
단계(S75)에서, PC(1-2)의 통신 프로그램은 수신된 표시 데이터(GUI의 "바위" 아이콘에 관한 선택동작에 대응하는 표시내용을 나타내는 표시 데이터)에 따라 표시부의 표시를 변경한다.
이 보기의 경우에서는, 도 17의 단계(S61)의 처리에 의해 표시되는 도 21의 표시는 도 22에 도시한 바와같이 변경된다. 즉 "바위" 표시는, PC(1-1)에서 선택되며, (PC(1-2)에서 선택된 "가위" 표시의 반대측이 되는)GUI의 우측에 확대되어 표시된다.
마지막으로, 이 보기의 경우에서는, 도 22에 표시는 PC(1-2)의 표시부상에 표시된다.
그러므로, 한 사용자의 다른 사용자에 의해 선택된 가위바위보 패턴들에 대응하는 화면은 PC(1-1)와 PC(1-2)의 화면상에 표시된다. 그러므로, PC(1-1)와 PC(1-2)는 가위바위보를 할 수 있다.
다음에, 설계(design) 추가기능모듈(54G)이 도 12의 흐름도를 참조하여 기술될 것이다.
설계 추가기능모듈(54G)을 이용하는 통신을 수행하게 되면, 예를 들면, PC(1-1)의 사용자의 상태가 PC(1-2)의 표시부 또는 PC(1-1)의 LCD(15) 상에 표시되는 통신화면(211)(도 13)과 통신화면(501)(도 14)의 프레임이 펭귄형태로 표시된다.
또한, 이 예의 경우에서도, PC(1-1)가 설계 추가기능모듈(67G)을 가지고 있으며, 통신 피어가 되는 PC(1-1)는 가지고 있지 않다고 가정한다.
또한, 이것은 피어 투 피어 통신을 위한 통신연결은 PC(1-1)와 PC(1-2)사이에 이미 설정되어 있으며, 도 13에 도시된 화면은 PC(1-1)의 LCD(15) 상에 표시되어 있으며, 도 14에 도시된 화면은 PC(1-1)의 표시부상에 표시되어 있다고 가정하는 것이다.
이 보기의 경우에서는, PC(1-1)의 사용자가 터치패드(16)등을 조작하여 추가기능모듈화면(251)(도 13)내에 표시된 설계 추가기능모듈(67G)의 아이콘을 클릭한다. 그러므로 처리는 단계(S31), 단계(32)와 단계(S33)로 진행한다.
단계(33)에서는 추가기능모듈 시작처리가 실행된다. 즉, 도 15의 단계(S51)에서는, PC(1-1)의 통신 프로그램(54F)이 아이콘이 조작되어지는 추가기능모듈(67G) 즉, 설계 추가기능모듈(67G)을 하드 디스크 드라이브(67)로부터 RAM(54)으로 로드한다.
다음에 단계(S52)에서는, 통신 프로그램(54F)이 표시부(12)의 LCD(15)상의 설계 추가기능모듈(54G)의 초기표시를 표시한다.
도 23은 설계 추가기능모듈(54G)의 초기표시로서 표시된 통신화면(211)의 표시보기를 도시하고 있다. 즉, 통신화면은 펭귄형태로 표시된다.
단계(S53)에서는, 통신 프로그램(54F)이, 단계(S51)에서 하드 디스크 드라이브(67)로부터 RAM(54)으로 로드된 설계 추가기능모듈(54G)의 식별자와 설계 추가기능모듈(54G)의 초기표시를 나타내는 표시 데이터(이 예의 경우에는, 통신화면(211)의 표시내용(그 형태는 펭귄형태이다)을 나타내는 표시 데이터)를 PC(1-2)로 전송한다.
그 후에, 처리가 종료되며, 흐름은 도 12의 단계(S34)로 진행한다.
단계(S34) 이후의 처리는 가위바위보 추가기능모듈(54G)의 경우와 동일하므로, 그에 관한 설명은 생략된다.
다음에, 설계 추가기능모듈(54G)을 이용하는 피어 투 피어 통신을 수행하는 경우에 PC(1-1)의 동작에 대응하는 PC(1-2)의 동작이 도 12의 흐름도를 참조하여 설명될 것이다.
이 예의 경우에는, PC(1-2)의 CPU(통신 프로그램)가 PC(1-1)에 의해 이미 수행된 도 15의 단계(S53)의 처리시에 전달된 식별자와 표시 데이터(설계 추가기능모듈(54G)의 식별자와 통신화면(211)의 표시내용을 나타내는 표시 데이터)를 수신한다. 그러므로 처리는 단계(S31), 단계(S32), 단계(S35)와 단계(S37)로 진행한다.
즉, 도 19의 단계(S71)에서는, PC(1-2)의 통신 프로그램이 수신된 식별자를 가지는 설계 추가기능모듈(54G)이 RAM에 이미 로드되어 있는지를 판단하며, 이미 로드되어 있지 않다고 판단되면, 그 흐름은 단계(S75)로 진행한다.
설계 추가기능모듈(54G)은 이 때에 PC(1-2)의 RAM에 로드되어 있지 않으므로, 흐름은 단계(S75)로 진행한다. 그 후에, 이 보기에서는, PC(1-2)가 설계 추가기능모듈(54G)을 가지고 있지 않으므로, 흐름이 단계(S76)로 진행한다.
단계(S76)에서는, PC(1-2)의 통신 프로그램이 PC(1-1)(설계 추가기능모듈(54G)의 식별자와 표시 데이터의 전송자)과 통신하며, 설계 추가기능모듈(67G)을 PC(1-1)로부터 다운로드하고, 그것을 RAM으로 로드한다.
다음에, 단계(S78)에서, PC(1-2)의 통신 프로그램은 표시부의 설계추가기능모듈(54G)의 초기상태를 표시한다. 즉, 그에 따라, PC(1-2)의 표시부상에 표시되며, PC(1-1)에 의해 수신된 영상을 표시하는 표시부(511)로 구성되는 통신화면(501)은 도 24에 도시한 바와같이, 펭귄의 형태로 표시된다.
그 후에, 단지 PC(1-1)만이 설계 추가기능모듈(67G)을 가지는 경우라도, PC(1-2)상에 표시되며 PC(1-1)에 의해 수신된 영상을 표시하는 통신화면(501)은 통신화면(211)의 경우와 같이, 펭귄의 형태로 표시될 수 있다.
상술한 바와 같이, 모든 통신 PC(1)가 추가기능모듈을 가지고 있지 않더라도, 추가기능모듈은 통신을 위해 사용될 수 있으므로, 이러한 추가기능모듈을 가지지 않는 PC(1)의 사용자는 추가기능모듈을 가지고 있는 PC(1)의 사용자와 통신함으로써 추가기능모듈을 이용할 수 있으며, 그러한 경험에 근거하여 추가기능모듈에 대한 구입을 결정할 수 있다. 또한, 추가기능모듈을 제공하는 측은 사용자가 추가기능모듈을 쉽게 이용하도록 허용하므로, 추가기능모듈의 판매를 촉진하게 된다.
상기 설명은 단자인 PC(1)를 참조하여 기술되었지만, 이것은 단자인 셀룰러 전화와 함께 이용될 수 있다.
상술한 일련의 처리는 하드웨어 또는 소프트웨어에 의해 실행될 수 있다. 소프트웨어에 의해 이러한 일련의 처리를 실행하는 경우에, 소프트웨어를 구성하는 프로그램은 전용 하드웨어 내에 내장되거나 또는 프로그램 저장매체로부터 범용 컴퓨터, 예를 들면, 여러 가지 프로그램들을 설치함으로써 여러 가지 기능을 실행할 수 있는 컴퓨터로 설치될 수 있다.
기록매체는 프로그램을 공급하기 위해서 컴퓨터로부터 독립적으로 사용자에게 분배되며 도 7에 도시된 바와같은 패키지 매체에만 한정되어 있는 것은 아니다. 예를 들면, 그 안에 프로그램이 기록되어 있는, (플로피 디스크를 포함하는)자기 디스크(121), CD-ROM과 DVD를 포함하는) 광디스크(122), (MD를 포함하는) 광자기 디스크(123)와, 반도체 메모리(124)에만 한정되어 있는 것은 아니다. 미리 컴퓨터내에 조립되어지는 상태에서 사용자에게 제공되도록 기록된 프로그램의 하드 디스크 드라이브(67)을 포함한다.
상기 설명에서는, 기록매체에 의해 제공된 프로그램을 기술하는 단계는 물론 다음과 같은 순서에 따르는 시간 순서에 의해 수행되는 처리가 될 수 있으나, 반드시 시간 순서에 의해 처리될 필요는 없다 그리고 본 발명은 동시에 또는 독립적으로 실행되는 처리들을 포함한다. 또한, 상기 설명에서, "시스템"은 복수의 장치로 구성되는 전체 장비를 나타낸다.
<제 2의 실시예>
다음에는, 본 발명의 제 2의 실시예가 도면을 참조하여 설명된다. 본 실시예는 컴퓨터망에 연결되어 있는 정보처리장치의 사용자들이 영상 데이터, 음성 데이터, 텍스트 데이터와 제어 데이터중에서 임의의 데이터를 교환함으로써 생각과 감정을 통신하는 통신 시스템에 적용되는 본 발명의 한 경우라고 가정한다. 우선, 이러한 통신을 실현하는 기본적인 시스템 구성에 대한 개략적인 설명이 서술될 것이다.
소위 TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜을 이용하여, 복수의 정보처리장치들 간의 상호접속을 실현하는 망구조가 존재한다고 가정하고 다음과 같은 설명이 기술될 것이다. 그러나, 본 발명은 이러한 망구조에 대한 응용에만 제한되어 있는 것은 아니다. 그리고 복수의 정보처리장치들 사이에서 여러 가지 형태의 정보를 교환하는 컴퓨터망에 널리 적용될 수 있다.
또한, 다음의 설명에서는, 여러 가지 형태의 정보를 교환하는 정보처리장치가 소비자형 PC(personal computer) 장치(이후로는 간단히 "컴퓨터 장치"라고 부른다.)가 된다고 가정하면서 설명이 기술되지만, 본 발명은 이러한 컴퓨터 장치에 대해서만 응용이 제한되어 있는 것은 아니며, 통신장비등을 구비한 셀룰러 전화, PDA와 같은 여러 가지 형태의 정보처리장치에 널리 응용될 수 있다.
(2-1) 통신 시스템의 기본 구성
도 25에 도시한 바와같이, 본 실시예에 기술된 통신시스템(600)은, 예를 들면, 여러 가지 형태의 정보를 상호 교환하기 위해서, 인터넷(611)을 통해 연결된 컴퓨터 장치(610)를 가지고 있다.
각 컴퓨터 장치(610)는 인터넷(611)에 직접 연결되거나 또는 ISP(Internet Service Provider)를 이용하여, 공중전화망(615)을 통해 인터넷(611)에 연결될 수 있다. 공중전화망(615)의 예로는, 예를 들면, 전화선망(615a), 케이블 TV망(615b), ADSL(Asymmetric Digital Subscriber Line)망(615c) 등을 포함한다. 컴퓨터 장치(610)가 인터넷에 연결될 수 있는 환경하에 있는 한은, 그 연결은 케이블 접속 또는 무선 접속일 수 있다. 예를 들면, 컴퓨터 장치(610)는 PHS(Personal Handyphone System) 장치 등을 통해 인터넷(611)에 연결되도록 구성될 수 있다.
컴퓨터 장치(610)의 각각은 TCP/IP 프로토콜을 이용하여 인터넷(611)상에서 전달 경로를 설정하고 인터넷(611)에 연결되어 있는 상태에서 영상 데이터, 음성 데이터, 텍스트 데이터, 제어 데이터와 같은 여러 가지 형태의 데이터를 서로 교환할 수 있다.
다음은 상술한 통신 시스템(600)을 구성하는 컴퓨터 장치(610)의 구성에 대한 설명이다.
다음은 설명을 쉽게 하기 위해서, 디지털 영상 카메라가 컴퓨터 장치(610)상에 장착되어 있는 경우에 대한 것을 기술하고 있다. 그러나, 컴퓨터 장치(610)는 케이블 또는 무선에 의해 외부의 디지털 영상카메라 장치에 접속되어 있거나 또는 컴퓨터 장치(610)가 연결되어 있는 LAN등과 같은 컴퓨터망에 디지털 영상카메라 장치가 직접 연결되어 있는 구성이 될 수 있다. 이 때에, 디지털 영상카메라에 의해 수신된 영상 데이터와 음성 데이터는 컴퓨터망을 통해 컴퓨터 장치(610)안으로 입력된다.
도 26에 도시한 바와 같이, 컴퓨터 장치(610)는 여러 가지 연산처리를 수행하고 부품들을 제어하는 CPU(620), CPU(620)의 작업영역으로 기능하는 RAM(621), CPU(620)에 의해 실행되는 여러 가지 프로그램을 포함하는 정보를 저장하는 ROM(622), CPU(620)에 의해 실행되는 동작 시스템과 여러 가지 데이터 등이 기록되고 재생되며, 응용 프로그램과 같은 여러 가지 형태의 프로그램을 저장하는 하드 디스크 드라이브(23), 여러 가지 정보를 표시하는 표시부(624), 표시부(624)와 CPU(620) 사이에서의 데이터 교환을 위한 표시 인터페이스(625), 사용자로부터 여러 가지 정보 또는 지시를 입력하는 동작부(626), 동작부(626)와 CPU(620) 사이에서의 데이터 교환을 위한 동작 인터페이스(627), 상술한 공중전화망(615)을 통해 인터넷(611)에 연결된 와부장치와 데이터 교환을 하는 망인터페이스(628), 영상 데이터와 음성 데이터를 얻기 위해서 대상을 이미징하는 디지털 영상카메라(629)와, 소위 MPEG2 형태에 근거하여 압축 인코딩과 디코딩을 수행하는 MPEG2 코덱(MPEG2 CODEC)(630)을 포함한다.
이러한 구성요소들 중에서, 컴퓨터 장치(610)는, 버스(631)를 통해 연결되어 있는 CPU(620), RAM(621), ROM(622), 하드 디스크 드라이브(623), 표시 인터페이스(625), 동작 인터페이스(627), 망인터페이스(628), 디지털 영상카메라(629)와 MPEG2 코덱(630)으로 구성된다.
컴퓨터 장치(610)를 위한 디지털 영상카메라(629)는 예를 들면, 컴퓨터 장치(610)에 장착되는 대신에 외부장치를 연결시키는 소정의 인터페이스 또는 망인터페이스(628)를 통해 버스(631)에 연결된다는 것을 주목하자. 또한, 컴퓨터 장치(610)가, 예를 들어 필요에 따라 분리가능한 기록매체에 대해서 입력/독출을 수행하는 분리가능한 기록/재생장치가 하드 디스크 드라이브(623)가 연결되어 있기 때문에, 여러 가지 데이터가 이러한 기록/재생장치에 대해서 기록과 재생이 되는 구조를 가질 수 있다.
CPU(620)는 버스(631)를 통해 RAM(621), ROM(622), 하드 디스크 드라이브(623), 표시 인터페이스(625), 동작 인터페이스(627), 망인터페이스(628), 디지털 영상카메라(629)와 MPEG2 코덱(630)에 연결되어 있다. CPU(620)는 중앙에서 각 구성 요소들을 제어하며, 또한 예를 들어 하드 디스크 드라이브(623) 상에 기록되어 있는 동작 시스템과 여러 가지 응용 프로그램들을 실행한다. 특히, CPU(620)는 응용 프로그램 중 한 개의 프로그램으로 구성된 통신 프로그램의 실행을 처리한다. 이러한 통신 프로그램의 상세한 부분은 후술될 것이다.
RAM(621)은 CPU(620)가 여러 가지 프로그램을 실행하는 작업영역으로 기능하며, CPU(620)의 제어하에서 여러 가지 데이터를 임시적으로 저장한다.
ROM(622)은 컴퓨터 장치(610)를 구동하는데 필요한 여러 가지 프로그램과 설정 정보를 저장한다. ROM(622)에 저장된 여러 가지 프로그램과 설정 정보는 컴퓨터 장치(610)를 구동할 때에 독출되며, CPU(620)에 의해 이용된다.
하드 디스크 드라이브(623)는 동작 시스템과 응용 프로그램등을 저장하며, 또한 CPU(620)의 제어하에서 여러 가지 프로그램등을 기록하고 재생한다.
표시부(624)는 예를 들어 LCD로 형성되며, 하드 디스크 드라이브(623)상에 기록되어 있는 데이터와 같은 여러 가지 정보를 CPU(620)의 제어하에서 표시화면에 표시한다. 특히, 표시부(624)는 후술하는 통신 프로그램의 실행결과를 표시하는 특정한 그래피컬 사용자 인터페이스 윈도우와 이 통신 프로그램에 대해서 여러 가지 지시를 수행하는 버튼을 표시한다.
표시 인터페이스(625)는 CPU(620)와 표시부(624)사이에서 데이터를 교환한다. 즉, 표시 인터페이스(625)는 버스(631)를 통해 CPU(620)로부터 공급된 여러 가지 정보를 표시부(624)로 공급한다.
동작부(626)는, 예를 들면, 키보드와 같은 사용자 인터페이스, 마우스와 같은 포인팅장치, 또는, 소위 조그 다이얼과 같은 회전 스위치를 이용하여 사용자의 조작을 받아들인다. 그리고 동작 인터페이스(627)를 통해 조작내용을 나타내는 제어신호들을 CPU(620)로 공급한다.
동작 인터페이스(627)는 CPU(620)와 동작부(626) 사이에서 데이터를 교환한다. 즉, 동작 인터페이스(627)는 버스(631)를 통해 동작부(626)로부터 공급된 제어신호를 CPU(620)로 공급한다.
망인터페이스(628)는 CPU(620)의 제어하에서 외부통신을 수행하기 위한 인터페이스로서 기능한다. 즉, 망인터페이스(628)는 인터넷(611)에 연결된 다른 컴퓨터 장치(610)와 여러 가지 정보를 교환하기 위해서 제공된다.
디지털 영상카메라(629)는 CCD와 같은 광변환장치, 대상의 영상을 촬상하는 일정한(certain) 광시스템으로 구성된다. 디지털 영상카메라(629)에 의해 얻어진 영상 데이터와 음성 데이터는 CPU(620)의 제어하에, 버스(631)를 통해 MPEG2 코덱(630)으로 공급된다.
MPEG2 코덱(630)은 CPU(620)의 제어하에, MPEG2 형태에 근거하여, 버스(631)를 통해 디지털 영상카메라(629)에서 공급되는 영상 데이터와 음성 데이터에 대해서 압축 인코딩을 수행한다. 이때, MPEG2 코덱(630)은 CPU(620)의 제어하에, 영상 데이터와 음성 데이터의 실시간 압축 인코딩을 수행한다.
(2-3) 통신 프로그램의 개요
상술한 컴퓨터 장치(610)에 의해 실행되는 통신 프로그램이 기술된다.
통신 프로그램은 개별적인 기능을 각각 실현하는 복수의 모듈이 서로 자유롭게 결합될 수 있는 프로그램 그룹으로 구성되며, 상기 통신 프로그램은, 예를 들면, 컴퓨터 장치(610)의 하드 디스크 드라이브(623) 상에 기록된다. 컴퓨터 장치(610)는 CPU(620)에 의해 이러한 통신 프로그램을 실행시킴으로써, 다른 컴퓨터 장치들과 영상 데이터, 음성 데이터, 텍스트 데이터와 같은 여러 가지 정보를 교환한다. 그러므로, 컴퓨터 장치의 사용자들은 서로 의견과 감정을 교환할 수 있다. 통신 프로그램은, 또한, 예를 들면, 소위 컴팩트 디스크 등과 같은 기록매체 또는 인터넷(611) 등과 같은 전송매체에 의해 제공된다.
컴퓨터 장치(610)에 의해 시행되는 통신 프로그램은 다른 컴퓨터 장치에서 실행되는 통신 프로그램을 가지고 소위 서버/클라이언트(server/client) 통신을 수행한다. 즉, 상호 연결상태가 설정되어 있는 복수의 통신 프로그램에 대해서, 서버의 기능은 어느 통신 프로그램에 의해 실현되며, 다른 통신 프로그램은 클라이언트로서 기능한다. 그러나, 통신 프로그램의 실행처리가 컴퓨터 장치(610)에서 시작될 때에, 초기구동상태에서 다른 통신 프로그램과 상호 연결상태가 설정되어 있지 않다면, 그 동작은 스스로 세션(session)을 설정할 수 있으며, 이 때에 서버와 클라이언트의 차이가 없으므로, 동작은 가상 세션모드(virtual session mode)로 된다.
복수의 컴퓨터 장치(610)에 의해 실행되는 통신 프로그램 사이에서 세션을 설정하는 경우에, 연결설정정보는 통신 프로그램 사이에서 교환된다. 이러한 연결설정정보는 예를 들어 통신 프로그램을 구동할 때에 컴퓨터 장치(610)에 의해 발생되며, 연결설정정보, 통신 프로그램에 의해 이용되는 포트 번호등의 전송자가 되는 컴퓨터 장치(610)에 설정된 IP어드레스를 기술하는 파일로 구성된다. 연결설정정보의 상세한 것은 후술된다.
연결설정정보가 통신 프로그램으로부터 다른 통신 프로그램으로 전송되는 경우에, 이러한 연결설정정보를 얻는 통신 프로그램은 연결설정정보내에 기술되는 IP 어드레스와 포트번호에 근거하여, 전송자가 되는 컴퓨터 장치(610)와 연결처리(그리고, 그에 따라 컴퓨터 장치(610)에서 실행되는 통신 프로그램)을 수행한다. 그러므로, 세션을 설정하게 된다.
이때, 연결설정정보를 포함하는 파일은, 예를 들면, 접미사(suffix)에 의해 통신 프로그램과 상관관계를 가지게 되며, 컴퓨터 장치에서 이러한 파일의 선택은 소위 이중 클릭동작을 수행함으로써 자동적으로 통신 프로그램을 구동시키게 된다.
통신 시스템(600)에서는, 구동시에 연결설정정보를 발생하고 이러한 연결설정정보를 다른 통신 프로그램에 전송하는 측의 프로그램은 서버의 기능을 수행하며, 얻어진 연결설정정보에 근거하여 구동되는 측의 프로그램은 클라이언트로 작용한다.
여기에서, 상술한 컴퓨터 장치 사이에서 연결설정정보를 교환하는 것은 클라이언트로 작용하는 컴퓨터장치에 대해서 접속시작을 요청하는 메시지를 운반하는 e-mail에 연결설정정보를 포함하는 파일을 첨부시키는 서버로 작용하는 컴퓨터 장치(610)와, 이러한 e-mail을 전송하는 단계에 의해 실현된다.
본 실시예에서 기술된 통신 시스템(600)은 e-mail을 이용하여 연결설정정보를 전송하지만, 연결설정정보가 인터넷(611)에 연결된 컴퓨터 장치들 사이에서 여러 가지 형태의 파일교환을 구현하는 응용 프로그램, 예를 들면, FTP 소프트웨어와 같은 프로그램에 의해 데이터 파일 또는 응용 프로그램으로 전송되는 구조가 형성될 수 있다. 또한, 예를 들면, 컴퓨터 장치의 사용자에 대해서 연결을 시작했다는 것을 통지하지 않고, 컴퓨터 장치 사이에서 연결설정정보를 직접 교환함으로써, 사용자가 연결의 시작(세션의 설정)을 모르는 상태에서, 클라이언트 측의 컴퓨터 장치 내에서 통신 프로그램이 자동적으로 구동되는 구조가 형성될 수 있다.
(2-4) 통신 프로그램의 모듈 구조
통신 프로그램의 모듈구조에 대한 설명이 도 27을 참조하여 기술된다. 도 27에 도시한 바와 같이, 예를 들면, 통신 프로그램은 컴퓨터장치(610)의 망인터페이스(628)의 동작을 제어하는 인터페이스 모듈(650), 다른 컴퓨터에서 실행되는 통신 프로그램과의 세션을 설정하는 코어 모듈(651), 통신 프로그램을 위한 기본 기능을 제공하는 기본 모듈(652), 각각의 기능을 제공하는 복수의 응용모듈(653)과, 그래피컬 사용자 인터페이스를 관리하는 GUI 모듈(654)로 구성된다.
인터페이스 모듈(650)은 API(Application Program Interface)로 구성되며, 인터넷(611)과 같은 컴퓨터망을 통해 다른 컴퓨터 장치에서 프로그램이 실행되는 동안에 영상 데이터, 음성 데이터, 텍스트 데이터 등과 같은 여러 가지 정보를 위한 전송경로를 설정하는 모듈이다. 그러므로, 네트워크 통신의 상세한 부분들이 간단한 명령시스템에 의해 쉽게 처리된다. 이러한 인터페이스 모듈(650)의 예로는 마이크로소프트사의 "DirectPlay"가 있다.
코어모듈(651)은 다른 통신 프로그램과 세션을 설정하며, 세션설정을 관리하는 세션관리기능을 가지고 있다. 즉, 코어모듈(651)은 연결설정정보를 생성하는 연결설정정보 생성기능, 세션을 설정하는 세션설정기능, 통신 프로그램 사이에서 데이터를 송수신하는 데이터 송수신기능, 설정된 세션내에서 사용자들을 관리하는 인-세션(in-session) 사용자 관리기능등을 세션관리기능으로서 제공한다.
통신 시스템(600)에서는, 서버로 작용하는 통신 프로그램과 클라이언트로서 작용하는 통신 프로그램이 존재한다. 서버측 통신 프로그램은 클라이언트측 통신 프로그램으로부터 전송된 데이터를 수신하고, 이 데이터의 수신자를 참조하고, 그 수신자로 지정된 다른 클라이언트측 통신 프로그램으로 전달하는 처리를 수행한다. 따라서, 통신 시스템(600)에서는, 영상 데이터, 음성 데이터, 텍스트 데이터 등과 같은 여러 가지 정보를 교환하기 위해 설정된 세션을 가지는 것이 필요하다. 따라서, 통신 프로그램에는 코어모듈(651)에 의해 이러한 세션설정 및 관리를 수행하기 위해 필요한 인터페이스로서 작용하는 세션관리기능이 제공된다.
코어모듈(651)은 IP 어드레스, 포트번호 등을 얻게 되며, 연결설정정보를 기술하는 파일을 생성한다. 이 파일은 암호화 과정과 해독과정을 거치게 된다. 또한, 클라이언트로서 작용하는 경우, 코어모듈(651)은 얻어진 연결설정정보 내에 기술된 IP 어드레스와 포트번호에 근거하여, 서버측으로 작용하는 컴퓨터 장치에 연결된다. 그러므로, 세션이 설정된다.
또한, 코어모듈(651)은 세션이 설정된 각 통신 프로그램(즉, 사용자)을 관리한다. 즉, 예를 들면, 코어모듈(651)은 사용자의 리스트를 생성하거나 또는 얻게 되며, 각 사용자(사용자 ID)에게 할당된 고유한 식별정보를 얻거나 또는 관리한다. 또한, 새로운 사용자와 연결이 설정되는 일, 어느 사용자와 연결이 단절되는 일 또는 각 사용자에 대한 연결상태 또는 연결이름을 포함하는 사용자 정보가 변경되는 일과 같은, 이벤트가 발생하는 경우에, 코어모듈(651)은 이러한 이벤트를 기본모듈(652)과 그 응용모듈(653)로 통지한다.
또한, 코어모듈(651)은 각 응용모듈(653)을 제어하는 응용모듈 관리기능을 가지고 있다. 즉, 예를 들면, 코어모듈(651)은 응용모듈(653)의 구동관리, 응용모듈(653) 간의 데이터 교환 등을 수행한다.
즉, 예를 들면, 코어모듈(651)은 컴퓨터 장치(610)의 소정의 저장영역으로부터, 컴퓨터 프로그램에 설치된 응용모듈(653)에 관련된 모듈정보를 얻으며, 이미 설치된 응용모듈(653)의 리스트를 생성한다. 이러한 모듈정보는 예를 들면, 각 응용모듈에 고유한 모듈식별정보, GUI와 관련된 GUI정보, 모듈이 통신 프로그램의 구동과 동일한 시간에 동작을 시작하는지 아닌지를 지시하는 플래그 정보 등으로 구성된다. 코어모듈(651)은 이러한 모듈정보에 근거하여, 응용모듈(653)의 구동상태를 관리한다.
또한, 코어모듈(653)은 구동되지 않은 응용모듈(653)을 구동하고, 컴퓨터 장치(610)의 표시부(624) 상의 표시/비표시의 스위치-오버제어를 수행한다.
코어모듈(651)의 동작의 보기로서는, 서버측 통신 프로그램을 통해, 클라이언트측의 통신 프로그램으로부터 다른 통신 프로그램으로 데이터를 전달하는 경우가, 도 28을 참조하여 기술될 것이다.
이 경우, 데이터 전송측에서 동작하는 코어모듈(651)은 기본모듈(652)과 응용모듈(653)로부터 전달되는 데이터를 수신하며, 이 데이터에 전송 헤더를 첨부하고, 이것을 서버측 프로그램에 전달한다. 서버측에 대한 이러한 전송에 관한 수신 데이터의 내용에는 아무런 관련이 없다.
한편, 서버측에서 동작하는 코어모듈(651b)은 데이터 전송측으로부터 얻어지는 데이터 내에 포함된 전송헤더를 참조하며, 데이터 전송측으로부터 얻어진 데이터를 수신지가 되는 전송헤더 내에 기술된 데이터 수신측의 통신 프로그램으로 전송한다.
또한, 데이터 수신측에서 동작하는 코어모듈(651c)은 얻어진 데이터 내에 포함된 전송헤더를 참조하며, 그 데이터를 소정의 응용모듈(653)로 전송한다. 이 때에, 데이터 수신측의 통신 프로그램으로부터 이 데이터와 함께 전달되는 응용모듈(653)이 구동되지 않는 경우에는, 이러한 응용모듈(653)의 구동처리가 수행된다.
또한, 응용모듈(653)이 수신측 통신 프로그램에 존재하지 않는 경우에, 코어모듈(651c)은 데이터 전송측 통신 프로그램으로 그러한 내용을 담은 메시지를 전달한다. 이때, 모든 응용모듈(653)이 얻어진 데이터를 전송하는 응용모듈(653)로서 지정되는 경우에는, 코어모듈(651c)은 단지 이 데이터를 구동되는 응용모듈로 전달한다.
코어모듈(651)은 상술한 바와같이 동작함으로써, 통신 프로그램 사이에서 데이터를 전달하게 된다.
한편, 기본모듈(652)은 통신 프로그램 내에서 이용되는 여러 가지 윈도우를 준비하는 기능을 가지는 모듈이다. 또한, 기본모듈(652)은 통신 프로그램의 실행처리에 필요한 여러 가지 정보를 위해 설정하는 설정기능과, 설정내용을 설정하기 위해 필요한 연결성정정보를 e-mail에 첨부하고, 그 e-mail을 클라이언트측으로 전달하는 e-mail 전송기능 등을 가지고 있다.
각각의 기능을 제공하기 위한 기능을 가지는, 복수의 응용모듈(653)은 필요에 따라 응용 프로그램에 설치된다. 본 실시예에 따르는 통신 프로그램에서는, 설치된 응용모듈(653)은 개인정보 관리모듈(653a), 영상전송모듈(653b), 음성데이터 전송모듈(653c), 웹기능모듈(653d), 대화내용 전송모듈(653e), 대화로그모듈(653f)(chat log module), 감정표현모듈(653g), 동작모듈(653h), 생방송 모듈(653i)등을 포함한다.
개인정보 관리모듈(653a)은 세션내에 존재하는 통신 프로그램에 대응하는 즉, 각 사용자에 대응하는 영상 데이터와 이름정보와 같은 개인정보를 관리하는 모듈이다.
통신 프로그램은, 초기 구동상태에서, 영상, 이름등과 같은, 사용자에 대응하는 입력과 설정내용들을 사용자에게 요구하여 그것을 얻게 된다. 이때, 표시요청은 코어모듈(651)을 통해 개인정보 관리모듈(653a)로 전송된다. 이와 같이 다른 모듈로부터 표시요청을 수신하자마자, 개인정보 관리모듈(653a)은 GUI모듈(654)로 소정의 획득요청(obtaining request)을 전송하며, 적합한 개인정보를 얻고, 컴퓨터 장치(610) 상에 표시된 윈도우 내에 소정의 개인정보와 소정의 영역을 표시한다.
또한, 다른 모듈로부터 사용자 정보갱신요청을 수신하는 경우에는, 개인정보 관리모듈(653a)이 망을 통해 연결이 설정되어 있는 상태에서 다른 통신 프로그램의 개인정보 관리모듈(653a)로 개인정보 획득요청을 전송한다. 이 때에, 개인정보 획득요청이 얻어지는 측의 개인정보 관리모듈(653a)은 자신의 개인정보를 얻으며 표시통지로서 그것을 반환한다.
이러한 사용자 정보갱신요청은 예를 들면 새로운 사용자가 통신 시스템(600)내에 참가하는 경우에 코어모듈(651)에 의해 개인정보 관리모듈(653a)로 전송된다.
영상전송모듈(653b)은 가산처리(addition processing), 삭제처리 또는 선택시의 처리와 같은 영상 데이터의 처리를 제공하는 모듈이다. 또한, 영상전송모듈(653b)은 영상을 찍을 것인가 아닌가에 대한 스위칭 동작에 대한 제어, 즉, 컴퓨터 장치(610)에 연결 또는 장착되어 있는 디지털 영상카메라(629)의 여러 가지 제어를 수행한다. 디지털 영상카메라(629)의 촬상상태가 온이라면, 영상전송모듈(653b)은 영상 데이터의 전송처리를 수행하고, 인터넷(611)에 관한 통신상태의 부하를 모니터한다. 게다가, 영상전송모듈(653b)은 또한 사용자의 설정에 따라, 불확실한 통신에 의해, 다른 통신 프로그램으로 전송을 수행할 수 있다. 이 경우에, 전송된 영상 데이터는 전송 경로를 따라 손실이 되더라도, 재전송되지는 않는다.
음성데이터 전송모듈(653c)은 영상전송모듈(653b)과 동등하며, 가산처리, 삭제처리 또는 선택시의 처리와 같은 영상 데이터의 처리를 제공하는 모듈이다, 또한, 음성데이터 전송모듈(653c)은, 인터페이스 모듈(650)에 설치된 음성 기능을 이용하여, 통신 프로그램들 사이에서 음성 데이터를 송수신하는 기능을 가지고 있다. 통신 시스템(600)에서는, 음성출력이 서버측 통신 프로그램에서 온상태인 경우에만, 클라이언트측 통신 프로그램에서 음성출력이 온 상태가 될 수 있다. 또한, 클라이언트측 통신 프로그램으로부터 전송된 음성 데이터는 서버측 통신 프로그램에 설치된 음성데이터 전송모듈(653c)에 의해 혼합되며, 클라이언트측 통신 프로그램으로 다시 전송된다.
웹기능모듈(653d)은 통신 프로그램이 실행되는 컴퓨터 장치(610) 또는 인터넷(611)에 연결된 다른 컴퓨터 장치내에 보존된 하이퍼 텍스트 또는 영상 데이터와 같은 여러 가지 정보를 얻고, 얻어진 여러 가지 정보를 표시하는 웹정보 표시기능을 제공하는 모듈이다. 또한, 웹기능모듈(653d)은 위치를 나타내는 URL(Uniform Resource Locator)을 공유하는 URL 공유기능과 인터넷(611) 상에 존재하는 여러 가지 정보(자원)를 얻는 방법을 가지고 있다.
대화내용 전송모듈(653e)은 GUI모듈(654)로 텍스트 데이터가 입력되는 것을 나타내는 이벤트가 GUI모듈(654)로부터 통보되는 것에 근거하여 입력된 텍스트 데이터를 얻으며, 설정된 세션에 의해 모든 다른 통신 프로그램으로 얻어진 텍스트 데이터를 포함하는 대화 메시지 통보를 전달하는 모듈이다. 또한, 대화내용 전송모듈(653e)은 대화 메시지 통보를 수신하자마자, GUI모듈(654)에 대해서 대화 메시지 통보내에 포함된 텍스트 데이터를 표시하라는 요청을 하게 된다. 따라서, 소위 "말풍선과 같은(balloon-like) 텍스트 표시영역"은 통신 프로그램 윈도우의 소정의 위치에 확보되며, 텍스트 데이터는 이 영역 내에 표시된다.
대화로그모듈(653f)은 대화내용 전송모듈(653e)로부터 전달된 대화 메시지 통보에 근거하여, 입력을 수신된 텍스트 데이터로 기록한다. 그리고 대화로그파일을 생성한다. 대화로그모듈(653f)은 소정의 저장용량만큼, 컴퓨터 장치(610)의 RAM(621)내에 텍스트 데이터를 저장한다. 필요에 따라, 하드 디스크 드라이브(623)등에 RAM(621)내에 저장된 텍스크 데이터를 션트(shunt)하며, 대화로그파일을 생성한다. 또한, 이러한 대화로그를 표시하라는 요청이 이루어진 경우에, 대화로그모듈(653f)은 대화로그파일내에 저장된 텍스트 데이터를 얻고, 통신 프로그램 윈도우의 소정의 영역내에 그것을 표시하는 기능을 가지고 있다.
감정표현모듈(653g)은 감정의 표현과 관련된 애니메이션 효과(animation effects)를 독출하고 표시하는 모듈이다. 또한, 감정표현모듈(653g)은 GUI모듈(654)에 감정 등을 표현하기 위해 선택되는 버튼을 표시하도록 요청한다.
또한, GUI모듈(654)로부터 어느 버튼이 선택되었다는 통지를 수신하자마자, 감정표현모듈(653g)은 이러한 버튼에 대응하는 감정표현데이터(애니메이션 데이터)를 세션이 설정되어 있는 상태에서, 모든 통신 프로그램으로 전달한다. 한편, 감정표현 데이터를 수신하는 경우에, 감정표현모듈(653g)은 GUI모듈(654)로 하여금 감정표현 데이터를 표시하도록 요청한다.
동작모듈(653h)은 동작 데이터를 독출하고 표시하는 모듈이다. 또한, 동작모듈(653h)은 GUI모듈(654)이 표시동작시에 선택되는 버튼을 표시하도록 요청한다. 또한, 표시동작시에 선택된 버튼을 사용자가 선택하지마자, 동작모듈(653h)은 선택한 버튼에 대응하는 동작 데이터(애니메이션 데이터)를 세션이 설정되어 있는 상태에서, 모든 통신 프로그램으로 전달한다. 한편, 동작 데이터를 수신하자마자, 동작모듈(653h)은 GUI모듈(654)로 하여금 이러한 동작 데이터를 표시하도록 요청한다.
생방송 모듈(live performance module : 653i)은 인터넷(611)을 통해 영상 데이터와 음성 데이터의 실시간 분배를 수행하는 실시간 분배 프로그램과 협조하여 동작하는 모듈이다. 통신 프로그램은 생방송 모듈(653i)을 설치함으로써, 영상 데이터와 음성 데이터를 실시간 분배 프로그램에 의해 교환할 수 있다.
응용모듈(653)은 상술한 바와 같이 여러 가지 모듈로 구성된다. 통신 프로그램에 설치된 응용모듈(653)의 수 또는 기능은 제한되지 않으며, 상술한 모듈이 아닌 모듈, 각각의 기능은 응용모듈(653)중 한 모듈로 설치될 수 있다. 또한, 통신 프로그램에 의해, 응용모듈(653)은 필요에 따라 부가 또는 삭제될 수 있다.
GUI모듈(654)은 통신 프로그램에서 나타나는 윈도우 표시를 위한 화면표시를 제공하는 모듈이다. 그러나, 대화(dialogue)박스와 같은, 여러 가지 형태의 윈도우를 묘사하는 기본적인 방법은 기본모듈(652)에 의해 제공된다. GUI모듈(654)은 다른 모듈로부터 이루어지는 화면표시요청에 따라 윈도우 내에서 묘사(drawing)를 수행한다. 그리고 기능선택버튼, 영상 데이터 등을 표시한다.
이러한 GUI모듈(654)은 기능선택버튼의 위치와 배열, 영상 데이터의 표시위치와, 윈도우내의 전체 배열과 구성에 관한 정보를 가지며, 기능선택버튼과 내용들에 관해서는 코어모듈(651) 또는 응용모듈(653)의 요청내에 포함된 데이터를 참조함으로써 표시하게 된다.
통신 프로그램에 설치된 응용모듈(653)은, GUI모듈(654)에 의존하지 않고, 개별적인 묘사처리를 실행시키는 응용표시영역을 이용할 수 있다는 것을 주목하자. 이러한 응용표시영역을 이용하여 영상표시를 수행하는 경우에, GUI모듈은 응용모듈(653)로부터의 요청에 따라 응용표시영역을 확보하며, 확보된 응용표시영역에 대한 묘사처리는 응용모듈(653)에서 수행될 수 있다.
또한, 사용자가 윈도우내에 표시된 기능선택버튼을 선택하는 경우에, GUI모듈(654)은 기능선택버튼이 선택되었다는 것을 나타내는 이벤트를 기본모듈(652)과 응용모듈(653)에 통보하는 기능을 가지고 있다.
통신 프로그램은 상기한 바와 같이, 필요에 따라 모듈이 협조적으로 동작하도록 복수의 모듈로 구성되어 있다.
(2-5) 연결설정정보
다음에는, 컴퓨터 장치 사이에서 세션을 설정하기 위해서 통신 시스템(600)에서 사용되는 연결설정정보에 관한 설명이 이루어진다. 연결설정정보는 서버로 작용하는 통신 프로그램이 실행되는 컴퓨터 장치에서 발생되는 정보이다.
도 29에 도시한 바와 같이, 예를 들면, 연결설정정보는 클라이언트로 작용하는 통신 프로그램이 서버로 작용하는 통신 프로그램과 세션을 설정할 때에 인증작업을 수행하는 억세스키, 통신 프로그램이 이용하는 컴퓨터 장치(610)의 망인터페이스(628)의 포트 번호, 서버로 작용하는 통신 프로그램이 실행되기 위한 컴퓨터 장치(610)의 IP어드레스의 수, 서버로 작용하는 통신 프로그램이 실행되기 위한 컴퓨터 장치(610)에 대한 일련의 IP어드레스 등으로 구성된다.
(2-6) 통신 프로그램에 의해 수행되는 기본처리
이하, 컴퓨터 장치(610)에서 실행되는 상술한 통신 프로그램의 경우에 수행되는 기본 처리를, 도 30과 도 31에 도시된 흐름도를 참조하여 순서대로 설명한다.
실행처리가 시작되자마자(구동되자마자), 도 30의 단계(S610)에서는, 통신 프로그램이 기능모듈리스트를 참조하면서, 구동 플래그 세트를 가지는 모듈을 구동한다. 기능모듈리스트는 예를 들면, 통신 프로그램을 구성하는 각 기능모듈에 대해서, 각 기능모듈에 고유한 식별정보(기능 ID), 각 기능모듈에 고유한 모듈이름, 기능모듈의 이용조건과 실행 형태를 나타내는 형태, 시작조건하에서 기능모듈이 구동되는지를 판단하는 구동 플래그등을 보존하고 있는, 도 32에 도시한 바와같은 데이터 구조를 가지고 있다.
통신 프로그램은 기능모듈리스트를 참조함으로써, 시작조건에 따라 구동되는 모듈을 선택하여 구동시킬 수가 있다.
다음으로, 통신 프로그램은, 단계(S611)에서, 다른 컴퓨터 장치에서 실행되는 통신 프로그램에 의해 연결설정정보가 수신되었는지를 판단한다. 판단의 결과가 이러한 수신이 이루어졌다는 것을 지시하는 경우, 흐름은 단계(S612)로 진행하며, 이러한 수신이 이루어지지 않는 경우에는, 흐름은 단계(S613)로 진행한다.
여기에서, 연결설정정보가 수신이 되는 경우에는, 통신 프로그램이 클라이언트로 작용하며, 여러 가지 정보가 연결설정정보의 전송자가 되는 서버측 통신 프로그램에 의해 교환된다. 한편, 연결설정정보가 수신되지 않는 경우에는, 통신 프로그램이 서버로 작용한다.
단계(S612)에서는, 통신 프로그램이 수신된 연결설정정보에 근거하여, 이러한 연결설정정보의 전송자가 되는 서버측 통신 프로그램과 연결설정을 하기 위한 처리를 수행한다.
단계(S613)에서는, 통신 프로그램이 서버로서 작용하며, 서버기능을 제공하는 서버모듈을 구동시키는지 아닌지를 판단한다. 이러한 판단은 단계(S611) 내의 판단에 대응하며, 다른 컴퓨터 장치에서 실행된 통신 프로그램으로부터 연결설정정보가 수신되었는지를 판단함으로써 이루어진다. 서버모듈이 이러한 판단의 결과로서 구동되는 경우, 처리는 단계(S614)로 진행하며, 이러한 서버모듈을 구동시키지 않으면서 클라이언트로 작용하는 통신 프로그램의 경우에는, 흐름이 단계(S617)로 진행한다.
단계(S614)에서, 통신 프로그램은 세션이 설정되었는지와 연결이 자체적으로 구동하는 서버모듈에 의해 완료되었는지를 판단한다. 이러한 판단의 결과로서 연결이 아직 이루어지지 않았다고 판단하는 경우에는, 흐름은 단계(S615)로 진행하며, 연결이 이미 이루어진 경우에는, 처리는 단계(S617)로 진행한다.
단계(S615)에서는, 통신 프로그램이 서버기능을 제공하는 서버모듈을 구동시킨다. 다음에, 단계(S616) 에서는, 통신 프로그램이 세션을 설정하고 자체적으로 구동하는 서버모듈에 접속한다. 그러므로, 통신 프로그램에 의해, 서버의 기능들은 자체적으로 구동하는 서버모듈에 의해 실현되며, 서버모듈이 아닌 모듈은 서버모듈에 대해서, 클라이언트로서 연결동작을 수행한다.
통신 프로그램에서는, 서버기능들이 모듈로서 실현되므로, 서버로서 작용하는 경우라도, 서버모듈이 아닌 모듈은 클라이언트로 작용하는 경우와 마찬가지로 동일한 절차에 의해 서버에 억세스 할 수 있다. 따라서, 이러한 모듈 내의 처리절차들은 단순화될 수 있다. 또한, 단계(S616)에서는, 서버모듈과의 세션을 설정한 후에, 통신 프로그램은 단계(S617)로 진행한다.
단계(S617)에서는, 통신 프로그램이 컴퓨터 장치(610)의 화면상에 윈도우를 표시하므로, 사용자 명령동작은 윈도우내에서 표시되는 입력영역 또는 여러 가지 기능선택버튼에 의해 입력될 수 있다. 그 후에, 단계(S617)에서는, 통신 프로그램이 상술한 기능선택버튼이 사용자에 의해 선택되었는지와, 기능선택버튼에 대응하는 기능모듈을 구동시켰는지를 판단한다. 기능모듈이 이러한 판단의 결과로서 구동되는 경우에, 처리는 단계(S618)로 진행하며, 기능모듈이 구동되는 경우에는, 처리는 단계(S619)로 진행한다.
단계(S618)에서는, 통신 프로그램이 단계(S617)에서 선택된 기능선택버튼에 대응하는 기능모듈을 구동시킨다. 그 후에, 기능모듈의 구동후에는, 통신 프로그램이 단계(S619)로 진행한다.
단계(S619)에서는, 통신 프로그램이 메시지 전송큐로 전송되는 메시지가 존재하는지의 여부를 판단한다. 메시지가 메시지 전송큐내에 존재하는 경우에, 처리는 단계(S620)로 진행하며, 아무 메시지도 존재하지 않는 경우에는, 흐름이 도 31에 도시한 단계(S621)로 진행한다.
다음에, 다른 통신 프로그램과 영상 데이터, 음성 데이터, 텍스트 데이터등과 같은 여러 가지 정보를 교환하는 때에, 통신 프로그램은 정보를 "메시지"라고 불리는 정보 단위로 분할한다. 그 후에, 다른쪽의 통신 프로그램으로 전달되는 메시지는 일시적으로 메시지 전송큐내에 저장되며, 다른 통신 프로그램으로부터 수신된 메시지는 일시적으로 메시지 수신큐내에 저장된다. 소정의 용량이 예를 들어 컴퓨터(610)의 RAM(621)의 저장영역내의 메시지 전송큐와 메시지 수신큐를 위해 확보된다는 것을 주목하자.
단계(S620)에서는, 통신 프로그램이 세션이 설정된 서버로 메시지 전송큐에 존재하는 메시지를 전달한다. 단계(S620)의 처리후에, 통신 프로그램은 도 31에 도시된 단계(S621)의 진행한다.
단계(S621)에서는, 통신 프로그램이 서버로부터 수신된 메시지가 메시지 수신큐내에 존재하는 지를 판단한다. 메시지가 메시지 수신큐내에 존재하는 경우에, 처리는 단계(S622)로 진행하며, 메시지가 그 안에 존재하지 않는 경우에는, 처리는 단계(S625)로 진행한다.
단계(S622)에서는, 통신 프로그램이 메시지의 전송 목적지가 되는 기능모듈 즉, 이러한 메시지를 사용하는 기능모듈이 이미 구동되어 있는 지를 판단한다. 전송 목적지가 되는 기능모듈이 아직 구동되어 있지 않은 경우에는, 처리가 단계(S623)로 진행하며, 이미 구동되어 있다면, 처리는 단계(S624)로 진행한다.
단계(S623)에서는, 통신 프로그램이 그 메시지의 전송 목적지가 되는 구동모 듈을 구동시킨다. 그 후에, 전송 목적지가 되는 기능모듈을 구동시킨 후에, 통신 프로그램은 단계(S624)로 진행한다.
단계(S624)에서는, 통신 프로그램이 메시지 전송큐내에 존재하는 메시지의 전송 목적지가 되는 기능모듈로 메시지를 전송한다. 단계(S624)의 처리후에, 통신 프로그램은 단계(S625)로 진행한다.
단계(S625)에서는, 통신 프로그램이 사용자에 의해 수행되는 소정의 지시동작으로 인해, 실행동작에 대한 종료요청이 존재하는지를 판단한다. 판단의 결과가 중지요청이 존재한다는 것을 나타내는 경우에는, 처리는 단계(S626)로 진행하며, 중지요청이 없는 경우에는, 도 30의 단계(S613)로 진행한다. 그리고 상술한 단계(S613) 후에 이러한 일련의 처리를 반복한다.
단계(S626)에서는, 통신 프로그램이 통신 프로그램 자체가 서버기능을 실현하는 서버모듈을 구동시켰는지를 판단한다. 즉, 통신 프로그램은 통신 프로그램 자체가 서버로서 동작하는지를 판단한다. 이러한 판단의 결과가 서버모듈이 스스로 동작하고 있다는 것을 나타내는 경우에는, 처리는 단계(S627)로 진행하며, 서버모듈이 스스로 구동하지 않고, 통신 프로그램이 클라이언트로서 동작하는 경우에는, 여러 가지 중지요청 처리가 수행되며, 일련의 처리동작이 중지된다.
단계(S627)에서는, 통신 프로그램이 단계(S615)에서 스스로 구동된 서버모듈에 관한 종료처리를 수행함으로써, 모듈에 대한 검색동작을 중지시킨다. 그 후에, 통신 프로그램은 여러 가지 중지동작을 수행하며 일련의 처리동작이 중지된다.
도 33과 도 34의 흐름도에 따라, 상술된 단계(S615)내에서 구동되는 서버모듈에서의 일련의 처리에 관한 설명이 기술될 것이다.
실행처리가 개시되면, 서버모듈은 연결요청(세션설정요청)이 도 33에 도시된 단계(S650)내의 클라이언트로부터 요청되었는지를 판단한다. 이때, 클라이언트는 서버모듈을 구동시킨 통신 프로그램을 구성하는 다른 기능모듈이 되거나, 또는 다른 컴퓨터 장치에서 실행되는 통신 프로그램을 구성하는 기능모듈이 될 수 있다. 판단의 결과로서 연결요청이 수신된 경우에는, 처리는 단계(S651)로 진행하며, 수신되지 않는 경우에는, 처리는 단계(S655)로 진행한다.
단계(S651)내에서는, 서버모듈이 현재 연결되어 있는 사용자의 수가 이미 설정된 최대수에 도달했는지를 판단한다. 사용자의 수가 아직 최대 수에 도달하지 않았다면, 처리는 단계(S652)로 진행하며, 사용자의 수가 최대 수에 도달하였다면, 처리는 단계(S655)로 진행한다.
단계(S652)에서는, 서버모듈이 각 사용자 즉 새로운 연결요청을 수행하는 사용자에 대해 고유한 정보가 되는 사용자 ID를 생성한다. 그리고 세션을 설정하고 사용자 측에서 동작하는 통신 프로그램과 연결한다. 따라서, 통신상태는 서버모듈에 의해 설정된다. 이때, 통신 프로그램은 클라이언트로서 연결요청을 실행하는 사용자 측에서 동작한다. 그리고 영상 데이터, 음성 데이터, 텍스트 데이터 등과 같은 여러 가지 정보가 교환될 수 있다.
다음에, 단계(S653)에서는, 서버모듈이 새로운 연결요청을 생성한 사용자측의 통신 프로그램을 실행하는 컴퓨터 장치의 IP어드레스와 사용자의 이름을 얻는 다. 그리고 IP어드레스와 사용자 이름을 단계(S652)에서 발생된 사용자 ID와 함께 사용자 리스트에 첨부한다.
사용자 리스트는 예를 들면 도 35에 도시된 바와같은 데이터 구성을 가지며, 서버모듈에 의해 세션을 설정한 사용자의 ID, 사용자의 이름과 사용자측의 통신 프로그램을 실행하는 컴퓨터 장치의 IP 어드레스로 구성된다.
단계(S654)에서는, 서버모듈이 세션이 설정되어 있는 클라이언트에게, 단계(S653)에서 첨부되어진 사용자 ID를 통지한다. 따라서, 서버모듈에 연결된 모든 클라이언트들은 새로운 사용자가 연결되었다는 것을 알 수 있다. 단계(S654)의 처리 후에, 서버모듈은 단계(S655)로 진행한다.
단계(S655)에서는, 서버모듈이 세션이 설정되어 있는 클라이언트와의 연결상태가 단절되었는지를 판단한다. 판단의 결과로서 연결상태가 단절되었다면, 처리는 단계(S656)로 진행하며, 연결상태가 단절되어 있지 않은 경우, 처리는 도 34에 도시된 단계(S658)로 진행한다. 이 때에, 연결상태를 단절시키는 요인은 예를 들면, 서버모듈과 클라이언트 사이의 전송경로에 관한 장애, 사용자에 의한 통신모듈의 중지등을 포함한다.
단계(S656)에서는, 서버모듈이 연결상태가 단계(S655)에서 단절되었다는 판단이 이루어진 것을 사용자에 관한 사용자 리스트 정보로부터 삭제한다. 다음에 단계(S657)에서는, 서버모듈은 단계(S656)에서 사용자 리스트로부터 삭제된 사용자에 관한 것과 사용자 ID와 같은 정보를, 세션이 설정되어 있는 모든 클라이언트들에게 통지한다. 따라서, 서버모듈에 연결된 모든 클라이언트들은 사용자의 연결이 단절되었다는 것을 알 수 있다. 단계(S657)의 처리 후에, 서버모듈은 도 34에 도시한 바와같은 단계(S658)로 진행한다.
단계(S658)에서는, 서버모듈이 메시지가 연결된 클라이언트로부터 전달되었는지를 판단한다. 판단의 결과로서 메시지가 전달된 경우라면, 처리는 단계(S659)로 진행하며, 메시지가 전달되지 않았다면, 이러한 처리는 단계(S661)로 진행한다.
단계(S659)에서는, 서버모듈이 메시지의 수신자로 지정된 사용자 ID를 참조하며, 사용자 리스트에 근거하여, 사용자 ID에 대응하는 IP어드레스를 얻는다. 다음에 단계(S660)에서는, 서버모듈이 인터넷(611)등과 같은 컴퓨터망을 통해, 단계(S659)에서 얻어진 IP 어드레스를 설정한 컴퓨터 장치로 그 메시지를 전달한다. 그러므로, 메시지는 전송 목적지의 통신 프로그램으로 전달된다. 단계(S660)의 처리 후에, 서버모듈은 단계(S661)로 진행한다.
단계(S661)에서는, 서버모듈이 중지요청이 통신 프로그램으로부터 수신되었는지를 판단한다. 판단의 결과로서, 중지요청윈도우가 수신되었다면, 여러 가지 중지 처리가 수생되며, 일련의 처리동작이 중지한다. 또한, 중지요청이 수신되지 않았다면, 처리는 도 33의 단계(S650)로 진행하며, 상술한 단계(S650)후의 일련의 처리가 반복된다. 이러한 서버모듈에 대한 중지요청은 도 31에 도시한 통신 프로그램의 처리되는 일련의 절차내의 단계(S627)와 동일하다.
통신 프로그램은 상술한 바와같이 일련의 처리를 수행하는 응용 프로그램이다. 상술한 일련의 처리로부터 명백히 알 수 있듯이, 통신 프로그램은 필요에 따라, 서버 또는 클라이언트로 작용할 수 있다.
(2-7) 통신 프로그램에 의해 표시되는 응용 윈도우
다음에, 도면을 참조하여 순서대로 컴퓨터 장치(610)에서 실행되는 상술한 통신 프로그램에 의해 표시부(624)상의 표시화면에 표시되는 응용 윈도우가 설명될 것이다.
통신 프로그램은 시작조건에 따르는 상태에서 윈도우 표시를 하도록 구성되어 있으나, 가장 기본적인 조건하에서 이루어지는 실행처리의 예가 다음의 설명에서 설명될 것이다.
또한, 통신 시스템(600)에서는, 통신 실행상태에서 컴퓨터 장치(610)의 각각에 제공되며, 통신 시스템(600)은 여러 가지 형태의 정보를 교환하기 위해서 컴퓨터 장치(610)상에서 동작하는 통신 프로그램에 의해 구성된다. 그러나 다음의 설명에서는, 실행되는 특정한 컴퓨터 장치(610)상에서 동작하는 통신 프로그램에 의해 이루어지는 윈도우 표시가 설명될 것이다.
또한, 다음의 설명에서는, 통신 프로그램의 사용자가 "사용자"로 일컬어지며, 이러한 통신 프로그램에 연결된 통신 프로그램의 사용자 즉, 다른 쪽(other party)의 사용자는 "클라이언트"로 일컬어진다. 그러나, 본 설명에서의 통신 프로그램은 반드시 서버기능을 수행할 필요는 없으며, 서버기능들은 다른 쪽(클라이언트)의 사용자 측에서 동작하는 통신 프로그램에 의해 수행될 수 있다.
통신 프로그램의 실행처리시가 시작되자마자, 도 26에 도시된 바와 같은 사용자 정보설정윈도우(700)가 표시부(624)의 화면상에 표시된다. 이러한 사용자 정보표시윈도우는 통신 프로그램을 구동시킬 때에 사용자 자신에 대응하는 이름과 얼굴 영상을 신속하게 선택하는 윈도우이며, 얼굴 영상에 대응하는 영상 파일을 선택하기 위한 얼굴영상 선택영역(S701)과, 텍스트로 이름을 입력하기 위한 텍스트 입력영역(S700)을 가지고 있다.
텍스트 입력영역(S700)은 예를 들면, 컴퓨터 장치(610)에 연결된 마우스등에 의해 선택되는 텍스트 입력을 수신할 수 있으며, 이 상태에서 키보드등으로부터 텍스트가 입력되는 영역이다. 텍스트 입력영역(S700)으로 입력되는 텍스트는 후속되는 통신 프로그램 처리내에서 사용자 이름으로 설정된다.
얼굴영상 선택영역(S701)은 컴퓨터 장치(610) 내에 저장된 연상 데이터에 대응하는 파일 이름의 리스트가 표시되며, 미리 얼굴영상으로 등록되어 있는 영역이다. 얼굴영상 선택영역(S701) 내에 표시된 리스트로부터 파일 이름을 선택하는 사용자는 선택된 파일 이름에 대응하는 영상 파일을 후속되는 통신 프로그램 처리에서 사용자의 얼굴 영상으로서 설정한다.
또한, 임의의 영상 데이터를 얼굴 영상으로 사용자가 설정한 때에, 사용자 정보설정윈도우(700)는 이러한 영상 데이터에 대응하는 파일들을 참조하는 참조버튼(S702)을 가진다. 참조버튼(S702)이 선택되면, 컴퓨터 장치(610)내에 존재하는 영상 데이터를 선택하기 위한 파일선택윈도우가 표시된다. 그 후에, 파일선택윈도우에서 동작파일을 선택하면, 선택된 파일에 대응하는 영상 데이터가 사용자의 얼굴영상으로 설정된다. 또한, 파일이 선택되는 컴퓨터 장치(610)내의 위치(경로)는 사용자 정보설정윈도우(700)의 경로표시영역(S703)내에 표시된다. 또한, 임의의 영상 데이터(파일)가 직접적으로 텍스트에 의해 얼굴영상으로 선택가 능하게 되어 경로표시영역(S703)으로 전달되어, 경로가 형성되는 구조가 형성될 수 있다.
또한, 사용자 정보설정윈도우(700)는 상술한 바와같이 사용자에 의해 선택된 영상 데이터의 내용의 개요표시를 하는 개요표시영역(preview display area : S704)을 가진다. 따라서, 통신 프로그램은 쉽고 확실한 방식으로, 사용자가 요구하는 얼굴영상을 선택할 수 있다.
도 36은 이미 선택된, 디폴트 얼굴영상이 개요표시영역(S704) 내에 표시되는 경우의 예를 도시하고 있다. 다음의 설명은 사용자가 사용자 정보설정윈도우(700) 내에서 어떤 특정한 얼굴영상을 선택하지 않고, 이러한 디폴트 얼굴영상이 선택되는 경우를 가정한 상태에서 기술될 것이다.
사용자 정보설정윈도우(700)는 다음의 목표(target)에 대하여 기술된 바와 같이 이름과 얼굴영상을 선택하는지 아닌지의 여부를 설정하는 검사박스(check box)(S705), 이름과 얼굴영상의 선택동작을 종료하는 OK버튼(S706) 및 이름과 얼굴영상의 선택동작을 취소하고 통신 프로그램의 구동을 취소하는 취소버튼(S707)을 가지고 있다.
검사박스(S705)가 검사되는 경우에, 통신 프로그램은 다음의 개시 시간에 사용자 정보설정윈도우(700)를 표시한다. 한편, 검사박스(S705)가 검사되지 않는 경우에, 사용자 정보설정윈도우(700)의 표시는 생략되며, 이전 시간에서 사용자에 의해 설정된 이름과 얼굴영상이 참조되어 이용된다.
사용자 정보설정윈도우(700) 내의 OK버튼(S706)을 사용자가 선택하면, 통신 프로그램은 기본표시모드로 변화되며, 도 37d에 도시한 바와 같이 기본표시윈도우(710)를 표시한다. 사용자 정보설정윈도우(700) 내의 검사박스(S705)가 이전 시간에서 검사되는 경우에, 사용자 정보설정윈도우(700)의 표시는 통신 프로그램을 시작하는 시간에서 생략되므로, 그 프로그램은 시작 후에 바로 기본표시모드로 이행한다. 그리고 기본표시윈도우(710)가 표시된다.
(2-7-1) 기본표시모드
통신 프로그램이 기본표시모드로 변화되는 경우의 설명은 도 37에 도시된 기본표시윈도우(710)를 참조하면서 설명될 것이다.
기본표시윈도우(710)는 통신 프로그램이 기본표시모드로 변화되는 경우에 표시되는 윈도우이며, 도 37에 도시되어 있고, 사용자에 대응하는 얼굴영상을 표시하는 사용자 얼굴영상프레임(S710), 각각 복수의 클라이언트에 대응하는 얼굴영상을 표시하는, 복수의 클라이언트 얼굴영상프레임(S711) 및 여러 가지 기능의 실행을 위한 선택동작을 하는 복수의 기능선택버튼(S712)으로 구성된다.
사용자 얼굴영상프레임(S710)은 기본표시윈도우(710)의 중앙에 배치되며, 사용자에 의해 선택된 얼굴영상을 표시하는 얼굴영상 표시영역(S710a)과, 상기 얼굴영상 표시영역(S710a)의 하부에 위치한 이름표시영역(S710b)으로 구성된다.
클라이언트 얼굴영상프레임(S711)은 중앙에 사용자 얼굴영상프레임(S710)을 가지고 있을 때에 어느 구간에 배치되어 있다. 이러한 클라이언트 얼굴영상프레임(S711)은 사용자 얼굴영상프레임(S710)과 동등하며, 클라이언트측 정보를 나타내기 위한 프레임이다. 상기 각 프레임은 각 클라이언트에 의해 선택된 얼굴영상을 표시하는 얼굴영상 표시영역(S711a)과, 각 클라이언트에 의해 설정된 이름을 표시하고, 얼굴영상 표시영역(S711a)의 하부에 위치한 이름표시영역(S711b)을 구비한다.
또한, 도 37에는, 어떤 클라이언트도 아직 연결되지 않은 상태가 도시되어 있다. 이 상태에서는, 클라이언트 얼굴영상프레임(S711)은 어느 클라이언트도 연결되지 않았다는 것을 나타내는 소정의 얼굴영상을 표시하는 상태에 있게 된다.
삭제
또한, 클라이언트 얼굴영상프레임(S711)의 각각은 각 초기표시위치에 중심을 둔 영역을 천천히 통과하면서 표시된다. 그러므로, 기본표시윈도우(S711)에서는, 클라이언트 얼굴영상프레임(S711)은 각각이 약간 부동의 방식으로(in a somewhat floating manner) 표시된다.
기능선택버튼(S712)은 가상적인 원주(imaginary circle)가 사용자 얼굴영상프레임(S710)에 중심을 두고 있는 경우에 어느 구간에 배치된다. 기능선택버튼(S712)이 배치되어 있는 가상적인 원주의 반경은 클라이언트 얼굴영상프레임(S711)이 배치된 가상적인 원주의 반경보다 더 작다. 즉, 기능선택버튼(S712)은 클라이언트 얼굴영상프레임(S711)으로부터 내부 쪽의 위치에 표시된다.
소정의 기능은 기능선택버튼(S712)의 각각과 상호관련된다. 기능선택버튼(S712)이 사용자에 의해 선택되면, 통신 프로그램은 선택된 기능선택버튼(S712)에 대응하는 기능을 실현하는 동작모드로 변화된다.
도 37에 도시된 보기에서는, "설정"버튼(S712a), "중지"버튼(S712b), "도움말"버튼(S712c), "친구"버튼(S712d)과 "도구"버튼(S712e)이 표시된다.
설정버튼(S712a)은 통신 프로그램에 필요한 여러 가지 설정작업을 수행하는 기능선택버튼이다. 사용자가 설정버튼(S712a)을 선택하면, 통신 프로그램은 예를 들면, 동작이 사용자에 의해 이루어지는 경우 음성효과(도면에 도시 안됨)를 나타내는지의 여부와 같은 설정항목을 나타내는 설정윈도우를 표시한다. 통신 프로그램은 컴퓨터 장치(610)내의 소정의 저장영역의 이러한 설정윈도우에 의해 설정된 항목을 저장하며, 통신 프로그램 자체의 동작에 대해서 이 항목들을 반영한다.
중지버튼(S712b)은 통신 프로그램의 실행처리를 중지하는 기능선택버튼이다. 사용자가 중지버튼(S712b)을 선택하는 경우, 통신 프로그램은 모든 실행처리를 중지한다.
도움말버튼(S712c)은 통신 프로그램의 동작을 사용자에게 설명하기 위해 도움말 정보를 표시하는 기능선택버튼이다. 사용자가 도움말버튼(S712c)을 선택하면, 통신 프로그램은 도움말 윈도우(help window)(도면에서 생략됨)내에 동작의 설명과 장애처리에 관한 도움말정보를 표시한다. 이러한 도움말 정보를 표시하게 되면, 통신 프로그램은 이해하기 쉬운 방식으로 초보 사용자에게 자신의 동작과 기능을 설명하게 된다.
친구버튼(S712d)은 인터넷(611)에 연결된 다른 사용자(클라이언트)가 통신 프로그램에 연결하여 통신에 참가하도록 하는 버튼이다. 사용자가 친구버튼(S712d)을 선택하면, 클라이언트가 참가할 수 있도록 하는 일련의 처리가 수행된다. 이러한 처리의 상세한 부분은 후술한다.
도구버튼(S712e)은 사용자에 의해 여러 가지 동작을 실현하는 도구 모드로 변환하는 기능선택버튼이다. 사용자가 도구버튼(S712e)을 선택하면, 통신 프로그램은 도구 모드로 변환된다. 이러한 도구의 상세한 부분은 후술된다.
기본표시윈도우(710)는 윈도우의 최상부에 서로 인접한 부근에 표시된 기본표시윈도우(710)의 표시상태를 처리하는 복수의 동작아이콘(S713)과, 윈도우의 최하부에 필요에 따라 여러 가지 메시지가 와 통신 프로그램의 동작상태가 표시되는 상태표시영역(S714)을 가지고 있다.
여기에서, 도 37에 도시된 보기에서는, 중지 아이콘(S713a), 최대 아이콘(S713b), 최소 아이콘(S713c)과 변경표시크기 아이콘(S713d)이 동작 아이콘으로 표시된다.
중지 아이콘(S713a)은 통신 프로그램의 실행처리를 중지시키는 동작 아이콘이다. 사용자가 중지 아이콘(S713a)을 선택하는 경우에, 모든 실행처리는 중지된다.
최대 아이콘(S713b)은 컴퓨터 장치(610)의 기본표시윈도우(710)중에서 가장 큰 표시형태로 최대화면을 만드는 동작 아이콘이다. 사용자가 최대 아이콘(S713b)을 선택하는 경우에, 컴퓨터 장치(610)의 전체 화면상에 기본표시윈도우(710)를 확대하여 표시하는 처리가 수행된다.
최소 아이콘(S713c)은 기본표시윈도우(710)의 표시를 취소하고, 컴퓨터 장치(610)의 표시화면으로부터 기본표시윈도우(710)를 삭제하는 동작 아이콘이다. 사용자가 최소 아이콘(S713c)을 선택하는 경우에, 통신 프로그램은 기본표시윈도우(710)의 표시를 제거한다. 그리고 컴퓨터장치(610)의 표시화면 으로부터 그것을 삭제하는 처리를 수행한다. 기본표시윈도우(710)가 이와같이 표시화면으로부터 삭제되는 경우에, 통신 프로그램의 실행처리는 여전히 진행된다.
변경표시크기 아이콘(S713d)은 간단한 방식으로 기본표시윈도우(710)가 표시되는 간소화 표시모드(reduction display mode)로 변환되는 동작 아이콘이다. 사용자가 변경표시크기 아이콘(S713d)을 선택하면, 통신 프로그램은 기본표시모드로부터 간소화 표시모드로 변환된다. 따라서, 기본표시윈도우(710)의 표시영역은 감소되며, 예를 들면 도 38에 도시된 바와같이, 간소화된 표시윈도우가 된다.
(2-7-2) 간소화 표시모드
간소화 표시모드로 통신 프로그램이 변환되는 경우는 도 38에 도시된 간소화 표시윈도우(720)를 참조하여 설명될 것이다.
간소화 표시윈도우(720)는 통신 프로그램이 간소화 표시윈도우로 변환된 경우에 표시되는 윈도우이다. 상기 간소화 표시모드에서는, 표시영역이 기본표시윈도우(710)의 표시영역보다 적으며, 윈도우는 컴퓨터 장치(610)의 화면상에 수평방향으로 연장되어 있는 형태로 가정한다.
도 38에 도시된 간소화 표시윈도우(720)에서는, 도 37의 기본표시윈도우(710)의 것과 동등한 기능을 가지는 프레임들의 설명이 동일한 참조번호에 의해 표시된다. 그리고 그에 대한 설명은 생략된다. 또한, 다음의 설명에서는, 도면의 동일한 참조번호에 의해 표시된 프레임, 버튼과 아이콘은 상술한 것과 동등하게 기술될 것이다.
간소화 표시윈도우(720)에서는, 복수의 클라이언트 얼굴영상프레임(S711)이 중앙에 배치된 사용자 얼굴영상프레임(S710)의 양면 상의 측면에 배치되며, 기능선택버튼(S712)이 사용자 얼굴영상프레임(S710)과 클라이언트 얼굴영상프레임(S711)의 하부의 측면에 배치된다. 또한, 복수의 동작 아이콘(713)은 간소화 표시윈도우(720)의 최상부에 배치된다.
사용자가 이러한 간소화 표시윈도우(720)의 표시크기변경 아이콘(713d)을 선택하면, 통신 프로그램이 간소화 표시모드로부터 기본표시모드로 변환된다. 따라서, 간소화 표시윈도우(720)의 표시영역은 확대되며, 도 37에 도시된 기본표시윈도우(710)가 된다.
즉, 통신 프로그램에서는, 사용자가 표시크기변경 아이콘(713d)을 선택함으로써, 기본표시모드와 간소화 표시모드가 전후방향으로 자유롭게 스위치될 수 있다.
(2-7-3) 클라이언트의 참여
사용자가 상술한 친구버튼(217d)을 선택하는 경우에 대한 설명이 기술될 것이다. 사용자가 친구버튼(217d)을 선택하는 경우, 통신 프로그램은 클라이언트가 참여하도록 하는 일련의 처리를 수행한다. 이때, 통신 프로그램은 사용자가 지정한 클라이언트에게 연결설정정보를 전달한다. 그러므로, 연결설정정보에 포함된 IP어드레스에 근거하여, 클라이언트로부터 사용자측으로 세션이 설정되어, 연결이 종료된다.
연결설정정보를 클라이언트측으로 전달하는 경우에, 통신 프로그램은 예를 들면 연결설정정보를 포함하는 파일을 e-mail 에 첨부하며, 이 e-mail을 클라이언트측의 컴퓨터 장치로 전달한다. 이때, 예를 들면, 도 39에 도시된 e-mail 윈도우 내에 도시된 내용을 가지는 e-mail은 클라이언트측으로 전달된다.
도 39에 도시된 바와 같이, e-mail 윈도우(740)는 이러한 e-mail의 수신자, 즉 참여하도록 유도되는 클라이언트측의 컴퓨터 장치에 설정된 e-mail 어드레스를 입력하고 표시하는 수신자 입력영역(S740), 이러한 e-mail의 주제를 입력하고 표시하는 주제입력영역(S741), 이러한 e-mail에 첨부된 파일의 파일 이름등을 표시하는 첨부파일 표시영역(S742)과, 이러한 e-mail의 내용의 입력과 표시를 위한 메인내용 표시영역(S743)으로 구성된다.
주제입력영역(S741)에 대한 입력은 예를 들어 "INVITATION TO COMMUNICATION"과 같은, 수신자가 사용자측 통신 프로그램에 연결되도록 하여 참가하게 하는 텍스트이다. 또한, 첨부파일 표시영역(S742)내에는 연결설정정보를 포함하는 파일의 파일 이름(예를 들면, "Connect.quiz")등이 표시된다. 또한, 메인내용 표시영역(S743)내에는 예를 들면, 수신자가 e-mail에 첨부된 파일을 실행함으로써 e-mail의 전송 목적지의 컴퓨터 장치상의 통신 프로그램을 구동시키도록하여, 사용자측의 통신 프로그램과 세션을 설정하는 메시지가 기술된다.
수신자 입력영역(S740)내에 참가하도록 유도되는 클라이언트의 e-mail 어드레스를 사용자가 입력시킨 후에, 이러한 e-mail의 전송처리가 수행되어, e-mail에 첨부된 파일의 형태로 연결설정정보를 클라이언트측으로 전달하게 된다.
통신 시스템(600)은 e-mail에 의해 연결설정정보를 클라이언트측으로 전달하는 것에만 한정되어 있지 않다. 그리고, 예를 들면, 소위 FTP 소프트웨어와 같은, 그리고 인터넷(611)에 연결된 컴퓨터 사이에서 여러 가지 파일교환을 실현하는 응용 프로그램이 데이터 파일 또는 응용 프로그램의 형태로 연결설정정보를 전송하는데 이용되는 구조가 형성된다. 또한, 예를 들면, 컴퓨터 장치의 사용자에게 연결의 시작을 통보하지 않고, 컴퓨터 장치 간의 연결설정정보를 직접 교환함으로써, 사용자가 연결(세션의 설정)의 시작을 알지 못하는 상태에서, 클라이언트측의 컴퓨터 장치 내에서 통신 프로그램이 자동적으로 구동되는 구성이 가능하다.
(2-7-4) 클라이언트와의 상호작용
연결설정정보가 일단 상술한 바와 같이 클라이언트측으로 전달되고 클라이언트와 세션이 설정되면, 예를 들면, 연결이 설정되어 있는 클라이언트측의 이름의 얼굴영상이 도 40에 도시된 바와 같이 기본표시윈도우(710)의 클라이언트측 얼굴영상프레임 상에 표시된다.
도 40은 연결된 두 명의 클라이언트를 도시하고 있다. 제 1 클라이언트는 여성의 상반신을 묘사하는 영상을 설정하며, 제 2클라이언트는 동물의 얼굴을 묘사하는 영상을 설정한다. 이러한 영상들은 제 1 클라이언트 얼굴영상프레임(S711A)과, 제 2 클라이언트 얼굴영상프레임(S711B) 내에 표시된다. 다음의 설명은 이러한 제 1 클라이언트와 제 2 클라이언트가 연결된 상태를 가정한다.
예를 들면, 마우스 동작에 의해 사용자 얼굴영상프레임(S710)상에서 움직이는 커서에 의해 사용자가 사용자 얼굴영상프레임(S710)을 선택하는 경우에, 사용자 얼굴영상프레임(S710)은 도 41에 도시된 바와같은 간소화된 방식으로 표시된다. 한편, 사용자가 텍스트(문자 데이터)를 입력하도록 하는 텍스트 입력영역(S715)은 간소화된 방식에 의해 표시되는 사용자 얼굴입력프레임(S710)의 위치와 인접한 부 근에 표시된다.
이러한 텍스트 입력영역(S715)은 만화 캐릭터(comic character)들이 "대화"하는데 이용되는 "말풍선"(balloon)의 형태를 가지는 영역이다. 그리고 이것은 간소화된 방식으로 표시되는 사용자 얼굴입력프레임(S710)에 대하여 배치된다. 그러므로, 텍스트 입력은 사용자 얼굴입력프레임(S710) 내의 얼굴영상에 의해 언어로 이야기된다. 이러한 텍스트 입력영역(S715) 내에 텍스트를 사용자가 입력하게 되면, 통신 프로그램은 현재 연결된 모든 클라이언트들에게 입력된 텍스트(문자 데이터)를 전달한다.
동일한 방식으로 클라이언트로부터 전달된 텍스트(문자 데이터)를 수신하면, 통신 프로그램은 도 42에 도시된 바와같이, 간소화된 방식으로 이 클라이언트에 대응하는 클라이언트 얼굴영상프레임(S711)을 표시한다. 그리고 간소화된 방식으로 표시되는 클라이언트 얼굴영상프레임(S711)에 인접한 텍스트표시영역(S716)내에 클라이언트로부터 전달된 텍스트를 표시한다. 이러한 텍스트표시영역(S716)은 간소화된 방식으로 표시되는 클라이언트 얼굴영상프레임(S711)에 대응하여, 만화에서 사용되는, 소위 "말풍선"과 같은 형태를 가지는 영역이다.
도 42는 텍스트 "안녕!"이 클라이언트로부터 전달되므로 제 1 클라이언트 얼굴영상프레임(S711A)이 간소화된 방식으로 표시되며, 텍스트표시영역(S716)이 제 1 클라이언트 얼굴영상프레임(S711A)의 인접한 부근에 표시되는 경우를 도시하고 있다. 또한, 예를 들면, 통신프로그램에 의해, 텍스트가 동시에 복수의 클라이언트로부터 전달되는 경우, 텍스트표시영역(S716)은 대응하는 클라이언트의 각각에 대해 표시된다. 즉, 텍스트가 4명의 클라이언트로부터 동시에 전달되는 경우에, 클라이언트의 각각에 대응하는 클라이언트 얼굴영상프레임(S711)이 간소화된 방식으로 표시되며, 말풍선 형태의 텍스트표시영역(S716)은 각각의 클라이언트에 대해 표시된다.
상술한 바와 같이, 이러한 통신 프로그램에 의해, 문자 데이터가 사용자와 클라이언트사이에서 서로 교환될 수 있다. 그리고 또, 동시에 진행되는 방식으로 교환될 수 있다.
또한, 통신 프로그램에서는, 텍스트 입력영역(S715)과 텍스트표시영역(S716)을 이용하는 상술한 텍스트의 교환은 기본표시모드 내의 기본표시윈도우(710)에만 제한되어 있지 않으며, 오히려 다른 동작모드의 윈도우 내에서도 구동된다.
(2-7-5) 도구모드
도 43에 표시된 도구표시윈도우(750)를 참조하면서, 통신 프로그램이 도구모드로 전환되는 경우에 대한 설명이 이루어질 것이다.
도구표시윈도우(750)는 도구모드로 통신 프로그램이 전환되는 경우에 표시되는 윈도우이며, 도 43에 도시된 바와 같이 도 37에 도시된 기본표시윈도우(710)의 그것과 동일한 기본구조를 가지고 있다. 도 43에 도시된 이러한 도구표시윈도우(750)에서는, 도 37에 도시된 기본표시윈도우(710)의 그것과 동일하거나 또는 동등한 프레임, 버튼 및 아이콘에 관한 설명은 생략되며, 이러한 요소들은 동일한 참조번호에 의해 표시된다.
도구표시윈도우(750)는 그것이 도 37에 도시된 기능선택버튼(S712) 대신에 복수의 기능선택버튼(S750)을 가지고 있다는 점에서 기본표시윈도우(710)와는 다르다. 도 37에 도시된 기능선택버튼의 경우와 같이 동일한 방식으로, 사용자 얼굴영상프레임(S710)의 중앙에 있는 가상적인 원주상에서 어느 구간에 배열되어 있다. 기능선택버튼(S750)이 배치되어 있는 가상적인 원주의 반경은 클라이언트 얼굴영상프레임(S711)이 배치되어 있는 가상적인 원주의 반경보다 적다. 즉, 기능선택버튼(S750)은 클라이언트 얼굴영상프레임(S711)으로부터 내부의 위치에 배치된다.
기능선택버튼(S750)의 각각에 대해서 소정의 기능들이 관련되어진다. 사용자에 의해 기능선택버튼(S750) 중 하나가 선택되면, 선택된 기능선택버튼(S750)에 대응하는 기능을 실현하기 위한 동작모드로 통신프로그램이 전이된다.
도 43에 나타낸 예에서는, "감정" 버튼(S750a), "동작"버튼(S750b), "도움말"버튼(S750c), "복귀"버튼(S750d), "영상/음성" 버튼(S750e), "채팅로그" 버튼(S750f) 및 "웹브라우저" 버튼(S750g)이 도시되어 있다.
감정버튼(S750a)은 사용자가 감정(emotion)을 표시할 수 있도록 하는 감정표시모드로 전이하기 위한 기능선택버튼이다. 감정버튼(S750a)을 사용자가 선택하면, 감정표현모드로 모드가 변경된다. 감정표현모드에 대해서는 이후에 상세히 설명한다.
동작버튼(S750b)은 사용자가 다른 클라이언트들에게 동작을 표현할 수 있도록 하는 동작표현모드로 전이하기 위한 기능선택버튼이다. 사용자가 동작버튼(S750b)을 선택하면, 통신프로그램은 동작표현모드로 전이한다.
도움말버튼(S750c)은 통신프로그램의 동작을 사용자에게 설명하기 위해 도움말정보를 표시하기 위한 것으로, 도 37에 나타낸 도움말버튼(S712c)과 동등한 기능선택버튼이다. 도움말버튼(S712c)을 사용자가 선택하면, 통신프로그램에 의해 도움말윈도우(도면에 나타내지 않음)에 동작가이드 및 문제점 해결 힌트(troubleshooting tips) 등의 도움말정보가 표시된다.
복귀버튼(S750d)은 도구모드(tool mode)를 끝내고 기본표시모드로 복귀하기 위한 기능선택버튼이다. 복귀버튼(S750d)을 사용자가 선택하면, 통신프로그램은 도구모드를 종료시키고 기본표시모드로 전이한다.
영상/음성버튼(S750e)은 사용자가 영상 및 음성과 관련한 다양한 설정동작을 할 수 있도록 하는 영상/오디오설정모드로 전이하기 위한 기능선택버튼이다. 이 동작/음성버튼(S750e)을 사용자가 조작하면, 통신프로그램은 영상/음성모드로 전이하게 된다.
채팅로그버튼(S750f)은 채팅로그를 표시하기 위한 채팅로그표시모드로 전이하기 위한 기능선택버튼이다. 사용자가 이 채팅로그버튼(S750f)을 선택하면, 통신프로그램은 채팅로그표시모드로 전이하게 된다.
웹브라우저버튼(S750g)은 웹브라우저모드로 전이하기 위한 기능선택버튼이다. 사용자가 웹브라우저버튼(S750g)을 선택하면, 통신프로그램은 웹브라우저모드로 전이한다.
또한, 도구표시윈도우(750)가 표시된 상태에서 사용자가 표시크기변경아이콘(change display size icon)(S713d)을 선택한 경우에는, 통신프로그램에 의해 도 38에 나타낸 축소된 표시윈도우(720)가 표시되게 된다. 축소된 표시윈도우(720)가 도구모드상태에서 표시된 경우에는, 기능선택버튼(S712) 대신에 도 38에 나타낸 축소된 표시윈도우(720)에 상술한 기능선택버튼(S720)이 표시되게 된다. 또한, 도 38에 나타낸 축소된 표시윈도우(720)가 표시된 상태에서 전이가 이루어진 경우에는, 축소된 표시윈도우(720)가 남게 되고, 기능선택버튼(S712) 대신에 상술한 기능선택버튼(S750)이 표시되게 된다.
즉, 통신프로그램에 의해, 동작모드에 의존하지 않으면서, 최대아이콘(S713b) 및 최소아이콘(S713c)에 대응하도록 윈도우크기가 최대화 혹은 최소화될 수 있다. 또한, 사용자가 표시크기변경아이콘(S713d)을 선택할 때마다, 기본표시윈도우(710) 또는 도구표시윈도우(750)에 동등한 표준크기의 상태표시 및 축소표시윈도우(720)에 동등한 축소된 크기의 상태표시 사이에서 윈도우가 앞뒤로 바뀌게 된다. 이때, 통신프로그램에 의해, 그러한 윈도우 크기의 변경은 아래에 설명하는 동작모드에서도 가능하게 된다.
(2-7-6) 감정표현모드
이하, 도 44에 나타낸 감정표현윈도우(760)을 참조하여 통신프로그램이 동작표현모드로 전이한 경우에 대해서 설명한다.
감정표현윈도우(760)란 통신프로그램이 감정표현모드로 전이한 경우에 표시되는 윈도우를 말하는 것이고, 도 44에 나타낸 바와 같이 도 37에 나타낸 기본표시윈도우(710)와 기본적으로 같은 구조로 되어 있다. 따라서, 도 44에 나타낸 감정표현윈도우(760)에 대한 설명에서는, 도 37에 나타낸 것과 같은 구조의 프레임, 버튼 및 아이콘에 대해서는 설명을 생략하고, 같은 부호로 표시한다.
감정표현윈도우(760)는 도 37에 나타낸 기능선택버튼(S712) 대신에 다중기능선택버튼(S760)을 가지고 있다는 점에서, 기본표시윈도우(710)와 다르다. 기능선택버튼(S&60)은 도 37에 나타낸 기능선택버튼과 같은 방식으로, 사용자 얼굴영상프레임(S710)을 중심으로 하는 가상의 원을 따라 소정의 간격을 두고 배치된다. 기능선택버튼(S760)이 배치되는 가상원의 반경은 클라이언트 얼굴영상프레임(S711)이 배치되는 가상원의 반경보다 작다.
기능선택버튼(S760)의 각각에는 소정의 기능들이 관련지어져 있다. 사용자가 기능선택버튼(S760) 중 하나를 선택하면, 통신프로그램은 선택된 기능선택버튼(S760)에 대응하는 기능을 실현하기 위한 동작모드로 전이한다.
도 44에 나타낸 예에서는, "도움말"버튼(S760a), "복귀"버튼(S760b), "칭찬(applause)"버튼(S760c), "부팅"버튼(S760d), "울음"버튼(S760e), "웃음"버튼(S760f), "땀(sweat)"버튼(S760g) 및 "화남(angry)"버튼(S760h)이 기능선택버튼으로서 표시되어 있다.
도움말버튼(S760a)은 사용자에게 통신프로그램의 동작을 설명하기 위한 도움말정보를 표시하기 위한 것으로, 도 37에 나타낸 도움말버튼(S712c)과 동등한 기능선택버튼이다. 사용자가 도움말버튼(S760a)을 선택하면, 통신프로그램에 의해 동작가이드 및 문제해결힌트 등의 도움말 정보가 도움말윈도우(도면에 표시하지 않음)에 표시되게 된다.
복귀버튼(S760b)은 감정표현모드를 중지하고 도구모드로 복귀하기 위한 기능 선택버튼이다. 사용자가 감정표현버튼(S760b)을 선택시에는, 통신프로그램은 감정표현모드를 중지하고 도구모드로 변환한다.
기능선택버튼(S760c - S760h)은 각각의 이름에 대응하는 감정을 표현하기 위한 기능선택버튼이다. 사용자가 기능선택버튼(S760c - S760h) 중 하나를 선택하면, 통신프로그램은 기능선택버튼(S760c - S760h)의 명칭에 대응하는 감정을 표현하는 애니메이션 효과를 사용자얼굴 영상프레임(S710)에 부가한다. 이 때, 통신프로그램은 사용자얼굴 영상프레임(S710)에 애니메이션 효과를 부가하는 동시에 컴퓨터장치(610)에 접속되거나 또는 설치된 스피커 장치로부터 감정을 표현하는 음성을 출력할 수 있다. 따라서, 감정표현은 더욱 개선될 수 있다.
애니메이션효과 및 음성표현효과의 구체적인 일례로서, 갈채버튼(S760c)을 사용자 선택하는 경우에 관해서 기술한다. 이 경우에, 예를 들면, 갈채애니메이션영상(동영상 또는 일련의 정지영상 중 하나)이 예를 들면 사용자얼굴 영상프레임(S710)의 얼굴영상표시영역(S710a) 내의 얼굴영상에 중첩되고, 동시에 박수소리의 음성이 출력된다. 이때, 전체 사용자의 얼굴영상프레임(S710)의 표시위치가 초기 표시영역 둘레로 입력된 소정 영역 내에서 연속적으로 변함으로써 사용자가 박수치는 표현이 더욱 증대되는 구성도 이루어진다.
또한, 사용자가 울음버튼(S760e)을 선택하면, 예를 들면 울음애니메이션은 사용자 얼굴영상프레임(S710)의 얼굴영상 표시영역(S710a) 내의 얼굴 영상에 중첩되는 동시에 울음소리의 음성이 출력된다. 이 경우에, 예를 들면, 전체 사용자 얼굴영상프레임(S710)의 표시위치가 초기 표시영역 둘레로 입력된 소정 영역 내에서 연속적으로 변함으로써 사용자가 우는 표현이 더욱 증대되는 구성도 이루어진다.
상기 기술된 바와 같이, 통신프로그램은 애니메이션 영상을 표시하고, 음성을 출력하고 사용자 얼굴영상프레임(S710)의 표시위치를 변화시킴으로써 사용자의 감정을 표현할 수 있다.
사용자가 기능선택버튼(S760c- S760h) 중 하나를 선택하면, 각각의 감정표현 효과는 상기 기술된 바와 같이 사용자 얼굴영상프레임(S710)에 부가되고, 동시에 사용자가 기능선택버튼(S760c- S760h) 중 하나를 선택하는 지시는 정보를 서버를 통해서 모든 클라이언트에게 전송한다. 따라서, 상기 기술된 효과는 클라이언트 측에서 구동하는 통신프로그램상의 사용자에 대응하는 얼굴영상에 부가된다.
즉, 예를 들면, 상기 기술된 바와 같이 감정표현이 제 1 클라이언트 얼굴영상프레임(S711A)에 대응하는 제 1 클라이언트측에서 선택되는 경우에, 제 1 클라이언트 얼굴영상프레임(S711A)은 통신프로그램이 사용자 측에서 표시하는 윈도우에서 애니메이션영상의 표시, 음성의 출력 및 제 1 클라이언트 얼굴영상프레임(S711A)의 표시위치를 변경한다.
따라서, 통신프로그램은 사용자 및 클라이언트가 여러 유형의 감정표현을 나누게 한다. 따라서, 통신프로그램은 단순한 텍스트(문자데이터)에 의한 통신과 비교해 볼 때 좀 더 다양하고 효과적인 통신을 실행할 수 있다.
(2-8) 통신프로그램들 사이의 기능모듈 변경
상기 기술된 바와 같이, 본 실시예에 따른 통신프로그램은 각각의 기능들의 조작을 협력하여 실현시킬 수 있는 다중기능모듈에 의해 세션에 설치된 다수의 사용자들간의 텍스트 및 영상간에 통신을 실행할 수 있다.
다른 측(클라이언트) 사용자가 상기 기술한 기능 버튼을 선택함으로써 사용자가 사용하고자 하는 어떤 기능을 실행하기 위한 특정 기능 모듈을 갖지 않는 경우에는, 통신프로그램은 사용자측의 기능모듈을 클라이언트측으로 전송하는 기능을 가지므로, 이 기능 모듈은 클라이언트측에서 사용될 수도 있다. 이후에 이러한 방법으로 통신프로그램 사이(즉 사용자측과 클라이언트측 사이)의 기능모듈 변경에 대해서 기술한다.
(2-8-1)기능모듈변경에 대한 개략
본 실시예에 따른 통신프로그램에 의해 실현되는 기능모듈을 변경하는 경우에 대한 개략을 도 45를 참조해서 설명한다.
이후, 도 45에 나타낸 바와 같이 "묘사 모듈" 및 "감정표현모듈"의 2개의 응용모듈(653)이 한쪽 사용자(제 1 사용자: 801) 측의 통신프로그램에 설치되는 반면 "감정표현모듈"의 하나의 응용모듈(653)이 다른 사용자(제 2 사용자 : 802) 측의 통신프로그램에 설치되는 것으로 가정한다. 또한, 다른 사용자로부터 제공된 기능모듈을 유지하는 메모리영역은 제 1 및 제 2 사용자(801 및 802)의 컴퓨터장치(610)의 기억수단(예를 들면, RAM(621) 또는 하드디스크(623))에 설정된다. 이 메모리영역은 도 45에서 "친구도구(FRIENDS TOOLS)"로 표시된다.
도 45에 나타낸 상태에 있어서, 제 1 사용자(801)가 "묘사모듈"를 사용하는 경우에, 제 2 사용자(802)의 통신프로그램은 "묘사모듈"이 설치되지 않았기 때문에, 이러한 상태에서는 제 1 사용자(801)는 "묘사모듈"에 관한 데이터를 교환하는 것으로 제 2 사용자(802)와 통신할 수 없다.
본 발명에 따른 통신시스템은 이러한 경우에 제 1 사용자(801) 측에서 "묘사모듈"을 제 2 사용자(802) 측으로 보낼 수 있다. 따라서, 도 46에 나타낸 바와 같이, "묘사모듈이 "친구도구"로서 설정한 메모리영역에 설치되고 이어서 제 1 사용자(801) 및 제 2 사용자(802)는 "묘사모듈"을 이용해서 통신할 수 있다.
(2-8-2) 기능모듈의 실제교환
다음에, 상기 기술된 바와 같이 도 47에 나타낸 플로차트를 참조하여 제 1 사용자(801) 측에서 제 2 사용자(802) 측으로의 실제 기능모듈의 전송에 관해서 기술한다. 이후의 기술에 있어서, 전송대상인 기능모듈(M0)이 제 1 사용자(801) 측에 존재하고 기능모듈 관리처리를 실행하기 위한 기본모듈(652)로서 사용하는 기능관리모듈(M3 및 M4)이 제 1 및 제 2 사용자(801 및 802) 양측에 존재하는 것으로 가정한다.
갈채 애니메이션 영상(동영상 또는 일련의 정지영상 중 하나)이, 예를 들면, 사용자얼굴 영상프레임(S710)의 얼굴영상표시영역(S710a) 내의 얼굴영상에 중첩되고, 동시에 박수소리의 음성이 출력된다.
제 1 사용자(801) 측에서 사용되는 기능모듈에 의해 제공되는 기능에서, 이 기능에 의해 이용되는 데이터는 기능모듈(M0)에서 코어모듈(M1)로 전송되고(F1), 그리고 제 2 사용자(802) 측에서는 코어모듈(M1)에서 코어모듈(M2)로 전송된다(F2).
제 2 사용자(802) 측의 코어모듈(M2)은 수신된 데이터(예를 들면, 의도된 기능모듈의 기능 ID)에서 데이터 전송 목적이 포함된 기능모듈 목록에 대해 언급하고, 전송을 위해 의도된 기능모듈이 설치되는지 아닌지를 판단한다(F3). 이것이 설치되지 않는 경우, 코어모듈(M2)은 무도착통지를 전송하고, 수신된 데이터가 존재하지 않는 것과 제 1 사용자(801) 측의 코어모듈(M1) 대한 기능모듈을 지시한다(F4). 이 무도착통지는 코어모듈(M1)에서 기능모듈(M0)로 전송된다(F5).
기능모듈(M0)은, 무도착통지를 수신하여, 기능관리모듈(M3)이 기능모듈(M0)에서 제 2 사용자(802)의 복제를 전송할 것을 요청한다(F6). 기능관리모듈(M3)은 제 2 사용자(802)와 함께 설치되는 이 세션에서, 제 2 사용자(802)에 의해 거절된 기능모듈(M0)의 전송인지 아닌지를 확인한다(F7).
이것이 거절되지 않을 경우, 또는 이것이 세션에서 기능모듈(M0)에서 제 2 사용자(802)로 전송하는 최초일 경우, 제 2 사용자(802) 측에서 코어모듈(M1)과 코어모듈(M2)을 통하여 기능관리모듈(M3)은 기능모듈에서 기능관리모듈(M4)로의 전송을 요구한다.
다음으로, 기능관리모듈(M4)은 도 48에 도시된 컴퓨터장치(610)의 표시화면을 통하여 시험사용자 확인윈도우(810)를 표시하고, 예를 들면, 기능모듈이 시험사용되는 제 2 사용자(802)를 통보한다(F9).
시험사용자 확인윈도우(810)는 다른 사용자가 제 2 사용자(802)에게 설치되지 않은 기능모듈에 의해 인식되는 기능을 사용하고 있는 효과를 통보하는 내용을 표시하고, 이 기능을 사용하기 위해 기능모듈로 전송하는 것이 필요하다. 사용자가 시험사용자 확인윈도우(810) 내에 위치한 도움말버튼(S810)을 선택했을 경우, 기능모듈의 전송에 관한 기술이 설명되고, 예를 들어, 분리윈도우 같은 것에 표시된다.
기능모듈의 전송이 시험사용자 확인윈도우(810)내에서 허용될 경우, 사용자가 기능모듈 또는 그와 같은 다른수단의 전송을 시작하는 것에 동의하는지 아닌지에 관한 질의에 응답하여 "YES"버튼(S811)을 선택한 제 2 사용자(802)에 의해, 기능관리모듈(F4)은 기능모듈의 전송을 수행하는 처리와 함께 진행한다. 또한, "NO"버튼(S812)이 선택될 경우, 기능모듈의 그 다음 전송처리가 취소된다.
제 2 사용자(802)를 수용하는 전송에서, 기능관리모듈(F4)은 제 1 사용자로부터 전송된 전송요구가 유효한 요구인지 아닌지를 판단하고, 그리고 나서 코어모듈(M2)과 코어모듈(M1)을 통하여 제 1 사용자(801) 측의 기능관리모듈(F4)이 기능모듈의 전송을 시작할 것을 요청한다(F10).
이후, 전송은 전송요구가 유효한지 아닌지에 의한 기능관리모듈(M4)에 의한 판단에 따르는 요구를 시작하고, 그리고 나서 허용되지 않는 기능모듈의 수용은, 컨텐츠 또는 그와 같은 것의 변경으로 제거될 수 있다. 그와 같은 판단은 크기, 체크섬(check sum) 등과 같은 채색법을 수행하기 위한 상관관계 정보를 이용하여 인식될 수 있다. 특히, 예를 들면, 모듈은 단계(F8)에서 수행되는 요구를 전송할 때, 그와 같은 상관관계정보는 기능관리모듈(M3)에서 기능관리모듈(M4)로 보내지고, 제 1 사용자(801)와 제 2 사용자(802) 사이에서 기능모듈에 관계하는 실제적인 데이터를 교환할 때 결합된다.
다음, 제 1 사용자(801) 측의 기능관리모듈(M4)은 기능모듈의 전송이 제 2 사용자(802)에게 수용되는 것을 검지하고(F11), 그래서 코어모듈(M2)과 코어모듈(M1)을 통하여 기능모듈(M0)이 제 2 사용자(802) 측의 기능관리모듈(M3)에 전송된다(F12).
그리고 나서, 기능모듈(M0)이 성공적으로 전송되어, 기능관리모듈(M4)은 전송이 성공적으로 완료된 것을 지시하는 응답을 기능관리모듈(M3)로 전송한다(F13). 다음으로, 기능관리모듈(M3)은 기능모듈(M0)로 기능모듈(M0)의 복제가 제 2 사용자(802)에게 전달되는 것을 지시하는 내용을 전송한다(F14).
상기 전송처리에 의해, 제 1 사용자(801)로부터 제 2 사용자(802)로의 기능모듈(M0)의 전송이 끝나면, 이후 제 1 사용자(801)와 제 2사용자(802)는 제 1 사용자(801)와 제 2 사용자(802)의 기능모듈(M0) 사이의 전송과 수신에 의해 제공된 기능을 사용하여 서로 통신을 할 수 있다.
또한, 상기 기술된 단계(F12)에서, 전송될 기능 ID 또는 기능모듈(M0)과 같은 것은 되도록 이면 기능모듈(M0) 그 자체를 전송하기 전에 전송된다. 이후 기술될 설명에 있어서, 하드디스크 드라이브(623) 또는 그와 같은 것의 시험-사용 상태에서 제 2 사용자(802) 측이 이미 기능모듈(M0)을 가졌을 경우, 이것은 기능모듈(M0)이 수신 기능 ID에 기반한 임시적으로 사용가능한 상태에 위치될 것을 허용한다. 즉, 이 경우, 기능모듈(M0) 그 자체를 전송할 필요는 없고, 따라서 시간과 대역폭은 그 자체가 보존될 수 있는 기능모듈(M0)을 전송할 필요가 있다.
또한, 단계(F12)에서, 기능모듈(M0)이 전송되어 만들어질 수 있는 배열은 한꺼번에 전송되지 않으나 데이터 내용은 손상되고, 기능관리모듈(M3, M4)이 데이터가 올바르게 전송되고 수신되는지를 확인하는 동안 기능모듈(M0)이 전송된다.
본 발명에 의한 통신시스템(600)에 의해, 다른부분의 통신 프로그램에서 어떤 기능모듈이 포함되지 않은 경우조차, 상기 기술한 바와 같이 다른 부분과 사용 된 부분에 기능모듈은 전송될 수 있다.
따라서, 어떤 기능모듈을 가지지 않음으로 인해, 사용자사이에서 기능의 부족이 없다. 또한, 모든 사용자는 즉시 다양한 기능의 형태를 경험할 수 있고, 그것은 기능모듈이 자연적인 방법에서 진행되는 이용이라는 점에서 유리하다.
(2-8-3) 테스트사용 기능모듈의 이용제한
이제, 상술한 바와 같이 제 1 사용자(801)로부터 제공되고, 제 2 사용자(802) 측에서 "친구"에 설치된 기능모듈은, 제 1 사용자(801)가 그 기능모듈을 사용할 권리를 가지고 있는 것과 비교하여, 제 2 사용자(802) 측에서는 "테스트사용" 상태에 있다. 따라서, 제 2 사용자(802)는 제 1 사용자(801)로부터 "임대(borrowing)" 기능모듈의 상태에 있다.
따라서, 제 2 사용자(802) 측에서는, 예를 들면 제 1 사용자(801)와 확립된 세션이 절단되거나, 제 2 사용자(802) 측에서 통신 프로그램이 재구동되어, "테스트사용" 상태가 리셋된 경우에, 그 테스트사용 상태에 있는 기능모듈의 이용이 제한된다. 이하는 그러한 이용제한에 대하여 설명한다.
통신 프로그램에 있어서는, 도 32를 참조하여 설명한 바와 같이, 인스톨된 기능모듈에 관한 정보를 기능모듈리스트로서 관리하고 있다. 이 기능모듈리스트는, 예를 들면, 컴퓨터장치(610)의 HDD(623)내의 소정의 기억영역에 저장되어 있다. 보다 구체적으로는, 마이크로소프트 OS인 Windows(등록상표)시스템에서는, 디바이스 드라이버의 설정 등을 포함하는 시스템 자신에 관한 설정정보와, 애플리케이션에서 테스트 사용되는 각종의 설정정보가, 레지스트리라 불리는 데이터베이 스에 관리되어 있다. 통신 프로그램에서는, 그 기능모듈리스트가 예를 들면, 이 레지스트리에 유지될 수 있다.
기능모듈리스트는, 도 32를 참조하여 설명한 바와 같이 그 기능모듈에 대응한 식별정보(즉, 기능 ID)와 같은 정보를 가지고 있고, 또한, 각 기능모듈에 대하여, HDD(623)의 기록위치(경로) 및 그 기능모듈이 테스트사용상태인지 아닌지를 판정하기 위한 테스트사용 플래그 등을 포함하고 있다.
이 중, 테스트사용 플래그는, 그 값이 참(TRUE)인 경우에 기능모듈이 테스트사용상태인 것을 나타내고, 그 값이 거짓(FALSE)인 경우에 기능모듈을 사용하는 정당한 권리를 사용자가 가지고 있는 것을 나타내고 있다. 또한, 사용자가 기능모듈을 사용할 권리를 가지고 있는 경우에는, 소정의 유효한 범위내의 값이 기능ID로 설정되어 있다.
따라서, 다른 사용자로부터 전송된 기능모듈(테스트사용상태에서의 기능모듈)에 관하여는, 기능모듈리스트의 테스트사용 플래그의 값이 거짓으로 설정되고, 통상의 상태에서의 기능ID의 값이 상술한 유효범위외의 값으로 설정된다. 따라서, 통신 프로그램을 통상으로 기동한 상태하에서는, 테스트사용상태의 기능모듈의 사용이 제한된다.
구체적으로는 예를 들면, 도 40에 나타내는 도구버튼(S712e)이 사용자에 의해 선택되는 경우에, 도 43에 나타내는 도구표시윈도우(750)를 표시하기 전에, 도 49에 나타내는 바와 같이 이용가능한 기능을 선택하는 처리를 행한다.
이 기능선택처리가 개시될 때, 통신 프로그램은, 도 49에 나타내는 단계(S820)에 있어서, 기능모듈리스트를 참조함으로써, 각 기능모듈에 대응된 기능ID의 값이 소정의 유효범위내에 있는지 아닌지를 판정한다. 이 판정의 결과, 기능ID의 값이 유효범위내에 있는 경우에는, 처리가 단계(S821)로 진행하고, 유효범위외에 있는 경우에는, 처리가 단계(S823)으로 진행한다.
단계(S821)에 있어서, 통신 프로그램은 그 기능모듈에 대하여 테스트사용 플래그의 값을 참조한다. 그리고 나서, 테스트사용 플래그의 값이 거짓인 경우(즉, 사용자가 그것을 사용할 권리를 갖는 경우)에는 처리가 단계(S822)로 진행하고, 테스트사용 플래그의 값이 참인 경우(즉, 테스트사용상태인 경우)에는 처리가 단계(S823)로 진행한다.
단계(S822)에 있어서, 통신 프로그램은, 이 기능모듈을 이용가능으로서, 예를 들면, 이용가능한 기능모듈을 리스트하는 리스트에 등록한다. 이 등록처리의 후에, 처리는 단계(S823)로 진행한다.
단계(S823)에 있어서, 통신 프로그램은, 기능모듈리스트에 리스트된 전체 기능모듈에 대하여 상술한 처리가 완료하였는지 아닌지를 판정한다. 이 판정의 결과, 처리가 완료하고 있지 않은 경우에는 처리가 단계(S820)로 진행하여 다음의 기능모듈에 대한 처리를 행하며, 처리가 완료되어 있는 경우에는, 기능선택처리를 완료한다.
이렇게 하여 이용가능한 기능모듈이 리스트된 후에, 기능선택버튼은 이 리스트에 리스트된 기능모듈이 제공하는 기능에 대하여, 예를 들면, 도 43에 나타낸 상태에서 도구표시윈도우(750) 내에 표시된다. 따라서, 테스트사용상태에 있는 기능모듈에 대응한 기능은 도구표시윈도우(750)에 표시되어 있지 않으므로, 이용 불가능하게 된다.
(2-8-4) 테스트사용 기능모듈의 일시이용
이제, 다른 사용자로부터 수취하여 예를 들면 퍼스널컴퓨터장치(610)의 HDD(623)에 저장된 테스트사용 기능모듈은, 테스트사용 플래그가 참으로 되고, 통상의 상태에서 기능ID가 유효범위 외의 값으로 설정되어 있다. 따라서, 상술한 바와 같이, 통상의 기동상태하에서 그 기능모듈은 이용 불가능하다. 그러나, 다른 통신 프로그램(사용자)과 세션이 확립된 상태에서, 상대측의 사용자로부터 다시 그 테스트사용 상태의 기능모듈을 이용하는 것이 필요한 경우에는, 이 기능모듈의 기능 ID의 값을 유효범위 내의 값으로 복원하고, 일시적으로 이용가능한 상태로 설정된다.
이 경우에, 테스트사용상태에서의 기능모듈의 테스트사용 플래그의 값이 참으로 설정되어 있으므로, 예를 들면 기본표시윈도우(710)에 있어서의 도구버튼(S712e)을 선택한 경우에는, 도 49에 나타낸 처리에 의해, 도구표시윈도우(750)에 대응하는 기능선택버튼이 표시되지 않는다.
그러나, 이 경우에, 예를 들면 도 50에 나타내는 바와 같이, 기본표시윈도우(710)에 "친구도구"버튼(S712f)이 새로이 표시되게 된다. 이 "친구도구"버튼(S712f)은 기본표시윈도우(710)대신에, 도 43에서 표시한 도구표시윈도우(750)에 계층적으로 표시되어도 좋다. 사용자가 그 "친구도구"버튼(S712f)을 선택할 때, 통신 프로그램은, 도 51에 나타내는 판정처리를 행한다.
즉, 통신 프로그램은, 도 51에 나타내는 단계(S830)에 있어서, 기능모듈리스트를 참조하고, 그 기능모듈에 대응된 기능ID의 값이, 미리 규정된 유효범위내에 각각 있는지 아닌지를 판정한다. 이 판정의 결과, 기능 ID값이 유효범위내에 있는 경우에는, 처리가 단계(S831)로 진행하고, 유효범위외에 있는 경우에는, 처리가 단계(S833)로 진행한다. 이 때, 판정대상인 기능모듈이 테스트사용상태에 있더라도, 기능 ID의 값이 유효범위내의 값으로 복원되므로, 이 기능모듈에 대한 처리는 단계(S831)로 진행한다.
단계(S831)에 있어서, 통신 프로그램은 이 기능모듈에 대하여 테스트사용 플래그를 참조한다. 그리고 나서, 테스트사용 플래그의 값이 참인 경우에는, 처리가 단계(S833)로 진행하고, 테스트사용 플래그의 값이 거짓인 경우(즉, 테스트사용상태인 경우)에는, 처리가 단계(S832)로 진행한다.
단계(S832)에 있어서, 통신 프로그램은, 이 기능모듈을 테스트사용 가능으로서, 예를 들면, 테스트사용가능한 기능모듈을 리스트한 리스트에 등록한다. 이 등록처리의 후, 처리는 단계(S833)로 진행한다.
단계(S833)에 있어서, 통신 프로그램은, 기능모듈리스트에 리스트된 전체 기능모듈에 대하여, 상술한 처리가 완료하였는지 아니지를 판정한다. 판정의 결과, 처리가 완료되어 있지 않은 경우에는 처리가 단계(S830)로 되돌아가서 다음의 기능모듈을 실행하고, 처리가 완료된 경우에는, 기능선택처리가 완료된다.
이상과 같이 리스트된 사용가능한 기능모듈의 리스트 후에, 예를 들면, 도 43에 나타내는 바와 같은 상태에서 윈도우 내에 기능선택버튼을 표시하고, 이용가능하게 한다. 그러나, 이 경우에는, 테스트사용상태의 기능모듈에 대응하는 기능선택버튼만이 윈도우에 표시된다. 즉, 다른 사용자로부터 제공된 테스트사용 기능(즉, "친구도구")이 여기에 표시된다.
또한, 통신 프로그램은, 기동시에 기능모듈리스트를 참조하여, 테스트사용 플래그가 참인 기능모듈(즉, 테스트사용상태의 기능모듈)에 대하여, 기능ID의 값을 원래의 값(즉, 유효범위외의 값)으로 되돌리는 처리를 실행한다. 따라서, 다음회의 기동시에는, 다시 다른 사용자로부터의 이용요구가 있기까지, 테스트사용상태의 기능모듈이 다시 이용불가능하게 된다. 이런식으로, 기능ID의 값을 되돌리는 처리는, 예를 들면, 통신 프로그램의 종료시에 행하는 것도 좋으나, 정상 종료처리가 반드시 보증되지 않은 경우에는, 그 기동시에 행하는 것이 바람직하다. 따라서, 그 기능모듈의 테스트사용상태를 확실하게 유지할 수 있다.
본 실시예에 의한 통신 시스템(600)에 있어서는, 상술한 바와 같이, 과거에 다른 사용자로부터 제공된 테스트사용상태의 기능모듈을 HDD(623)내에 유지하는 경우라도, 이용이 제한된 상태와 일시이용가능한 상태가 확실하게 또한 간편하게 전환될 수 있다. 또한, 테스트사용상태의 기능모듈을 HDD(623)내에 유지하는 것은 그 기능모듈을 테스트사용할 때, 사용자간에 기능모듈의 전송을 매회 행할 필요가 없게 되므로, 기능모듈을 전송하기 위해 필요한 시간이나 통신대역을 절약할 수 있다.
(2-9) 다른 실시예
상기 설명은, 다른 사용자로부터 제공된 기능모듈이 "테스트사용"상태로 설 정되고, 그 이용이 제한되는 경우에 대하여 행하여졌으나, 본 발명은 이와 같은 제한이 있는 구성에 한정되는 것은 아니고, 오히려, 다른 사용자로부터 제공된 기능모듈이 전송완료이후 다른 기능모듈과 동일하게 자유로이 이용할 수 있는 구성이어도 좋다.
또한, 본 실시예는, 다른 사용자로부터 제공된 기능모듈이, 기능모듈리스트의 기능 ID나 테스트사용 플래그를 이용하여, 사용자가 이용권리를 갖는 기능모듈과 구별된 상태에서, 사용자측의 HDD(623)에 저장(인스톨)되는 것으로 설명하고 있다. 즉, 본 예에서는, 기능모듈의 제공원인 상대사용자와의 세션이 종료한 후에도, 사용자측의 HDD(623)에는, 이 테스트사용중의 기능모듈이 저장되어 있다. 그러나, 이하에 기술되는 바와 같은 시점에서, 테스트사용 기능모듈을 사용자측의 컴퓨터장치(610)에서 제거하는 것으로 구성하여도 좋다. 즉, 테스트사용하는 기능모듈에 의해 제공되는 기능의 이용이 종료한 시점, 기능모듈을 제공하는 상대사용자와의 세션이 종료한 시점, 통신 프로그램이 종료하는 시점, 통신 프로그램이 기동하는 시점 등에 있어서, 기능모듈을 제거하여도 좋다.
또한, 본 발명의 상기 실시예의 기술은, 통신 시스템(600)을 구성하는 정보처리장치에서 실행되는 통신 프로그램에 대하여 설명하였으나, 본 발명은, 이와 같은 통신 프로그램이 실행처리됨으로써 실현되는 통신 시스템, 상술한 통신 프로그램에 의해 실행되는 처리에 상당하는 절차에 의해 실현되는 통신 방법 혹은 상술한 통신 프로그램에 의해 실행되는 처리에 상당하는 절차가 다른 소프트웨어나 하드웨어 수단에 의해 실현되는 정저보처리장치에 널리 적용할 수 있는 것은 말할 것도 없다.
또한, 상술한 통신 프로그램 혹은 통신 프로그램에 의해 실현되는 기능과 동등한 기능을 각종의 전자기기로 실현하기 위한 소프트웨어 프로그램을, 각종 기록매체에 격납하여 제공하여도 좋다.
따라서, 본 발명에 의하면, 복수의 정보처리장치의 사이에서, 특정 기능모듈에 의해 처리되는 정보를 교환할 때, 수신측 정보처리장치에 그 기능모듈이 존재하지않는 경우라도, 송신측 정보처리장치에서 기능모듈을 송신할 수 있다. 따라서, 수신측 정보처리장치에 있어서, 송신측 정보처리장치에서 제공되는 기능모듈을 실행처리함으로써 이 기능모듈에 의해 처리되는 정보를 교환할 수 있다.
따라서, 정보처리장치의 사용자간에 특정 기능모듈을 가지고 있지 않는 것으로 인한 기능의 부족이 생기지 않는다. 또한, 전체 사용자가 각종 기능을 쉽게 체험할 수 있어서, 기능모듈의 이용이 자연히 촉진되다고 하는 이점이 있다. 또한, 특정 기능모듈이 사용자측에 존재하고 있지 않은 경우라도, 세션이 확립된 다른 사용자가 이용을 개시한 기능모듈이 전송되고, 이 기능모듈에 의해 제공되는 기능을 이용할 수 있다. 따라서, 사용자는 그들의 취향에 맞는 기능을 제공하는 기능모듈을 그들의 정보처리장치내에 유지하는 것만으로 충분하다.
또한, 다른 사용자로부터 제공된 기능모듈을 소위 테스트사용 상태로 이용할 수 있으므로, 그 기능모듈의 이용에 대하여 요금이 부과되고, 테스트사용 상태의 기능모듈에 대하여 제한이 적용되는 시스템을 용이하게 구현할 수 있다.

Claims (38)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 정보처리장치(information processing apparatus)에 있어서,
    기능(function)을 실행시키도록 구성되고, 입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트(function code segment)를 포함하는 적어도 하나의 기능모듈(function module)을 저장하도록 구성된 저장부(storage unit)와,
    입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트를 포함하는 현재의 기능모듈(existing function module)을 상기 현재의 기능모듈을 포함하지 않은 다른 정보처리장치로 전송하도록 구성된 전송기(transmitter)와,
    상기 다른 정보처리장치로부터 전송되고, 상기 다른 정보처리장치에서 상기 전송된 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 수신하도록 구성되고, 상기 현재의 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 상기 다른 정보처리장치에 전송하도록 구성된 통신부(communication unit)와,
    상기 현재의 기능모듈 및 상기 다른 정보처리장치로부터 상기 통신부에 의해 수신된 정보에 따른 상기 기능의 처리를 실행하도록 구성된 실행부(execution unit)를 포함하여 구성된 것을 특징으로 하는 정보처리장치.
  21. 정보처리방법(information processing method)에 있어서,
    기능을 실행시키도록 구성되고, 입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트를 포함하는 적어도 하나의 기능모듈을 저장하는 단계와,
    입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트를 포함하는 현재의 기능모듈을 상기 현재의 기능모듈을 포함하지 않는 다른 정보처리장치로 전송하는 단계와,
    상기 다른 정보처리장치로부터 전송되고, 상기 다른 정보처리장치에서 상기 전송된 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 수신하는 단계와,
    상기 현재의 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 상기 다른 정보처리장치에 전송하는 단계와,
    상기 현재의 기능모듈 및 상기 정보를 수신하는 단계에 의해 수신된 정보에 따라 상기 기능의 처리를 실행하는 단계를 포함하여 구성된 것을 특징으로 하는 정보처리방법.
  22. 컴퓨터가 읽을 수 있는 명령(computer readable instruction)으로, 컴퓨터에서 읽기 가능한 프로그램(computer-readable program)을 저장하는 기록매체에 있어서,
    기능을 실행시키도록 구성되고, 입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트를 포함하는 적어도 하나의 기능모듈을 저장하도록 구성된 저장코드(storage code)와,
    입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트를 포함하는 현재의 기능모듈을 상기 현재의 기능모듈을 포함하지 않는 다른 정보처리장치로 전송하도록 구성된 전송기 코드(transmitter code)와,
    상기 다른 정보처리장치로부터 전송되고, 상기 다른 정보처리장치에서 상기 전송된 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 수신하도록 구성되며, 상기 현재의 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 상기 다른 정보처리장치에 전송하도록 구성된 통신코드(communication code)와,
    상기 현재의 기능모듈 및 상기 다른 정보처리장치로부터 상기 통신코드에 의해 수신된 정보에 따른 상기 기능의 처리를 실행하도록 구성된 실행코드(execution code)를 포함하여 구성된 것을 특징으로 하는 기록매체.
  23. 삭제
  24. 정보처리장치에 있어서,
    기능을 실행하도록 구성되고, 입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트를 포함하는, 다른 정보처리장치로부터 전송된 기능모듈을 수신하도록 구성된 수신기(receiver)와,
    상기 다른 정보처리장치로부터 전송되고, 상기 다른 정보처리장치에서 상기 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 수신하도록 구성되며, 상기 수신된 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 상기 다른 정보처리장치에 전송하도록 구성된 통신부(communication unit)와,
    상기 수신된 기능모듈 및 상기 다른 정보처리장치로부터 상기 통신부에 의해 수신된 정보에 따른 상기 기능의 처리를 실행하도록 구성된 실행부(execution unit)를 포함하여 구성된 것을 특징으로 하는 정보처리장치.
  25. 정보처리방법에 있어서,
    기능을 실행하도록 구성되고, 입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트를 포함하는, 다른 정보처리장치로부터 전송된 기능모듈을 수신하는 단계와,
    상기 다른 정보처리장치로부터 전송되고, 상기 다른 정보처리장치에서 상기 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 수신하는 단계와,
    상기 수신된 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 상기 다른 정보처리장치에 전송하는 단계와,
    상기 수신된 기능모듈 및 상기 정보를 수신하는 단계에 의해 수신된 정보에 따른 상기 기능의 처리를 실행하는 단계를 포함하여 구성된 것을 특징으로 하는 정보처리방법.
  26. 컴퓨터가 읽을 수 있는 명령(instruction)을 가지는, 컴퓨터에서 읽기 가능한 프로그램을 저장하는 기록매체에 있어서,
    상기 명령은,
    기능을 실행시키도록 구성되고, 입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트를 포함하는, 다른 정보처리장치로부터 전송된 기능모듈을 수신하도록 구성된 수신기 코드(receiver code)와,
    상기 다른 정보처리장치로부터 전송되고, 상기 다른 정보처리장치에서 상기 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 정보를 수신하도록 구성되고, 상기 수신된 기능모듈에 따른 상기 기능의 처리를 실행함으로써 얻어지는 상기 정보를 상기 다른 정보처리장치에 전송하도록 구성된 통신코드(communication code)와,
    상기 수신된 기능모듈 및 상기 다른 정보처리장치로부터 통신부에 의해 수신된 정보에 따른 상기 기능의 처리를 실행하도록 구성된 실행코드(execution code)를 포함하여 구성된 것을 특징으로 하는 기록매체.
  27. 삭제
  28. 컴퓨터망(computer network)을 통해 연결된 복수의 정보처리장치들 사이에서, 기능모듈에 따른 처리를 실행함으로써 얻어지는 정보를 교환하는 정보교환방법(information exchange method)에 있어서,
    상기 기능모듈은 입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트를 포함하고, 상기 기능모듈이 수신측 장치에 존재하지 않을 경우, 전송측 장치로부터 상기 수신측 장치로 상기 기능모듈을 전송하는 단계와,
    상기 수신측 장치에 설치된 저장수단(storage) 내에 상기 기능모듈을 저장하는 단계와,
    상기 전송측 장치와 상기 수신측 장치 사이에서, 상기 전송측 장치 및 상기 수신측 장치에서 상기 기능모듈에 따른 처리를 실행함으로써, 상기 정보를 교환하는 단계를 포함하여 구성된 것을 특징으로 하는 정보교환방법.
  29. 제 28항에 있어서,
    상기 정보를 교환하는 단계의 완료 후에, 상기 저장수단 내에 저장된 상기 기능모듈을 삭제하는(deleting) 단계를 더 포함하는 것을 특징으로 하는 정보교환방법.
  30. 제 28항에 있어서,
    상기 정보를 교환하는 단계에서, 상기 기능의 식별정보(identification information)가 상기 정보와 함께 전송되는 것을 특징으로 하는 정보교환방법.
  31. 제 30항에 있어서,
    상기 식별정보에 근거하여, 상기 정보를 수신하는 수신측 정보처리장치에 상기 기능모듈이 존재하는지 아닌지를 판정하는(judging) 단계를 더 포함하는 것을 특징으로 하는 정보교환방법.
  32. 제 30항에 있어서,
    상기 기능모듈을 저장하는 단계에서, 상기 식별정보의 내용(contents)이 상기 기능모듈의 실행을 무효화시키는(invalidate) 내용으로 변경되고, 변환 후의(post-conversion) 식별정보는 상기 저장수단 내에 저장되며,
    상기 정보를 교환하는 단계에서, 상기 전송측 정보처리장치로부터 수신된 상기 식별정보에 근거하여, 상기 저장수단에 저장된 식별정보의 내용이 상기 기능모듈의 실행을 유효화시키는(validate) 내용으로 복구되는(restore) 것을 특징으로 하는 정보교환방법.
  33. 컴퓨터망을 통해 연결된 복수의 정보처리장치들 사이에서, 소정의 기능을 이용하기 위해 필요한 기능모듈에 따른 처리를 실행함으로써 얻어지는 정보를 교환하는, 컴퓨터에서 읽기 가능한 프로그램(computer-readable program)을 저장하는 기록매체에 있어서,
    상기 프로그램은,
    입력에 근거하여 출력을 생성하도록 구성된 기능코드 세그먼트를 포함하는 기능모듈이 수신측 장치에 존재하지 않는 경우, 전송측 장치로부터 상기 수신측 장치로 상기 기능모듈을 전송하도록 구성된 기능모듈 전송코드(function module transmission code)와,
    상기 수신측 장치에 설치된 저장수단(storage) 내에 상기 기능모듈을 저장하도록 구성된 기능모듈 저장코드(function module storage code)와,
    상기 전송측 장치 및 상기 수신측 장치에서 상기 기능모듈에 따른 처리를 실행함으로써, 상기 전송측 장치와 상기 수신측 장치 사이에서 상기 정보를 교환하도록 구성된 정보교환코드(information exchange code)를 포함하여 구성된 것을 특징으로 하는 기록매체.
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
KR1020020013355A 2001-03-15 2002-03-12 정보처리장치, 정보처리방법, 정보교환방법,기록매체와,프로그램 KR100884651B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2001-00073361 2001-03-15
JP2001073361 2001-03-15
JPJP-P-2002-00024780 2002-01-31
JP2002024780A JP2002342088A (ja) 2001-03-15 2002-01-31 情報処理装置、情報処理方法、情報送受信方法、記録媒体、並びにプログラム

Publications (2)

Publication Number Publication Date
KR20020073390A KR20020073390A (ko) 2002-09-26
KR100884651B1 true KR100884651B1 (ko) 2009-02-23

Family

ID=26611289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020013355A KR100884651B1 (ko) 2001-03-15 2002-03-12 정보처리장치, 정보처리방법, 정보교환방법,기록매체와,프로그램

Country Status (6)

Country Link
US (1) US7392288B2 (ko)
EP (1) EP1241574A3 (ko)
JP (1) JP2002342088A (ko)
KR (1) KR100884651B1 (ko)
CN (1) CN1377157B (ko)
HK (1) HK1051752A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003238901A1 (en) * 2002-06-07 2003-12-22 Bellsouth Intellectual Property Corporation Sytems and methods for establishing electronic conferencing over a distributed network
US7464139B2 (en) * 2002-06-07 2008-12-09 At&T Intellectual Property, I, L.P. Methods for establishing an instant message conference
US20040061706A1 (en) * 2002-09-30 2004-04-01 Cronin Thomas M. Presentation of data to be displayed in a wireless network
CN100423118C (zh) * 2003-02-12 2008-10-01 皇家飞利浦电子股份有限公司 在存储介质上存储数据的方法和装置
US20050259945A1 (en) * 2004-05-20 2005-11-24 Anthony Splaver Method and system for automatic management of digital photography processing
US20060041848A1 (en) * 2004-08-23 2006-02-23 Luigi Lira Overlaid display of messages in the user interface of instant messaging and other digital communication services
US20060044394A1 (en) * 2004-08-24 2006-03-02 Sony Corporation Method and apparatus for a computer controlled digital camera
US8165564B2 (en) * 2005-12-12 2012-04-24 Sony Ericsson Mobile Communications Ab Emotional communication between portable equipments
KR100958303B1 (ko) * 2007-12-12 2010-05-19 한국전자통신연구원 멀티코어 시스템 환경에서 내부 코어 간 통신채널을 이용한 모듈 디바이스의 동적 적재 및 실행을 통한 부하 균등화 시스템 및 방법
US8085687B2 (en) 2008-02-28 2011-12-27 Cisco Technology, Inc. Returning domain identifications without reconfiguration
US20100162138A1 (en) * 2008-12-23 2010-06-24 At&T Mobility Ii Llc Conversation bubbles including visual cues for threaded messaging applications
US8428626B2 (en) * 2008-12-23 2013-04-23 At&T Mobility Ii Llc Selective caching of real time messaging threads
US8566403B2 (en) * 2008-12-23 2013-10-22 At&T Mobility Ii Llc Message content management system
US8700072B2 (en) 2008-12-23 2014-04-15 At&T Mobility Ii Llc Scalable message fidelity
US20100162133A1 (en) * 2008-12-23 2010-06-24 At&T Mobility Ii Llc User interface paradigm for next-generation mobile messaging
US8799820B2 (en) * 2008-12-23 2014-08-05 At&T Mobility Ii Llc Dynamically scaled messaging content
US7870211B2 (en) * 2008-12-23 2011-01-11 At&T Mobility Ii Llc Conversation message routing supporting dynamic class transitions
US8893040B2 (en) 2008-12-23 2014-11-18 At&T Mobility Ii Llc Systems, devices, or methods for accessing information employing a tumbler-style graphical user interface
TW201030645A (en) * 2009-02-03 2010-08-16 li-he Yao Information exchange apparatus, method and its management system by utilizing the wireless channel
CN102375757B (zh) * 2010-08-13 2013-07-03 国基电子(上海)有限公司 网络设备及其动态启用进程的方法
JP2012169777A (ja) * 2011-02-10 2012-09-06 Sony Corp 情報処理装置、情報処理方法、およびプログラム
KR102021507B1 (ko) * 2013-02-06 2019-09-16 엘지전자 주식회사 복수의 sns 채널을 위한 sns 컨텐츠 통합 관리 방법 및 그 단말기
US10386996B2 (en) * 2015-06-11 2019-08-20 Microsoft Technology Licensing, Llc Communicating emotional information via avatar animation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271735A (ja) * 1994-03-23 1995-10-20 Internatl Business Mach Corp <Ibm> ネットワーク上でオブジェクトのリンク及び埋込みを行う方法
KR960029959A (ko) * 1995-01-17 1996-08-17 구자홍 가정 자동화 시스템의 쌍방향 통신 제어장치 및 방법
JP2000137641A (ja) * 1998-10-05 2000-05-16 Backweb Technologies Ltd 分散クライアントベ―スのデ―タキャッシングシステム
US6094676A (en) * 1997-05-30 2000-07-25 Hilgraeve Incorporated Method and apparatus for peer-to-peer communication
KR20020014631A (ko) * 2000-08-17 2002-02-25 박준상 P2p 서비스 운용 방법 및 시스템

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6077259A (ja) 1983-10-05 1985-05-01 Fujitsu Ltd 負荷分散方式
JPS62212763A (ja) 1986-03-13 1987-09-18 Fujitsu Ltd 計算機ネツトワ−クにおけるジヨブ実行方式
JPH0496168A (ja) 1990-08-08 1992-03-27 Nec Corp プログラムの遠隔実行方式
JPH04347733A (ja) 1991-05-24 1992-12-02 Hitachi Ltd 計算機プログラム保守方式
US5619250A (en) * 1995-02-19 1997-04-08 Microware Systems Corporation Operating system for interactive television system set top box utilizing dynamic system upgrades
US5699350A (en) 1995-10-06 1997-12-16 Canon Kabushiki Kaisha Reconfiguration of protocol stacks and/or frame type assignments in a network interface device
JP3585068B2 (ja) 1996-02-15 2004-11-04 ソニー株式会社 制御システムおよび制御方法
US5732216A (en) * 1996-10-02 1998-03-24 Internet Angles, Inc. Audio message exchange system
US5721827A (en) * 1996-10-02 1998-02-24 James Logan System for electrically distributing personalized information
KR19980086889A (ko) 1997-05-15 1998-12-05 이데이 노부유끼 데이터 통신방법, 데이터 통신단말, 데이터 통신시스템 및 통신 제어시스템
US6446116B1 (en) 1997-06-30 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic loading of a transport mechanism in a multipoint data delivery system
US6173438B1 (en) * 1997-08-18 2001-01-09 National Instruments Corporation Embedded graphical programming system
JPH11312154A (ja) 1998-04-28 1999-11-09 Nec Corp 協同作業支援システム及び記録媒体
US6457099B1 (en) * 1998-08-27 2002-09-24 David A. Gilbert Programmable dedicated application card
US6725260B1 (en) * 1998-09-11 2004-04-20 L.V. Partners, L.P. Method and apparatus for configuring configurable equipment with configuration information received from a remote location
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
WO2001015021A2 (en) 1999-08-24 2001-03-01 Digitalconvergence.:Com Inc. Method and apparatus for establishing connection to a remote location on a computer network
US6854009B1 (en) * 1999-12-22 2005-02-08 Tacit Networks, Inc. Networked computer system
US6529728B1 (en) * 2000-02-10 2003-03-04 Motorola, Inc. Method and apparatus in a wireless communication system for selectively providing information specific to a location
US6963897B1 (en) * 2000-03-30 2005-11-08 United Devices, Inc. Customer services and advertising based upon device attributes and associated distributed processing system
US6704189B2 (en) * 2002-04-09 2004-03-09 Tdk Corporation Electronic device with external terminals and method of production of the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271735A (ja) * 1994-03-23 1995-10-20 Internatl Business Mach Corp <Ibm> ネットワーク上でオブジェクトのリンク及び埋込みを行う方法
KR960029959A (ko) * 1995-01-17 1996-08-17 구자홍 가정 자동화 시스템의 쌍방향 통신 제어장치 및 방법
US6094676A (en) * 1997-05-30 2000-07-25 Hilgraeve Incorporated Method and apparatus for peer-to-peer communication
JP2000137641A (ja) * 1998-10-05 2000-05-16 Backweb Technologies Ltd 分散クライアントベ―スのデ―タキャッシングシステム
KR20020014631A (ko) * 2000-08-17 2002-02-25 박준상 P2p 서비스 운용 방법 및 시스템

Also Published As

Publication number Publication date
HK1051752A1 (en) 2003-08-15
EP1241574A3 (en) 2007-04-04
KR20020073390A (ko) 2002-09-26
US20020133552A1 (en) 2002-09-19
CN1377157B (zh) 2010-06-23
EP1241574A2 (en) 2002-09-18
CN1377157A (zh) 2002-10-30
JP2002342088A (ja) 2002-11-29
US7392288B2 (en) 2008-06-24

Similar Documents

Publication Publication Date Title
KR100884651B1 (ko) 정보처리장치, 정보처리방법, 정보교환방법,기록매체와,프로그램
AU2009251161B2 (en) Instant messaging terminal adapted for Wi-Fi access
US20090181702A1 (en) Multi-mode communication
US6997809B2 (en) Method, system, and computer program product for playing a game over electronic mail
JP4897611B2 (ja) インスタント・メッセージング・システム、方法、およびプログラム
EP1182834B1 (en) Method and device for electronic mail
US20030233424A1 (en) Instant messenger based interface apparatus in information apparatuses
US20090093264A1 (en) Instant messaging terminal adapted for wireless communication access points
KR20150013860A (ko) 클라이언트 없는 클라우드 컴퓨팅
CN112346751B (zh) 应用程序的安装方法、装置、电子设备和存储介质
US20060282538A1 (en) Persistent chat data across different sessions
KR20050023211A (ko) 프로그램, 정보 처리 방법 및 장치
TWI271058B (en) Method and apparatus for extensible communication controls
US20150088961A1 (en) Application-Specific Group Listing
US20030222874A1 (en) Animated character messaging system
WO2002001371A1 (fr) Procede et appareil destines a regler un parametre de communication dans un terminal d&#39;informations
JP2001298391A (ja) 無線通信方法および無線通信ユニット
EP1241854A2 (en) Information processing apparatus and method, recording medium product, and program
CN109086123A (zh) 应用会话的迁移方法、装置、终端、服务器及存储介质
KR20030088253A (ko) 피투피 기반의 원격지 컴퓨터 관리를 위한 연결요청중계시스템 및 그 방법
JP2001202307A (ja) ネットワークシステム、端末装置及び情報送信方法
JPH11219326A (ja) 電子ファイル管理システム
JPH1185686A (ja) 情報処理方法及び情報処理装置、サーバを制御するプログラムを格納した記録媒体
JP4885188B2 (ja) メッセージ連携装置、方法及びシステム
JP4303228B2 (ja) 通信方法及びサーバ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120206

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee