客户端程序、终端、方法、服务器系统及服务器程序 【技术领域】
本发明涉及由多个终端下载并执行的客户端程序、终端、方法、服务器系统及服务器程序。
背景技术
以往,已知有显示Web内容(例如HTML文件)的Web浏览器(例如,参照专利文献1、2)。此外,还已知有实时地向Web浏览器通知在服务器中发生的事件的功能(例如,参照非专利文献1)。
【专利文献1】特开2005-56163号公报
【专利文献2】特许第3995968号
【非专利文献1】须江信洋、田中孝清著“WebSphere ApplicationServer Feature Pack for Web2.0“06 WebMessaging””,日本IBM主页,2008年5月21日(平成21年1月20日检索),因特网<URL:http://download.boulder.ibm.com/ibmdl/pub/software/dw/jp/websphere/was/was_web20fep_ws/FPWEB20_06WebMessaging.pdf>。
但是,例如在从2个Web浏览器访问同一URL(Uniform ResourseLocator,统一资源定位器)的Web内容(例如HTML文件)的情况下,用户对于Web浏览器所显示的画面进行的操作,在各个Web浏览器内完成。因此,利用对于1个Web浏览器的一次操作,不能够使多个Web浏览器所显示的Web内容的画面同步地转变。即,如果对于一个Web浏览器进行某一操作,进而对于另一个Web浏览器不进而进行相同操作,则便不能够使在两个Web浏览器上工作的Web内容的画面变为相同。
此外,作为用于共享计算机的操作画面的实用工具,已知有VNC(Virtual Network Connection,虚拟网络连接)及远程桌面(MicrosoftWindows(注册商标)所附带的功能)等。但是,由于这些实用工具将画面作为图像数据进行发送接收,所以网络的负荷大,用于再次描绘图像的处理时间长。
此外,如果不在操作系统中安装专用的应用则这些实用工具便不能够使用。因此,即使将与这样的实用工具相同的功能应用于Web浏览器,用于描绘的处理时间也会变长,此外,必须替换已有的Web浏览器,从而用户的负担将会变大。
【发明内容】
为了解决上述问题,在本发明的第一方式中,提供一种客户端程序,其由多个终端的各个下载并执行,使前述多个终端中的Web浏览器的显示画面同步,该客户端程序使前述多个终端的各个作为以下部件发挥作用:事件发送部,其将在该终端上发生的事件发送至服务器装置;事件接收部,其经由前述服务器装置接收在其他的前述终端上发生的事件;以及画面更新部,其使在该终端上显示的显示画面更新为与经由前述服务器装置接收的事件相应的画面。
在本发明的第二方式中,提供一种执行Web浏览器的终端,具备:客户端程序执行部,其通过多个终端从服务器装置下载并执行客户端程序而实现,该客户端程序使该多个终端中的Web浏览器的显示画面同步;其中,前述客户端程序执行部具备:事件发送部,其将在该终端上发生的事件发送至服务器装置;事件接收部,其经由前述服务器装置接收在其他的前述终端上发生的事件;以及画面更新部,其使在该终端上显示的显示画面更新为与经由前述服务器装置接收的事件相应的画面。
在本发明的第三方式中,提供一种使多个终端中的Web浏览器的显示画面同步的方法,包括:一个终端将在该终端上发生的事件发送至服务器装置;其他的终端经由前述服务器装置接收在前述一个终端上发生的事件;以及前述其他的终端使在该其他的终端上显示的显示画面更新为与经由前述服务器装置接收的事件相应的画面。
在本发明的第四方式中,提供一种使多个终端的各个中的Web浏览器的显示画面同步的服务器系统,具备:程序发送部,其根据来自于在各个前述终端上工作的Web浏览器的请求,向该终端发送客户端程序,该客户端程序包含将在该终端上发生的事件通知给该服务器系统的功能;以及事件转送部,其响应于从一个前述终端接收到事件的通知,对其他的前述终端通知该事件,使前述其他的终端中地Web浏览器的显示画面与该事件相应地进行更新。
在本发明的第五方式中,提供一种服务器程序,其使计算机作为使多个终端的各个中的Web浏览器的显示画面同步的服务器系统发挥作用,前述服务器程序使前述计算机作为以下部件发挥作用:程序发送部,其根据来自于在各个前述终端上工作的Web浏览器的请求,向该终端发送客户端程序,该客户端程序包含将在该终端上发生的事件通知给该服务器系统的功能;以及事件转送部,其响应于从一个前述终端接收到事件的通知,对其他的前述终端通知该事件,使前述其他的终端中的Web浏览器的显示画面与该事件相应地进行更新。
在本发明的第六方式中,提供一种使多个终端的各个中的Web浏览器的显示画面同步的方法,包括:服务器装置根据来自于在各个前述终端上工作的Web浏览器的请求,向该终端发送客户端程序,该客户端程序包含将在该终端上发生的事件通知给该服务器装置的功能;以及前述服务器装置响应于从一个前述终端接收到事件的通知,对其他的前述终端通知该事件,使前述其他的终端中的Web浏览器的显示画面与该事件相应地进行更新。
此外,上述的发明的概要并未列举出本发明的必要特征的全部,并且这些特征组的子组合也能够成为发明。
【附图说明】
图1示出本实施方式的计算机系统10的结构;
图2示出本实施方式的Web内容及Web浏览器的构成;
图3示出服务器装置20及终端30的功能结构;
图4示出多个终端30访问由服务器装置20提供的Web页的情况下的处理流程的一例;
图5示出本实施方式的第1变形例的服务器装置20及终端30的功能结构;
图6示出本实施方式的第2变形例的服务器装置20及终端30的功能结构;
图7示出多个终端30访问由服务器装置20提供的Web页的情况下的处理流程的一例;
图8示出本实施方式的第3变形例的服务器装置20及终端30的功能结构;以及
图9示出本发明的实施方式的计算机1900的硬件结构的一例。
符号说明
10:计算机系统;20:服务器装置;30:终端;60:浏览器执行部;70:客户端程序执行部;72:事件处理部;74:事件发送部;76:事件接收部;78:画面更新部;82:程序发送部;84:事件转送部;88:缓冲部;90:反向代理服务器;92:获得部;94:链接目的地变换部;100:服务器系统;1900:计算机;2000:CPU;2010:ROM;2020:RAM;2030:通信接口;2040:硬盘驱动器;2050:软盘;2060:CD-ROM驱动器;2070:输入输出芯片;2075:图形控制器;2080:显示装置;2082:主控制器;2084:输入输出控制器;2090:软盘;2095:CD-ROM。
【具体实施方式】
以下,通过发明的实施方式说明本发明,但是,以下的实施方式并非要限定权利要求的范围的发明,此外,在实施方式中说明的特征的组合的全部不一定是发明的解决手段所必须的。
图1示出本实施方式的计算机系统10的结构。本实施方式的计算机系统10,具备服务器装置20、多个终端30。服务器装置20向多个终端30提供Web内容。服务器装置20,作为一例,经由网络提供本身为HTML文件的Web页。
多个终端30的各个,执行Web浏览器。执行了Web浏览器的终端30,根据用户的操作,从服务器装置20获得Web内容并执行,显示由该Web内容提供的信息。终端30,作为一例,下载Web页,并在Web浏览器的显示画面中显示Web页。
图2示出本实施方式的Web内容及Web浏览器的构成。Web内容包含客户端程序。客户端程序,由多个终端30的各个下载并执行,使多个终端30中的Web浏览器的显示画面同步。
客户端程序,是利用JavaScript代码等Web浏览器可执行的代码描述的程序。客户端程序,作为一例,被插入到例如本身为HTML文件的Web页中。此外,客户端程序,作为一例,由Web内容的提供者制作。
Web浏览器,下载并执行客户端程序,使终端30作为执行客户端程序的程序处理部发挥作用。程序处理部,调用客户端程序,并接收客户端程序的处理结果。
图3示出服务器装置20及终端30的功能结构。终端30,具备浏览器执行部60和客户端程序执行部70。
浏览器执行部60通过终端30执行Web浏览器而实现。浏览器执行部60从服务器装置20获得Web内容,将由该Web内容提供的信息显示在Web浏览器的显示画面上。进而,浏览器执行部60,使终端30执行在所获得的Web内容中包含的客户端程序。
客户端程序执行部70,通过终端30执行在Web内容中包含的客户端程序而实现。客户端程序执行部70,具有事件处理部72、事件发送部74、事件接收部76和画面更新部78。
事件处理部72,获得在该终端30上发生的事件。事件处理部72,作为一例,获得响应于用户在Web浏览器的显示画面上所进行的操作而发生的事件。作为响应于用户所进行的操作的事件,事件处理部72获得例如按钮操作、键操作、文字输入操作、指针光标移动操作。
进而,事件处理部72,作为一例,生成通知所获得的事件的发生的消息。此外,事件处理部72,作为一例,在消息中包含所获得的事件的内容及参数。例如,在发生了文字输入操作的事件的情况下,事件处理部72将所输入的文字的文字代码作为参数包含在消息中。此外,例如,在发生了指针光标移动操作的事件的情况下,事件处理部72将指针光标的坐标作为参数包含在消息中。
事件发送部74,将在该终端30上发生的事件发送至服务器装置20。事件发送部74,作为一例,向服务器装置20发送由事件处理部72消息化后的事件。
事件接收部76,经由服务器装置20接收在该终端30及其他的终端30上发生的事件。事件接收部76,作为一例,接收消息化后的事件。
画面更新部78,使在该终端30上显示的显示画面更新为与经由服务器装置20接收的、在该终端30及其他的终端30上发生的事件相应的画面。画面更新部78,作为一例,对浏览器执行部60提供由事件接收部76接收的消息中所包含的事件的内容及参数,从而将Web浏览器的显示画面更新为与事件的内容及参数相应的画面。
由此,浏览器执行部60,能够使在该终端30上显示的显示画面与在其他的终端30上显示的显示画面相同。例如,浏览器执行部60,能够将在一个终端30的Web浏览器中输入的文字,显示在该一个终端30及其他的终端30的全部的Web浏览器的显示画面上。此外,例如,浏览器执行部60能够使一个终端30的Web浏览器的指针光标的显示位置在该一个终端30及其他的终端30的全部的Web浏览器的显示画面上相同。
服务器装置20,具有程序发送部82和事件转送部84。程序发送部82响应于来自在各个终端30上工作的Web浏览器的请求,向该终端30发送客户端程序,该客户端程序包含将在该终端30上发生的事件通知给该服务器装置20的功能。更具体地,程序发送部82发送使多个终端30的各个作为事件处理部72、事件发送部74、事件接收部76及画面更新部78发挥作用的客户端程序。
事件转送部84,响应于从一个终端30接收到事件的通知,将该事件通知给该终端30及其他的终端30,使该终端30及其他的终端30中的Web浏览器的显示画面根据该事件进行更新。事件转送部84,作为一例,从一个终端30接收通知事件的发生的消息,并将所接收的消息转送至该终端30及其他的终端30。
图4示出多个终端30访问由服务器装置20提供的Web页的情况下的处理流程的一例。首先,一个终端30的浏览器执行部60,访问服务器装置20(S11),下载Web页(S12)。在该Web页中,包含客户端程序。因此,终端30的浏览器执行部60,也能够同时下载客户端程序。
接着,终端30的浏览器执行部60,执行所下载的客户端程序。由此,终端30能够安装客户端程序执行部70。
接着,终端30的客户端程序执行部70,对服务器装置20进行订阅(S13)。客户端程序执行部70,作为一例,登记通过接收事件而被调用的回调函数。由此,服务器装置20,在从任意一个终端30接收到事件时,能够调用终端30的事件接收部76。并且,其他的终端30,也同样执行以上的步骤S11~S13的处理。
接着,当在一个终端30中发生事件时,该一个终端30的浏览器执行部60调用事件处理部72。事件处理部72,从浏览器执行部60获得所发生的事件的内容及参数。接着,事件处理部72生成表示事件的内容及参数的消息,并调用事件发送部74。然后,事件发送部74,将由事件处理部72消息化后的事件发送至服务器装置20的事件转送部84(S14)。
接着,服务器装置20的事件转送部84,在从一个终端30接收到事件时,对进行了订阅的全部终端30,转送所接收的事件(S15)。服务器装置20的事件转送部84,作为一例,在从一个终端30接收到事件时,调用该一个终端30及其他的终端30的事件接收部76。
接着,一个终端30及其他的终端30的各个的事件接收部76,在接收到事件时,调用画面更新部78。画面更新部78,将在Web页上显示的显示画面更新为与由服务器装置20转送的事件的内容及参数相应的画面(S16)。并且,以后,各终端30,每次在任意一个终端30中发生事件时,都执行以上的步骤S14~步骤S16的处理。
如果采用以上那样的服务器装置20及终端30,则能够响应于在一个终端30中发生了事件,同步地更新多个终端30的Web浏览器的显示画面。进而,如果采用这样的服务器装置20及终端30,则由于转送表示在Web浏览器中发生的事件的内容及参数的消息,所以能够减少交换的信息量,缩短画面的更新所需要的时间。此外,进而,如果采用这样的服务器装置20及终端30,则由于不使终端30安装专用的应用,而利用已有的Web浏览器下载客户端程序并执行,所以能够减少用户的负担。
此外,服务器装置20及多个终端30,也可以是以下的构成:仅关于预先指定的事件使显示画面同步地更新,而关于其他的事件则不使显示画面同步地更新。在此情况下,一个终端30,在发生了指定的事件的情况下,经由服务器装置20将该事件转送至其他的终端30,在发生了非指定的事件的情况下,不经由服务器装置20将该事件转送至其他的终端30,而更新自身的Web浏览器的显示画面。
在此情况下,服务器装置20及多个终端30,也可以是能够对每一终端30指定使显示画面同步地更新的事件的构成。例如,一个终端30,可以在订阅之前,使用户选择使显示画面同步地更新的事件,并对服务器装置20进行订阅,以便仅关于所选择的事件调用事件接收部76。由此,服务器装置20,能够当在其他的终端30中发生了所选择的事件的情况下,对该一个终端30转送事件,当在其他的终端30中发生了非选择的事件的情况下,不对该一个终端30转送事件。
图5示出本实施方式的第1变形例的服务器装置20及终端30的功能结构。本变形例的服务器装置20及终端30,由于采用与图2所示的本实施方式的服务器装置20及终端30基本相同的结构及功能,所以对于与图2所示的部件基本相同的结构及功能的部件标注相同的符号,并且除了以下不同点之外省略说明。
本变形例的客户端程序执行部70,进一步具有缓冲部88。缓冲部88存储一个或一个以上的在该终端30上发生的事件。缓冲部88,作为一例,存储由事件处理部72生成的消息。
事件发送部74,响应于从该终端30的用户接收到使其他的终端30中的Web浏览器的显示画面与该终端30中的Web浏览器的显示画面同步的指示,将存储在缓冲部88中的一个或一个以上的事件发送至服务器装置20。如果采用这样的本变形例的终端30,则能够在用户所希望的定时更新其他的终端30的Web浏览器的显示画面。
此外,在本变形例中,画面更新部78从事件处理部72获得在该终端30上发生的事件,并使Web浏览器的显示画面更新为与所获得的事件相应的画面。在此情况下,事件发送部74将标识信息与在该终端30上发生的事件相对应,并发送至服务器装置20。标识信息,是将该终端30及在该终端30上工作的Web浏览器的至少一方与其他的终端30及在其他的终端30上工作的Web浏览器相区别的信息。
事件接收部76,将在该终端30及其他的终端30上发生的事件连同与该事件相对应的标识信息一起接收。并且,画面更新部78,获得下述事件,并使Web浏览器的显示画面更新为与所获得的事件相应的画面,即该事件对应于事件接收部76经由服务器装置20接收的、与该终端30及在该终端30上工作的Web浏览器的至少一方的标识信息不一致的标识信息。
由此,本变形例的服务器装置20及终端30,对于在该终端30中发生的事件,能够不经由服务器装置20地更新画面。因此,本变形例的服务器装置20及终端30,能够缩短从事件发生开始直至画面被更新为止的响应时间,从而提高可操作性。
图6示出本实施方式的第2变形例的服务器装置20及终端30的功能结构。本变形例的服务器装置20及终端30,由于采用与图2所示的本实施方式的服务器装置20及终端30基本相同的结构及功能,所以对于与图2所示的部件基本相同的结构及功能的部件标注相同的符号,并且除了以下不同点之外省略说明。
本变形例的计算机系统10,具备多个终端30、服务器系统100。服务器系统100具有服务器装置20、与服务器装置20相同域的反向代理服务器(リバ一スプロキシサ一バ)90。
反向代理服务器90,从终端30接收用于获得链接目的地地址的Web内容的获得请求。反向代理服务器90代替提供了获得请求的终端30的Web浏览器,从外部的服务器装置获得链接目的地地址的Web内容,并发送至终端30。这样的反向代理服务器90,能够对访问与服务器装置20相同域的地址的终端30,提供与服务器装置20不同域的地址的Web内容。
本变形例的客户端程序执行部70,进一步具有获得部92、链接目的地变换部94。获得部92对反向代理服务器90提供外部的服务器装置的地址、即链接目的地地址及获得请求,并经由反向代理服务器90获得链接目的地地址的Web内容。
链接目的地变换部94,将由获得部92获得的Web内容内的指定链接目的地地址的代码变换为调用事件发送部74而获得链接目的地地址的Web内容的代码。在此情况下,链接目的地变换部94,将获得链接目的地地址的Web内容的代码作为调用获得部92的代码。
进而,在本变形例中,画面更新部78使在该终端30上显示的显示画面更新为与由链接目的地变换部94变换后的Web内容相应的画面。此外,事件发送部74,响应于由用户选择了Web内容内的链接而被调用,其经由服务器装置20向其他的终端30通知链接被选择了的情况。事件接收部76,响应于经由服务器装置20接收到在其他的终端30上选择了链接的通知,调用获得部92。
此外,在本变形例中,服务器装置20的程序发送部82,根据来自于在各个终端30上工作的Web浏览器的请求,发送使多个终端30的各个作为事件处理部72、事件发送部74、事件接收部76、获得部92、链接目的地变换部94及画面更新部78发挥作用的客户端程序。
进而,程序发送部82,对各个终端30发送这样的Web内容,该Web内容包含调用事件发送部74而获得链接目的地地址的Web内容的代码,作为响应于链接被选择了的情况而执行的代码。在此情况下,获得链接目的地地址的Web内容的代码,作为调用获得部92的代码。
图7示出多个终端30访问由服务器装置20提供的Web页的情况下的处理流程的一例。首先,多个终端30的各个执行图4中所示的步骤S11~S13的处理。
在此,在步骤S12终端30从服务器装置20下载的Web页内,包含调用事件发送部74而获得链接目的地地址的Web内容的代码,作为响应于链接被选择了的情况而执行的代码。在此情况下,获得链接目的地地址的Web内容的代码,成为调用获得部92的代码。
在本例的Web页内,作为一例,描述了以下那样的代码。<ahref=<javascript:sendEvent(‘loadHTMLFile’,‘http://www.abcdef.com/”)>至abcdef的链接</a>
该代码,表示在用户选择了Web页中所显示的“至abcdef的链接”这样的文字的情况下执行的、基于JavaScript描述的代码。在该代码中,“sendEvent()”表示调用事件发送部74的代码。
在该代码中,“′loadHTMLFile’,′http://www.abcdef.com/’”表示调用获得部92而从“abcdef站点”获得Web内容的代码。“loadHTMLFile”表示调用获得部92的代码。“http://www.abcdef.com/”是对获得部92提供的参数,表示链接目的地地址。
在一个终端30中,如果用户选择这样的Web页内的链接,则浏览器执行部60调用事件处理部72。一个终端30的事件处理部72,生成表示这样的链接被选择了的情况的消息,并调用事件发送部74。然后,一个终端30的事件发送部74,将由事件处理部72生成的消息发送至服务器装置20的事件转送部84(步骤S21)。
接着,服务器装置20的事件转送部84,在从一个终端30接收到消息时,对进行了订阅的全部终端30转送所接收的消息(S22)。服务器装置20的事件转送部84,作为一例,在从一个终端30接收到消息时,调用该一个终端30及其他的终端30的事件接收部76。
接着,一个终端30及其他的终端30的各个的事件接收部76,在接收到消息时,指定在消息中所表示的链接目的地地址并调用获得部92。在本例中,事件接收部76,以作为链接目的地地址的“http://www.abcdef.com/”为参数,调用实现获得部92的“loadHTMLFile”函数。
接着,一个终端30及其他的终端30的各个的获得部92,对反向代理服务器90发送获得所指定的链接目的地地址的Web页等的数据的请求(S23)。接着,接收到请求的反向代理服务器90,访问由该请求指定的链接目的地地址,获得所请求的数据(S24)。然后,反向代理服务器90,向一个终端30及其他的终端30的各个的获得部92返回包含所获得的数据的响应(S25)。
此外,反向代理服务器90,作为一例,响应于初始从一个终端30接收到链接目的地地址的Web页等的数据的获得请求,从链接目的地地址的外部的服务器装置获得链接目的地的数据并进行缓存。并且,反向代理服务器90响应于在由一个终端30所进行的访问之后从其他的终端30接收到链接目的地地址的数据的获得请求的情况,返回所缓存的数据。由此,反向代理服务器90,能够高效地从外部的服务器装置获得数据。
接着,一个终端30及其他的终端30的各个的获得部92,在从反向代理服务器90接收到响应时,调用链接目的地变换部94。一个终端30及其他的终端30的各个的链接目的地变换部94,将由获得部92获得的Web页内的指定链接目的地地址的代码变换为调用事件发送部74而获得链接目的地地址的数据(Web页等)的数据的代码(S26)。在此情况下,链接目的地变换部94,将获得链接目的地地址的数据的代码作为调用获得部92的代码。
例如,设定在获得部92所获得的Web页内,描述了以下的指定链接目的地地址的代码。该代码,表示在用户选择了Web页内所表示的“至ghijkl的链接”这样的文字的情况下,使Web浏览器的显示画面转变的地址。
<a href=”http://www.ghijkl.com/”>至ghijkl的链接</a>
链接目的地变换部94,作为一例,将这样的代码变换为下述那样。<ahref=”javascript:sendEvent(‘loadHTMLFile’,‘ghijkl”)>至ghijkl的链接</a>
该代码,表示在用户选择了Web页中所显示的“至ghijkl的链接”这样的文字的情况下执行的、基于JavaScript描述的代码。在该代码中,“sendEvent()”表示调用事件发送部74的代码。
在该代码中,“‘loadHTMLFile’,‘http://www.ghijkl.com/’”表示调用获得部92而从“ghijikl站点”获得Web内容的代码。“loadHTMLFile”表示调用获得部92的代码。“http://www.ghijkl.com/”是对获得部92提供的参数,表示链接目的地地址。
链接目的地变换部94,在变换指定链接目的地地址的代码时,调用画面更新部78。然后,一个终端30及其他的终端30的各个的画面更新部78,使在该终端30上显示的显示画面更新为与由链接目的地变换部94变换后的Web内容相应的画面(S27)。
如果采用以上那样的本变形例的服务器装置20及终端30,则即使在将从外部的服务器装置获得的数据显示在Web浏览器的显示画面上的情况下,也能够同步地更新多个终端30的Web浏览器的显示画面。也就是说,如果采用服务器装置20及终端30,则即使当存在不能够将从不同的多个域的服务器装置获得的数据显示在同一画面上这样的Web浏览器的限制的情况下,也能够将从外部的服务器装置获得的数据同步地显示在多个终端30的Web浏览器的显示画面上。
此外,也可以当在该终端30上指定链接目的地地址的代码被选择了的情况下,获得部92从事件处理部72直接获得消息,并向反向代理服务器90提供请求。在此情况下,事件发送部74,将标识信息与消息相对应并发送至服务器装置20。事件接收部76,将从该终端30及其他的终端30经由服务器装置20接收的消息连同与该消息相对应的标识信息一起接收。
然后,获得部92,获得下述消息,并向反向代理服务器90提供请求,即该消息对应于与该终端30及在该终端30上工作的Web浏览器的至少一方的标识信息不一致的标识信息。由此,本变形例的终端30,能够缩短从指定链接目的地地址的代码被选择开始直至获得数据为止的响应时间,从而提高可操作性。
此外,终端30也可以进而具备数据发送部,其对代理服务器提供发送目的地地址,从而经由代理服务器对发送目的地地址发送数据。在此情况下,链接目的地变换部94,将由获得部92获得的Web内容内的指定发送目的地地址的代码变换为调用事件发送部74而向发送目的地地址发送Web内容的代码。在此情况下,链接目的地变换部94,将获得发送目的地地址的Web内容的代码作为调用数据发送部的代码。
图8示出本实施方式的第3变形例的服务器装置20及终端30的功能构成。本变形例的服务器装置20及终端30,由于采用与图2所示的本实施方式的服务器装置20及终端30基本相同的结构及功能,所以对于与图2所示的部件基本相同的结构及功能的部件标注相同的符号,并且除了以下不同点之外省略说明。
本变形例的计算机系统10,具备多个终端30、服务器系统100。服务器系统100具有服务器装置20、与服务器装置20相同域的反向代理服务器90。该图8中所示的反向代理服务器90,具有与图6中所示的反向代理服务器90相同的功能及结构。
本变形例的客户端程序执行部70,进一步具有获得部92。当在该终端30上发生了指示Web浏览器的显示画面中的链接目的地地址的访问的访问事件的情况下,获得部92访问并获得链接目的地地址的数据。
作为一例,在发生了访问事件的情况下,获得部92通过指定链接目的地地址而由事件处理部72所调用。并且,获得部92,作为一例,通过对反向代理服务器90提供链接目的地地址,经由反向代理服务器90获得链接目的地地址的Web内容。
进而,在本变形例中,事件发送部74,将获得部92获得的链接目的地地址的数据与在该终端30上发生的访问事件相对应并发送至服务器装置20。事件接收部76,经由服务器装置20将在其他的终端30上发生的访问事件连同与该访问事件相对应的链接目的地地址的数据一起接收。画面更新部78,使在该终端30上显示的显示画面更新为与经由服务器装置接收的访问事件及链接目的地地址的数据相应的画面。
如果采用以上那样的本变形例的服务器装置20及终端30,则当在一个终端30上发生了指示对于外部的服务器装置的访问的访问事件的情况下,也能够同步地更新其他的终端30的Web浏览器的显示画面。
图9示出本实施方式的计算机1900的硬件结构的一例。本实施方式的计算机1900,具备CPU外围单元、输入输出单元以及传统输入输出单元,其中CPU外围单元包括通过主控制器2082互相连接的CPU 2000、RAM2020、图形控制器2075及显示装置2080,输入输出单元包括通过输入输出控制器2084连接至主控制器2082的通信接口2030、硬盘驱动器2040及CD-ROM驱动器2060,传统输入输出单元包括连接至输入输出控制器2084的ROM 2010、软盘驱动器2050以及输入输出芯片2070。
主控制器2082将RAM 2020与以较高传输速率访问RAM 2020的CPU 2000及图形控制器2075相连接。CPU 2000根据存储在ROM 2010及RAM 2020中的程序工作,进行各单元的控制。图形控制器2075获取CPU 2000等在设置于RAM 2020内的帧缓冲器上生成的图像数据,并且使其显示在显示装置2080上。代之,图形控制器2075也可以将存储CPU2000等所生成的图像数据的帧缓冲器包含于其内部。
输入输出控制器2084将主控制器2082与本身为相对高速的输入输出装置的通信接口2030、硬盘驱动器2040、CD-ROM驱动器2060相连接。通信接口2030经由网络与其他的装置通信。硬盘驱动器2040存储计算机1900内的CPU 2000所使用的程序及数据。CD-ROM驱动器2060从CD-ROM 2095读取程序或数据,并且经由RAM 2020提供给硬盘驱动器2040。
此外,在输入输出控制器2084上,连接有ROM 2010、软盘驱动器2050以及输入输出芯片2070等相对低速的输入输出装置。ROM 2010存储在计算机1900启动时执行的引导程序及/或依赖于计算机1900的硬件的程序等。软盘驱动器2050从软盘2090读取程序或数据,并且经由RAM2020提供给硬盘驱动器2040。输入输出芯片2070将软盘驱动器2050与输入输出控制器2084相连接,并且经由例如并行端口、串行端口、键盘端口、鼠标端口等将各种输入输出装置与输入输出控制器2084相连接。
要经由RAM 2020提供给硬盘驱动器2040的程序,存储在软盘2090、CD-ROM 2095或IC卡等记录介质中而由使用者所提供。程序从记录介质被读出,并且经由RAM 2020被安装在计算机1900内的硬盘驱动器2040上,并在CPU 2000中执行。
被下载到计算机1900上并执行、使计算机1900作为客户端程序执行部70发挥作用的客户端程序,具备事件处理模块、事件发送模块、事件接收模块、画面更新模块。这些程序或模块,使CPU 2000等工作,从而使计算机1900作为事件处理部72、事件发送部74、事件接收部76及画面更新部78分别发挥作用。
在这些程序中描述的信息处理,通过被读入到计算机1900中,而作为本身为软件和上述的各种硬件资源协作而得到的具体的单元的事件处理部72、事件发送部74、事件接收部76及画面更新部78发挥作用。并且,通过利用这些具体的单元实现与本实施方式中的计算机1900的使用目的相应的信息运算或处理,可构建与使用目的相应的特有的终端30。
此外,被安装在计算机1900上、使计算机1900作为服务器装置20发挥作用的程序,具备程序发送模块、事件转送模块。这些程序或模块,使CPU 2000等工作,从而使计算机1900作为程序发送部82、事件转送部84分别发挥作用。
在这些程序中描述的信息处理,通过被读入到计算机1900中,而作为本身为软件和上述的各种硬件资源协作而得到的具体的单元的事件处理部72、事件发送部74、事件接收部76及画面更新部78发挥作用。并且,通过利用这些具体的单元实现与本实施方式中的计算机1900的使用目的相应的信息运算或处理,可构建与使用目的相应的特有的服务器装置20。
作为一例,当在计算机1900与外部的装置等之间进行通信的情况下,CPU 2000执行被加载到RAM 2020上的通信程序,并基于通信程序中所描述的处理内容,对通信接口2030指示通信处理。通信接口2030,接受CPU 2000的控制,读出存储在发送缓冲区域等中的发送数据并向网络发送,或者向设置在存储装置上的接收缓冲区域等写入从网络接收的接收数据,其中发送缓冲区域设置在RAM 2020、硬盘驱动器2040、软盘2090或CD-ROM 2095等存储装置上。这样,既可以通信接口2030通过DMA(直接存储器访问)方式在与存储装置之间转送发送接收数据,也可以代之,CPU 2000通过从转送源的存储装置或通信接口2030读出数据并且向转送目的地的通信接口2030或存储装置写入数据,而转送发送接收数据。
此外,CPU 2000通过DMA转送等从存储在硬盘驱动器2040、CD-ROM驱动器2060(CD-ROM 2095)、软盘驱动器2050(软盘2090)等外部存储装置中的文件或数据库等中,将全部或需要的部分读入至RAM2020,对RAM 2020上的数据进行各种处理。并且,CPU 2000通过DMA转送等将完成了处理的数据写回至外部存储装置。在这样的处理中,因为RAM 2020可以看作是暂时地保存外部存储装置的内容的存储器,所以在本实施方式中,将RAM 2020及外部存储装置等统称为存储器、存储单元或存储装置等。本实施方式中的各种程序、数据、表、数据库等各种信息,存储在这样的存储装置上,成为信息处理的对象。此外,CPU 2000,能够将RAM 2020的一部分保存到高速缓冲存储器中,并在高速缓冲存储器上进行读写。在这样的方式中,由于高速缓冲存储器也分担RAM 2020的功能的一部分,所以在本实施方式中,除了区别地示出的情况之外,高速缓冲存储器也包含在RAM 2020、存储器及/或存储装置中。
此外,CPU 2000对从RAM 2020读出的数据,进行由程序的命令行指定的、在本实施方式中记载的包含各种运算、信息的处理、条件判断、信息的检索、替换等各种处理,并写回至RAM 2020。例如,CPU 2000,在进行条件判断的情况下,将在本实施方式中所示的各种变量与其他变量或常量相比较,判断是否满足大、小、大于等于、小于等于、等于等条件,并且在条件成立的情况(或不成立的情况)下,向不同的命令行分支或调用子例程。
此外,CPU 2000,能够检索存储在存储装置内的文件或数据库等中的信息。例如,当在存储装置中存储有将第2属性的属性值分别相对于第1属性的属性值对应起来的多个条目的情况下,CPU 2000能够通过从存储在存储装置中的多个条目中检索第1属性的属性值与所指定的条件相一致的条目,并读出存储在该条目中的第2属性的属性值,而得到与满足预定条件的第1属性相对应的第2属性的属性值。
以上所示的程序或模块,也可以存储在外部的存储介质上。作为存储介质,除了软盘2090、CD-ROM 2095之外,还能够使用DVD或CD等光学记录介质、MO等光磁记录介质、带介质、IC卡等半导体存储器等。此外,也可以使用在连接到了专用通信网络或因特网等的服务器系统中设置的硬盘或者RAM等存储装置作为记录介质,经由网络将程序提供至计算机1900。
以上,使用实施方式对本发明进行了说明,但是本发明的技术范围并不限于在上述实施方式中所记载的范围。对于本领域技术人员来说明显地,可以对上述实施方式加以多种变形或改进。从权利要求的范围的记载可以明了,加以了这样的变形或改进而得到的方式也包含在本发明的技术范围中。
应该注意,权利要求、说明书及附图中所示的装置、系统、程序及方法中的工作、顺序、步骤及阶段等各处理的执行顺序,并未特别写明为“在…之前”等,此外,在前的处理的输出并不限于用于在后的处理中,而能够以任意的顺序来实现。关于权利要求、说明书及附图中的工作流程,即使为了方便使用“首先”、“接着”等进行了说明,也并不意味着必须以该顺序来实施。