具体实施方式
<第一实施例>
首先,参考附图将详细描述本发明的第一实施例。图1描述了已应用到本发明的通信系统的结构实例。
从1-1到1-N的个人计算机中的N个计算机(在没有必要区分各个计算机之间的差别的情况中简单地指“个人计算机1”)经过电话网2和各自的因特网的提供者(未显示)连接到因特网3。
个人计算机1可经过因特网3交换电子邮件。也就是说,用连接到因特网3上的各自的电子邮件服务器(未显示)登记个人计算机1的IP地址。
个人计算机1也能经过例如电话网2对等地通信。允许完成对等式通信,例如,如图2所示,音频和画面能传送到个人计算机1-1中,以便直接提供给个人计算机1-2和1-3而不经过服务器,并且音频和画面传送到个人计算机1-2中用于直接提供给个人计算机1-1和1-3而不经过服务器。在个人计算机1-3中,来自个人计算机1-1和1-2中的每一个的音频和画面被混合并且输出(即,重现)。
现在,建立该对等式通信的通信连接,例如通过用个人计算机1-1的IP地址连接的电子邮件,该电子邮件从个人计算机1-1传输到期望的通信目的地,例如个人计算机1-2,个人计算机1-2打开电子邮件,并且获得连接到该电子邮件上的IP地址。也就是说,利用本发明使用的通信系统,使用已经登记在因特网3上的IP地址(更精确地说,电子邮件服务器中登记的IP地址),建立对等式通信的通信连接。
只要相互通信的个人计算机1中至少一台具有附加的功能模块,个人计算机1就可以在功能模块(后文称为“附加的功能模块”)基础上通信。
例如,在个人计算机1-1和个人计算机1-2想进行对等式通信时,甚至在其中个人计算机1-1具有附加的功能模块而个人计算机1-2没有这种模块的情况中,对等式通信可在附加的功能模块基础上在个人计算机1-1和个人计算机1-2之间可进行对等式通信。
图3到6说明了个人计算机1-1的外形图。
个人计算机1-1基本由主件11,和可相对于主件11打开和关闭的显示器12构成。图3是外部透视图,图中说明了其中显示器12可相对于主件11打开的状态。图4是主件11的平面图,图5是提供在主件11上的后面将会描述的轻推拨动盘13的放大图。另外,图6是提供在主件11上的轻推拨动盘13的侧视图。
提供在主件11面板上的是键盘14,操作该键盘14以便输入各种类型的字符和符号等;触摸片16用作指向装置,操作该指向装置用于移动LCD 15上显示的指针(鼠标光标);和电源开关17。而且,轻推拨动盘13和IEEE 1394端口18等提供在该侧上。注意,可提供条形指示装置替代触摸片16。
提供在显示器12前部的是LCD(液晶显示器)15用于显示显示图象,并且在其右上部是一个电源灯PL,电池灯BL,信号灯ML(未显示)和其它LED灯。而且,提供在显示器12上部中央部分的是带CCD摄影机19的成像部件20,该摄影机包括一个CCD(电荷-耦合装置),和扩音器21。操作CCD摄影机19的关机按钮22提供在图3的主件11的右上侧。
成像部件20可旋转地固定在显示器12上。例如,用户可将CCD摄影机19从一个位置,该位置是获取操作个人计算机1-1的用户本人图象的位置,旋转到另一个位置,该位置是在与操作个人计算机1-1的用户的观看区域相同的方向上获取图象的位置。
接着,例如,在置于图4中的主件11上的键盘14右侧的键A和键B之间连接轻推拨动盘13,同时该拨号盘的上表面处在与键A和键B几乎同样高度。轻推拨动盘13执行对应于图5中的箭头a所指示的旋转操作(例如,翻动屏幕)的预定处理,并且执行对应于图中箭头b所指示的旋转操作(例如,图标的确认选择)的预定处理。
IEEE(电气和电子工程师协会)1394端口18具有基于IEEE 1394中规定标准的结构,和基于IEEE 1394中规定标准的电缆连接。
接着,将参考图7描述个人计算机1-1的内部结构的实例。
CPU(中央处理器)例如由英特公司生产的奔腾(一种注册商标)构成,并且连接主机总线52。而且连接主机总线52的是桥接器(所谓的编桥)53,该桥接器53有一个AGP(加速图形接口)50并且与PCI(周边元件连接/接口)总线56连接。
桥接器53由400BX构成,该400BX是由英特公司等生产的一种AGP主机桥接器控制器,并且控制CPU 51和RAM(随机存取存储器)54(所谓的主存)等。而且,桥接器53经AGP 50控制视频控制器57。注意,该桥接器53和桥接器(所谓的南桥接器(PCI-ISA桥接器))58组成所谓的芯片器件。
桥接器53还连接高速缓冲存储器55。高速缓冲存储器55由能以高于RAM 54例如SRAM(静态RAM)等的速度执行读或写操作的内存构成,并且高速缓存(临时存储)各程序和CPU 51使用的数据。
而且,CPU 51有在其中的能以高于高速缓冲存储器55的速度操作的主高速缓冲存储器,由CPU 51本身操作该主高速缓冲存储器。
例如,RAM 54由DRAM(动态RAM),和存储由CPU 51执行的程序,或CPU 51操作所需的数据构成。特别是,例如,RAM 54存储了电子邮件程序54A,自动导航程序54B,轻推拨动盘状态监控程序54C,轻推拨动盘驱动器54D,操作系统54E,通信程序54F,附加的功能模块54G,和在确定时间从硬盘驱动器67装载的其它应用程序54H。
电子邮件程序54A是经过调制解调器75,电话网2,因特网提供者,电子邮件服务器和因特网3交换通信文本(电子邮件)的程序。
自动导航程序54B是以事先设定的顺序连续地激活事先设定的多个处理(或程序)的程序。
轻推拨动盘状态监控程序54C接收根据上述应用程序是否与轻推拨动盘13兼容,若与轻推拨动盘13兼容的通知,则操作轻推拨动盘13所执行的操作显示在LCD 15上。
轻推拨动盘状态监控程序54C还检测轻推拨动盘13(例如轻推拨动盘13在图5中箭头a所指的方向上旋转,或者在图5中箭头b所指方向上按压操作)的情况,并且执行对应于检测到情况的处理。轻推拨动盘驱动器54D执行对应于轻推拨动盘13操作的各种功能。
操作系统54E是控制计算机基本操作的一种程序,其中最具表示性的是来自微软的Windows 95(注册商标)或Windows 98(注册商标),或来自苹果计算机的所谓Mac OS(注册商标)等。
通信程序54F执行对等式通信的处理,并且还控制电子邮件程序54A以便将连接有个人计算机1-1的IP地址的电子邮件发送给其它用户,并且从其它用户发送的确定电子邮件获得IP地址,以便建立通信连接。
通信程序54F还控制附加的功能模块54G,以便基于附加功能模块54G的功能进行通信。
附加的功能模块54G在通信程序54F的控制下执行预定处理(后面描述)。
视频控制器57经过AGP 50与桥接器53连接,以便接收来自AGP 50和桥接器53的数据(图象数据,文本数据,等),产生对应于所接收数据的图象数据,并且在内置图象存储器中存储产生的图象数据,或接收到的数据本身。视频控制器57在显示器12的LCD 15上显示对应于图象数据的图象,这些图象数据存储在视频存储器中。
另外,视频控制器57将由CCD摄影机19送来的视频数据经PCI总线56传送到RAM 54。
PCI总线56有一个与其连接的音频控制器64。音频控制器64获得来自扩音器21的音频,产生对应于音频的数据,并且将该数据输出到RAM 54。而且,音频控制器64驱动扬声器65,这样扬声器65输出音频。
而且,调制解调器75连接PCI总线56。调制解调器75连接电话网2,并且经过电话网2或因特网3执行通信处理。
一个PC卡槽接口111连接PCI总线56,并且将来自安装到槽23的一个接口插件112的数据提供给CPU 51或RAM 54,同时将来自CPU 51的输出数据提供给接口插件112。驱动器113经由PC卡片槽接口111和接口插件112连接PCI总线56。
驱动器113读取被安装的磁盘121,光盘122,磁光盘123,或半导体存储器124内记录的数据,并且经接口插件112,PC卡槽接口111,和PCI总线56向RAM 54提供读出的数据。
另外,桥接器58(所谓的南桥接器)也连接PCI总线56。桥接器58由例如英特公司生产的PIIX4E等构成,并且嵌在IDE(.集成设备电路)控制器/构造寄存器59,IDE接口61,USB接口68等中。桥接器58控制各种类型的I/O(输入/输出),例如连接IDE总线62的设备,经ISA/EIO(工业标准结构/分布输入输出)总线63或I/O接口69等连接的设备。
IDE控制器/构造寄存器59由所谓的第一IDE控制器和第二IDE控制器两个IDE控制器以及构造寄存器等构成(这些都没有显示在图中)。
硬盘驱动器67经IDE总线62连接第一IDE控制器。而且,在所谓的IDE设备例如未显示的CD-ROM驱动器或硬盘驱动器安装到另一个IDE总线时,已安装的IDE设备与第二IDE控制器电连接。
硬盘驱动器67记录电子邮件程序67A,自动导航程序67B,轻推拨动盘状态监控程序67C,轻推拨动盘驱动器67D,操作系统67E,通信程序67F,附加的功能模块67G,和其它应用程序67H等。
经应用程序67H等记录在硬盘驱动器67上的电子邮件程序67A在合适的时候装载到RAM 54中。
I/O接口69还连接ISA/EIO总线63。该I/O接口69由具有在其中相互连接的ROM 70,RAM 71和CPU 72的内置式控制器构成。
ROM 70已预先存储有IEEE 1394接口程序70A,LED控制程序70B,触摸片输入监控程序70C,键输入监控程序70D,唤醒程序70E,和轻推拨动盘状态监控程序70F等。
IEEE 1394接口程序70A经IEEE 1394端口18交换符合IEEE 1394标准的交换数据(数据包中存储的数据)。LED控制程序70B执行控制,点亮电源灯PL,电池灯BL,根据需要提供的信号灯ML,和其它LED灯。触摸片输入监控程序70C是监控对应于用户操作的来自触摸片16输入的一种程序。
键输入监控程序70D是监控来自键盘14或其它键开关输入的一种程序。唤醒程序70E是检查时间是否是预设时间的一种程序,它基于指示来自桥接器58的计时器电路(未显示)的当前时间的数据,并且在达到设定时间时,管理组成个人计算机1-1的每个芯片的电源,用于激活预定处理(或程序)等。轻推拨动盘状态监控程序70F是通常监控轻推拨动盘13的旋转编码器是否已经旋转,以及是否已按压轻推拨动盘的一种程序。
BIOS(基本输入/输出系统)70G也写入ROM 70。BIOS 70G控制操作系统或应用程序之间数据的处理(输入/输出),并且外部设备(触摸片16,键盘14,硬盘驱动器67等)。
RAM 71具有如寄存器71A至71F所示的LED控制寄存器、触摸片输入状态寄存器、键输入状态或设置时间的寄存器,轻推拨动盘状态监控I/O寄存器,或IEEE 1394接口寄存器等。例如在按压轻推拨动盘13并且启动电子邮件程序54A时,预定值存储在LED控制寄存器中,并且根据存储在那里的值控制信号灯ML的点亮。在按压轻推拨动盘13时,预定的操作键标志存储在键输入状态寄存器中。根据键盘14的操作或用户的类似操作,将确定的时间设置在设置时间存储器中。
而且,经未显示的连接器连接该I/O接口69的是轻推拨动盘13,触摸片16,键盘14,IEEE 1394端口18,关机按钮22等,同时对应于轻推拨动盘13,触摸片16,键盘14,IEEE 1394端口18,和关机按钮22中每一个的操作的信号输出到ISA/EIO总线63。而且,I/O接口69控制经IEEE 1394端口18连接的设备的数据的交换。而且,连接I/O接口69的是电源灯PL,电池灯BL,信号灯ML,电源控制电路73,和其它LED灯。
电源控制电路73连接内部电池74或AC电源,并且输送必须的电源给每一部件,同时也对内部电池74和外部设备的第二电池的充电进行控制。而且,I/O接口69监控电源开关17,在电源打开或关闭时操作该电源开关17。
即使电源处于关闭状态,借助于内部提供的电源,I/O接口69仍经轻推拨动盘状态监控程序70F执行IEEE 1394接口程序70A。换言之,IEEE 1394接口程序70A至轻推拨动盘状态监控程序70F不间断地操作。
因此,即使在电源开关17关闭并且CPU 51没有运行操作系统54E时,I/O接口69执行轻推拨动盘状态监控程序70F,因此在例如电力储备状态或电源关闭状态下按压轻推拨动盘13时,个人计算机1-1激活预定软件或已经预先设定的脚本文件的处理。
这样,对于个人计算机1-1,轻推拨动盘13具有可编程电源键(PPK)的功能,因此无需提供专用键。
个人计算机1-2至1-N具有与个人计算机1-1相同的基本结构,因此省略了其图和描述。
接着,参考个人计算机1-1与个人计算机1-2对等式通信的实例,描述建立对等式通信的通信连接的处理过程。
首先,参考图8所示的流程图,描述个人计算机1-1企图对等式通信的操作。
在步骤S1中,个人计算机1-1的CPU 51执行通信程序54F,因此控制视频控制器57,以便显示如图9所示的屏幕201,操作该屏幕在LCD 15上选择对等式通信的通信目的地(后文称为“选择屏幕”)。
该选择屏幕201包括显示个人计算机1-2至1-N的IP地址等的显示部分214,利用该显示部分可进行对等式通信,操作按钮212用于转换显示部分214的显示内容,并且操作按钮213用于选择个人计算机1,该个人计算机1具有显示在显示部分214上的IP地址,该地址作为对等式通信的通信目的地。
而且,在硬盘驱动器67等中存储个人计算机1-2至1-N的IP地址,集合成事先确定的组,允许个人计算机1-2至1-N的IP地址成组显示在显示部分214上,并且成组选择。
显示在图9中的通信屏幕211此时还没有显示在LCD 15上。
接着,在步骤S2中,个人计算机1-1的CPU 51(通信程序54F)将个人计算机1-1的用户状态显示在LCD 15上的显示通信屏幕211上,这如图9所示(在图9所示实例中,这显示在选择屏幕20的左上部)。
通信屏幕211包括一个显示部分221,其中显示由CCD摄影机19获得的图象(例如,用户操作个人计算机1-1的正面部分的图象),并且包括操作按钮222,用于改变显示部分221的显示内容。
在步骤S3中,保留通信程序54F直至操作选择屏幕201的按钮213,并且选定对等式通信的通信目的地,一旦确定目的地,流程进入步骤S4。注意,随后,选定为对等式通信的通信目的地的个人计算机1称为“通信同等个人计算机”。
在本实例的情况中,用显示在显示部分214上的个人计算机1-2的IP地址等操作按钮213,借此,个人计算机1-2设置成通信同等个人计算机。
在步骤S4中,通信程序54F据此判断在当时是否存在未与个人计算机1-1建立对等式通信的通信连接的通信同等个人计算机,并且在这种个人计算机存在时,流程进入步骤S5。
个人计算机1-1和个人计算机1-2此时尚未建立对等式通信的通信连接,因此流程进入步骤S5。
在步骤5中,通信程序54F从硬盘驱动器67获得个人计算机1-1的IP地址。
接着,在步骤S6中,通信程序54F对个人计算机1-1的IP地址进行编码,并且将它写到预定文件中。然后,通信程序54F存储文件,其中编码的IP地址已写入硬盘驱动器67中(后文称“IP地址文件”)。
在步骤S7中,通信程序54F启动电子邮件程序54A。
接着,在步骤S8中,电子邮件程序54A产生一对有关在步骤S4中做尚未建立对等式通信的通信连接的判断的通信同等个人计算机寻址的电子邮件,同时IP地址文件存储在步骤S6中连接在那里的硬盘驱动器67中,它被显示在LCD 15上。
图10是显示对个人计算机1-2寻址的的电子邮件的实例,同时这里描述了个人计算机1-1编码后的IP地址。
描述在该电子邮件开头部分中的是:收信人的个人计算机1-2的IP地址;发信人的个人计算机1-1的IP地址;和附到该电子邮件的IP地址文件的目录等。而且,预设的短语(“聊天邀请”)描述在开头部分作为邮件标题。
在电子邮件的信息部分中描述的是预设文本(“这是来自个人计算机1-1’的用户的聊天邀请。打开附着文件会将你连到“个人计算机1-1’的用户。”)。
例如,如果需要,个人计算机1-1的用户可改变信息部分中的电子邮件或文本标题。
在步骤S9中,可保留电子邮件程序54A直至在步骤S8中建立的电子邮件的按钮231(图10)被操作,根据其操作,流程进入步骤S10,并且将步骤S8中建立的电子邮件传输到尚未建立通信连接的通信同等个人计算机(在本实例中,是个人计算机1-2)。
在步骤S4中,做出已与所有的通信同等个人计算机建立通信连接(在本实例的情况中,判断在个人计算机1-2和个人计算机1-2之间已建立通信连接)的判断时,或者处理已在步骤S10中执行时,处理结束。
接着,参考图11所示的流程图,描述对应于上述个人计算机1-1操作的个人计算机1-2的操作。
在步骤S21中,个人计算机1-2的CPU启动通信程序。在本实例的情况中,在打开IP地址文件的基础上启动个人计算机1-2的通信程序,其中描述了个人计算机1-1的IP地址(编码的IP地址),该IP地址附着在从个人计算机1-1送来的电子邮件上(图10)。
接着,在步骤S22中,个人计算机1-2的CPU(通信程序)对编码的IP地址解码(个人计算机1-1的IP地址),这描述在IP地址文件中。
在步骤S23中,个人计算机1-2的通信程序进行处理,用于建立与具有已经解码的IP地址的个人计算机1-1的对等式通信的通信连接。注意,个人计算机1-1的通信程序54F也在此时进行处理,用于建立与个人计算机1-2的通信连接,该通信连接对应于个人计算机1-2的通信程序的该处理。
随后,处理结束。
如上所述使用具有已使用本发明的通信系统,通过将计算机本身的IP地址传送到希望通信的目的地,可以简便地建立对等式通信的通信连接。
接着,参考图12所示的流程图,描述基于附加功能模块进行通信的处理过程。根据实例首先描述其中个人计算机1-1和个人计算机1-2使用附加功能模块54G进行对等式通信,用于玩Janken游戏(后文称“Janken附加功能模块”)。注意,在本实例情况中,个人计算机1-1在硬盘驱动器67中有该Janken附加功能模块67G,但个人计算机1-2中没有该模块。
而且,此时,已建立个人计算机1-1和个人计算机1-2之间的对等式通信的通信连接,并且如图1 3所示在个人计算机1-1的LCD 15上显示的是通信屏幕211,该屏幕有显示在显示部分221上由个人计算机1-1的CCD摄影机获得的图象,附加功能模块屏幕251显示个人计算机1-1所具有的附加功能模块67G的各个图标(包括,例如,Janken附加功能模块67G的图标和后面描述的设计附加功能模块67G的图标),并且通信屏幕301由显示部分311等组成,显示由个人计算机1-2获得的并通过对等式通信从个人计算机1-2传送的图象。
另一方面,如图14所示,显示在个人计算机1-2的显示器上的是通信屏幕401,该屏幕具有由个人计算机1-2获得的显示在显示部分411上的图象;附加功能模块屏幕451,显示个人计算机1-2具有的Janken附加功能模块67G的各个图标(不包括Janken附加功能模块的图标和后面描述的设计的附加功能模块的图标),和通信屏幕501,由显示部分511等组成,显示由个人计算机1-1获得的并通过对等式通信从个人计算机1-1传送的图象。
在步骤S31中,个人计算机1-1的CPU 51将通信程序67F从硬盘驱动器67装入RAM 45,执行通信程序54F,并且保留到某些事件发生。
这里某些事件是根据显示在附加功能模块屏幕251(图13)中的附加功能模块67G的图标的操作,是根据对应于附加功能模块67G(更精确说,附加功能模块67G装入RAM 54,并因此是附加功能模块54G)的某些显示(后面描述)的操作,以及从个人计算机1-2传输的标识符和显示数据(后面描述)的接收。也就是说,个人计算机1-1的通信程序54F保留到附加功能模块67G的图标被操作,相应于附加功能模块54G操作某些显示,或者从个人计算机1-2接收标识符和显示数据。
现在,用户操作显示在附加功能模块屏幕251上的附加功能模块67G的图标,以便使用附加功能模块67G开始通信,并根据对应于附加功能模块54G的某些显示执行操作,以便经过附加功能模块54G执行某些处理。
在步骤S31中如果对某些已发生事件做了判断,则流程进入步骤S32。在步骤S32中,个人计算机1-1的通信程序54F判断已发生在步骤S31中的事件是否由于附加功能模块67G的图标的操作,即,判断是否需要使用新附加功能模块67G,并且如果判断出需要使用新的附加功能模块67G,则流程进入步骤S33。
在本实例的情况中,个人计算机1-1的用户操作触摸片16等,并且点击显示在附加功能模块屏幕251上的Janken附加功能模块67G的图标(图13)。也就是说,这里所发生的事件是由于根据附加功能模块67G的操作(即,需要使用Janken附加功能模块67G),这样流程进入步骤S33。
在步骤S33中,执行附加功能模块启动处理。该处理的细节在图15中的流程图中显示。
在步骤S51中,个人计算机1-1的通信程序54F将其图标已被操作的附加功能模块67G,也就是,Janken附加功能模块67G,从硬盘驱动器67装入RAM 54。
接着,在步骤S52中,通信程序54F在显示器12的LCD 15上显示Janken附加功能模块54G的最初显示。
图16示出了GUI的显示实例,它是作为Janken附加功能模块54G的最初显示而显示的。该GUI由“石头”图标,“剪刀”图标,和“纸”图标等三类图标组成。
在步骤S53中,通信程序54F将在步骤S51中从硬盘驱动器67装入RAM54的Janken附加功能模块54G的标识符,和指示Janken附加功能模块54G(图16)的最初显示的数据(显示数据)传送给个人计算机1-2。
随后,处理结束,流程进入图12中的步骤S34。
在步骤S34中,个人计算机1-1的通信程序54F判断是否有执行退出通信程序54F的指令,并且如果判断没有这种指令,则流程退回步骤S31,并且执行随后的处理。
在本实例的情况中,没有执行退出通信程序54F的指令,因此流程退回步骤S31。而且,在本实例的情况中,个人计算机1-1的用户操作触摸片16等,以便点击在图16所示的GUI的“石头”图标上,该图标在图15的步骤S52中显示在LCD 15上,因此通过步骤S31和步骤S32过程进一步处理,直至步骤S35。
在步骤S35中,通信程序54F判断步骤S31中发生的事件是否由于根据对应于附加功能模块54G的预定显示的操作,并且如果判断这是由于根据对应于附加功能模块54G的预定显示的操作,则流程进入步骤36。
根据图16所示的GUI的“石头”图标的选择操作是根据对应于附加功能模块54G的预定显示的操作,因此流程进入步骤S36。
在步骤S36中,执行附加功能模块显示改变处理。该处理的细节显示在图17的流程图中。
在步骤S61中,个人计算机1-1的通信程序54F根据考虑到对应于附加功能模块54G的预定显示的操作内容改变显示。
在本实例的情况中,根据考虑到GUI的“石头”图标的选择操作,图16的显示改变成如图18所示的显示。也就是说,大“石头”显示被显示在GUI左侧。
返回图17,在步骤S62中,通信程序54F将Janken附加功能模块54G的标识符,以及步骤S61中改变的显示的显示内容所表示的显示数据,传传送到个人计算机1-2。个人计算机1-2接收该数据。
在步骤S63中,通信程序54F判断是否指示退出Janken附加功能模块54G的使用,并且如果有这种指令,则流程进入步骤S64,卸载Janken附加功能模块54G并且卸载到硬盘驱动器67,并且退出Janken附加功能模块54G的使用。
在步骤63中判断是否指示退出Janken附加功能模块54G,或者如果执行步骤S64中的处理,则处理结束,并且流程进入图12中的步骤S34。
而且,在本实例的情况中,后面将详细描述,个人计算机1-1接收从个人计算机1-2传送的标识符(Janken附加功能模块54G的标识符)和显示数据(显示数据显示对应于根据GUI的“剪刀”图标的操作内容的显示内容),因此经步骤S31,步骤S32,步骤S35,直至步骤S37进行处理。
在步骤37中,通信程序54F执行分析所接收数据(标识符和显示数据)的处理。该处理的细节示于图19的流程中。
在步骤S71中,个人计算机1-1的通信程序54F判断已接收标识符的Janken附加功能模块54G是否已装入RAM 54中,并且如果它判断出已经装入,则流程进入步骤S72。
此时个人计算机1-1的Janken附加功能模块54G已经装入RAM 54中(因为图15的步骤S51的处理中已经装入它),因此流程进入步骤S72。
在步骤72中,通信程序54F根据接收到的显示数据(根据与GUI的“剪刀”图标相关的选择操作确定的显示内容的显示数据),改变显示单元12的显示。
在本实例的情况中,在较早执行的图17中步骤S61的处理中所示的图18的显示改变成图20中所示的显示。也就是说,个人计算机1-2所选择的“剪刀”在GUI的右侧(在个人计算机1-1所选择的“石头”显示的相对侧)放大显示。
接着,在步骤S73中,个人计算机1-1的通信程序54F判断是否指示退出Janken附加功能模块54G的使用,并且如果判断出有这种指令,则流程进入步骤S74,并且Janken附加功能模块54G从RAM 54卸载到硬盘驱动器67中。
如果在步骤S73中判断出没有指示退出Janken附加功能模块54G的使用,或者如果已在步骤S74中进行处理,则处理结束,并且流程进入图12中的步骤S34。
后面将描述步骤S75到步骤S78的处理。
也就是说,在本实例的情况中,图20中所示的显示在个人计算机1-1的LCD 15上显示。
接着,参考图12的流程图,在使用上述Janken附加功能模块54G进行对等式通信的情况下,描述对应于个人计算机1-1的操作的个人计算机1-2的操作。也就是说,个人计算机1-2也执行图12,15,17和19所示的处理,方式与个人计算机1-1相同。
在步骤S31中,个人计算机1-2的CPU将通信程序从硬盘驱动器装载到RAM,执行通信程序,并且保留直至某些事件发生。
在本实例的情况中,个人计算机1-2接收标识符(Janken附加功能模块54G的标识符)和显示数据(作为Janken附加功能模块54G的最初显示的GUI的显示数据),该显示数据在事先已由个人计算机1-1执行的图15的步骤S53的处理中由个人计算机1-1送来,因此经过步骤S31,步骤S32,步骤S35,直至步骤S37进行处理。
在步骤S37中,个人计算机1-2的通信程序执行处理,用于分析接收到的数据(标识符和显示数据)。
也就是说,在图19的步骤S71中,个人计算机1-2的通信程序判断具有接收到的标识符的Janken附加功能模块54G是否已装载到RAM,并且如果判断出没有装载,则流程进入步骤S75。
此时Janken附加功能模块54G尚未装载到个人计算机1-2的RAM,因此流程进入步骤S75。
在步骤S75中,个人计算机1-2的通信程序判断它是否具有包含接收到的标识符的Janken附加功能模块67G,并且如果判断出没有这种情况,流程进入步骤S76。
在本实例的情况中,个人计算机1-2没有Janken附加功能模块67G,因此流程进入步骤S76。
在步骤S76中,个人计算机1-2的通信程序与个人计算机1-1(Janken附加功能模块54G的标识符和其显示数据的发送者)通信,从那里下载Janken附加功能模块67G,并将其装入RAM。
另一方面,如果个人计算机1-2具有Janken附加功能模块67G,例如在步骤S75中判断出它具有附加功能模块67G,则流程进入步骤S77,并且个人计算机1-2的通信程序将Janken附加功能模块67G从硬盘驱动器装入RAM。
当通过步骤S76或步骤S77的处理Janken附加功能模块67G装入RAM时,流程进入步骤S78,并且个人计算机1-2的通信程序在显示单元上作为Janken附加功能模块67G的最初显示而显示GUI(图16),其方式与图15的步骤S52中个人计算机1-1所执行的处理相同。
随后,流程进入步骤S72,并且个人计算机1-2的通信程序根据接收到的显示数据,改变显示单元上的显示。在本实例的情况中,接收Janken附加功能模块54G的最初显示的显示数据,因此不改变通过步骤S78中的处理所显示的最初显示的显示。
随后,流程进入步骤S73,但在本实例的情况中,没有指示退出Janken附加功能模块54G,因此处理跳到步骤S74,并且进入图12中的步骤S34。而且,在本实例的情况中,没有指示退出个人计算机1-2的通信程序的执行,因此处理进一步返回步骤S31。
然后,在本实例的情况中,个人计算机1-2的用户操作触摸片等,并且点击GUI中的“剪刀”图标(图16),该GUI通过图19的步骤S78中的处理显示在显示部分上,因此处理进入步骤S31、步骤S32和步骤S35,直至步骤S36。
即,在图17的步骤S61中,根据与GUI的“剪刀”图标相关的选择操作,个人计算机1-2的通信程序改变图16中的显示,这如图21所示。即,大“剪刀”显示在GUI的左侧显示。
接着,在步骤S62中,个人计算机1-2的通信程序将Janken附加功能模块54G的标识符和表示步骤S61中改变的显示的显示数据传传送到个人计算机1-1。个人计算机1-1接收该数据。
随后,处理进入步骤S63,但在本实例的情况中,没有指示退出Janken附加功能模块54G的使用,因此处理跳到步骤S64,并且进入图12的步骤S34。
在本实例的情况中,没有指示退出个人计算机1-2的通信程序的执行,因此处理又返回步骤S31。
然后,在本实例的情况中,个人计算机1-2从个人计算机1-1接收标识符和显示数据(通过个人计算机1-1较早执行的图17的步骤S62的处理,从个人计算机1-1送来的Janken附加功能模块54G的标识符,和表示对应于与GUI的“石头”图标相关的选择操作的显示内容的显示数据),因此经过步骤S31,步骤S32,和步骤S35,直至步骤S37处理。
即,在图19的步骤S71中,根据Janken附加功能模块54G是否装入做出判断,但从早先执行的步骤S76中的个人计算机1-1下载的Janken附加功能模块54G已下载,因此流程进入步骤S72。
在步骤S72中,个人计算机1-2的通信程序根据接收到的显示数据(表示对应于与GUI的“石头”图标相关的选择操作的显示内容的显示数据)改变显示部分的显示。
在本实例的情况中,通过图17的步骤S61中的处理显示在图21中的显示如图22所示改变。即,在个人计算机1-1选择的“石头”显示以放大方式显示在GUI的右侧(显示在个人计算机1-2选择的“剪刀”显示的对面侧)。
最后,在本发明的情况中,图22中所示的显示在个人计算机1-2的显示部分上显示。
这样,由显示在个人计算机1-1和个人计算机1-2的屏幕上的一个用户和另一个用户选择Janken图案对应的屏幕,因此个人计算机1-1和个人计算机1-2可以玩Janken。
接着,再次参考图12中的流程图,描述基于该设计的附加功能模块54G的通信的处理过程。
使用该设计附加功能模块54G允许执行例如通信屏幕211的画面(图13)和通信屏幕501(图14)的通信,其中个人计算机1-1的用户的状态显示在个人计算机1-1的LCD 15上或者个人计算机1-2的显示部分上,以企鹅形状显示。
而且,也在本实例的情况中,让我们假设个人计算机1-1具有该设计附加功能模块67G,而其为通信同等的个人计算机1-2则没有。
而且,假设已经在个人计算机1-1和个人计算机1-2之间建立对等式通信的通信连接,并且假设图1 3所示的屏幕显示在个人计算机1-1的LCD 15上,而图14所示的屏幕显示在个人计算机1-2的显示部分上。
在本实例的情况中,个人计算机1-1的用户操作触摸片16等,并且点击显示在附加功能模块屏幕251(图1 3)中的设计附加功能模块67G的图标,因此经过步骤S31和步骤32直至步骤S33进行处理。
在步骤S33中,执行附加功能模块启动处理。即,在图15的步骤S51中,个人计算机1-1的通信程序54F将已被操作图标的那个附加功能模块67G,也就是,设计附加功能模块67G从硬盘驱动器67装入RAM 54。
接着,在步骤S52中,通信程序54F在显示器12的LCD 15上显示设计附加功能模块54G的最初显示。
图23是显示为设计附加功能模块54G的最初状态的通信屏幕211的显示实例。也就是说,通信屏幕211以企鹅形状显示。
在步骤S5 3中,通信程序54F将在步骤S51中从硬盘驱动器67装入RAM54的设计附加功能模块54G的标识符,和表示设计附加功能模块54G最初显示的显示数据(在本实例的情况中,是指示通信屏幕211的显示内容(形状是企鹅形状)的显示数据),传送到个人计算机1-2。
然后处理结束,且流程进入图12的步骤S34。
在步骤S34后是与Janken附加功能模块54G相同的处理,因此省略其描述。
接着,参考图12的流程图,在使用设计附加功能模块54G进行对等式通信时,个人计算机1-1的操作对应个人计算机1-2的操作。
在本实例的情况中,个人计算机1-2的CPU(通信程序)接收个人计算机1-1早先执行的图15的步骤53的处理中传输的标识符,和显示数据(设计附加功能模块54G的标识符和表示通信屏幕211的显示内容的显示数据),因此经过步骤S31,步骤S32,和步骤S35,直至步骤S37进行处理。
即,在图19的步骤S71中,个人计算机1-2的通信程序判断具有收到标识符的设计附加功能模块54G是否装入RAM,并且如果判断出没有装入,流程进入步骤S75。
此时设计附加功能模块54G没有装入个人计算机1-2的RAM,因此流程进入步骤S75。然后,在本实例的情况中,个人计算机1-2没有设计附加功能模块54G,因此流程进入步骤S76。
在步骤S76中,个人计算机1-2的通信程序与个人计算机1-1(设计附加功能模块54G的标识符和显示数据的发送者)通信,从个人计算机1-1下载设计附加功能模块67G,并且将其装载到RAM。
接着,在步骤S78中,个人计算机1-2的通信程序在显示器上显示设计附加功能模块54G的最初显示。即,因此,通信屏幕501显示在个人计算机1-2的显示单元上,它由显示个人计算机1-1所获得图象的显示部分511构成,并且以企鹅形状显示,如图24所示。
随后,处理进入步骤S72。步骤S72的处理与Janken附加功能模块54G相同,因此省略其描述。
这样,即使仅个人计算机1-1具有设计附加功能模块67G时,也可以将显示在该个人计算机1-2上的由个人计算机1-1获得的图象的通信屏幕501以企鹅形状显示,方式与通信屏幕211相同。
如上所述,即使不是所有的通信个人计算机1都具有附加功能模块,附加功能模块也可用来通信,因此通过与具有附加功能模块的个人计算机1的用户通信,没有这种附加功能模块的个人计算机1的用户可体验附加功能模块的使用,并且在这种实践基础上决定购买附加功能模块。而且,附加功能模块可允许用户易于用附加功能模块实践,这样促进对附加功能模块的出售。
尽管是参考作为终端的个人计算机1进行了上面的描述,使用蜂窝式电话作为终端亦可。
可用硬件执行上述处理序列,或者也可用软件执行上述处理序列。如果用软件执行该处理序列,组成软件的程序可内置于专门硬件中,或者可以从程序存储介质安装到通用个人计算机中,例如,能通过安装各种程序执行各种功能。
记录介质不限于如图7所示的封装式记录媒体,它从计算机分别分配给用户,目的是提供程序,其实例是磁盘121(包括软盘),光盘122(包括CD-ROM(光盘只读存储器)和DVD(数字化视频光盘)),磁光盘123(包括MD(小型光盘)),和半导体存储器124,在其中记录有程序,还包括其中记录的程序的硬盘驱动器67,用于在事先已装入计算机等状态下提供给用户。
在上述描述中,当然,描述程序的步骤可按顺序所描述的时序执行处理,该程序由程序记录介质所提供,但不是必须以其时序处理,并且本发明还包含其中平行或独立执行的那些处理。而且,在上述描述中,术语“系统”表示多个装置组成的整个设备。
<第二实施例>
接着,参考附图,详细描述本发明的第二实施例。本实施例假设将本发明用到通信系统的情况,其中连接计算机网络上的信息处理设备的用户,通过交换来自图象数据、音频数据、文本数据和控制数据的任意数据,交流思想和情感。首先,描述这种通信的基本系统结构的原理图。
注意,给出下面的描述,假设,通过使用所谓的TCP/IP(传输控制协议/网际协议)协议,能在多个信息处理设备之间网络系统结构相互连接。但是,本发明决不限于使用这种网络系统结构,并且可以广泛地用于在多个信息处理设备之间交换各类信息的计算机网络。
而且,在下面的描述中,虽然假设交换各类信息的信息处理设备是用户级个人计算机设备(后文简称“计算机设备”),本发明决不限于应用于这种计算机设备,并且可广泛地用于各类信息处理设备例如各类PDA(个人数字助理)设备,装有通信功能的蜂窝电话等。
(2-1)通信系统的基本结构
本发明所描述的通信系统600具有如图25所示例如经因特网611以各类信息能相互交换的方式连接的多个计算机设备610。
现在,每个计算机设备610可直接连接因特网,也可在使用ISP(因特网服务提供者)等经公共电话网615连接因特网611一种环境中。公共电话网615的实例包括,例如,电话线网615a,有线电视网615b,和ADSL(非对称数字用户线)网615c等。现在,只要计算机设备610是在能连接因特网611的环境中,连接可以是有线连接也可以是无线连接。例如,计算机设备610可以被构建为能够经PHS(个人手持电话系统)设备等连接因特网611。
计算机设备610中的每一个设备都能使用TCP/IP协议建立经因特网611的传输,并且相互交换各类信息,例如图象信息,音频信息,文本信息,控制数据等,同时每个计算机都连接因特网611。
(2-2)用户终端的结构
下面描述组成上述通信系统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与CPU620之间交换数据的操作接口627;经过上述公共电话网615与连接在网络611上的外部设备交换数据的网络接口628;拍摄对象以获得画面数据和音频数据的数字摄影机629;以及在所谓的MPEG2格式基础上进行压缩编码和解码的MPEG2编解码器630。
这些部件中,计算机设备610由经总线631连接的CPU 620,RAM 621,ROM 622,硬盘驱动器623,显示接口625,操作接口627,网络接口628,数字摄影机629,和MPEG2编解码器630构成。
注意,计算机设备610的数字摄影机629可经过例如连接外部设备的预定接口、或网络接口628等与总线连接,而不是安装在计算机设备610上。而且,计算机设备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(液晶显示)形成,并且在CPU 620控制下在显示屏上显示各类信息,例如记录在硬盘驱动器623上的数据等。特别是,显示器624显示特定图形用户接口窗口,该窗口用来显示后面描述的通信程序执行结果,和执行该通信程序各类指令的按钮。
显示接口625在CPU 620和显示器624之间交换数据。也就是说,显示接口625将经总线631送来的CPU 620的各类信息提供给显示器624。
操作单元626接收用户使用例如键盘、例如鼠标等的指向装置,或例如所谓的轻推拨动盘等的旋转开关的用户接口的操作,并且经操作接口627将表示操作内容的控制信号提供给CPU 620。
操作接口627在CPU 620和操作单元626之间交换数据。也就是说,操作接口627将操作单元626送来的控制信号经总线631传送到CPU 620。
网络接口628是用于在CPU 620的控制下执行外部通信的接口。也就是说,提供的网络接口628用于与连接到网络611上的其它计算机设备610交换各类信息。
数字摄影机629由获取对象图象的某些光学系统,例如CCD(电荷耦合装置)的图象转换设备等组成。由数字摄影机629获得的画面数据和音频数据在CPU 620控制下经总线631提供给MPEG2编解码器630。
MPEG2编解码器630,在CPU 620控制下,对数字摄影机629经过总线6 31传输的画面数据和音频数据在MPEG2格式基础上进行压缩编码。此时,MPEG2编解码器630在CPU 620控制下对画面数据和音频数据进行实时压缩编码。而且,MPEG2编解码器630也可对压缩编码的数据,在MPEG2格式的基础上进行解码。
(2-3)通信程序综述
接着,将描述上述计算机设备610所执行的通信程序。
通信程序由程序组序列构成,其中每个模块功能独立的多个模块,可相互自由组合,例如通信程序被记录在计算机设备610的硬盘驱动器623上。计算机设备610可以通过用CPU 620执行该通信程序,与其它计算机设备交换各类信息例如图象数据,音频数据,文本数据等,因此计算机设备的用户能够相互交流他们的思想和情感。注意,也可由记录介质例如所谓的光盘,或传输介质例如因特网611等提供通信程序。
通过计算机设备610执行所谓的服务器/客户端通信来执行通信程序,同时通信程序在其它计算机设备上执行。也就是说,在具有多路通信程序的情况下,该程序已建立了相互连接状态,通过某些通讯程序实现服务器的功能,而其它通讯程序用作客户端。但是,就计算机设备610启动通讯程序的执行处理而言,没有建立与其它通讯程序的相互连接状态,即在初始激活状态,操作处于能自已建立通话的虚拟通话模式,其实,服务器和用户端无区别。
在通过多个计算机设备610的执行而建立通讯程序之间的通话的情况下,在这些通讯程序之间交换连接设置信息。例如,通过计算机设备610在激活通讯程序的时候产生该连接设置信息,并且该信息由描述其为连接设置信息的发送者的计算机设备610的IP地址设置的文件和通讯程序所用的端口号等组成。下面将描述连接设置信息的细节。
在连接设置信息从该通讯程序发送到另一个通讯程序时,基于连接设置信息中描述的IP地址和端口号,获得该连接设置信息的通讯程序执行与是发送者的计算机设备610(并因此,在计算机设备610上执行该通讯程序)的连接处理,因此建立通话。
此时,包括连接设置信息的文件例如通过下标与通讯程序相关,并且通过执行所谓的双击操作自动激活通讯程序,在计算机设备上选择该文件。
对通讯系统600而言,在激活的时候产生连接设置信息并且将该连接设置信息发传送到其它通讯程序的那一端的通讯程序执行服务器的功能,而根据获得的连接设置信息激活的那一端的通讯程序作为客户端。
这里,例如,通过由作为服务器的计算机设备610将包含连接设置信息的文件附加到携带激发开始与用作客户的计算机设备的连接的信息的电子邮件上,并且传递该电子邮件,以实现上述在计算机设备之间交换连接设置信息。
虽然本实施例所描述的通讯系统600使用电子邮件发送连接设置信息,可做这样的设置,其中通过使用用来在连接到因特网611的计算机设备之间实现各类文件交换的应用程序,例如所谓的FTP软件,将连接设置信息作为数据文件或应用程序发送。而且,例如,可以构成一种结构,其中通过在计算机设备间直接交换连接设置信息而不通知计算机装置的用户连接开始,通讯系统在客户端计算机装置上自动激活,而用户不会感觉到连接开始(一部分的建立)。
(2-4)通讯程序的模块结构
现在,参考图27描述通讯程序模块的结构的一个实例。如图27所示,例如,通讯程序由用来控制计算机装置610的网络接口628的操作的接口模块650,用来提供与其它计算机设备上执行的通讯程序建立通话的核心模块651,用来为通讯程序提供基本功能的基本模块652,提供每个独立功能的多个应用模块653,和用来管理图形用户接口的GUI模块654组成。
接口模块650构成为API(应用程序接口),并且是为各类信息例如图象数据、音频数据、文本数据等建立传输通路的模块,同时程序通过计算机网络例如因特网611在其它计算机设备上执行,因此允许网络通讯的细节容易被单指令系统处理。该接口模块650的一个实例是来自微软公司的“DirectPlay”。
核心模块651建立与其它通信程序的通话,并且具有管理所建立的通话的通话管理功能。特别是,核心模块651提供用来建立连接设置信息的连接设置信息建立功能,用来建立通话的通话建立功能,用来在通讯程序之间传输和接收数据的数据传输/接收功能,用来管理已建立的通话中的参与者正在通话者管理功能等,作为通话管理功能。
在通讯系统600中,存在作为服务器的通讯程序,和作为客户的通讯程序。服务器端通讯程序执行例如获得发自客户端通讯程序的数据的处理,并且传递指示为被访地址的其它客户端通讯程序等。因此,在通讯系统600中,有这样的需要为交换例如图象数据、音频数据、文本数据等各类信息而建立的通话。因此,通过核心模块651,为通讯程序提供通话管理功能,作为执行这种通话建立和管理的接口。
核心模块651获得IP地址、端口号等,并且产生一个描述连接设置信息的文件。该文件也被编码和解码。而且,在作为客户时,根据所获得的连接设置信息中描述的IP地址和端口号,核心模块651与作为服务器的计算机设备连接。这样,建立一次通话。
而且,核心模块651管理每一个建立通话的通讯程序(即,用户)。特别是,例如,核心模块651产生或获得用户列表,并且获得或管理适合每个用户的独特的识别信息(用户ID)。而且,当一个事件发生时,例如建立与新用户连接,切断与特定用户的连接,或更改包括每个用户的连接状态或连接名的用户信息,核心模块651将该事件通知给基本模块652和应用模块653。
而且,核心模块651具有应用模块管理功能,用于控制多个应用模块653中的每一个。特别是,例如,核心模块651执行应用模块653的激活管理,应用模块653之间的数据交换等。
特别是,例如,核心模块651从计算机设备610的预定存储区,获得与已装入通讯程序的应用模块653相关的模块信息,并且建立已装入的应用模块653的列表。该模块信息由例如每个应用模块都不同的模块识别信息,与GUI相关信息的GUI信息,指示是否模块与通讯程序激活同时开始操作的标志信息等构成。然后,核心模块651根据该模块信息,管理应用模块653的激活状态。
而且,核心模块651激活尚未被激活的应用模块653,执行计算机设备610的显示器624上的显示/非显示的转换控制等。
现在,作为核心模块651的操作实例,将参考图28描述这样的情况,即经服务器端通讯程序,将来自客户端上的一个通讯程序的数据传输到另一个通讯程序。
在这种情况中,在数据传输端上操作的核心模块651a接收来自基本模块652和应用模块653的数据,给该数据添加传输标题,并且将其传输给服务器端通讯程序。接收到的数据的内容中不包含有关到服务器端的传输。
另一方面,在服务器端上操作的核心模块651b参考从数据传输端获得的数据中所包含的传输标题,并且在作为被访地址的传输标题中所描述的数据接收端,将从数据传输端获得的数据传输给通讯程序。
而且,在数据传输端上操作的核心模块651c参考得到的数据中所包含的传输标题,并且将数据传给预定的应用模块653。此时,在不激活数据接收端应用模块653的情况下,该应用模块653由来自通讯程序的数据给出,执行应用模块653的激活处理。
而且,在期望的应用模块653不存在于接收端的应用程序中时,核心模块651c传输一个信息给数据发送端的通讯程序。在所有应用模块653已经被指示为传输接收数据的应用模块653的情况下,此时核心模块651c仅将该数据传输给被激活的应用模块。
通过上述操作,核心模块651完成作为客户的通讯程序之间数据的传输。
另一方面,基本模块652是具有为用于通讯程序的各类窗口做准备的功能的模块。而且,基本模块652具有设置各类信息执行通讯程序的处理所需的设置功能,用来附加连接设置信息用于建立对电子邮件的设置并且将电子邮件传输给客户端的电子邮件传输功能等。
而且,根据需要将多个应用模块653装入通讯程序,每个模块都具有提供各自功能的功能。在根据本实施例的通讯程序中,装入的应用模块653包括个人信息管理模块653a,图象传输模块653b,音频数据传输模块653c,网功能模块653d,聊天内容传输模块653e,聊天记录模块653f,情感表达模块653g,动作模块653h,实况演播性能模块653i等。
个人信息管理模块653a是管理个人信息,例如与通话中存在的通讯程序相关(即与每个用户相关)的图象数据和姓名数据等的模块。
在初始激活状态通讯程序向用户请求并且获得与用户对应的输入和设置,例如图象、姓名等。此时,显示请求经过核心模块651传输到个人信息管理模块653a。在以这种方式接收来自其它模块的请求时,个人信息管理模块653a将预定的获得请求传输给GUI模块654,获得合适的个人信息,并且显示该预定的个人信息和在计算机装置610的显示窗口中的预定区域。
而且,在接收来自其它模块的用户信息更新请求时,个人信息管理模块653a将获得信息的个人请求传输给经网络建立连接的其它通讯程序的个人信息管理模块653a。此时,在个人信息管理模块653a获得请求的个人信息的这一端获得和返回它自己的个人信息作为显示通知。
在例如新用户加入通讯系统600时,核心模块651将这种用户更新请求传输给个人信息管理模块653a。
图象传输模块653b是提供图象数据处理,例如添加处理,删除处理,或选择时的处理的模块。而且,图象传输模块653b执行对安装在计算机设备610或连接到计算机设备610上的数字摄影机629的各类控制,例如控制获取图象的开和关的转换。在数字摄影机629的图象获取状态打开的情况下,图象传输模块653b执行图象数据的传输处理,同时监控在与因特网611相关的通讯状态上的加载。而且,通讯程序模块653b也能根据用户的设置执行和通过无保证通信向其它通讯程序传送。在这种情况下,即使在传输路径上丢失传输的图象数据,也不需要重新传送。
音频传输/接收模块653c与图象传输模块653b等同,并且是提供对音频数据处理,例如添加处理,删除处理,或选择时的处理等的模块。而且,音频传输/接收模块653c具有这些功能,即通过使用装入接口模块650的音频功能,实现通讯程序之间音频数据的传输和接收。使用通讯系统600,仅当服务器端通讯程序打开音频输出时,客户端通讯程序才可以打开音频输出。而且,从客户端通信程序发送的音频数据由装在服务器端的通讯程序处的音频传输/接收模块653c混频,并且再次传输给客户端通讯程序。
网络功能模块65 3d是这样的模块,即当通信程序被执行或另一计算机设备连接在因特外了网611上时,获取各类信息,例如保留在已执行通讯程序的一个计算机装置610上的超文本或图象数据,并且提供网络信息显示功能用于显示获取的各类信息。而且,网功能模块653d具有URL(均匀资源定位器)共享功能,用于共享指示因特网611上存在的各类信息(源)的位置以及获得方法的URL。
聊天内容传输模块653e是这样的模块,即基于由GUI模块654通知的指示文本输入到该GUI模块654的一个事件,获得文本数据输入,并且将包含所获得的文本数据的聊天信息通知传输给建立通话的所有其它通讯程序。而且,该聊天内容传输模块653e,在接收到聊天信息通知的基础上,发出一个请求,将聊天信息通知中包含的文本数据显示在GUI模块654。因此,所谓“气球”形状的文本显示区域固定在通讯程序窗口的预定位置,并且文本数据显示在该区域中。
聊天记录模块653f在从聊天内容传输模块653e等发送来的聊天信息通知基础上,记录作为接收的文本数据的该输入,并且产生一个聊天记录文件。聊天记录模块653f在计算机设备610的RAM 621中存储预定的存储容量的文本数据,并且如果需要,将存在RAM 621中的文本数据并入硬盘驱动器623等,并且产生一个聊天记录文件。而且,在发出显示该聊天记录的请求时,聊天记录模块653f具有获取聊天记录文件所存的文本数据,并且显示在通讯程序窗口的预定区域中的功能。
情感表达模块653g是这样的模块,即读取并且显示与情感表达相关的动画效果。而且,情感表达模块653g请求GUI模块654显示选择作为表达情感等的按钮。
而且,在接收从GUI模块654选出的特定按钮的通知基础上,情感指示模块653g将对应该按钮的情感表达数据(动画数据)传递给建立通话的所有通讯程序。另一方面,在接收情感表达数据的情况下,情感指示模块653g请求GUI模块654显示情感表达数据。
动作模块653h是对动作数据执行读取和显示的模块。而且,动作模块653h请求GUI模块654显示在显示动作等时被选中的按钮。而且,在用户选择在显示动作等时被选中的按钮时,动作模块653h将与被选按钮对应的动作数据(动画数据)传输给建立通话的所有通讯程序。另一方面,在接收动作数据时,动作模块653h请求GUI模块654显示该动作数据。
实况演播模块653i是与实况分布程序合作作用的模块,该分布程序用来经因特网611执行图象数据和音频数据的实况分布。通过拥有装入的实况演播模块653i,通讯程序能与外部的实况分布程序交换图象数据和音频数据等。
应用模块653由例如上述模块的各类模块构成。注意,无论装入通讯程序的应用模块653的数量还是功能都不受限制,并且除上述模块之外的各个功能的模块都可以作为应用模块653中的一个模块装入。而且,在使用通讯程序的情况下,应用模块653可根据需要添加或删除。
GUI模块654是提供通讯程序所发生的窗口显示等的屏幕显示的模块。然而,注意,用基本模块652提供绘制这类窗口例如对话框等的基本方式。GUI模块654根据其它模块发出的需求的屏幕显示,完成在窗口中绘图,并且显示功能选择按钮、图象数据等。
该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中,通讯程序通过访问功能模块列表,激活带激活标志设置的模块。功能模块列表具有例如图32所示的数据结构,例如,为组成通讯程序的每个功能模块保留每个功能模块独特的识别信息(功能ID),每个功能模块独特的模块名,指示执行形式和功能模块的使用条件的类型,在考虑功能模块是否在开始条件下被激活的赋活标志等。通过访问功能模块列表,通讯程序能选择和激活根据启动条件激活的模块。
接着,在步骤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的RAM621的存储区中的消息传输队列和消息接收队列而言预定容量是固定的。
在步骤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中,考虑到已判断出步骤655中已处于断开连接状态,从与用户相关的用户列表信息中删除服务器模块。接着,在步骤S657中,服务器模块将在步骤S656中已从用户列表中删除的信息例如与用户相关的用户ID等,通知给已建立通话的所有客户。因此,连接服务器模块的所有客户可以知道该用户的连接已断开。在步骤S657后,服务器模块处理进入图34所示的步骤S658。
在步骤S658中,服务器模块判断消息是否已经从连接的客户发出。在判断结果显示已发出消息,处理进入步骤S659,而在消息未发出时,该处理进入步骤S661。
在步骤S659中,服务器模块在用户列表基础上访问指示为信息地址的用户ID,并且获得与用户ID对应的IP地址。接着,在步骤S660中,服务器模块将消息经过计算机网络例如因特网611等传输给已经在那里设置步骤S659中所获得的IP地址的计算机设备。这样,消息传输给传输目的地通讯程序。在该步骤S660的处理后,服务器模块处理进入步骤S661。
在步骤S661中,服务器模块判断是否已经从通讯程序中收到退出请求。在判断结果显示已收到退出请求时,执行各类退出处理,并且一系列处理操作停止。而在未收到退出请求时,处理进入图33所示的步骤S650,并且重复上述步骤S650后的一系列处理。给该服务器模块的退出请求等同于被处理的图31中所示的通讯程序的这一系列处理。
通讯程序是如上所述执行一系列处理的应用程序。从上述处理序列可清楚地理解,根据需要,通讯程序或者可作为服务器或者可作为客户。
(2-7)通讯程序显示的应用窗口
接着,参考附图,按次序描述通过在计算机设备610上执行的上述通讯程序在显示器624的显示屏上显示应用窗口的处理。
注意,构造通讯程序以便使窗口显示在根据启动条件的状态中,但在下面的描述中将描述大多数基本条件下执行处理的一个实例。
而且,使用通讯系统600,将通讯程序提供给处于可执行状态的每个计算机设备610,并且通过执行在计算机设备610上用于交换各类信息的通讯程序构造通讯系统600,但在下面的描述中,将描述在正执行的特定计算机设备610上操作的通讯程序产生的窗口显示。
而且,在下面的描述中,描述中通讯程序的用户称作“用户”,而连接该通讯程序的通讯程序的用户,即其它组的用户称作“客户”。但是,这里着重描述的通讯程序不需要执行服务器功能,而通过通讯程序在其它组(客户)的用户的那一端操作,可以执行服务器功能。
在启动通讯程序执行处理的基础上,在显示器624的屏幕上显示如图36所示的用户信息设置窗口700。该用户信息显示窗口是在激活通讯程序时促使选择对应于用户自己的姓名和脸图象的窗口,并且具有输入文本形式的姓名的文本输入区域S700,和选择对应于脸图象的图象文件的脸图象选择区域S701。
文本输入区域S700能例如通过与计算机设备610连接的鼠标等的选择接收文本输入,并且是一个这样的区域其中文本可从该状态中的键盘等输入。在随后的通讯程序处理中,将向该文本输入区S700输入的文本设置成用户名。
脸图象选择区域S701是这样的区域,其中显示对应于存储在计算机设备610的图象数据的文件名列表,它预先登记为脸图象。从选择区域S701的脸图象中显示的列表中选择一个文件名的用户,设置与所选文件名对应的图象文件作为随后的通讯程序处理中用户图象的脸。
而且,用户信息设置窗口700具有一个访问按钮S702,用于在用户将任意图象数据设为脸图象时,访问与该图象数据对应的文件。在选择访问按钮S702的基础上,显示文件选择窗口,用于选择存在于计算机设备610中的图象数据。然后,在用户选择文件选择窗口内的文件的基础上,对应于所选文件的图象数据设置为用户的脸图象。而且,被选文件所在的计算机设备610中的位置(路径)文件,显示在用户信息设置窗口700的路径显示区域S703中。而且,可做这样的设置,其中通过将文本指向路径显示区域S703,指定的一路径,可选择任意的图象数据(文件)作为脸图象。
而且,用户信息设置窗口700具有一个预览区S704,用于对用户如上选择的图象数据的内容进行预览。因此,通讯程序能以容易和确定的方式选择用户期望的脸图象。
图36说明了一种情况的实例,其中预先选定的所谓的缺省脸图象显示在预览区S704中。假设一种情况进行下面的描述,在该情况中用户已经在用户信息设置窗口700中选择不特殊的脸图象,并且已经选择该缺省脸图象。
用户信息设置窗口700具有:校验框S705,该校验框S705用来在下一个目标上设置是否以与上述相同的方式选择一个姓名和脸图象,一个OK按钮S706,该按钮S706用来结束姓名和脸图象的选择操作,和按钮S707取消,该按钮S707用来取消对姓名和脸图象的选择操作,并取消通讯程序的激活。
在选取校验框S705时,通讯程序在下一次启动基础上显示用户信息设置窗口700。另一方面,在没有选取校验框S705时,省略用户信息设置窗口700的显示,并且访问和使用用户事先设置的姓名和脸图象。
在用户信息设置窗口700中用户选中OK按钮S706的基础上,通讯程序转换成基本显示模式,并且显示如图37所示的基本显示窗口。在事先选取用户信息设置窗口700中的校验框S705情况下,在开始通讯程序时,省略用户信息设置窗口700的显示,因此程序在启动后立即进入基本显示模式,并且显示基本显示窗口710。
(2-7-1)基本显示模式
现在描述一种情况,其中参考图37所示的基本显示窗口710,描述已转换成基本显示模式的通讯程序。
基本显示窗口710是在这种情况下显示在通讯程序处已转换成基本显示模式的窗口并且如图37所示,该窗口具有一个用户脸图象画面S710,该图象画面显示了与用户对应的脸图象,多个客户脸图象画面S711,每个画面显示与多个客户对应的脸图象,和多个功能选择按钮S712,用于为各个功能的执行做选择操作。
用户脸图象画面S710设置在基本显示窗口710的中央,并且由显示用户选中的脸图象的脸图象显示区S710a,和位于脸图象显示区S710a的底部的姓名显示区S710b构成。
当在中央有带用户脸图象画面S710的虚圆时,客户脸图象画面S711以确定间隔设置。这些客户脸图象画面S711等同于用户脸图象画面S710,并且是显示客户端信息的画面,每个画面都具有由每个客户选中的显示脸图象的脸图象显示区S711a,和位于脸图象显示区S711a底部的显示每个客户设置姓名的姓名显示区S711b。
而且,在图37中,所示的是尚无客户连接的状态。在这种状态下,客户脸图象画面处于显示指示无客户连接的预定脸图象的状态。
而且,在以每个初始显示位置为中心的区域上缓慢移动的同时显示每个客户脸图象画面S711。这样,在基本显示区域710中,每个客户脸图象画面S711以有点浮动的方式显示。
在虚圆以用户脸图象画面S710为中心时,以确定间隔设置功能选择按钮S712。其上设置有功能选择按钮S712的虚圆的半径小于其上设置有客户脸图象画面S7111的虚圆的半径。也就是说,在客户脸图象画面S711向内的位置处显示功能选择按钮S712。
预定功能与每个功能选择按钮S712相关联。在用户选中其中一个功能选择按钮S712时,通讯程序转换成操作模式,用于实现对应于所选功能选择按钮S712的功能。
在图37所示的实例中,显示有一个“设置”按钮S712a,一个“退出”按钮S712b,一个“帮助”按钮S712c,一个“朋友”按钮S712d,和一个“工具”按钮S712e。
设置按钮S712a是执行通讯程序所需的各类设置的功能选择按钮。在用户选择设置按钮S712a基础上,通讯程序显示设置窗口,该设置窗口显示例如在用户做操作的情况下是否发出音频效果的设置数据项(图中略去)。通过计算机设备610的预定存储区中该设置窗口,通讯程序省却了数据项,并且在通讯程序本身的操作上反映这些。
退出按钮S712b是用来退出通讯程序的执行处理的一种功能选择按钮。在用户选择退出按钮S712b时,通讯程序退出所有执行处理。
帮助按钮S712c是用来显示帮助信息用于解释用户对通讯程序的操作的一种功能选择按钮。在用户选择帮助按钮S712c基础上,通讯程序在帮助窗口显示帮助信息(图中略去),该信息描述操作引导和故障检修提示等。使这种帮助信息能被显示,这使通讯程序能以容易理解的方式给生疏的用户解释其自身的操作和功能。
朋友按钮S712d是提醒有其它用户(客户)连接到因特网611从而连接通讯程序并且参与通讯中的一种按钮。在用户选择朋友按钮S712d时,执行提醒客户参与的一系列操作。后面,将描述该处理的细节。
工具按钮S712e是转换成工具模式用于用户实现各种操作的一种功能选择按钮。在用户选择该工具按钮S712e时,通讯程序转换成工具模式。后面将描述该工具模式的细节。
基本显示窗口710具有在窗口的最上部一个靠一个显示的多个操作图标S713,用于处理基本显示窗口710的显示状态,和在窗口的最底部的状态显示区S714,其中根据需要显示通讯程序的操作状态(状况)和各类信息。
这里,在图37所示的实例中,一个“退出”图标S713a,一个“最大化”图标S713b,一个“最小化”图标S713c,和一个“改变显示尺寸”图标S713d,显示作为操作图标S713。
退出图标S713a是用来退出通讯程序的执行处理的操作图标。在用户选择图标S713a时,退出所有执行程序。
最大化图标S713b是计算机显示610的基本显示窗口710的最大显示中形成满屏的操作按钮。在用户选择最大化按钮S713b时,在计算机设备610的整个屏幕上执行放大并显示基本显示窗口710的处理。
最小化图标S713c是取消基本显示窗口710的显示并且将它从计算机设备610的显示屏删除的操作按钮。在用户选择最小化按钮S713c,通讯程序取消基本显示窗口710的显示,并且执行处理用于从计算机设备610的显示屏中删除它。注意,即使在基本显示窗口710已经以这种方式从显示屏删除的情况下,通讯程序的执行处理仍继续。
改变显示尺寸图标S713d是转换成缩小显示模式的操作按钮,其中基本显示窗口710以减少模式显示。在用户选择改变显示改变显示尺寸图标S713d,通讯程序从基本显示模式转换成缩小显示模式。因此,缩小基本显示窗口710的显示区,并且成为缩小的显示窗口720,例如在图38中所示。
(2-7-2)缩小显示模式
现在,参考图38所示的缩小显示窗口720,描述在通讯程序转换成缩小显示模式的情况。
缩小显示窗口720是在通讯程序已经转换成缩小显示模式时显示的窗口,其中显示区小于基本显示窗口710的显示区,并且假设该窗口具有在计算机设备610的屏幕上沿水平方向拉长的形状。
根据图38中所示的缩小显示窗口720,对与图37中所示的基本显示窗口710具有同样功能的画面的描述用相同标号指示,并且省略其描述。而且,在下面的描述中,图中相同标号指示的画面、按钮和图标将描述为与上述那些描述等同。
在该缩小显示窗口720中,在用户脸图象画面S710两侧上中央处横向设置多个脸图象画面S711,并且功能选择按钮S712在用户脸图象画面S710和客户脸图象画面S711横向设置功能选择按钮S712。而且,多个操作按钮713设置在缩小显示窗口720的最上部。
当用户在该缩小显示窗口720中选择显示尺寸变化按钮S713d时,通讯程序由缩小显示模式转换成基本显示模式。因此,缩小显示窗口720的显示区被放大,并且成为如图37所示的基本显示窗口710。
也就是说,使用通讯程序,通过用户选择改变显示尺寸图标S713d,基本显示模式和缩小显示模式可向后和向前自由切换。
(2-7-3)客户的共享
现在,根据用户选择上述朋友按钮S712d的情况进行描述。在用户选择上述朋友按钮S712d时,通讯程序执行使客户共享的一系列处理。此时,通讯程序将连接设置信息传输给已指示用户的客户。这样,基于连接设置信息中所含的IP地址完成从客户端到用户端建立的通话,并且完成该连接。
在将连接设置信息传输给客户端的时候,举例来讲,通讯程序将包含连接设置信息的文件附加在电子邮件上,并且将该电子邮件传输给客户端的计算机设备。此时,例如,包含图39中所示的电子邮件窗口740中所示内容的电子邮件被传输给客户端。
如图39所示,电子邮件窗口740由收信人输入区S740,用于输入和显示该电子邮件的收信人即为被共享的客户的计算机设备所设置的电子邮件地址;输入并显示该电子邮件标题的标题输入区S741;显示附加在该电子邮件上的文件的文件名等的附着文件显示区S742;和输入并显示该电子邮件主体的主题输入区S743组成。
在标题输入区S741中输入的是文本,该文本引导接收者连接用户端通讯程序并且共享通讯,例如“INVITATION TO COMMUNICATION”。而且,显示在附着文件显示区S742中的是包含连接设置信息(例如“Connect.qze”)等的文件的文件名。而且,描述在主体显示区中的是一个信息,通过运行附着在电子邮件上,举例来讲,的文件该信息使接收者激活计算机设备上的通讯程序,因此与用户端通讯程序建立通话。
然后,随着用户输入参与收信人输入区S740的客户的电子邮件地址,执行该电子邮件的传输处理,因此以附加到电子邮件上的文件方式,将连接设置信息传输给客户端。
通讯系统600决不限于用电子邮件向客户端传输和连接设置信息,并且可做成这种设置,其中,例如,在连接到因特网611的计算机之间实现各类文件交换的应用程序,例如所谓的FTP软件,用于以数据文件或应用程序的方式发出连接设置信息。而且,例如,可做成这种结构,其中通过在计算机设备之间直接交换连接设置信息而不通知计算机设备的用户连接开始,通讯程序在客户端计算机设备上自动激活,而无需用户自觉开始连接(建立一个段)。
(2-7-4)客户接口
一旦连接设置信息传给上述客户端,并且与客户建立通话,表示已建立连接的客户的脸图象在基本显示窗口710中的客户脸图象上显示,举例来讲,如图40所示。
这里,图40显示已连接的两个客户。第一客户已在那里设置了一个描绘女性半身像的图象,而第二客户在已在那里设置了一个描绘动物脸的图象,这些图象显示在第一客户脸图象画面S711A和第二客户脸图象画面S711B中。后面的描述假设该第一和第二客户连接。
用户用鼠标操作等使光标在用户脸图象画面S710上移动而选择用户脸图象画面S710时,举例来讲,以图41所示的缩小方式显示用户脸图象画面S710,同时允许用户输入文本(字符数据)的文本输入区S715靠近以缩小方式显示的用户脸输入画面S710的位置显示。
该文本输入区S715是具有“气球”形状的区域,它是用于“讲话”的滑稽字符,并且定位它作为以缩小方式显示的用户脸输入画面S710,这样那里的文本输入就好象是用户脸输入画面S710中的脸图象在说话。在用户将文本输入该文本输入区S715的基础上,通讯程序将输入文本(字符数据)传输给目前连接的所有客户。
而且,在以同样方式接收从客户发出的文本和(字符数据)时,通讯程序以缩小方式显示与该客户对应的客户脸图象画面S711,这如图42所示,并且以缩小方式在靠近客户脸图象画面S711的文本输入区S716中显示来自客户的文本。该文本显示区S716是具有象所谓“气球”形状的区域,它用于滑稽剧,该区域对应于以缩小方式显示的客户脸图象画面S711。
图42显示了一种情况,其中文本“Hello”从客户传来因此以缩小方式显示第一客户脸图象画面S711A,并且在第一客户脸图象画面S711A附近显示文本显示区S716。而且,利用通讯程序,在文本同时从多个客户传来时,举例来讲,为每个相应的客户显示文本显示区S716。也就是说,在文本同时从四个客户传来时,与每个客户对应的客户脸图象画面S711以缩小方式显示,并且为每个客户显示气球形文本显示区S716。
如上所述,使用该通讯程序,用户和客户可相互交换字符数据,并且特别是,文本可采取同时前进模式交换数据。
而且,使用通讯程序,用文本输入区S715和文本显示区S716数据执行的上述交换不局限于基本显示模式中的基本显示窗口710,而且也能够在窗口中以其它操作模式交换。
(2-7-5)工具模式
现在,参考图43中显示的工具显示窗口750,描述根据通讯程序转换成工具模式的情况。
工具显示窗口750是一种窗口,该窗口在通讯程序转换成工具模式的情况下显示,并且如图43所示,具有与图37所示的基本显示窗口710相同的基本结构。使用如图43所示的该工具显示窗口750,对图文画面、按钮和图标进行描述,描述中省略与图37所示的基本显示窗口710中相同或等价部件,并且这些部件将用相同的标号指示。
工具显示窗口750与基本显示窗口710不同,因为它具有多个功能选择按钮S750替代图37所示的功能选择按钮S712。在虚圆上以用户脸图象画面S710为中心,以确定间隔设置功能选择按钮S750。其上设置有功能选择按钮S750的虚圆的半径小于其上设置有客户脸图象画面S711的虚圆的半径。也就是说,在客户脸图象画面S711向内的位置处设置功能选择按钮S750。
预定功能与每个功能选择按钮S750相互关联。在用户选择的其中一个功能选择按钮S750的基础上,通讯程序转换成实现对应所选功能选择按钮S750的功能的操作模式。
在图43所示实例中,显示有一个“情感按钮”S750a,一个“动作”按钮S750b,一个“帮助”按钮S750c,一个“返回”按钮S750d,一个“图象/音频”按钮S750e,一个“聊天记录”按钮S750f,和一个“网络浏览器”按钮S750g。
情感按钮S750a是用来转换成用户表达情感的情感表达模式的功能选择按钮。在用户选择情感按钮S750a时,模式变成情感表达模式。后面将描述情感表达模式的细节。
动作按钮S750b是用来转换成用户向其它客户表达动作的动作表达模式的功能选择按钮。在用户选择动作按钮S750b时,模式转换成动作表达模式。
帮助按钮S750c是与图37所示的帮助按钮S712c等同的功能选择按钮,用于显示给用户解释通讯程序操作的帮助信息。在用户选择帮助按钮S712c时,通讯程序在帮助窗口(图中略去)中显示描述操作指导和故障查找指示等的帮助信息。
返回按钮S750d是退出工具模式并且返回基本显示模式的功能选择按钮。在用户选择返回按钮S750d时,通讯程序退出工具模式并且转换成基本显示模式。
图象/音频按钮S750e是一种功能选择按钮,用于转换成用户的图象/音频设置模式,从而进行与图象和音频相关的各种设置操作。在用户操作图象/音频按钮S750e时,通讯程序转换成图象/音频模式。
聊天记录按钮S750f是用来转换成显示聊天记录的聊天记录显示模式的功能选择按钮。在用户选择聊天记录按钮S750f时,通讯程序转换成聊天记录显示模式。
网络浏览器按钮S750g是用来转换成网浏览模式的功能选择按钮。在用户选择网络浏览器按钮S750g时,通讯程序转换成网络浏览模式。
而且,在显示工具显示窗口750的状态下,用户选择改变显示尺寸图标S713d时,通讯程序显示图38所示的缩小显示窗口720。在工具模式状态中显示缩小显示窗口720时,是上述功能选择按钮S750而不是功能选择按钮S712显示在图38所示的缩小显示窗口720中。而且,在图38正显示缩小显示窗口720的状态下做转换时,缩小显示窗口720保留并且显示上述功能选择按钮S750而非功能选择按钮S712。
换句话说,使用通讯程序,可根据最大按钮S713b和最小化按钮S713c使窗口尺寸最大化或最小化,而不依赖于操作模式。而且,每次用户选择改变显示尺寸图标S713d时,在显示成等于基本显示窗口710或工具显示窗口750的标准尺寸状态,和显示成等于缩小显示窗口720的缩小尺寸状态之间向后和向前切换窗口。注意,使用通讯程序,也可用后面描述的操作模式做窗口尺寸的这种变化。
(2-7-6)情感表达模式
现在,将参考图44所示的情感表达窗口760,描述通讯程序转换成情感表达模式的情况。
情感表达窗口760是在通讯程序转换成情感表达模式时显示的窗口,并且如图44所示,基本具有与图37所示的基本显示窗口710相同的结构。因此,使用图44所示情感表达窗口760,省略与图37所示基本显示窗口710中相同或等价的图文画面、按钮和图标的描述,并且相同的部件用相同的标号指示。
情感表达窗口760与基本显示窗口710不同,因为它有多个功能选择按钮S760替代图37所示功能选择按钮S712。在虚圆上以用户脸图象画面S710为中心,以确定间隔设置功能选择按钮S760,方式与图37所示功能选择按钮相同。其上设置有功能选择按钮S760的虚圆的半径小于其上设置有客户脸图象画面S711的虚圆的半径。也就是说,在客户脸图象画面S711向内的位置处设置功能选择按钮S760。
预定功能与每个功能选择按钮S760相互关联。在用户选中其中一个功能选择按钮S760的基础上,通讯程序转换成实现对应所选功能选择按钮S760的功能的操作模式。
在图44所示实例中,显示有作为功能选择按钮的一个“帮助”按钮S750a,一个“返回”按钮S750d,一个“称赞”按钮S760c,一个“讥笑”按钮S760d,一个“哭”按钮S760e,一个“笑”按钮S760f,一个“出汗”按钮S760g,和一个“生气”按钮S760h。
帮助按钮S760a是与图37所示的帮助按钮S712c等同的功能选择按钮,用于显示给用户解释通讯程序操作的帮助信息。在用户选择帮助按钮S712c时,通讯程序在帮助窗口(图中略去)中显示描述操作指导和故障查找指示等的帮助信息。
返回按钮S760b是退出工具模式并且返回基本显示模式的功能选择按钮。在用户选择返回按钮S760b时,通讯程序退出工具模式并且转换成基本显示模式。
功能选择按钮S760c至S760h都是表达与每一个的名字对应的情感的功能选择按钮。在用户选择了功能选择按钮S760c至S760h的其中之一时,通讯程序给用户脸图象画面S710施加动画效果,该效果表达与功能选择按钮S760c至S760h的名字对应的情感。此时,通讯程序可以输出音频表达来自扬声器设备的情感,该扬声器设备与计算机设备610连接或者安装在计算机设备610中,同时给用户脸图象画面S710施加动画效果。这样,可进一步改进情感的表达。
现在,作为动画效果和音频表达情感的具体实例,根据用户已选择欢呼按钮S760c的情况做描述。在这种情况下,例如,欢呼动画图象(移动图象或者一系列静态图象)叠加在用户脸图象画面S710的脸图象显示区S710a内的脸图象上,例如,并且同时,输出手鼓掌的声音的音频。也可做一种设置,其中,此时,整个用户脸图象画面S710的显示位置在以初始显示区为中心的预定区域中连续变化,因此进一步增强用户欢呼的表情。
而且,在用户选择哭按钮S760e时,哭动画图象叠加在用户脸图象画面S710的脸图象显示区S710a内的脸图象上,例如,并且同时,输出哭的声音的音频。也可做一种设置,其中,此时,整个用户脸图象画面S710的显示位置在以初始显示区为中心的预定区域中连续变化,因此进一步增强用户哭的表情。
如上所述,通过显示动画图象,输出音频,并且改变用户脸图象画面S710的显示位置,通讯程序能表达用户的情感。
现在,在用户选中其中一个功能选择按钮S760c至S760h的基础上,如上所述给用户脸图象画面S710施加各自的情感表达效果,并且也经过服务器向所有客户传输用户已选中功能选择按钮S760c至S760h的其中之一的信息。因此,给对应于执行在客户端的通讯程序上的用户脸图象施加上述效果。
也就是说,例如,在第一客户端选中对应于第一客户脸图象画面S711A的上述动画表情时,第一客户脸图象画面S711A受到动画图象的显示,音频的输出,和在用户端显示通讯程序的窗口中第一客户脸图象画面S711A显示位置的改变。
这样,通讯程序允许用户和客户机分享各类情感表达。因此,该通讯程序与仅文本(字符数据)通讯相比,能更多样并且更有效地通讯。
(2-8)通讯程序之间的交换功能模块
如上所述,根据本实施例的通讯程序能通过多个功能模块在多个建立通话的多个用户之间用文本和图象进行通讯,用于实现每个功能的相互操作。
现在,在其它组(客户)的用户未执行用户通过选择上述功能按钮想使用的某功能的功能模块时,通讯程序具有将功能模块从用户端传输给客户端的功能,这样该功能模块也可在客户端使用。下面是以这种方式在通讯程序之间交换功能模块的描述(即,在用户和客户端之间)。
(2-8-1)功能模块交换概述
首先,参考图45描述根据本实施例的通讯程序实现的交换功能模块的一种情况的概述。
下面,让我们假设一种情况,其中,如图45所示,“绘图模块”和“情感表达模块”的两个应用模块653安装到一个用户(第一用户801)端的通讯程序,而仅“情感表达模块”的一个应用模块653安装到另一个用户(第二用户802)端的通讯程序。而且,保留其它用户提供功能的内存区设置在第一和第二用户801和802的计算机设备610的存储工具(例如,RAM 621或硬盘驱动器623)中。该内存区显示为图45中的“朋友工具”。
在图45所示状态中,在第一用户801使用“绘图模块”时,第二用户的通讯程序并未装有“绘图模块”,这样在该状态下,通过交换与“绘图模块”相关的数据,第一用户801不能与第二用户802通讯。
现在根据本实施例的通讯系统使“绘图模块”能以这种方式从第一用户801端发送给第二用户802端。这样,如图46所示,“绘图模块”装在设为“朋友工具”的内存区中,随后,第一用户801和第二用户802可用该“绘图模块”通讯。
(2-8-2)功能模块的实用交换
接着,下面是对特定功能模块从第一用户801端发传送到第二用户802端的情况的描述,如上所述,参考图47所示流程图。在下面的描述中,让我们假设作为发送对象的功能模块M0在第一用户801端,并且核心模块M1和M2,以及功能管理模块M3和M4用作进行功能模块管理处理的基本模块652在第一和第二用户801和802两端。
首先,在由功能模块M0提供的功能用于第一用户801端的基础上,该功能所使用的数据从功能模块M0传递给核心模块M1(F1),并且从核心模块M1传递给第二用户802端的核心模块M2(F2)。
第二用户802端的核心模块M2参考功能模块列表,该列表基于所示的包含在接收数据中的的数据传输目的地(例如,期望的功能模块的功能ID),并且判断是否安装想传输的功能模块(F3)。在未安装时,核心模块M2向第一用户801端的核心模块M1传输未到达通知(F4),指示对应于所接收到的数据的功能模块不存在。将该未到达通知从核心模块M1传输给功能模块M0(F5)。
功能模块M0,在接收到未到达通知的基础上,请求功能管理模决M3将功能模块M0的重现品传给第二用户802端(F6)。功能管理模块M3确认功能模块M0在该通话中与第二用户802建立的传输是否被第二用户802拒绝(F7)。在未被拒绝时,或者是通话中第一次将功能模块M0传给第二用户802时,功能管理模块M3请求将功能模块经核心模块M1和核心模块M2传输给第二用户802端的功能管理模块M4。
接着,功能管理模块M4在例如如图48所示的计算机设备610的显示屏上的显示测试-使用的确认窗口810,并且通知第二用户802功能模块将被测试-使用(F9)。
测试一使用确认窗口810显示一个信息,该信息通知另一用户正使用功能,该功能由未安装到第二用户802的功能模块实现的效果,以及有需要传给功能模决用于使用该功能的效果。用户选择位于该测试一使用窗口810中的帮助按钮S810时,涉及功能模块传输的详细描述例如显示在分离窗口等。
在该测试一使用确认窗口810接收功能模块的传输时,通过第二用户802选择响应用户关于是否同意开始功能模决传输的询问的“YES”按钮S811,或者一些其它类似工具,功能管理模块M4继续进行该处理用于实现功能模块的传输。而且,在选择“NO”按钮S812等时,取消功能模块的随后传输处理。
在第二用户802接收传输的基础上,功能管理模块M4判断从第一用户传输的传输请求是否是有效请求,然后请求第一用户801端功能管理模块M3开始功能模块经过核心模块M2和核心模块M1(F10)的传输。
现在,在功能管理模块M4判断传输请求是否是有效请求之后,产生传输开始请求,这样可防止在内容等被篡改情况下接收未批准的功能模块。使用相关信息可实现这种判断用于完成相关性,例如长度、检验和等。特别是,例如,在步骤F8中执行模块传输请求时,这种相关信息可从功能管理模块M3发传送到预先的功能管理模块M4,在涉及第一用户端801和第二用户端802之间的功能模块实际交换数据时被组合。
接着,在第一用户801端的功能管理模块M3检测到功能模块的传输已被在第二用户802端接收(F11),这样功能模块M0经核心模块M1和核心模块M2传给第二用户802端的功能管理模块M3。
然后,在功能模块M0成功传输的基础上,功能管理模块M4向功能管理模块M3传输指示传输成功完成的响应(F13)。接着,功能管理模块M3传给功能模块M0一个信息,该信息指出功能模块M0的重现品已传给第二用户802端(F14)。
由于上述传输处理,完成功能模块M0从第一用户801向第二用户802的传输,并且其后通过在第一用户801和第二用户802的功能模块之间传输和接收,第一用户801和第二用户802可用该功能模块M0提供的功能交流。
而且,在上述步骤F12中,被传输的功能模块M0的功能ID等最好在传输功能模块M0本身之前传输。在后面将详细描述它,当第二用户803端在硬盘驱动器623中已有测试-使用状态下的功能模块M0时,这允许功能模块M0置于基于接收到的功能ID的暂时可用状态中。也就是说,在这种情况下,无需传输功能模块M0本身,这样节省了传输功能模块本身所需的时间和带宽。
而且,在步骤F12中,可做这样的安排,其中被传输的功能模块M0不是一次传完,而是数据内容被分开,在功能管理模块M3和M4确认数据是否被正确传输和接收时,传输功能模块M0。
使用根据本实施例的通讯系统600,即使在某些功能模块不包括在其它组的通讯程序中的情况下,功能模块仍可传输给其它组并且使用,这如上所述。因此,用户间没有因为无某些功能模块而缺乏功能。而且,所有用户可易于体验各种类型的功能,这对以自然方式促进功能模块的使用有利。
(2-8-3)测试-使用功能模块的使用限制
现在,与有使用功能模块权利的第一用户801相比,如上所述由第一用户801提供并且安装在第二用户802端的“朋友工具”的功能模块在第二用户802处于“测试-使用”状态。因此,第二用户802处于来自第一用户801的功能模块的“借用”状态。
因此,在第二用户802端,在通过与被切断的第一用户801建立通话,重置“测试-使用”状态或者第二用户802端的通讯程序重启时,例如,处于测试-使用状态下的功能模块的使用被限制。下面描述这种使用限制。
使用通讯程序,涉及已安装功能模块的信息作为功能模块列表被管理,这如上参考图32所述。该功能模块列表存在于,例如,计算机设备610的硬盘驱动器623的预定存储区。更特别地,使用微软操作系统的Windows(注册商标)系统,设置与系统本身相关的信息,该信息包括设备驱动器的设置等和应用中测试-使用的各类设置信息,在称为寄存器的数据库中管理。使用通讯程序,功能模块列表可保留在例如该寄存器中。
功能模块列表具有信息,例如,如上参考图32所述的与功能模块相关的识别信息(即,功能ID),还包括在硬盘驱动器623上的记录位置(路径),和每个功能模块的判断功能模块是否处于测试-使用状态的测试-使用标志等。
这些信息中,测试-使用标志的值是“真”时指示功能模块处于测试-使用状态,且测试-使用标志的值是“假”时指示用户具有使用功能模块的合适权利。而且,在用户具有使用功能模块的权利时,预定的有效范围内的值设成功能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的硬盘驱动器623中的测试-使用功能模块中,例如,将测试-使用标志设成“真”,并且在正常状态下功能ID设成有效范围外的值。因此,如上所述,功能模块在正常激活状态下不可用。但是,在与另一通讯程序(用户)建立通话的状态下,另一组的用户再次请求测试-使用状态下功能模块的使用,将该功能模块的功能ID的值恢复成有效范围内的值,并且设成暂时可用状态。
在该情况下,测试-使用状态下功能模块的测试-使用标志的值设成“真”,这样在选择基本显示窗口710中的工具按钮S712e时,例如未选择相当于工具显示窗口750的功能选择按钮,通过图49所示的处理。
但是,在这种情况下,例如如图50所示,“朋友工具”按钮S712f最新的显示在基本显示窗口710中。该“朋友工具”按钮S712f可分层显示在图43所示的工具显示窗口750中,替代基本显示窗口710。在用户选择“朋友工具”按钮S712f基础上,通讯程序执行图51所示的判断处理。
也就是说,在图51所示步骤S830中,通讯程序参考功能模块列表,并且判断根据功能模块的功能模块ID的值每个都在初始规定的有效范围内。在该判断的结果显示功能ID的值在有效范围内,处理进入步骤S831,并且在功能ID的值在有效范围外时,处理进入步骤S833。此时,即使作为判断对象的功能模块处于测试-使用状态,功能ID的值恢复到有效范围内的值,这样根据该功能模块的处理进入步骤S831。
在步骤S831中,通讯程序参考根据该功能模块的测试-使用标志。然后,在测试-使用标志的值为真时,处理进入步骤S833,而在测试-使用标志的值为假(即,在测试-使用状态下)时,处理进入步骤S832。
在步骤S832中,通讯程序将该功能模块登记在列出测试可用功能模块的列表中,例如,同时该功能模块列成测试可用。在登记处理后,流程进入步骤S833。
在步骤S833中,通讯程序判断对列在功能模块列表中的所有功能模块而言,上述处理是否已完成。在判断结果显示处理已经完成时,处理返回步骤S830并且执行下一个处理模块,而在完成处理时,完成功能选择处理。
在如上所述列出可用的功能模块的列表后,功能选择按钮显示在例如使其可用的图43所示状态下的窗口中。但是,在这种情况下,在窗口中仅显示处于测试-使用状态的功能模块的功能选择按钮。也就是说,其它用户(即,“朋友工具”)提供的测试一使用功能显示在那里。
而且,通讯程序在启动时参考功能模块列表,并且执行处理用于使测试-使用标志已设置成“真”(即,测试-使用状态下的功能模块)的功能模块的功能ID的值返回它们的初始值(即,有效范围外的值)。因此在启动的基础上,测试-使用状态下的功能模块再次不能使用,直至又有来自其它用户的使用请求。在这种方式中,在不能总保证正常退出处理时,在退出通讯程序时执行,但最好在其启动时执行,返回功能ID的值的处理。这样,可用确定方式保留功能模块的测试-使用状态。
使用根据本实施例的通讯系统600,如上所述,即使在硬盘驱动器623中保留功能模块时,该功能模块已由过去处于测试一使用状态的其它用户所提供,可用确定和简单方式转换其中限制使用的状态和允许暂时使用的状态。而且,保留硬盘驱动器623中处于测试一使用状态的功能模块无需在每次测试-使用功能模块时在用户之间传输功能模块,这样可节省传输功能模块所需的时间和通讯带宽。
(2-9)其它实施例
以上是根据由其它用户提供的功能模块设置成“测试-使用”状态并且限制其使用描述的,本发明不仅限于使用这种限制的设置;而是,在完成传输后,可设置成其它用户提供的功能模块可与其它功能模块随意使用。
而且,实施例描述存储(安装)于用户端硬盘驱动器623中由其它用户提供的功能模块,在区别于用户有使用权的其它功能模块的状态下,使用功能模块列表中的功能ID或测试-使用标志。也就是说,使用本实施例,即使退出与已提供功能模块的另一组用户的通话后,该测试-使用功能模块仍存于用户端硬盘驱动器623中。但是,可进行的一种设置为在下一个所描述的任何时刻,从用户端的计算机设备610中删除测试-使用功能模块。也就是说,在使用功能模块所提供的功能成为测试-使用端的时刻,在与提供功能模块端的另一组用户通话的时刻,在通讯程序退出的时刻,在启动通讯程序的时刻等,可删除功能模块。
而且,本发明的实施例的上述说明是围绕通讯程序在通讯系统600组成的信息处理设备上执行而说明的,但本发明可广泛地用于通过执行这种通讯程序实现的通讯程序,通过其它软件或硬件工具实现等同于上述通讯程序执行处理的过程实现的通讯方法,或等同于上述通讯程序执行处理的过程实现的信息处理设备。
而且,可在各类记录介质中储存并且提供上述通讯程序或软件程序,该软件程序用来在各类电子装置上实现与该通讯程序所实现的功能相同的功能。
这样,根据本发明,在多个信息处理设备之间交换特定功能模块处理的信息时,即使功能模块不存在于接收端信息处理设备处时,也可从发出端信息处理设备传输功能模块。因此,通过在接收端信息处理设备上执行发出端信息处理设备提供的功能模块,可交换该功能模块处理的信息。
因此,由于不具有某些功能模块,不缺乏信息处理设备的用户之间的功能。而且,在特定功能模块不存在于用户端时,传输已与其建立通话的另一用户开始使用的功能模块,因此用户可使用该功能模块提供的功能。这样,用户仅需要在它们的信息处理设备中保留提供适合他们口味的功能的动能模块。
而且,其它用户提供的功能模块可用于所谓的测试一使用状态,因此可容易地实现其中为功能模块的使用收取费用,并且对测试-使用状态下的功能模块的功能施加限制的系统。