著录项信息
专利名称 | 共享浏览器的方法和装置 |
申请号 | CN99126444.4 | 申请日期 | 1999-12-18 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2000-08-02 | 公开/公告号 | CN1261699 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 国际商业机器公司 | 申请人地址 | 美国纽约州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 国际商业机器公司 | 当前权利人 | 国际商业机器公司 |
发明人 | 小林真;筱崎雅英;坂入隆 |
代理机构 | 中国专利代理(香港)有限公司 | 代理人 | 吴立明 |
摘要
本发明提供一种共享浏览器的方法和系统,它不需要事先在计算机上安装用于共享的控制器。协作服务器包括缓存管理器,通信管理器,万维网管理器。共享的多个用户计算机带有可以运行JAVA和Script的万维网浏览器,和嵌入在每个网页中的网页管理器。网页管理器包括网页控制器和网页通信器。网页控制器检测网页单元的改变,并通过网页通信器与另一个机器通信,和接收另一个机器的网页中的改变并将同样的改变在自己的网页单元上反应出来。
1.一种带有服务器和多个计算机用于共享浏览器的系统,每个 计算机有用于浏览网页的浏览器,控制所述网页的网页管理器,控 制所述浏览器在所述网页管理器和所述服务器之间进行通信的节点 管理器,其中所述网页管理器嵌入在网页中,并包括:
在自己的网页中检测变化,和将所述变化发送至所述节点管理 器的装置,所述节点管理器发送所述变化至所述服务器;
从所述节点管理器接收另一个计算机的网页中的变化,和将所 述变化反映在自己的网页中的装置;
其中所述服务器包括:
积累网页的缓存管理器;
控制所述多个计算机间的会话的通信管理器;和
将控制网页的网页管理器嵌入在每个网页中的嵌入器。
2.如权利要求1的系统,其中所述网页管理器带有网页控制器 和网页通信器,所述网页控制器:
检测网页中的网页元件的变化,并通过所述网页通信器将所述 变化发送至所述节点管理器;
通过所述网页通信器从所述节点管理器接收另一个计算机的网 页的变化并将接收的变化反应在自己的网页元件中。
3.如权利要求2的系统,其中所述网页元件的变化是网页调入 变化,包括文本和按钮的表格元件的变化,网页滚动条位置的变化 或远程指针的操作。
4.如权利要求1的系统,其中所述网页管理器分析网页的框分 级结构并根据分析的结果与相应的节点管理器通信。
5.如权利要求1的系统,其中所述节点管理器独立于共享浏览 器的网页而存在于网页中和它不移动并用于控制随网页调入动态生 成/终止的网页管理器间的通信。
6.如权利要求1的系统,其中所述节点管理器控制包括网页传 送历史的网页信息。
7.如权利要求1的系统,其中所述网页管理器和节点管理器是 作为JAVA小程序嵌入的,它们有相同的域和在所述网页管理器和节 点管理器之间通过共享存储器进行数据通信。
8.一种在多个计算机间共享浏览器的方法包括步骤:
在激活计算机的所述浏览器时,从服务器调入节点管理器至该 计算机;
建立所述服务器与所述节点管理器之间的通信;
所述节点管理器分配共享存储器;
在所述浏览器查看网页时,在所述服务器上在被请求的网页中 嵌入网页管理器;
通过所述共享存储器建立所述节点管理器和所述网页管理器间 的通信;和
通过所述共享存储器将正在查看的网页的变化发送至所述节点 管理器,或从所述节点管理器通过所述共享存储器接收另一个计算 机的网页中的变化并将所述变化反映到下一页。
技术领域\n本发明涉及共享浏览器的方法和系统,特别涉及使现有万维网 浏览器和万维网网页不需要用户安装而在网页中嵌入控制网页中的 每个部分的工具而高性能和实时地共享浏览器的方法和系统。\n背景技术\n已知有几种通过使用现有的万维网浏览器以象-是(as-is) 形式共享标准万维网浏览器的方法。例如,已知的日本专利申请No. Hei 9-254997等。但是,在这种背景技术中,需要每个用户有一个 事先安装的共享系统。在日本专利申请No.Hei 9-254997中,通过 两个接口交换共享数据而实现浏览器状态的同步,两个接口分别是 包括在浏览器中的应用程序(具体来说,网页调入的信息事件的函 数,当前页和页面的设置的查询)和操作系统级的接口(具体来说, 浏览器窗口的消息队列的取(GET)和置(SET)函数)。此时,应用 程序接口和消息队列接口只能从浏览器应用程序进程以外访问,和 因此,由于实现共享的模块在浏览器以外,它必须事先安装并且不 能象小应用程序(applet)那样自动下载。它的另一个问题是必须 在每个独立的平台上安装,这是由于它依靠运行浏览器的操作系统 或视窗系统。\n图1示出日本专利申请No.Hei 9-254997的浏览器共享的操 作。为共享协作服务器(collaboration server)上的万维网服务 器的网页,需要事先为每个用户和调用中心操作员安装浏览器以外 的共享(万维网共享)程序。共享程序通过钩浏览器API和事件允 许共享。还有,由于这个程序依靠运行浏览器的操作系统或视窗系 统,它必须在每个平台上安装。\n发明内容\n本发明是针对背景技术的上述问题而作出的,和本发明的一个 目的是提供一种共享浏览器的方法和系统,它不需要事先在计算机 上安装共享控制器。\n本发明的另一个目的是提供一种不依靠操作系统或视窗系统的 函数并可在不同平台上运行的共享浏览器的方法和装置。\n进一步的目的是提供一种应用程序所需要的先进的共享功能 (例如,允许用户进入录入表格的一个域而禁止移入另一个网页) 的共享浏览器的方法和装置。\n另一个进一步的目的是提供一种实时共享浏览器的方法和装 置,它需要共享浏览器较少的数据量和使得即使在如家庭这样的最 终用户环境的窄频宽上都有较好的响应。\n为到达上述目的,本发明如下组织。第一,协作服务器用于积 累来自保存原始网页的万维网服务器的要共享的网页。协作服务器 (以下称为“服务器”)包括用于动态积累在原始万维网服务器上动 态生成的用于共享的网页的缓存管理器,用于控制例如在控制每个 用户机的节点管理器间通信和加入和退出的会话的通信管理器,用 于下载实现万维网服务器共享(节点管理器和页面管理器)和将控 制网页的网页管理器嵌入在每个网页中的嵌入体的工具的一般的万 维网管理器。\n共享的多个用户计算机带有现有的可以运行JAVA和Script的 万维网浏览器,和嵌入在每个网页中的网页管理器。网页管理器包 括两部分,分别是,网页控制器和网页通信器。网页控制器检测网 页元件的改变,并通过网页通信器与另一个机器通信,和接收另一 个机器的网页中的改变并将同样的改变在自己的网页元件上反应出 来。网页元件中的改变是指网页装入,作为表格单元的文本的值和 按钮的改变,网页的滚动条位置的改变,和远程指针的操作,等。 网页通信器管理节点管理器和网页控制器之间的通信。控制浏览器 的节点管理器提供给每个进程并管理每个网页管理器和服务器之间 的通信。还有,上述的服务器的硬件配置没有任何特别之处。用户 机和服务器的区别仅在于它们的名称,如果用户机和服务器是完全 一样的硬件也没有问题。\n图2示出本发明的整个配置的示意图。协作服务器包括一个缓 存管理器,一个一般的万维网服务器(httpd),一个通信管理器, 和一个嵌入网页管理器的嵌入体,缓存管理器收集在原万维网上动 态生成的用于共享的网页,万维网服务器用于下载实现万维网服务 器的共享的工具,通信管理器用于控制在每个用户机上的节点管理 器之间的会话。共享多个计算机(用户机)的工具包括两个部件, 分别是,用于控制每个浏览器(万维网浏览器1或万维网浏览器2) 的每个进程的模块(节点管理器)和用于控制每个网页的模块(网 页管理器)。网页管理器监视网页中的每个网页元件的状态,检测改 变和与相应的网页管理器远程交换数据以使每个网页元件设置为相 同的状态。还有,为了在嵌套框结构的窗口中同步,网页管理器检 查框的分级结构(第n级嵌套的第n个位置)和,将此作为一个标 识,与相应的网页管理器通信。该分级结构信息可以不受跨框安全 工具限制而在任何一个浏览器上得到。虽然图2中只示出了两个用 户机,三个或更多机器之间相似地共享一个浏览器是可能的。\n控制浏览器的节点管理器进行网页管理器和服务器之间的通信 (会话和同步)。节点管理器位于网页中,独立于共享的万维网窗口 并且不移动,和控制网页管理器之间网页调入时动态地生成/终止的 通信。它还控制跨网页信息,例如历史记录。网页管理器和节点管 理器作为有相同域的JAVA小应用程序嵌入。因此,与网页管理器嵌 入其中的原网页的域无关,通过存储器共享的数据通信可在网页管 理器和节点管理器之间在任何浏览器上进行,而不受跨框安全工具 的限制。\n按照上述方式配置,由于网页共享工具嵌入在现存的HTML网 页中,使得在现存的万维网服务器和浏览器之间不改变其原始结构 而实时共享万维网浏览器成为可能。\n本发明可以实现背景技术不能实现的在多个用户中实现实时共 享浏览器的功能。此外,网页调入同步,滚动操作同步,远程指针 同步和注释同步是可能的,和客户机只需要有包括JAVA和script 功能的现有的浏览器。和,由于它不需要外部程序或安装插入模块, 提供了一种不给用户增加安装负担和需要较少同步通信量的共享浏 览器系统。\n附图说明\n图1是传统浏览器共享的一个例子。\n图2示出本发明的整个配置的框图。\n图3示出本发明的浏览器的内部操作框图。\n图4示出嵌套框中的网页调入的过程的一个例子的框图。\n图5示出根据本发明的方法直至浏览器可被共享的流程图。\n图6示出根据本发明的方法被共享后的共享用户操作的流程图。\n图7示出本发明采用的服务器和多个计算机的硬件配置的框图。\n具体实施方式\n以下以图3中的浏览器内部的操作基础,详细说明浏览器共享 系统的操作。\n1.节点管理器的状态\n节点管理器在作为共享的开始用户登录到一个网页或按共享开 始键时一个新的浏览器窗口打开时调入该窗口。从用户的角度看, 该窗口独立于共享的窗口存在并在共享会话期间不关闭。在此窗口 中,显示用于切换远程指针和正常模式等的用户界面。在该节点管 理器和作为服务器的一个部件的通信管理器之间设置一个JAVA插 座,使得在多个用户机之间可交换共享的数据。此外,分配共享存 储器作为节点管理器小应用程序的类变量。在其中,有一个网页管 理器的消息队列。\n2.网页管理器嵌入共享网页\n网页管理器包括网页控制器和网页通信器,网页控制器由 script组成以控制每个网页元件,网页通信器由小应用程序制成, 通过消息队列与节点管理器通信。这两个模块由服务器的嵌入器模 块嵌入。作为实际代码的一个例子,以下代码紧接着标签, 在读出HTML网页中的字符串时出现。
\n由于网页通信器和节点管理器有相同的域,可避免安全问题而 交换数据,而与被嵌入的网页的域无关。因此,包括多个域的多框 网页可以共享。\n3.网页管理器检测共享页中的网页元件的改变\n网页控制器检测以下元件的本地变化和将它们与相应的网页控 制器远程通信,使得网页之间实现同步。\n3-1.同步网页调入的机制\n一个网页随以下操作而产生变化。\n(1)用户操作点击网页中的链接。\n(2)用户操作对浏览器的菜单(选择返回/前进按钮和书签) 操作。\n(3)由网页中的描述自动调入(由META语句和小应用程序或 script中的描述指定)。\n其中,与以下描述的检测表格中的元件的变化相同,通过检测 和通信点击事件,(1)被同步。在(2)和(3)的情况下,由于当 前页上的网页控制器不能检测到调入请求事件,新调入的网页中的 网页控制器向另一个节点寄送一个新的URL。这里,图4示出在嵌套 框中处理网页调入的过程的一个例子。图4的步骤1示出浏览器1 和2的初始状态。图4示出以下初始状态(同步状态)切换至终止 状态(同步状态)的情况(框组2跳转至框组3的情况)。\n初始状态 FRAMESET[S1] FRAME[F1] FRAMESET[S2]\n FRAME[F2]\n FRAME[F3]\n FRAME[F4] 终止状态 FRAMESET[S1] FRAME[F1] FRAMESET[S3]\n FRAME[F5]\n FRAME[F6]\n同时,S1和S2是框组(FRAME SET)1,框组2的缩写,和F1, F2,F3,F4,F5和F6分别是框1,2,3,4,5和6的缩写。框组的 调入是由包含在第一框的网页中的网页管理器进行的(在它进一步 嵌套和第一元件也是框组的情况下,它应当一个接一个向下走)。\n在图4的步骤2,由于框组2跳转到框组3,框2,3和4的网页 管理器被首先破坏并且相关的消息队列被释放。\n在图4的步骤3,框5和6被调入。相关的消息队列被设置,和 框5的网页管理器发出“调入框组3”的消息。\n在图4的步骤4,浏览器2的节点管理器将消息分发到相同的框 分级的消息队列,和框2的网页管理器调入框组2的URL。和它返回 到同步状态。\n3-2.表格元件的改变事件\n对于例如文本域或按钮的表格元件的同步,根据它们的属性采用 两个方法检测变化。\n(1)用事件句柄的钩来检测用户操作事件。\n(2)对于改变时不需要产生事件的元件,通过定时器的轮流检 测来检测事件。\n由于方法(2)是背景技术,所以省略对它的描述。在(1)的情 况下,由于用户对于例如按钮的表格元件的操作产生一个点击事件, 可能采用由网页管理器的点击事件的所谓的钩将它自己的处理程序 设置成点击事件处理程序。总的来说,在JAVASCRIPT或 VisualBasicScript中存在例如按钮的元件已经描述了用户定义事件 的情况,和在这种情况下,原处理程序由于网页控制器仅仅替换事 件处理程序而未执行,使得原网页不能象原来描述的进行。因此, 在网页调入时重写原处理程序,增加一行跳转至钩处理程序。这样, 使得网页控制器钩上一个事件而不影响原处理程序成为可能。\n3-3.网页滚动\n由于可以很容易的通过钩上一个滚动产生的事件(ONSCROLL)而 检测到位置,拖动滚动条持续产生事件和引起过多的通信量,因此 位置通过定时器的轮流检测而检测。\n3-4.远程指针的操作\n例如,在微软公司的互联网探索者的情况下,通过用以下方式作 为一个DIV元件加入在网页中,远程指针可以加入到任意网页中。 在网景公司的网景通信者的情况下也可用相同的技术实现。 var str=′
′; document.body.insertAdjacentHTML(″AfterBegin″,str);\n在窗口的鼠标移动事件中通过移动DIV至相应的位置而移动指 针。\n图5说明本发明的方法直至浏览器被共享的处理流程图。当作为 共享的开始用户登录到一个网页或按网页上提供的开始共享键,共 享进程开始。在步骤510,打开一个新的窗口,和节点管理器被调入。 节点管理器的窗口独立于共享浏览器窗口而存在,和在共享会话期 间不关闭。在节点管理器窗口中,可以显示切换远程指针和正常状 态等的用户界面。在步骤520,作为协作服务器的部件的通信管理器 和节点管理器通过JAVA的插座而连接。该插座用于在节点之间交换 共享的信息。在步骤530,网页管理器带有服务器嵌入模块被嵌入到 HTML网页中。但是,网页管理器包括网页控制器和网页通信器,网 页控制器由script组成,用于控制每个网页元件,网页通信器由小 应用程序组成,用于通过消息队列与节点管理器通信。由于网页通 信器与节点管理器属于相同域,数据可以避免安全问题而交换,而 与被嵌入的HTML网页的域无关。因此,共享包括多个域的网页的多 框网页成为可能。以上描述包括直至浏览器被共享的处理。\n图6说明提供本发明共享浏览器后用户操作共享浏览器的过程的 流程图。实际应用中,由于根据流程图描述的限制,当产生一个事 件和为该事件设置的句柄激活时,使用了判断部分。还有,即使在 未使用句柄的进程的情况下也为正常处理设置了定时器,在流程图 中使用了循环。\n在步骤610,浏览器调入嵌入了网页管理器的HTML网页。接着, 在步骤620,作为节点管理器的小应用程序的类变量分配共享存储 器。生成网页管理器的消息队列。还有,网页控制器为点击事件处 理程序设置自己的句柄。\n还有,如果需要,可以为其他事件提供相同的处理。在步骤630, 对作出终止判断。如果按下共享终止键,共享被终止。在步骤640, 作出网页调入判断。当前网页控制器在用户点击网页的情况下检测 到点击事件而决定网页调入。由浏览器菜单的操作(返回,前进, 书签)或网页描述(META语句,小应用程序,script)产生的调入 由新调入的网页中的网页控制器根据浏览器窗口的位置属性而决 定。\n在步骤642,进行网页调入处理。在用户操作浏览器菜单或网页 描述而调入网页的情况下,新调入网页的网页控制器寄送新的URL 至另一个节点。在步骤644,网页被卸载。浏览器在网页调入的同时 卸载当前网页。和在步骤646,网页管理器被终止。在卸载当前网页 的过程中,该网页的网页管理器被终止。此时,网页管理器的消息 队列被删除和该共享存储器被释放。\n在步骤650,作出表格的判断。对于同步例如文本域或按钮的表 格元件,通过两种方法按照它们的属性进行判断。用户操作事件由 钩上一个事件句柄来判断。在改变时不生成事件的元件的改变由检 测定时器的值来判断。在步骤655,进行表格处理。如果用户操作是 产生事件的一类,进行步骤642中网页调入的相同处理。对于在改 变时不产生事件的元件的变化,改变的表格元件的值被发送到另一 个节点。其后处理返回步骤630。在步骤660,作出滚动的判断。滚 动操作是通过定时器检测位置判断的。在步骤665,进行滚动处理。 新的滚动的位置被发送到另一个节点。其后处理返回至步骤630。在 步骤670,作出指针判断。它由窗口的鼠标移动事件判断。在步骤685, 进行指针处理。新指针的位置被发送到另一个节点。可按如下方式 在任何一个网页中作为DIV元件加入指针。 var str=′
′; document.body.insertAdjacentHTML(″AfterBegin″,str);\n指针通过移动DIV而移动至从鼠标移动事件中获得的位置。其 后处理返回步骤630。在步骤680,作出接收的判断。网页通信器通 过检查消息队列判断是否从另一个节点接收了消息。在步骤685,进 行接收处理。根据接收的内容,进行适当的处理。\n当接收了由用户操作浏览器菜单或网页中的描述引起的指示网 页调入的消息时,接收的URL被置于窗口的位置处并且相同的HTML 网页被调入。当接收了表格元件的值改变的消息时,表格元件的值 按指令改变。当接收了滚动条的位置改变的消息时,滚动条的位置 按指令改变。当接收了指针位置改变的消息时,指针位置按指示改 变。\n图7示出本发明使用的服务器和多个计算机(用户机)的硬件 配置的一个实施例。系统100包括中央处理单元(CPU)1和存储器 4。CPU 1和存储器4通过总线2和通过IDE控制器25与作为辅助存 储器的硬盘设备13(或例如MO 28,CD-ROM 29和DVD 31的存储媒 体驱动器)连接。相似地,CPU 1和存储器4通过总线2和通过SCSI 控制器27与作为辅助存储器的硬盘设备30(或例如MO 28,CD-ROM 29和DVD 31的存储媒体驱动器)连接。软盘驱动器20通过总线2 和通过软盘控制器19连接。\n软盘插入软盘驱动器20中,和在该软盘,硬盘设备13(或例如 MO,CD-ROM和DVD的存储媒体)和ROM 14上记录有实现本发明并 与操作系统协作发送指令至CPU的计算机程序代码或数据,它可以 调入存储器4并执行。该计算机程序代码可被压缩或分成两个或多 个以记录到两个或多个媒体上。\n系统100可进一步带有用户接口硬件和包括指针设备(鼠标, 游戏杆,等)7或用于输入的键盘6和为用户提供可视数据的显示器 12。它还可以通过并口16连接打印机和通过串口15连接调制解调 器。该系统100还可以通过串口15和调制解调器或通信适配器(以 太网或令牌环卡)等与网络连接,从而与其他万维网服务器通信。 还有,它可以与串口15或并口16的远程发送器-接收器连接,通 过红外线或电波的方式交换数据。\n扬声器23接收语音信号,语音信号是由音频控制器21进行D/A (数/模)转换的并通过放大器22作为语音输出。此外,音频控制 器21使得A/D(模/数)转换由麦克风24接收的语音数据并将其从 系统外捕获成系统语音数据。\n因此,很容易理解本发明的服务器和多个计算机是通过带有通 信功能的通信终端实现的,包括一般的个人计算机(PC)或工作站, 便携式PC,掌上PC,网络计算机,带有内置计算机的家用电器,例 如TV顶置盒,带有通信功能的游戏机,电话,传真机,可携带电话, PHS电话,电子计事簿或以上的组合。但是,这些部件只是例子,本 发明并不需要必须包括以上所以部件。
法律信息
- 2019-12-06
未缴年费专利权终止
IPC(主分类): G06F 17/30
专利号: ZL 99126444.4
申请日: 1999.12.18
授权公告日: 2003.09.03
- 2003-09-03
- 2000-08-02
- 2000-05-17
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
1997-09-25
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |