CN1729461A - 通过利用客户机处理能力来减小远程应用的带宽要求的系统和方法 - Google Patents

通过利用客户机处理能力来减小远程应用的带宽要求的系统和方法 Download PDF

Info

Publication number
CN1729461A
CN1729461A CN200380107291.4A CN200380107291A CN1729461A CN 1729461 A CN1729461 A CN 1729461A CN 200380107291 A CN200380107291 A CN 200380107291A CN 1729461 A CN1729461 A CN 1729461A
Authority
CN
China
Prior art keywords
code
dps
data
client computer
remote application
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN200380107291.4A
Other languages
English (en)
Inventor
雅各布·德里奇
露易斯·德里奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jackbe LLC
Original Assignee
Jackbe LLC
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 Jackbe LLC filed Critical Jackbe LLC
Publication of CN1729461A publication Critical patent/CN1729461A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Abstract

一种减少远程应用表格的传输代码的方法和系统。在客户机数字处理系统(DPS)接收使一个或多个函数与远程应用链接的第一代码。每个函数包含产生对象结构代码的指令代码和一组对象参数。对象结构代码被用于产生对应的对象。使一个或多个函数与远程应用表格链接。接收第二代码以便调用一个或多个函数。一个或多个函数被调用,从而在客户机DPS构成一个或多个对象。根据对象参数,构成的一个或多个对象被呈现为远程应用表格的一部分。

Description

通过利用客户机处理能力来 减小远程应用的带宽要求的系统和方法
技术领域
本发明涉及远程应用领域,更具体地说,涉及减少这种应用程序的传输数据的系统和方法。
背景技术
因特网已成为与以各种格式可得到巨大信息仓库通信的主干。许多公司正在开发在因特网上使用的、简化实时决策过程(例如事务型应用程序)的各种应用程序。一般来说,这些远程应用包含远程数据的双向或单向访问。
由于其性能和可靠性方面的问题,用于此用途的因特网的全部潜力仍然无法被实现。具体地说,因特网的性能局限性之一是带宽问题。现代的远程应用要求大量信息的高速传输。当在低带宽数据传输介质,例如一般的电话线路上使用这样的应用程序时,应用不能正确地运行和/或会导致较长的等待时间。在支持许多用户(即具有低的带宽-用户比)的高带宽环境中,这种问题也是明显的。对于本公开来说,术语“低带宽”指的是实际低带宽或者低的带宽/用户比。低带宽/用户比,因特网服务提供商(ISP)的基本设施,到因特网主干线的网关,或者内容提供商的Web服务器和/或应用服务器可能导致瓶颈。消除这些问题可能是成本高得惊人或者不切实际。例如,不仅增大带宽成本高昂,而且在一些缺少增大带宽的基本设施的区域中,实际上不可能增大带宽。
增大带宽要求归因于传输的数据的复杂性不断增大,以及因特网如何交换信息。因特网一般使用超文本置标语言(HTML)和其相关格式,例如可扩展置标语言(XML)和动态HTML(DHTML)。因特网还可使用超文本传输协议(HTTP),文件传输协议(FTP)和其它基于传输控制协议/网际协议(TCP/IP)的相关通信协议。
HTML定义指示web浏览器如何显示文档的内容的特殊的嵌入式指示的语法和布置,所述文档由一个或多个HTML文本文件或相关的介质文件,或者许多格式,包括文本、图像或其它支持介质的其它嵌入式文件组成。HTML指令web浏览器客户机应用程序如何通过特殊的超文本链接或者通过嵌入式程序,比如Java小应用程序使文档交互作用,所述嵌入式程序使文档与其它文档连接,以及与其它因特网资源连接。另外,嵌入式程序能够并且通常确实包含它们自己的呈可执行代码形式的交互逻辑和相关资源。
服务器数字处理系统(服务器DPS)一般运行web服务器和/或应用服务器程序来使文档,一般是用HTML语言编写的超文本文档可用。Web服务器和/或应用服务器一般具有运行外部程序的标准接口,例如公共网关接口(CGI),Java小服务程序,Java服务器页(JSP)和活动服务器页(ASP)或者其它服务器端解决方案。这样的程序处理输入的信息请求,并返回恰当的文档或者动态产生文档。例如,网关可接收查询,确定响应,把响应转换成HTML页,从而服务器DPS可把结果发送给客户机数字处理系统(客户机DPS)。客户机DPS一般运行web浏览器(允许从服务器DPS取回并显示信息的程序)。服务器端技术,例如JSP和ASP使用处理以脚本语言或者Java编写的命令的脚本引擎或Java。
web服务器和/或应用服务器和web浏览器利用HTTP通信。在HTTP中,web浏览器建立与web服务器和/或应用服务器的连接,并把HTTP请求消息发送给服务器DPS。作为响应,web服务器和/或应用服务器检查授权,执行任何请求的动作,并返回包含由请求的动作产生的HTML文档的HTTP响应消息,或者错误消息。web服务器和/或应用服务器随后取回所述文档,并在HTTP响应消息中将其返回给Web浏览器。
客户机DPS可向服务器DPS申请使用应用文档,例如事务型应用表格。客户机DPS的申请导致在服务器DPS上构成整个表格。该表格随后被打包并传送给客户机DPS。一般来说,客户机DPS接收HTML代码,并在客户机DPS解析和呈递该表格。
图1图解说明根据现有技术的,客户机DPS向服务器DPS请求并接收远程应用表格的进程。图1中所示的进程始于操作105,其中客户机DPS请求使用远程应用表格。可按照各种方式,包括通过因特网,企业内部网,外联网,局域网(LAN),广域网(WAN)以及其它网络,和它们的组合,从客户机DPS向服务器DPS发出所述请求(申请)。为了方便起见,客户机DPS和服务器DPS之间的数据传输路径被称为“云”(cloud)。通过云的申请的传输受到可用带宽的限制。由于所述申请一般只是少量的数据,因此该瓶颈不会导致明显的时延。
在操作110,服务器DPS接收申请。所述申请由服务器DPS的web服务器/应用服务器接收。
在操作115,服务器DPS确定所述申请是否是对标准接口文件(对本例来说,JSP文件)的请求。如果所述申请是JSP文件,那么在操作116,服务器执行JSP处理操作。JSP文件被取回并被传给小服务程序引擎。如果JSP先前未被例示,那么小服务程序引擎解析JSP文件,并产生小服务程序源代码。小服务程序引擎随后编译源代码,并例示该小服务程序。在操作117,小服务程序随后输出标准HTML代码。
如果在操作115,申请不是JSP文件,那么在操作118,服务器DPS从虚拟目录获得HTML代码。
在操作120,HTML代码(来自JSP小服务程序或来自虚拟目录)通过云从服务器DPS被传送给客户机DPS。该HTML代码相当巨大,会在传输中导致较长的时延,尤其是对于低带宽/用户环境来说。
在操作125,客户机DPS接收HTML代码。HTML代码在客户机DPS被接收,并在被解析和呈递之前可被缓存。这种缓存在呈现远程应用表格方面加入了时延。
在操作130,在所有传输代码已被解析和呈递之后,在客户机DPS完成远程应用表格呈现。
归因于HTML是如何构成的,在这样的方案中传送的许多代码与文档的格式化结构相关。这相当于并不提供特定于用户的益处的大量的传输数据。已用成功程度不同的几种途径解决了这种情形。例如,为了避免每次向客户机DPS传送文档,终端服务器模拟在客户机DPS的屏幕。这在实际运行应用程序的服务器DPS上开启一个客户机会话,只有屏幕模拟被传送给客户机DPS。即,不包括典型web页传输的呈现代码或逻辑。客户机DPS具有应用模拟器,并且只传送与表格的交互作用(即,键入的输入和/或鼠标移动)。借助终端服务器,各种算法被用于减少所需的数据传输。终端服务器允许减少客户机DPS上的处理能力,但是在服务器DPS上,处理要求显著增大。这样的方案并不向诸如典型的(模拟)电话线路之类的低带宽/用户介质提供明显的缓减,并且具有众多的其它缺陷。一个缺陷是初始设置需要大约几兆字节(MB)的数据传输,它以插件、对象的形式被安装在客户机DPS上,或者直接被安装到客户机DPS硬盘上(即,不安装到浏览器高速缓冲存储器中)。于是,这种安装越过了安全屏障。这种安装需要明确的用户许可,改变了客户机DPS的配置,产生冲突可能性及不可靠的弱点的了解。另外,终端服务器是特定于系统的。即,由于需要在客户机DPS上的安装,因此终端服务器并不是与系统无关的。此外,在用户缺少能够安装初始组件的管理权,或者终端服务器不能通过防火墙或代理的情况下,终端服务器会变得不可用。
减少事务型应用表格中的所需数据传输的数量的另一种尝试是在客户机DPS上产生某一环境,以改变与服务器DPS的交互作用的安装方案。其一个例子是Java虚拟机(JVM),它是运行Java小程序的独立操作环境。JVM的原理是在客户机DPS上安装与操作系统和浏览器无关的环境。由于它可减少不断传送文件结构化代码的需要,因此它有可能能够减少数据传输。
但是,由于需要初始安装,因此JVM也具有终端服务器的缺陷。对于JVM来说,由于JVM需要对象和额外的类别,因此初始安装可能高达11MB。JVM不仅安装其整个环境,而且每个应用需要它自己的专用环境(即,向服务器请求另外的类别)。由于不得不访问更多的数据,应用程序行动迟缓。此外,JVM要求更大的客户机DPS处理能力。JVM适用于小型的特别集中的应用程序,但是通常,JVM仍然需要如此多的代码,以致它不能显著减少事务型应用表格的所需数据传输的数量。
远程应用表格的通过云传输的过量数据的另一例子是提交和数据确认过程。许多远程应用要求用户输入将由服务器DPS确认的数据。一般来说,用户必须提交完整的表格,在试图确认具体输入之前,服务器DPS必须接收所述完整表格。如果在完成该表格方面存在错误,那么必须采用整页生成过程来重新生成恰当地把值加入到字段和错误消息中的页。如果在用户输入数据中没有检测到任何错误,那么服务器DPS产生包含确认信息的页。该页随后通过云被传送给客户机DPS由用户核实。如果用户核实后提交该表格,那么可继续进行对应的数据库进程和其它任务。如果用户不能核实数据,那么如上所述必须采用页生成过程。该过程不仅需要通过云的大量数据传输,而且在由于错误输入的缘故而传输和/或重新生成页时,导致相当长的等待时间。
典型的远程应用的另一缺陷在于它们一般被较差地呈现。这种“外观和感觉”或用户友好性特征与典型的远程应用以批处理模式运行、并且不能与服务器实时交互作用的事实有关。一般来说,表格相当长,导致用户不得不滚动,并且在表格完整之前,不从服务器提供任何反馈。典型的远程应用不能以“聊天”模式运行,因为关闭、传输和重新打开该页的连续过程会导致延迟并且打乱的表现。
需要一种减少客户机DPS和服务器DPS之间的经过云的数据传输的有效系统和方法。这样的数据传输可包括数据文件或一批数据文件的传输,包括文本、音频、介质、嵌入式程序、可执行代码或者在主服务器DPS公布的其它数据的传输。这样的系统应减少访问和呈现远程应用表格期间的、以及关于提交和数据确认的数据传输。
最好,这样的系统不应需要在客户机DPS上的安装(即,采用零安装技术),并且不应修改客户机DPS的安全端(side)。这样的系统还应通过代理和防火墙。此外,这样的系统应为远程应用提供用户友好的交互作用(例如图形用户界面和“聊天模式”)。
在客户机DPS正在通过低带宽/用户介质访问高带宽数据应用程序时,对这种系统的需求最明显,尽管这样的系统将要增大一些带宽容量。
发明内容
本发明的实施例提供减少用于远程应用表格的传输代码的方法和系统。在客户机数字处理系统(DPS)接收使一个或多个函数与远程应用链接的第一代码。每个函数包含产生对象结构代码的指令代码和一组对象参数。对象结构代码被用于产生对应的对象。使一个或多个函数与远程应用表格链接。接收第二代码以便调用一个或多个函数。一个或多个函数被调用,从而在客户机DPS构成一个或多个对象。根据对象参数,构成的一个或多个对象被呈现为远程应用表格的一部分。
根据附图,以及根据下面的详细说明,本发明的实施例的其它特征和优点将是显而易见的。
附图说明
参考用于举例说明本发明的实施例的下述说明和附图,可更好地理解本发明。附图中:
图1图解说明根据现有技术的,其中客户机DPS向服务器DPS请求和接收远程应用表格的过程;
图2图解说明根据本发明的一个实施例的,其中传送、接收和处理允许减少数据传输的应用程序的数字处理系统(DPS)的网络;
图3是根据本发明的一个实施例的系统的结构示意图;
图4是图解说明根据本发明的一个实施例的,其中客户机DPS访问并呈现允许减少数据传输的远程应用的过程的流程图;
图5是图解说明根据本发明的一个实施例的,其中对照服务器DPS数据库确认用户输入数据的过程的流程图;
图6是图解说明根据本发明的一个实施例的,其中刷新远程应用表格的过程的流程图;
图7是图解说明根据本发明的一个实施例的,其中在客户机DPS完成用户数据输入类型确认和字段完成确认的过程的流程图;
图8图解说明根据本发明的一个实施例的可用于服务器DPS或客户机DPS的数字处理系统的一个实施例。
具体实施方式
本发明的一个实施例显著减少了远程事务型应用表格的在服务器DPS和客户机DPS之间传送的所需代码的数量,同时保持了全部和附加的功能。虽然描述了具体例子,为了划定本发明的范围,术语表格一般指的是为在远程应用上使用而产生的对象的任意组合。对于一个实施例来说,这是通过减少对客户机的数据传输来完成的。对于一个实施例,在客户机DPS访问远程应用表格之后,服务器DPS把由许多函数组成的核心库传送给客户机DPS。核心库被保存在客户机DPS的浏览器高速缓冲存储器上。核心库包括称为类属微型汇编器(GMA)的一组函数。GMA被用于在客户机DPS上构成类属(例如通常使用的)对象。即,初始传输内的代码调用GMA的函数来产生HTML代码,从而构成类属对象。HTML代码的产生和对象的构成在客户机进行,而不是在服务器DPS进行。对象是事务型应用表格的一部分,并且可以是要交换的各种字段的信息,包括文本、文本区、复选框等。对于一个实施例,当产生文档时,标准接口程序的程序逻辑请求特定应用所需的其它对象,并向服务器DPS请求构成这些对象所需的函数。构成这样的对象所需函数被称为专用微型汇编器(SMA)。
本发明的一个实施例的预期优点是减少远程应用的传输数据的数量。本发明的一个实施例的另一预期优点是通过带宽/用户比较低的介质提供全功能事务型应用。本发明的一个实施例的另一预期优点是在客户机DPS完成多数远程应用表格处理,从而释放服务器DPS处理资源。本发明的一个实施例的另一预期优点是在初始下载大大减少,并且不在客户机上进行任何安装(即,采用零安装技术)的情况下,提供事务型应用表格。本发明的一个实施例的另一预期优点是在不修改客户机DPS的安全端的情况下,提供对远程应用的访问。本发明的一个实施例的另一预期优点是向远程应用提供用户友好的交互作用。本发明的一个实施例的另一预期优点是向客户机DPS提供在客户机DPS上构成应用对象的函数。本发明的一个实施例的另一预期优点是一开始只提供构成类属对象所必需的那些函数,提供确认,并向远程应用提供用户友好的交互作用。
在下面的说明中,陈述了各种具体细节。但是,可在没有这些具体细节的情况下实践本发明的实施例。在其它情况下,为了不使下面的说明变得难以理解,没有详细表示公知电路、结构和技术。
说明书中对“一个实施例”或“某一实施例”的引用意味着结合该实施例描述的特定特征,结构或特性被包括在本发明的至少一个实施例中。从而,短语“在一个实施例中”或“在某一实施例中”在本说明书中各个地方的出现不一定都指的是相同实施例。此外,特定的特征、结构或特性可在一个或多个实施例中按照任何适当方式组合。
图2图解说明根据本发明的一个实施例的其中可传送,接收和处理允许减少数据传输(RDTE)应用程序的数字处理系统(DPS)的网络。DPS的网络200包括多个客户机DPS205a-205d,与表示成服务器DPS220的一个或多个服务器DPS220耦接。服务器DPS220和客户机DPS205a-205d被配置成传递多个各种数据文件。例如,根据本发明的一个实施例,服务器DPS220保存有供客户机DPS访问的减少数据传输的应用程序221。数据文件可和事务型应用表格有关,或者可以是许多不同类型的文件,例如包括视频、音频、图形、文本、多介质等的任意组合。例如,数据文件可以是音频/视频文件,例如具有活动图像和声音的程序。通过任意类型的通信网络,例如(但不限于)因特网,广域网(WAN)(未示出),或局域网(LAN),企业内部网等,数据可在服务器DPS和客户机DPS之间传递,多个不同的设备可通过所述任意类型的通信网络通信。例如,如图2中所示,客户机DPS205a和205d通过LAN211与服务器220耦接,而客户机DPS205b和205c通过因特网210与服务器220耦接,因特网210是具有如上所述传递数据的方法,并且为本领域的技术人员公知的网络的网络。耦接服务器DPS和客户机DPS的通信链路不一定是直接链路,可以是间接链路,包括(但不限于)广播无线信号,网络通信等。
下面参考图8说明了根据本发明的一个实施例的可用于服务器DPS220或客户机DPS205a-205d的数字处理系统的一个实施例。
图3是根据本发明的一个实施例的系统的结构概述图。图3中所示的例证系统300被表示成以Java为中心的环境(例如Java2平台企业版(J2EE))。这只是用于举例说明,本发明不应被理解为局限于此。
系统300包括服务器层301,后端302和客户机层303的例证实施例,如下进一步说明。
服务器层301包括应用程序开发环境,例如J2EE web容器310。Web容器310包括HTML代码311和RDTE远程应用HTML代码311a;小服务程序312和RDTE小服务程序312a;JSP313和RDTEJSP313a;和CGI314和RDTE CGI314a。web容器310还包括RDTE远程应用核心库315和其它函数316,下面说明。
服务器层301还包括运行通过保存平台逻辑的组件体系结构(例如Enterprise Java Beans)建立的各种组件321的应用程序320。除了其它功能之外,这些组件可提供存储器管理和安全功能。应用程序320可包括允许各种数据文件的产生、管理和传递的计算机间消息接发API322,以及向应用程序提供数据库访问的数据库访问API323(例如Java DataBase Connectivity)。
服务器层301还包括向客户机层302提供RDTE远程应用页,并处理服务器层301和后端302之间的应用操作的web/应用服务器330。
除了其它功能之外,还提供数据库管理功能的后端302包括响应用户查询的各种数据库环境340a-340d。
客户机层303包括客户机DPS web浏览器350,客户机DPS web浏览器350包括HTML解析和表现软件351,脚本函数352,和浏览器高速缓冲存储器353。核心库360保存在浏览器高速缓冲存储器353上,核心库360是用于产生应用页的最常见对象的函数库。根据本发明的一个实施例,当最初访问某一远程应用时,该函数库从服务器DPS被传送给客户机DPS。核心库360包括GMA361,确认函数362,定步器函数363,deltalyzer函数364,用户接口函数365,及其它函数和对象366(例如日期函数,数组函数等)。对于一个实施例,核心库约为15千字节,能够构成多数最常用的HTML对象。附录A包括根据本发明的一个实施例,用于构成输入文本对象或输入口令对象的例证函数。对于一个实施例,这样的函数被包含在GMA中。
不是核心库的一部分的其它函数可在一开始由服务器DPS传送给客户机DPS,并保存在浏览器高速缓冲存储器上。例如,如图3中所示,SMA370a-370c被保存在浏览器高速缓冲存储器360。浏览器高速缓冲存储器360还包括alpha微型汇编器(AMA)375,它是可包括对GMA或SMA的调用的表格专用函数。由于SMA和AMA不是核心库的一部分,因此只有当编程语言包括对它们的调用时,才传输它们。
由于RDTE远程应用的所有函数都保存在客户机DPS浏览器高速缓冲存储器,因此本发明避免了客户机端安装的缺陷。
下面更详细地讨论核心库以及SMA和AMA的各个函数。
类属微型汇编器
作为核心库的一部分的类属微型汇编器(GMA)是提供小型函数的代码库,所述小型函数和参数一起允许客户机DPS汇编常用对象(例如,文本,文本区,复选框等)的HTML代码。对于一个实施例,GMA参数产生特定页的多数必需对象的必需HTML代码。这减少了传输数据的数量,因为服务器不再必须传送每个对象的所有HTML代码。GMA还增加了用于下面进一步讨论的确认过程的确认属性(例如数据类型,所需字段等)。该过程在运行于客户机上的相同环境内发生,从而不必在客户机上安装新环境。另外或者另一方面,GMA可包含直接与文档对象模块(DOM)通信,从而在不产生HTML代码的情况下在客户机上产生对象的指令。这种情况下,服务器调用在GMA中定义的函数来产生特定对象。
专用微型汇编器
GMA被设计成只包含产生最常用对象所需的函数,于是,GMA不包含用于产生HTML代码,从而产生特定表格所需的一些对象的参数。这只是因为该对象未被频繁使用到足以包括在GMA中。即,为了传送尽可能少的数据,GMA必须只包含最基本的对象。对于这样不太常用的对象,程序员可把对专用微型汇编器(SMA)的调用包括在RDTE远程应用代码中,并且依据用户对表格的访问,从服务器DPS传送到客户机DPS。SMA专用于未被频繁使用到足以包括在GMA中的类属对象。例如,用于产生日历的参数可被指定一个SMA(即不包括在GMA中),因为并不是总是需要日历。在一个实施例中,用于产生日历的SMA约为4千字节。
只有当程序员已把对特定SMA的调用包括在编程逻辑中(例如包括在JSP中)时,即,只有当程序员确定特定表格需要该SMA时,客户机DPS才请求SMA。在收到GMA之后,客户机DPS确定当产生表格时需要什么对象,随后向服务器申请所需的SMA。这有助于使核心库的大小保持最小,并减少传输数据的数量。
Alpha微型汇编器
Alpha微型汇编器(AMA)具有特定表格的静态部分。AMA中的函数可包括对GMA中的函数(类属对象)的调用,或者对SMA中的函数(专用对象)的调用。例如,AMA的函数可包括对文本元素或者对日历(如果特定表格需要日历)的调用。本发明的系统能够在许多不同的环境(例如JSP、ASP等)上工作。于是,在服务器DPS上会不得不存在包含把专用AMA用于特定表格的编程逻辑的特定于环境的文档,例如JSP或ASP文档。AMA可手动生成或者通过使用集成编程环境(即集成开发环境(IDE))来生成。下面说明的deltalyzer函数允许把值插入AMA的静态对象中。
Deltalvzers
可采用附加机构来进一步减少所需的数据传输,称为deltalyzing表格。产生表格的包含表格的所有静态部分的AMA。一旦特定表格的这种AMA已被调用,并且驻留在客户机DPS上,那么可从客户机DPS浏览器高速缓冲存储器访问表格的静态部分,从而服务器DPS不必重新传输该数据。当随后使用该特定表格时,服务器DPS只传送与特定AMA交互作用的动态数据。包含表格的静态部分的AMA和与AMA交互作用的动态信息的这种组合被称为deltalyzer。deltalyzer同样可手动生成或者通过使用IDE来生成。
deltalyzer的思想是在静态部分已被传送、并且在客户机DPS上可用的情况下,通过只发送交互式表格的动态部分,减少数据传输。动态结构可包括例如特定名称,电话号码,日期,和其它特定于实例的信息,而静态结构包括该信息被置于表格内的对象和字段。例如,用户第一次访问特定的事务表格时,服务器可传送在客户机DPS上高速缓存的该表格的AMA。服务器随后传送与特定AMA交互作用的动态信息。用户下次调用相同表格时,客户机DPS包含来自浏览器高速缓冲存储器的静态部分,只向服务器DPS申请特定表格的动态部分。于是,在服务器DPS上会不得不存在包含建立特定表格的专用AMA的逻辑的特定于环境的文档。
过程
图4是图解说明根据本发明的一个实施例的,其中客户机DPS访问并呈现RDTE远程应用的过程的流程图。在一个备选实施例中,可包括在客户机DPS接收核心库的初始操作。图4中所示的过程400开始于操作405,在操作405,客户机DPS向服务器DPS请求RDTE远程应用表格。例如,客户机可请求特定的事务型应用表格格。
在操作410,服务器DPS通过云把所请求表格的RDTE代码传送给客户机DPS。由于该代码将调用核心库的函数以及适用的SMA和AMA,因此和典型的现有技术方案相比,传输的代码的数量相当小。该代码通过可用带宽经由所述云被传送,不过由于其大小被减小,因此它被更快地传送,并且限制更少。当初始传送的代码被接收时,它被缓存在客户机DPS web浏览器。
在操作415,客户机DPS web浏览器开始解析并表现来自缓冲器的代码。初始代码包含链接核心库与所述表格的请求。此时,如果核心库还未被保存在客户机DPS的浏览器高速缓冲存储器中,那么浏览器会向服务器DPS请求核心库。在调用核心库时,核心库被包含为缓冲器的一部分。如果表格包含SMA,那么初始代码包含连接特定SMA和表格的请求,并且重复上面关于链接核心库说明的过程。同样地,如果表格被deltalyzed,那么初始代码包含连接适用的AMA与表格的请求,并重复链接过程。
在操作420,浏览器继续解析和表现代码,并确定正在解析的指令是否包含对微型汇编器函数的调用。如果是,那么调用该函数,并根据它已收到的参数,该函数在客户机DPS上产生对应的目标构成代码(例如HTML代码)。(不调用微型汇编器函数的指令由浏览器在操作421按照典型方式处理。)
在操作425,微型汇编器产生的代码被记录为表格的一部分。即,对应于被调用函数的HTML代码现在被包含为所请求的远程应用表格的一部分。
在操作430,如果在缓冲器中存在更多代码,那么如上所述解析和表现所述代码,直到所有传输的代码都已被接收和处理为止。
在操作435,请求的表格被呈现在客户机DPS上,用户能够在客户机DPS的浏览器环境内访问和使用所请求的表格。
作为上面参考图4说明的过程的结果,多数远程应用表格处理在客户机DPS完成,从而释放了服务器DPS处理资源。
其它过程
通过下面讨论的微型汇编器和客户机端确认过程(CSVP)的使用,数据传输要求被显著减小。对于一些事务表格来说,与现有技术方案相比,所述减小可高达80-90%。通过提供一种机构,对于一些应用程序来说,传输数据的数量可被进一步减少,通过所述机构,客户机DPS可在事务期间(例如在完成事务型应用表格格时)与服务器DS通信。本质上,这种能力允许用户把应用程序从批处理模式改变为“聊天”模式。对于一个实施例,通过使用“定步器”(PM)来实现这种功能。
定步器
HTML帧允许程序员用多个视图(例如独立窗口或子窗口)呈现文档。内嵌帧元素(Iframe)允许程序员把HTML文件插入另一HTML文档中。对于一个实施例,本发明的系统使用PM来实现隐藏式Iframe,所述隐藏式Iframe提供允许远程应用按照“聊天”模式,而不是批处理模式操作的备选通信路径。PM向GMA申请产生一个新的Iframe,该新的Iframe随后可被用于请求服务器DPS,并接收响应,之后该新的Iframe可从DOM中清除。这些交互作用可以是时间触发的(在特定的时间或持续时间触发),用户触发的,或者特定动作触发的。在一个实施例中,为了适应同步交互作用,产生一个请求队列,以致当收到后续请求时,服务器DPS还没有回答的请求不会被丢弃。这允许客户机DPS通过服务器DPS更有效地与保存的数据交互作用。
对于本发明的一个实施例,微型汇编器可把一个或多个PM插入RDTE远程应用表格内。根据表格和数据交换的目的,以各种方式嵌入PM。例如,可以不同的方式嵌入PM,以便实现实时数据库确认过程,减小数据传输的刷新过程,除了其它之外还模拟标准的客户机DPS保存过程。PM的使用允许与服务器DPS的无缝干预,从而提供改进的用户交互作用。即,由于PM只允许数据被刷新,因此消除了由表格关闭和重新打开导致的现有技术的数据确认方案的打乱影响。
数据库确认过程
如上所述,PM可被用于确认用户输入数据被包含在后端数据库内。当用户把数据输入例如事务表格的特定字段时,PM使输入的数据与给应用服务器的查询数据库并且确保输入数据正确的请求一起被发送给服务器。只有包含在规定字段中的数据才从客户机DPS被传送给服务器DPS(即,不是像典型的现有技术方案中那样传送整页)。当输入时(即在事务期间),数据被发送给服务器。
图5是图解说明根据本发明的一个实施例的,其中通过后端数据库,经由服务器DPS确认用户输入数据的过程的流程图。图5中所示的过程开始于操作505,在操作505,客户机DPS的用户把要求数据库确认的用户输入数据输入该用户已访问的,并且呈现在客户机DPS上的RDTE远程应用表格的数据输入字段中。例如,该数据可以是与特定客户名称相联系的客户标识数据(CID)。数据库确认对用户证实输入的CID对应于所需的客户。
在操作510,当用户离开数据输入字段时,“onChange”触发器被激活。对于一个实施例,onChange触发器由产生该字段的微型汇编器插入代码中。onChange触发器激活通过云把用户输入数据(例如CID)传送给服务器DPS的对应数据库确认PM。
在操作515,服务器DSP接收该申请。该申请由服务器DPS的web服务器/应用服务器接收。如果申请是关于标准接口文件,例如JSP文件的申请,那么服务器DSP从虚拟目录取回JSP文件。JSP文件被取回并被传送给小服务程序引擎。如果JSP先前未被例示,那么小服务程序引擎解析JSP文件,并产生小服务程序源代码。小服务程序引擎随后编译该源代码,并且例示该小服务程序。
在操作520,利用用户输入的数据(例如CID),查询数据库(例如客户名称数据库)。
如果在操作520,查询没有根据用户输入数据返回任何有效的对应数据(例如客户名称),那么在操作525,服务器DPS通过PM把指示这种情况的少量代码传送给客户机DPS作为答复。例如,代码可指示用户输入的CID不对应于客户名称。对于一个实施例,代码可激活显示非对应信息的弹出式窗口。
在操作526,焦点被重新设置到数据输入字段,并选择数据。
如果在操作520,查询返回有效数据(例如客户名称),那么在操作530,服务器DPS通过PM把包含有效数据(例如客户名称)的少量代码传送给客户机DPS作为答复。
在操作535,客户机DPS web浏览器接收答复,并把查询的数据库数据提供给用户进行确认。对于一个实施例,代码可激活显示对应信息的弹出式窗口。例如,对应于输入的CID的客户名称被输入对应的查阅字段中,从而用户能够确认它是所需的客户。
刷新过程
对于一个实施例,本发明的系统提供实现减少传输数据的数量的远程应用表格刷新过程的能力。PM被用于把指示最后刷新表格的时间的时间戳记和会话标识传送给服务器DPS。服务器DPS随后只传送为调用构成在传输的时间戳记之后的对象的微型汇编器而需要的代码。如果不存在任何新的对象(即,在时间戳记之后),那么服务器为此发送一条消息。这样,当刷新时,客户机DPS不重新申请整个表格,从而与现有技术的刷新过程相比,显著减少了数据传输量。
图6是图解说明根据本发明的一个实施例的,其中刷新RDTE远程应用表格的过程的流程图。图6中所示的过程600开始于操作605,在操作605中,用户启动已被该用户访问、并且呈现在客户机DPS上的RDTE远程应用表格的刷新过程。例如,用户可能正在访问电子邮件表,并且可能正在启动刷新过程以确定是否存在新邮件。刷新过程开始使用定步器把刷新请求传送给服务器DPS。刷新请求包括会话标识和指示最后的刷新过程的时间(即自该最后时间以来,数据被确认为如当前一样)的时间戳记。
在操作610,利用用户标识和时间戳记查询数据库,确定从传送的时间戳记时起,是否存在给特定用户的刷新数据。
在操作615,如果不存在刷新数据(例如没有新的电子邮件),那么服务器DPS传送向客户机DPS提供带有该意思的消息的代码。对于一个实施例,服务器DPS传送的代码在客户机DPS上激活一个弹出式窗口,通知用户不存在新的电子邮件。
在操作620,如果存在刷新数据,那么服务器DPS只传送包括刷新数据(例如新的电子邮件消息)的少量代码。该代码激活一个微型汇编器,导致刷新数据被加入到现有表格中(例如,新的电子邮件消息被加入到收件箱中)。
和现有技术相比,使用PM来确认数据显著减少了传送数据的数量,并且减少了提交表格时的等待时间,因为在提交表格之前,用户输入数据已被确认。PM的另一优点在于减少了服务器DPS执行的处理。
数据类型和字段完成确认过程
各种微型汇编器可通过把触发器插入到对象中,借助对象属性(例如数据类型或所需字段属性),实现数据传输减少过程。这样的触发器可被用于实现客户机端用户输入数据类型和所需字段完成确认,以及提供减少数据传输的刷新过程,如下所述。对于一个实施例,与现有技术方案的包括整个确认脚本相反,本发明的系统提供通过对象属性,实现减少数据传输的确认过程的能力。确认过程允许用户在把表格传送给服务器DPS之前,核实用户输入数据有效和所需字段完成。对于一个实施例,确认过程在表格完成期间确认用户数据输入,并在提交表格时确认所需字段完成。实现这样的确认过程避免了现有技术方案的过多数据传输,现有技术方案的数据传输量可相当于在无数据确认情况下,远程应用的数据传输数量的2-3倍。
图7是图解说明根据本发明的一个实施例的、其中在客户机DPS完成用户数据输入类型确认和字段完成确认的过程的流程图。图7中所示的过程开始于操作705,在操作705,客户机DPS的用户把用户输入数据输入该用户已访问的、并且呈现在客户机DPS上的RDTE远程应用表格的数据输入字段中。
在操作710,当用户离开数据输入字段时,“onChange”触发器被激活。对于一个实施例,onChange触发器由产生该字段的微型汇编器插入代码中。onChange触发器激活包含在RDTE核心库中的数据类型确认函数。
在操作715,确认函数比较输入数据输入字段的用户输入数据的类型与RDTE数据类型属性定义的有效数据类型。对于一个实施例,数据类型属性由产生该字段的微型汇编器插入代码中。
在操作716,如果用户输入数据的数据类型与数据类型属性定义的数据类型不相符,那么代码提供用户输入数据类型不正确的指示符。随后重新聚焦于该数据输入字段并选择数据。对于一个实施例,无效数据指示符被实现成客户机DPS上的弹出式窗口。
在操作717,如果用户输入数据的数据类型与数据类型属性定义的数据类型相符,那么聚焦于下一数据输入字段(如果有的话),根据需要,对所有数据输入字段不断重复数据类型确认的过程。
在操作720,在最后的数据输入字段已被确认之后,用户提交该表格。所述提交激活onSubmit触发器,onSubmit触发器激活包含在RDTE核心库中的所需字段完成确认过程。对于一个实施例,onSubmit触发器由产生RDTE远程应用表格的微型汇编器插入代码中。
在操作725,所需字段确认过程从RDTE远程应用表格的第一数据输入字段开始,并确定该字段是否需要数据输入。对于一个实施例,通过参考当微型汇编器产生该HTML对象时,插入该对象中的所需字段属性进行所述确定。
在操作726,如果不需要该字段,那么过程继续处理下一数据输入字段。
在操作730,如果需要该字段,那么所需字段确认过程确定该字段是否已被填写。所需字段完成确认过程包含在核心库中。如果该所需字段未被填写,那么取消提交过程,代码提供所需字段还未被填写的指示符。对于一个实施例,未完成的所需字段指示符被实现成客户机DPS上的弹出式窗口。
在操作731,随后聚焦于未被填写的所需字段。重复确定所需字段和它们是否已被填写的过程,直到完成所有所需字段为止。
在操作732,如果所需的数据输入字段完成,那么确定是否存在要确认的其它字段。
在操作735,RDTE远程应用表格通过云从客户机DPS被提交给服务器DPS。由于已关于用户输入数据类型和所需字段完成对数据进行了确认,因此不必如同现有技术系统中通常的那样重复提交过程。
一般事项
本发明的实施例可用于减少远程应用的在服务器DPS和客户机DPS之间输送的所需数据的数量,同时保持全部功能。对于一个实施例,当客户机访问远程应用时,服务器DPS传送函数的核心库,称为GMA的一组函数随后被用于在客户机DPS上,而不是在服务器DPS上构成类属对象。函数包含关于对象的物理特性的信息,以及关于要构成的对象的数据类型的元数据。对于一个实施例,核心库和各种其它微型汇编器被保存在客户机DPS的浏览器高速缓冲存储器上。由于不存在任何安装,因此这种实施例的方法避免了破坏客户机DPS安全性,并且不是特定于系统的。
此外,如图3中所示,核心库还包括用户接口函数。这些函数允许以和现有技术的典型方案相比,更加用户友好的格式呈现远程应用表格。例如,为了打开一个表现对象(例如窗口),现有技术的方案可能需要多达40行的代码。这限制了程序员的为远程应用提供用户友好的观感的能力。本发明的系统和方法在这方面提供更大的灵活性。用户接口函数包含用于调用各种HTML表现对象的少量代码。这允许程序员包括用户友好的“外观和感觉”,而不会显著增大传送数据的数量。
根据本发明的各个实施例的系统和方法为用户交互式远程应用提供显著的带宽减少,但是并不局限于此,通常可被应用于任何远程数据访问。
图8图解说明根据本发明的一个实施例,可用于服务器DPS200,或者客户机DPS205a-205d的数字处理系统的一个实施例。对于本发明的备选实施例,处理系统801可以是包括与总线807耦接的处理器803的计算机或者机顶盒。在一个实施例中,存储器805,存储器811,显示控制器809,通信接口813和输入/输出控制器815也与总线807耦接。
处理系统801通过通信接口813与外部系统连接。通信接口813可包括模拟调制解调器,综合业务数字网(ISDN)调制解调器,电缆调制解调器,数字用户线(DSL)调制解调器,T-1线接口,T-3线接口,光载波接口(例如OC-3),权标环网接口,卫星传输接口,无线接口或耦接某一设备与其它设备的其它接口。通信接口813还可包括无线电收发器或者无线电话信号等。
对于本发明的一个实施例,在通信接口813和云830之间接收/发射通信信号825。在本发明的一个实施例中,通信信号25可被用于连接处理系统801与另一计算机系统,网络集线器,路由器等。在本发明的一个实施例中,通信信号825被认为是机器可读信号,它可通过电线,电缆,光纤,或者通过大气等被传输。
在本发明的一个实施例中,处理器803可以是常规微处理器,例如(但不限于)Intel x86或Pentium系微处理器,Motorola系微处理器等。存储器805可以是机器可读介质,例如动态随机存取存储器(DRAM),并且可以包括静态随机存取存储器(SRAM)。显示控制器809按照常规方式控制显示器819,在本发明的一个实施例中,显示器819可以是阴极射线管(CRT),液晶显示器(LCD),有源矩阵显示器,电视监视器等。与输入/输出控制器815耦接的输入/输出装置817可以是键盘,磁盘驱动器,打印机,扫描仪和其它输入和输出装置,包括鼠标,跟踪球,轨迹板等。
存储器811可包括机器可读介质,例如(但不限于)硬盘,软盘,光盘,智能卡或另一形式的数据存储器。在本发明的一个实施例中,存储器811可包括可拆卸介质,只读介质,可读/可写介质等。一些数据可在计算机系统801中的软件执行期间,由直接存储器存取过程写入存储器805。软件可驻留在存储器811、存储器805中,或者可通过调制解调器或通信接口813传送或接收。对本说明书来说,术语“机器可读介质”应被理解为包括能够保存数据、信息、或者对由处理器803执行的指令序列编码,从而实现本发明的方法的任何介质。术语“机器可读介质”应被理解为包括(但不限于)固态存储器、光盘和磁盘、载波信号等。
本发明包括各种操作。本发明的操作可由硬件组件执行,或者可用如上所述的机器可执行指令具体体现。另一方面,步骤可由硬件和软件的组合实现。可以包括计算机可读介质的计算机程序产品的形式提供本发明,计算机可读介质保存有可被用于对计算机(或者其它电子设备)编程、从而实现如上所述的根据本发明的过程的指令。
虽然利用几个实施例说明了本发明,不过本领域的技术人员会认识到本发明并不局限于说明的实施例,相反在所附权利要求的精神和范围内可做出各种修改和改变。从而,上面的说明应被看作是对本发明的举例说明,而不是对本发明的限制。
附录A
/*functions for creating the″input text″or″input password″*/
function CT(a,b,e)
{
DW(NB(1)+b[2]+′<input
′+(IB(e)?B:″type=password″)+CL(b[7])+I(a)+(LL(d[1])?PO(d[1],c[1]):B)+INB(′
I=″′,b[2],″″)+RQ(b[3])+′size=′+b[4]*(b[4]<=20?1:NT)+INB(′
maxlength=″′,b[5],″″)+′t=′+b[6]+′′+VAL(b[6],b[8],b[9])+′>′);
}
function PO(a,b,c,d)
{
return((a!=″″||b!=″″)?′STYLE=″position:′+(IB(c)?′absolute;′:′relative;′)+(INB(′left:′,
a,′px;′)+INB(′top:′,b,′px;′)+RB(d)+″″):IB(d)?′STYLE=″positiion:relative″′:′STYLE=″
position:relative;′+d+″″);
}
function CL(a)
{return INB(″class=\″″,a,″\″″)}
function VAL(a,b,c)
{
  varr,
             if(LL(a))
             {
                r=′onfocus=″if(Y(this.V)==\′undefined\′)this.V=T″
onchange=″W.C=T;this.V=VLT(this,\″+a+′\′,F);′+B;
                                    if(LL(b))
                                                          r+=F)((this.V)?′+b+′:\′\′)′;
            r+=′″onblur=″if(this.V==F){this.focus();this.select();}″′
            }
            else
                      r=′onchange=″W.C=T;′+RB(b)+′;
            return r
}/*code for creating a text input*/CT(″13″,″10 90 Name:T 15 15 4″,″″,″i97″);

Claims (58)

1、一种方法,包括:
在客户机数字处理系统(DPS)接收用于链接一个或多个函数到远程应用的第一代码,每个函数包含产生对象构成代码从而产生对应对象的指令代码,和一组对象参数;
使所述一个或多个函数与远程应用表格链接;
接收第二代码以调用一个或多个函数;
调用一个或多个函数,从而在客户机DPS构成一个或多个对象;和
根据对象参数,呈现构成的一个或多个对象作为远程应用表格的一部分。
2、按照权利要求1所述的方法,还包括把所述一个或多个函数接收到客户机DPS的先行步骤。
3、按照权利要求1所述的方法,其中在web浏览器执行接收、链接和调用操作。
4、按照权利要求3所述的方法,其中所述一个或多个函数、第一代码和第二代码被保存在web浏览器的高速缓冲存储器中。
5、按照权利要求1所述的方法,其中指令代码是指示脚本引擎产生HTML代码,从而构成对象的脚本语言。
6、按照权利要求1所述的方法,其中所述一个或多个函数、第一代码和第二代码通过云从服务器DPS传送给客户机DPS。
7、按照权利要求6所述的方法,其中所述云是选自因特网、企业内联网、企业外部网、局域网、广域网和它们的组合的通信路径。
8、按照权利要求7所述的方法,其中通过选自模拟接口、数字接口、光载波接口、ISDN、DSL、卫星接口、无线电收发器、无线接口和它们的组合的通信接口传送所述一个或多个函数、第一代码和第二代码。
9、按照权利要求1所述的方法,其中所述一个或多个函数包括具有构成类属对象的指令代码的函数子集。
10、按照权利要求1所述的方法,其中所述一个或多个函数包括具有构成专用对象的指令代码的函数子集。
11、按照权利要求1所述的方法,其中所述一个或多个函数包括具有构成远程应用表格的静态对象的指令代码的函数,以致远程应用表格的后续使用只需要与静态对象交互作用的动态数据。
12、按照权利要求1所述的方法,还包括:
把数据输入远程应用表格的数据输入字段中,所述数据输入字段由函数之一产生,函数的对象参数包括规定数据输入字段的有效数据类型的确认属性;和
使用确认属性和数据的属性来确定数据是否有效。
13、按照权利要求12所述的方法,还包括:
根据所述确定,提供数据有效性的指示。
14、按照权利要求1所述的方法,还包括:
使用远程应用表格的数据输入字段的所需输入属性来确定该数据输入字段需要数据输入,所述数据输入字段由函数之一产生,函数的对象参数包括所需输入属性;和
确定数据还未被输入该数据输入字段。
15、还按照权利要求14所述的方法,还包括:
接收所需数据输入字段未完成的指示;
把数据输入所述数据输入字段;
确定数据已被输入所述数据输入字段;和
把远程应用表格提交给服务器DPS。
16、一种方法,包括:
提供将一个或多个函数链接到远程应用的第一代码,每个函数包含在客户机DPS产生对象构成代码从而产生对应对象的指令代码,和一组对象参数;
提供第二代码以调用一个或多个函数,以致可使一个或多个对象与远程应用表格链接,一个或多个函数可被调用,从而构成一个或多个对象,根据对象参数,呈现构成的一个或多个对象作为远程应用表格的一部分。
17、按照权利要求16所述的方法,还包括向客户机DPS提供所述一个或多个函数的先行步骤。
18、按照权利要求16所述的方法,其中指令代码是指示脚本引擎产生HTML代码从而构成对象的脚本语言。
19、按照权利要求16所述的方法,其中所述一个或多个函数、第一代码和第二代码通过选自因特网、企业内联网、企业外部网、局域网、广域网和它们的组合的通信路径从服务器DPS传送给客户机DPS。
20、按照权利要求19所述的方法,其中通过选自模拟接口、数字接口、光载波接口、ISDN、DSL、卫星接口、无线电收发器、无线电话机和它们的组合的通信接口传送所述一个或多个函数、第一代码和第二代码。
21、按照权利要求16所述的方法,其中所述一个或多个函数包括具有构成类属对象的指令代码的函数子集。
22、按照权利要求16所述的方法,其中所述一个或多个函数包括具有构成专用对象的指令代码的函数子集。
23、按照权利要求16所述的方法,其中所述一个或多个函数包括具有构成远程应用表格的静态对象的指令代码的函数,以致远程应用表格的后续使用只需要与静态对象交互作用的动态数据。
24、一种方法,包括:
在客户机DPS和服务器DPS之间建立至少两个通信路径;
通过所述至少两个通信路径中的第一通信路径,从客户机DPS访问远程应用表格;
把数据输入远程应用的数据输入字段;
通过所述至少两个通信路径中的第二通信路径,把输入的数据和对应的数据库查询从客户机DPS传送给服务器DPS;
在服务器DPS确定传送的数据是否有效;和
把有效性指示符从服务器DPS传送给客户机DPS。
25、按照权利要求24所述的方法,其中确定传送的数据是否有效包括比较传送的数据和保存的数据。
26、按照权利要求24所述的方法,其中实现申请队列,以便容纳多个同步申请。
27、一种提供可执行指令的机器可读介质,当被处理器执行时,所述可执行指令使处理器执行包括下述操作的方法:
在客户机DPS接收将一个或多个函数链接到远程应用的第一代码,每个函数包含产生对象构成代码从而产生对应对象的指令代码,和一组对象参数;
使所述一个或多个函数与远程应用表格链接;
接收第二代码以调用一个或多个函数;
调用一个或多个函数,从而在客户机DPS构成一个或多个对象;和
根据对象参数,呈现构成的一个或多个对象作为远程应用表格的一部分。
28、按照权利要求27所述的机器可读介质,还包括把所述一个或多个函数接收到客户机DPS的先行操作。
29、按照权利要求27所述的机器可读介质,其中在web浏览器执行接收、链接和调用操作。
30、按照权利要求29所述的机器可读介质,其中所述一个或多个函数、第一代码和第二代码被保存在web浏览器的高速缓冲存储器中。
31、按照权利要求27所述的机器可读介质,其中指令代码是指示脚本引擎产生HTML代码从而构成对象的脚本语言。
32、按照权利要求27所述的机器可读介质,其中所述一个或多个函数、第一代码和第二代码通过云从服务器DPS传送给客户机DPS。
33、按照权利要求32所述的机器可读介质,其中所述云是选自因特网、企业内联网、企业外部网、局域网、广域网和它们的组合的通信路径。
34、按照权利要求33所述的机器可读介质,其中通过选自模拟接口、数字接口、光载波接口、ISDN、DSL、卫星接口、无线电收发器、无线接口和它们的组合的通信接口传送所述一个或多个函数、第一代码和第二代码。
35、按照权利要求27所述的机器可读介质,其中所述一个或多个函数包括具有构成类属对象的指令代码的函数子集。
36、按照权利要求27所述的机器可读介质,其中所述一个或多个函数包括具有构成专用对象的指令代码的函数子集。
37、按照权利要求27所述的机器可读介质,其中所述一个或多个函数包括具有构成远程应用表格的静态对象的指令代码的函数,以致远程应用表格的后续使用只需要与静态对象交互作用的动态数据。
38、按照权利要求27所述的机器可读介质,还包括:
把数据输入远程应用表格的数据输入字段中,所述数据输入字段由函数之一产生,函数的对象参数包括规定数据输入字段的有效数据类型的确认属性;和
使用确认属性和数据的属性来确定数据是否有效。
39、按照权利要求38所述的机器可读介质,还包括:
根据所述确定,提供数据有效性的指示。
40、按照权利要求27所述的机器可读介质,还包括:
使用远程应用表格的数据输入字段的所需输入属性来确定该数据输入字段需要数据输入,所述数据输入字段由函数之一产生,函数的对象参数包括所需输入属性;和
确定数据还未被输入该数据输入字段。
41、还按照权利要求40所述的机器可读介质,还包括:
接收所需数据输入字段未完成的指示;
把数据输入所述数据输入字段;
确定数据已被输入所述数据输入字段;和
把远程应用表格提交给服务器DPS。
42、一种提供可执行指令的机器可读介质,当被处理器执行时,所述可执行指令使处理器执行包括下述操作的方法:
在客户机DPS和服务器DPS之间建立至少两个通信路径;
通过所述至少两个通信路径中的第一通信路径,从客户机DPS访问远程应用表格;
把数据输入远程应用的数据输入字段;
通过所述至少两个通信路径中的第二通信路径,把输入的数据和对应的数据库查询从客户机DPS传送给服务器DPS;
在服务器DPS确定传送的数据是否有效;和
把有效性指示符从服务器DPS传送给客户机DPS。
43、按照权利要求42所述的机器可读介质,其中确定传送的数据是否有效包括比较传送的数据和保存的数据。
44、按照权利要求42所述的机器可读介质,其中实现申请队列,以便容纳多个同步申请。
45、一种系统,包括:
一个服务器DPS,提供将一个或多个函数链接到一个远程应用的第一代码,每个函数包含在客户机DPS产生对象构成代码从而产生对应对象的指令代码,和一组对象参数,以及提供一个第二代码以调用一个或多个函数;和
一个客户机DPS,接收第一代码,使所述一个或多个函数与远程应用表格链接,接收第二代码,调用一个或多个函数从而在客户机DPS构成一个或多个对象,并根据对象参数,呈现构成的一个或多个对象作为远程应用表格的一部分。
46、按照权利要求45所述的系统,其中服务器DPS向客户机DPS提供所述一个或多个函数。
47、按照权利要求45所述的系统,其中在web浏览器执行接收、链接和调用操作。
48、按照权利要求45所述的系统,其中所述一个或多个函数、第一代码和第二代码被保存在web浏览器的高速缓冲存储器中。
49、按照权利要求45所述的系统,其中指令代码是指示脚本引擎产生HTML代码从而构成对象的脚本语言。
50、按照权利要求45所述的系统,其中所述一个或多个函数、第一代码和第二代码通过选自因特网、企业内联网、企业外部网、局域网、广域网和它们的组合的通信路径从服务器DPS传送给客户机DPS。
51、按照权利要求50所述的系统,其中通过选自模拟接口、数字接口、光载波接口、ISDN、DSL、卫星接口、无线电收发器、无线接口和它们的组合的通信接口传送所述一个或多个函数、第一代码和第二代码。
52、按照权利要求45所述的系统,其中所述一个或多个函数包括具有构成类属对象的指令代码的函数子集。
53、按照权利要求45所述的系统,其中所述一个或多个函数包括具有构成专用对象的指令代码的函数子集。
54、按照权利要求45所述的系统,其中所述一个或多个函数包括具有构成远程应用表格的静态对象的指令代码的函数,以致远程应用表格的后续使用只需要与静态对象交互作用的动态数据。
55、一种系统,包括:
一个服务器DPS,包括保存有远程应用表格的存储器;
一个客户机DPS,通过至少两个通信路径与服务器DPS耦接,从而客户机DPS通过所述至少两个通信路径中的第一通信路径访问远程应用表格,把数据输入远程应用的数据输入字段,并通过所述至少两个通信路径中的第二通信路径,把输入的数据和对应的数据库查询传送给服务器DPS。
56、按照权利要求55所述的系统,其中服务器DPS确定传送的数据是否有效,并把有效性指示符传送给客户机DPS。
57、按照权利要求56所述的系统,还包括一个数据库,以便确定传送的数据是否有效包括比较传送的数据和保存在数据库的数据。
58、按照权利要求56所述的系统,其中在客户机DPS上实现申请队列,以便容纳多个同步申请。
CN200380107291.4A 2002-11-18 2003-11-17 通过利用客户机处理能力来减小远程应用的带宽要求的系统和方法 Pending CN1729461A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/299,260 US8108488B2 (en) 2002-11-18 2002-11-18 System and method for reducing bandwidth requirements for remote applications by utilizing client processing power
US10/299,260 2002-11-18

Publications (1)

Publication Number Publication Date
CN1729461A true CN1729461A (zh) 2006-02-01

Family

ID=32324374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200380107291.4A Pending CN1729461A (zh) 2002-11-18 2003-11-17 通过利用客户机处理能力来减小远程应用的带宽要求的系统和方法

Country Status (7)

Country Link
US (2) US8108488B2 (zh)
EP (1) EP1576483A4 (zh)
CN (1) CN1729461A (zh)
AU (1) AU2003295680A1 (zh)
CA (1) CA2505310A1 (zh)
MX (1) MXPA03002742A (zh)
WO (1) WO2004046887A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107251010A (zh) * 2015-03-24 2017-10-13 英特尔公司 非结构化ui

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401336B2 (en) 2001-05-04 2013-03-19 Legend3D, Inc. System and method for rapid image sequence depth enhancement with augmented computer-generated elements
US9286941B2 (en) 2001-05-04 2016-03-15 Legend3D, Inc. Image sequence enhancement and motion picture project management system
US8897596B1 (en) 2001-05-04 2014-11-25 Legend3D, Inc. System and method for rapid image sequence depth enhancement with translucent elements
US11037151B1 (en) 2003-08-19 2021-06-15 Stamps.Com Inc. System and method for dynamically partitioning a postage evidencing system
US7571391B2 (en) * 2003-10-17 2009-08-04 Sap Ag Selective rendering of user interface of computer program
US20050240916A1 (en) * 2004-04-26 2005-10-27 Sandrew Barry B System and method for distributed project outsourcing
US20060143059A1 (en) * 2004-04-26 2006-06-29 Barry Sandrew System and method for minimizing transfer of motion picture data manipulated with outsourced labor
US20040181444A1 (en) * 2004-04-26 2004-09-16 Sandrew Barry B. System and method for manipulating motion picture data using labor outsourcing
US8103880B2 (en) * 2005-06-03 2012-01-24 Adobe Systems Incorporated Method for communication between computing devices using coded values
US7975019B1 (en) * 2005-07-15 2011-07-05 Amazon Technologies, Inc. Dynamic supplementation of rendered web pages with content supplied by a separate source
US7975020B1 (en) * 2005-07-15 2011-07-05 Amazon Technologies, Inc. Dynamic updating of rendered web pages with supplemental content
US7937715B2 (en) * 2005-08-25 2011-05-03 International Business Machines Corporation Mechanism for generating dynamic content without a web server
US7698321B2 (en) * 2005-09-30 2010-04-13 At&T Intellectual Property I, L.P. Methods, systems, and products for updating web content
CN1955990B (zh) * 2005-10-28 2010-09-01 深圳市东进通讯技术股份有限公司 综合电信平台中的流程执行方法及系统
US7739589B2 (en) * 2005-11-02 2010-06-15 International Business Machines Corporation Extending markup of a browser using a plug-in framework
US20080033997A1 (en) * 2006-08-04 2008-02-07 Sap Portals (Israel) Ltd. Transformation tool for migration of web-based content to portal
US9794310B2 (en) * 2007-01-11 2017-10-17 Samsung Electronics Co., Ltd. Meta data information providing server, client apparatus, method of providing meta data information, and method of providing content
US20080228773A1 (en) * 2007-03-14 2008-09-18 Hand Held Products, Inc. Apparatus and method for data input device
US20080228927A1 (en) * 2007-03-15 2008-09-18 Microsoft Corporation Server directed browsing
US7941755B2 (en) * 2007-04-19 2011-05-10 Art Technology Group, Inc. Method and apparatus for web page co-browsing
US8064584B2 (en) * 2007-04-19 2011-11-22 Art Technology Group, Inc. Method and apparatus for cross channel data processing
US8775603B2 (en) 2007-05-04 2014-07-08 Sitespect, Inc. Method and system for testing variations of website content
US8290929B2 (en) * 2007-10-26 2012-10-16 Yahoo! Inc. Media enhancement mechanism using embed code
US8635541B2 (en) * 2007-12-06 2014-01-21 International Business Machines Corporation Indicating pending asynchronous updates in a graphical user interface (GUI)
US8887039B2 (en) * 2008-01-02 2014-11-11 Microsoft Corporation Web page based program versioning
US8438295B2 (en) * 2008-10-14 2013-05-07 Microsoft Corporation Declarative programming model for modeling and execution of triggers for resource oriented system
US8490052B2 (en) * 2008-10-14 2013-07-16 Microsoft Corporation Declarative programming model for authoring and execution control and data flow for resource oriented system
US8533666B2 (en) * 2008-10-17 2013-09-10 Microsoft Corporation Interactive design environments to visually model, debug and execute resource oriented programs
US8412802B2 (en) * 2009-02-11 2013-04-02 American Express Travel Related Services Company, Inc. System and method to optimize data communication in a computational network
US8571201B2 (en) * 2009-06-23 2013-10-29 Oracle Otc Subsidiary Llc Cross channel identification in electronic commerce environments
IL199616A0 (en) * 2009-06-28 2010-05-17 Chaim Shen Orr Pattern-free encryption
US10089797B1 (en) 2010-02-25 2018-10-02 Stamps.Com Inc. Systems and methods for providing localized functionality in browser based postage transactions
US9842308B1 (en) 2010-02-25 2017-12-12 Stamps.Com Inc. Systems and methods for rules based shipping
US8706803B1 (en) 2010-09-24 2014-04-22 Imdb.Com, Inc. Client-side generation of preliminary version of network page
US20120284528A1 (en) * 2010-10-07 2012-11-08 Stephen Orovitz Multi-purpose multi-dimensional, variable and multi-key e-mail and data encryption method
US8495630B2 (en) 2010-11-03 2013-07-23 International Business Machines Corporation Transferring objects between virtual machines
US8730232B2 (en) 2011-02-01 2014-05-20 Legend3D, Inc. Director-style based 2D to 3D movie conversion system and method
US9288476B2 (en) 2011-02-17 2016-03-15 Legend3D, Inc. System and method for real-time depth modification of stereo images of a virtual reality environment
US9282321B2 (en) 2011-02-17 2016-03-08 Legend3D, Inc. 3D model multi-reviewer system
US9241147B2 (en) 2013-05-01 2016-01-19 Legend3D, Inc. External depth map transformation method for conversion of two-dimensional images to stereoscopic images
US9407904B2 (en) 2013-05-01 2016-08-02 Legend3D, Inc. Method for creating 3D virtual reality from 2D images
US9007365B2 (en) 2012-11-27 2015-04-14 Legend3D, Inc. Line depth augmentation system and method for conversion of 2D images to 3D images
US9547937B2 (en) 2012-11-30 2017-01-17 Legend3D, Inc. Three-dimensional annotation system and method
US9007404B2 (en) 2013-03-15 2015-04-14 Legend3D, Inc. Tilt-based look around effect image enhancement method
US9438878B2 (en) 2013-05-01 2016-09-06 Legend3D, Inc. Method of converting 2D video to 3D video using 3D object models
US9575873B2 (en) 2013-09-13 2017-02-21 Sap Se Software testing system and method
US10296652B2 (en) * 2013-09-21 2019-05-21 Oracle International Corporation Method and system for selection of user interface rendering artifacts in enterprise web applications using a manifest mechanism
RU2014122128A (ru) * 2014-05-29 2015-12-10 Общество С Ограниченной Ответственностью "Яндекс" Способ отображения веб-ресурса пользователю при помощи браузера и электронное устройство, используемое в нем
US10089325B1 (en) * 2015-06-30 2018-10-02 Open Text Corporation Method and system for using micro objects
US9609307B1 (en) 2015-09-17 2017-03-28 Legend3D, Inc. Method of converting 2D video to 3D video using machine learning
US20190220727A1 (en) * 2018-01-17 2019-07-18 SameDay Security, Inc. Computing Devices with Improved Interactive Animated Conversational Interface Systems
US10813572B2 (en) 2015-12-11 2020-10-27 Electronic Caregiver, Inc. Intelligent system for multi-function electronic caregiving to facilitate advanced health diagnosis, health monitoring, fall and injury prediction, health maintenance and support, and emergency response
US11213224B2 (en) 2018-03-19 2022-01-04 Electronic Caregiver, Inc. Consumer application for mobile assessment of functional capacity and falls risk
US11923058B2 (en) 2018-04-10 2024-03-05 Electronic Caregiver, Inc. Mobile system for the assessment of consumer medication compliance and provision of mobile caregiving
US11488724B2 (en) 2018-06-18 2022-11-01 Electronic Caregiver, Inc. Systems and methods for a virtual, intelligent and customizable personal medical assistant
CA3126844A1 (en) 2019-02-05 2020-08-13 Electronic Caregiver, Inc. 3d environment risks identification utilizing reinforced learning
US11113943B2 (en) 2019-05-07 2021-09-07 Electronic Caregiver, Inc. Systems and methods for predictive environmental fall risk identification
CN111078206B (zh) * 2019-11-25 2023-03-24 贝壳技术有限公司 表单提交方法及系统

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012083A (en) * 1996-09-24 2000-01-04 Ricoh Company Ltd. Method and apparatus for document processing using agents to process transactions created based on document content
US6292115B1 (en) * 1997-12-02 2001-09-18 Hughes Electronics Corporation Data compression for use with a communications channel
US6295645B1 (en) 1997-12-22 2001-09-25 Texas Instruments Incorporated Method and apparatus for providing downloadable functionality to an embedded coprocessor
US6272484B1 (en) 1998-05-27 2001-08-07 Scansoft, Inc. Electronic document manager
US6782431B1 (en) 1998-09-30 2004-08-24 International Business Machines Corporation System and method for dynamic selection of database application code execution on the internet with heterogenous clients
US6507867B1 (en) 1998-12-22 2003-01-14 International Business Machines Corporation Constructing, downloading, and accessing page bundles on a portable client having intermittent network connectivity
US6477550B1 (en) 1999-03-16 2002-11-05 Mcafee.Com Corporation Method and system for processing events related to a first type of browser from a second type of browser
US6792605B1 (en) 1999-06-10 2004-09-14 Bow Street Software, Inc. Method and apparatus for providing web based services using an XML Runtime model to store state session data
US6687745B1 (en) 1999-09-14 2004-02-03 Droplet, Inc System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection
CA2319996A1 (en) 1999-09-22 2001-03-22 Goodhome.Com Method and system for generating web pages with information displayed in a carousel
US6691176B1 (en) * 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
US6892067B1 (en) * 1999-12-30 2005-05-10 Nokia Corporation Script based interfaces for mobile phones
US6546554B1 (en) 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US6807559B1 (en) 2000-04-06 2004-10-19 Attachmate Corporation System and method for applet management
US20010037405A1 (en) * 2000-04-07 2001-11-01 Sideek Sinnathambi Mohamed Wireless web generation from conventional web sites by pattern identification and dynamic content extraction
US6622168B1 (en) * 2000-04-10 2003-09-16 Chutney Technologies, Inc. Dynamic page generation acceleration using component-level caching
US7379963B1 (en) 2000-07-14 2008-05-27 Knownow-Delaware Delivery of any type of information to anyone anytime anywhere
US7925703B2 (en) * 2000-12-26 2011-04-12 Numedeon, Inc. Graphical interactive interface for immersive online communities
US20020092012A1 (en) * 2001-01-09 2002-07-11 Shah Alexandre K. Smart-caching system and method
US20020143800A1 (en) * 2001-01-24 2002-10-03 Henrik Lindberg Model view controller
WO2002065278A2 (en) 2001-02-12 2002-08-22 Lto Limited A presentation server which enables a client device to run a network based application
US7171443B2 (en) * 2001-04-04 2007-01-30 Prodigy Communications, Lp Method, system, and software for transmission of information
US20020156815A1 (en) * 2001-04-19 2002-10-24 International Business Machines Corporation Method and apparatus for the separation of web layout, logic, and data when used in server-side scripting languages
US7376653B2 (en) * 2001-05-22 2008-05-20 Reuters America, Inc. Creating dynamic web pages at a client browser
US6948151B2 (en) * 2001-06-29 2005-09-20 International Business Machines Corporation System and method for dynamic packaging of component objects
US7870025B2 (en) 2001-09-20 2011-01-11 Intuit Inc. Vendor comparison, advertising and switching
WO2003065242A1 (en) 2002-01-25 2003-08-07 Tibco Software, Inc. Single applet to communicate with multiple html elements contained inside of multiple categories on a page
US6683547B2 (en) * 2002-04-22 2004-01-27 Hughes Electronics Corporation Method and system for data compession with dictionary pre-load of a set of expected character strings
US9171049B2 (en) 2002-06-13 2015-10-27 Salesforce.Com, Inc. Offline simulation of online session between client and server
US20040010563A1 (en) * 2002-06-26 2004-01-15 John Forte Method for enterprise device naming for storage devices
WO2004053681A1 (en) * 2002-12-09 2004-06-24 Michael Zsolt Moricz Intermediary server for facilitating retrieval of mid-point, state-associated web pages
US20040119740A1 (en) 2002-12-24 2004-06-24 Google, Inc., A Corporation Of The State Of California Methods and apparatus for displaying and replying to electronic messages
US7269792B2 (en) 2003-04-24 2007-09-11 International Business Machines Corporation System and method for generating high-function browser widgets with full addressability

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107251010A (zh) * 2015-03-24 2017-10-13 英特尔公司 非结构化ui

Also Published As

Publication number Publication date
AU2003295680A1 (en) 2004-06-15
US20040109470A1 (en) 2004-06-10
EP1576483A4 (en) 2008-05-07
EP1576483A2 (en) 2005-09-21
WO2004046887A3 (en) 2005-04-28
US8108488B2 (en) 2012-01-31
MXPA03002742A (es) 2004-10-27
CA2505310A1 (en) 2004-06-03
AU2003295680A8 (en) 2004-06-15
WO2004046887A2 (en) 2004-06-03
US20040258089A1 (en) 2004-12-23

Similar Documents

Publication Publication Date Title
CN1729461A (zh) 通过利用客户机处理能力来减小远程应用的带宽要求的系统和方法
CN1253816C (zh) 满足来自网络客户端的信息请求的方法和系统
CN1229715C (zh) 信息控制系统和信息处理方法
US7676472B2 (en) Method and apparatus for accessing web services
US6507817B1 (en) Voice IP approval system using voice-enabled web based application server
CN1236593C (zh) 网络系统以及网络控制方法
CN1230755C (zh) 个人服务环境管理器
CN1222886C (zh) 全局地和安全地访问计算机网络中统一信息的系统和方法
CN1622086A (zh) 在计算机网络中搜索
CN1600036A (zh) 基于服务质量提供服务的方法和移动通信系统核算方法
US20080120689A1 (en) Representing extensible markup language (XML) as an executable having conditional authentication or policy logic
CN1836213A (zh) 服务器间的透明会话迁移
CN1492656A (zh) 在多通道上共享应用程序会话信息的方法、装置和系统
CN1625877A (zh) 通信网络中的对象传输控制
CN1728039A (zh) 用于处理数字权利管理系统中的权利对象的方法和系统
CN1799217A (zh) 授权用户加入会议的系统和方法
CN1913442A (zh) 给用户提供业务服务的方法和系统
CN1906585A (zh) 供应数据处理系统中识别、保留和逻辑供应资源的方法、系统和产品
CN1513145A (zh) 在软件对象与以结构化语言要素为基础的文件之间映射的系统及方法
CN1739100A (zh) 同步程序
CN1698336A (zh) 通信设备和验证设备
CN1320874A (zh) 网络环境下的程序挖掘方法及其程序挖掘系统
CN1728700A (zh) 基于struts框架的web电信网管系统及其方法
CN1244071C (zh) 基于手持设备的证券交易系统和方法
CN1728710A (zh) 检索网络文件的方法和网络服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication