CN101176079B - 在服务器和客户机之间分配计算的方法以及分布式计算机系统 - Google Patents
在服务器和客户机之间分配计算的方法以及分布式计算机系统 Download PDFInfo
- Publication number
- CN101176079B CN101176079B CN2006800082734A CN200680008273A CN101176079B CN 101176079 B CN101176079 B CN 101176079B CN 2006800082734 A CN2006800082734 A CN 2006800082734A CN 200680008273 A CN200680008273 A CN 200680008273A CN 101176079 B CN101176079 B CN 101176079B
- Authority
- CN
- China
- Prior art keywords
- application
- client
- definition file
- subclass
- manager
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000007726 management method Methods 0.000 claims description 30
- 238000003860 storage Methods 0.000 claims description 22
- 230000007704 transition Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000006835 compression Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 claims description 4
- 238000013524 data verification Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 4
- 230000005055 memory storage Effects 0.000 claims description 3
- 238000004883 computer application Methods 0.000 abstract 3
- 230000004044 response Effects 0.000 description 12
- 230000003068 static effect Effects 0.000 description 11
- 238000011161 development Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 3
- 235000014552 Cassia tora Nutrition 0.000 description 3
- 244000201986 Cassia tora Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 244000260524 Chrysanthemum balsamita Species 0.000 description 2
- 235000005633 Chrysanthemum balsamita Nutrition 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000010387 memory retrieval Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000004382 visual function Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
运行基于显示的计算机应用的方法和系统,该计算机应用包含多个应用段,其中,在服务器与客户机之间分配计算。该方法包含如下步骤:向客户机计算机提供通用客户机引擎(20),该客户机引擎包含应用管理器(24)、一个或多个显示管理器(22)、和一个或多个加载管理器(26);提供每一个与所述应用段中的一个有关的各个应用子集定义文件(18)的集合;其中,在从服务器接收到连续的应用子集定义文件时,客户机递归地变换,以提供相应的应用段。本发明广泛用在各种各样基于显示的计算机应用中,尤其在无线应用中。
Description
技术领域
本发明涉及计算机操作环境领域。具体地,本发明涉及在服务器和客户机之间分配计算的方法,可用于为强显示环境提供Java应用,例如,基于窗口的计算机应用。本发明尤其可应用于无线应用。
背景技术
在万维网或因特网出现或被采用之前,复杂的客户机-服务器应用的开发通常由高技能软件开发者来承担。随着因特网的引入,以及诸如HTML(超文本标记语言)的开放标准和可供网页开发者使用的众多工具,至少在客户机端,这种高级技能已经变得没有必要了。在环球网时代,图形美工师和其它参与方能够容易地构建网站或入门级的基于万维网的应用的客户机端,软件工程师和开发者转变到设计和开发服务器端商用逻辑单元和结构的角色。
因此,当前的模式是开发因特网提供内容的客户机端的相对较低的成本资源和设计与开发服务器端部件的较昂贵的专业软件工程师。最近,尤其随着公司和机构致力于将大规模企业应用移植到因特网上,许多问题已明显化。这些问题包括性能差(尤其在低带宽场所)以及客户机端缺乏健壮性(由于HTML作为应用标记语言的固有的低效)。
关于HTML的使用,创建“窗口类型”或强多显示的GUI应用(尤其具有密集部件布局)的能力通常非常有限。另外,固有的基于浏览器的客户机端智能的缺乏往往将大部分处理活动强加到服务器上,结果得到非常高级的浏览器-客户机-万维网-服务器交互,尤其在与客户机-服务器前身相比时。在低带宽环境下这可能会导致真正的问题。
HTML是在考虑文档公布的情况下设计的,因此,HTML应用严重缺乏传统客户机-服务器应用的用户界面功能(多窗口、拖放能力、电子表格特征等)。由此,一般而言,HTML应用在每次用户交互时要求提供新的页面,每个页面占据大的覆盖区(footprint)。就用户生产力而言,这一切带来严重的不利。添加诸如Java Script和ActiveX的客户机端脚本语言有助于将一些服务器端的处理转移到客户机,但未解决围绕文档对象模型(DOM)的布局问题,这里,HTML仍然是布局主干。此外,基于浏览器客户机和万维网服务器之间的数据传送未被压缩,导致比客户机-服务器前身快得多的数据传送要求(再有低带宽环境下的问题)。
上面提到的许多缺点,以及尤其是万维网服务器和客户机之间的信息传送量都涉及到在每次服务请求时,需要重新加载整个客户机,包括所有客户机的布局信息。当然,与传统多显示客户机-服务器应用相比,HTML基本上是单显示模型。
由于就存储器、带宽和操作/文件系统而言必要的资源限制,上面讨论的缺点在基于因特网无线环境中可能会有特别严重的影响。
在传统的瘦客户机开发模型中,对于每个应用子集,每组主类和窗口专用类是不同的。必须分开开发和测试每个子集,然后必须分开加载每个子集。随着总商用应用需要许多不同的应用子集,这可能导致高的带宽要求或差的性能。在应用子集中的显示部件或窗口越多(其中,带有用于每个部件或窗口的相关商用逻辑单元和事件处理代码),特定客户机的总规模就越大。
一些最近的开发使这种状况有所改善。但是,开发的基于万维网的客户机端基于Java的应用仍然倾向于包括基本上是胖的客户机,随着新功能和特征的不断加入,这些胖客户会变得越来越胖。这将复杂客户机端基于Java的应用的使用转移到高带宽环境领域。
本发明试图至少解决上面提及的一些问题。
发明内容
根据本发明,在第一方面中,提供了用于运行基于显示的计算机应用的方法,该应用包括多个应用段,涉及在服务器计算机上的服务器与客户机计算机上的客户机之间分配计算,该服务器计算机和客户机计算机通过计算机网络可操作地互联,该方法包含如下步骤:
向客户机计算机提供通用客户机引擎,该客户机引擎包括应用管理器、一个或多个显示管理器、和一个或多个加载管理器;
提供各个应用子集定义文件的集合(collection),所述各个应用子集定义文件的每一个与所述应用段中的一个相关;
其中,在从服务器接收到连续的应用子集定义文件时,客户机递归地变 换,以提供相应的应用段。
应用子集定义文件可以定义与相应程序段相联系的一个或多个显示区(例如,窗口)内的部件或布局特征。优选的,应用子集定义文件只定义与待在连续的程序段之间加入或移除的部件或布局特征有关的信息。
在进一步的方面中,本发明提供了执行上面方法的具体化在计算机可读媒体上的计算机程序。
因此,本发明的方法能够通过通用客户机引擎和各个应用子集定义文件提供包含程序段集合的商用解决方案。为了运行商用解决方案,客户机引擎只被加载或安装一次,然后驻留在客户机上。然后,客户机能够利用应用子集定义文件变换它自己,该客户机维护客户机-服务器请求/响应之间的状态信息,该定义文件用于不断更新客户机。
由于其递归地变换它自己提供在一起构成完整的商用应用的应用子集的能力,本发明的通用客户机引擎在本文中被称为“智能客户机”。这与现有技术的“瘦客户机”解决方案不同,现有技术的“瘦客户机”从每一个拥有它自己的应用管理逻辑单元、布局结构和事件处理(因此,代码)的可分别下载的部件中组装商用应用。因此,应该认识到,智能客户机方法允许从较少下载的数据中构建复杂的基于显示的商用应用。
此外,当要在设备上运行不同商用应用时,采用现有技术的瘦客户机方法需要下载一组全新部件。相反,已经下载并缓存在客户机设备上的本发明的通用客户机引擎可以用于生成任何类型的商用应用,只需要下载新应用子集定义文件来组装商用应用。
与现有技术的瘦客户机(例如,Java小应用(Java Applet))一样,本发明的智能客户机适于在独立于操作系统的虚拟机上执行,使客户机的更加方便端口可用于不同操作系统。但是,本发明的“智能客户机”提供了以下附加好处:针对不同的操作系统,其允许使用整个商用应用的更有效端口。与必须分开移植每个商用应用的每个部件的现有技术不同,在本发明中,只需移植以后可能会从新操作环境中生成任何商用应用的通用客户机引擎。
本发明的智能客户机使用通用客户机引擎的定义明确的内部结构,以允许在如无线网络的低带宽环境下在客户机设备上生成增强式商用应用。虽然网络带宽不断增加,但运行商用应用的成本(尤其在蜂窝式无线网络上)继续要求发展成使数据下载量最少的策略。
但是,在瘦客户机的下载覆盖区(<≈150kb)中,智能客户机方法提供了传统专用胖客户机或浏览器(>≈3-5MB)的许多好处。在规模上至少比传统胖客户机小两个数量级。
应用管理器适于作为单独的客户机端层运行,用于管理与每个应用段相联系的变量。所述应用管理器包括:
控制驻留显示区之间的交互的控制装置;
将图像异步加载到显示区的加载装置;
控制缓存的缓存装置;
解析应用子集定义文件的解析装置。
解析装置优选适用于解析压缩的应用定义文件。
缓存工具优选包括在启动随后应用段的缓存图像的缓存时,消灭客户机存储器中之前应用段的缓存图像的装置。
所述应用管理器可以包括如下的一个或多个:
短持续时间实例化对象的网关占位装置;
应用子集过渡之间的存储器管理装置;
散列表、数组和变量的存储装置;和
联机/脱机缓存控制管理类的接口装置。
该方法不是应用互连的代码生成小应用,而是应用单个通用引擎,在从服务器接收的应用子集定义文件中接收到通过所述解析工具解释的指令时,其动态地和递归地变换它自己。
所述一个或多个显示管理器可以包括如下功能的一个或多个:
初始化和构建装置;
部件和子部件布局装置;
数据验证装置;
事件处理装置;
在应用子集内内部地和在应用子集之间外部地实现显示程序子集过渡之间数据同步的装置;和
存储部件/容器对象以及相关部件/容器信息的装置。
所述一个或多个加载管理器可以包括如下部件的一个或多个:
通过URL解析器线程异步地加载和解析远程应用子集定义文件的URL解析器装置;
配置成通过URL解析器装置实例化,以实现URL解析器线程上的超时操作的监视器装置;和
配置成在URL解析器线程生命期结束时实例化的异步加载器装置。
本发明的通用客户机引擎可以进一步包括一个或多个公布管理器,公布管理器被配置成利用所述服务器计算机检验连接状态,以及请求将客户机端存储数据传送到服务器计算机。
本发明的方法可以以依赖于浏览器的方式或独立于浏览器的方式实现。
本发明与传统方法的差异主要围绕显示知识的定位。在传统IDE(综合开发环境)中,将应用的部件和布局知识合并到代表整个应用的片断的每个不同的小应用中。这个小应用与管理应用的下一段的表示的另一个小应用链接。任何代码重新使用不是在客户机端进行,而是在IDE中进行。因此,仍然需要全部下载只在少数方面与之前小应用不同的小应用,因为在客户机端将它当作完全不同的一段信息。
相反,在本发明中,可以将知识内置在包含固有指令集和驻留在客户机上的构建器引擎中。引擎的固有指令集包括管理显示区内的所有布局和部件的通用显示处理器对象,以及管理与整个应用段相联系的问题的应用管理层。这意味着,不是加载总商用解决方案的众多小应用,而是加载单个通用小应用,其能够通过基于简单客户机端应用定义标记语言的应用定义文件,按照指令,动态地和递归地变换它自己。在浏览器相关的实现中,通用小应用被缓存在客户机上,并在缓存截止期的持续时间内保持驻留。相同URL上的其它专用应用也可以使用该相同的缓存通用小应用。
在独立于浏览器的实现中,本发明提供了重要的附加好处。一旦将通用小应用安装在客户机上,由于不需要客户机缓存,寄留在任意个URL上的应用都可以使用它。
因此,本发明提供了覆盖区相对小的指令集展现引擎。由于智能客户机端处理,用户界面操作大部分在本地处理。该引擎在每次会话期间保持应用用户界面状态信息,因此,对于中间请求,只需要少量增加更新。例如,可以更新电子表格页面的一部件,而无需刷新整个页面。一旦应用子集内的所有请求都完成了,最后的更新或其它请求进行向下搜索以将该应用变换到总商用应用的下一段。
最终结果是总商用应用构成需要比下载许多应用子集专用客户机少得多 的资源的各个应用子集定义文件的总和。然后,内置在通用客户机中的智能或能力可用于所有应用子集。在到不同应用子集的过渡之间可以释放资源,这意味着,虽然只使用了有限客户机端存储器和文件系统存储资源,但在深度上对应用几乎没有限制。另外,这缩短了应用开发时间,因为不需要为每个专用应用子集编码客户机。与包含代码生成冗余度的IDE代码生成的应用子集专用客户机相比,没有任何代码冗余度地写入智能客户机,保证了最小的尺寸。
如上所述,独立于浏览器的智能客户机另外解耦一个客户机与单个URL的关系。独立于浏览器的无符号通用智能客户机受客户机和服务器URL之间的一一对应关系约束。因此,寄留在引用相同通知小应用的相同URL上的应用可以重新使用浏览器缓存客户机,但是,分布在多个URL上的应用需要为引用的每个单独的URL单独加载相同通用客户机。在独立于浏览器的实现中,克服了这种限制,因为首先不需要下载客户机,允许联合应用分布在数个URL上。
本发明尤其适用于诸如WAP系统(2.5G/3G移动通信)的无线环境中。在标准的服务器-客户机系统中,显示管理器包含窗口管理器。在无线应用中,显示管理器管理客户机移动设备上的显示部件和显示区。
附图简述
现在参照附图,通过示例性实施例对本发明进行描述,在附图中:
图1示意性地例示了现有技术的传统瘦客户机开发模型;
图2示意性地例示了本发明的智能客户机开发模型;
图3示意性地例示了本发明系统的关键结构部件和关系;
图4示意性地例示了本发明系统结构的关键部件的初始化和加载阶段;
图5A和5B示意性地例示了应用子集的构建阶段;
图6示意性地例示了事件处理阶段;
图7示意性地例示了显示过渡阶段向下搜索(drill-down)过程;
图8示意性地例示了显示过渡阶段覆盖过程;
图9示意性地例示了应用目标URL的缓存;和
图10例示了适用于支持本发明的操作环境的部件。
具体实施方式
给出如下定义以帮助理解本发明的技术领域。在本说明书和附图中还采用以下命名规则,即在标号之后使用单引号“′”指代类,表明该类的实例化对象。
Java和类似的平台使用包括虚拟机(例如,JVM)的编程环境操作,以便该环境可以独立于计算机操作系统和用于执行它的处理器。
‘瘦’客户机是具有有限本地存储的网络化客户机,因此通常在‘胖’服务器上提供存储服务。由此,瘦客户机要求在服务器和客户机之间传送所有对象。高级Java代码被编译成致密的、中间的、独立于机器的目标代码,机器专用解译器在运行时将该目标代码翻译成可执行计算机专用代码。在小应用的情况下,包含在类中且封装在容器文件中的小应用独立于机器的目标代码从服务器装入客户机中,并在客户机浏览器虚拟机中被解释和执行。独立于浏览器的客户器首先被安装在客户机上,且在客户机设备上的预先安装的虚拟机内运行。
应该注意到,尽管本发明不局限于独立于浏览器的引擎,但图2-10以及下面的详细描述均涉及这样的引擎,其结构包括多个特征以适应相对于浏览器的独立性。
下面的描述和附图例示了为通用智能客户机无线应用设计的结构,但本领域的普通技术人员将会理解,无线操作环境只是本发明应用的一个领域。
参考图1,图1指的是现有技术,在传统的瘦客户机开发模型中,每个应用子集14A-14N的每组主类10A-10N和显示专用类12A-12N是不同的。每个子集14A-14N必须分开研发、测试、和下载到客户机设备。由于诸如CRM和ERP系统的商用应用16需要多个不同的应用子集,这可能会导致高的带宽要求和/或差的性能。应用子集14A-14N中的显示程序12A-12N越多(其中,带有用于每个显示程序的相关商用逻辑单元和事件处理代码),专用客户机的总规模就越大。
图2示意性地例示了本发明智能客户机方法优于图1中示出的瘦客户机模型的特征和优点。总商用应用16由各个应用子集定义文件(从应用定义URL 1-N下载)的总和构成,其要求比下载多个应用子集专用客户机少得多的计算资源。
重要的是,运行应用所需的智能和能力内置在通用客户机引擎20中,然后可为所有应用子集18A-18N所用。
通用客户机引擎20(或构建器结构)利用通用显示管理器类将应用16中的所有窗口模型化,而不是为该应用内的每个显示程序创建单独的显示程序类12A-12N(图1)。客户机端标记语言用于定义如何出现显示程序,该语言被合并在定义文件18A-18N中。
对应用定义文件18A-18B进行压缩用于下载到客户机,然后,应用定义文件18A-18B动作以在客户机端动态地创建用于应用16的显示程序。如下面进一步详述,该方法提供了(a)向下搜索新应用实例和(b)利用动态或静态覆盖动态地修改当前应用实例的能力。在覆盖期间,只需定义与加入或移除的数据或部件有关的信息。该系统还应用矢量化来减少所需的图像下载的数量。
另外,由于由客户机引擎20向客户机提供智能,减少了服务器端请求的数量。这是通过如下完成的:(a)在客户机端存储状态信息的状态变量;以及(b)允许客户机端部件之间的交互(无需服务器端介入)。可缓存的客户机端应用java bean或Applet提供了客户机端交互和服务请求的机制。另外,这还提供了在不使引擎规模增大的情况下扩展引擎20的能力的手段,因此使用户可以开发诸如复杂数学处理或可视交互(例如,旋转分子结构显示)的高度专业化的能力。
客户机端内容缓存和智能应用子集还确保了客户机设备可以在脱机的时候沿着缓存路径操作。此外,智能客户机端内容同步允许客户机端应用在重新开始联机操作时向服务器公布缓存内容。
如上所述,他人考虑了开发客户机端基于万维网应用的挑战。与本发明不同,这些解决方案通常包括Java IDE以代码生成作为一系列小应用的商用应用,在客户机端形成这些小应用的雏菊花链。即使可以将一个特定的小应用归类成瘦客户机,但下载众多小应用的最后结果意味着应用实际上变成胖客户机。
在本发明中,通用显示处理器对象22管理应用的显示程序内的所有布局和部件,应用管理层24(参见图3)管理与整个应用段相关联的问题。应用管理层支配驻留显示程序之间的交互、图像到显示程序的异步装入、和缓存控制。它还包括解析器模块,用以对压缩应用定义配置文件18A-18N的解析 进行处理,以便或者转换到新应用子集(或‘客户机片断(client snippet)’)或将信息覆盖在现有客户机片断上。
客户机端应用定义文件18A-18N基于应用定义标记语言,应用定义标记语言可以是XML类型的或可以使用其它更简单的标记语言形式。按照来自这些定义文件的指令,以及由于客户机的递归、智能特性,客户机接着可以根据用户在客户机端穿过的路径动态地变换它自己。这缓解了带宽限制问题,并且提供了通用框架,该通用框架可自由使用在随后的适当虚拟机发行版本中提供的不管什么样的新特征。
本发明的结构使客户机能够在低带宽环境下实现丰富的、开放和复杂的GUI外观和感觉。本发明的通用智能客户机的结构框架例示在图3-9中。这些图与下面的说明结合,描述了本发明的部件和方法步骤。
核心构建器结构(或客户机引擎)20由七个主要结构部件组成:
应用管理器24;
显示管理器22;
加载管理器26;
缓存管理器28;
服务管理器30;
连接监视器32;和
公布管理器34。
应用管理器
应用管理层24在智能客户机引擎20运行的整个期间内保持驻留。其目的是提供层(通过该层初始化引擎)、较短持续时间实例化对象通信的网关占位方法、应用子集过渡之间的存储器管理的方法、全局范围(例如,显示管理器)的散列表、数组、变量和对象的存储、修改当前客户机端应用或使它转换到新应用子集的流式应用定义文件解析器、联机/脱机缓存控制管理类的接口、以及XML解析器、缓存控制、连接监视器、容器、显示和服务管理类的占位方法(placeholder method)。
显示管理器
显示管理器22提供应用子集18A-18N的可视部件,这里,一个显示管理器对象管理应用的显示程序内的所有部件和交互。应用子集可以由代表任何窗口类型应用的多个显示程序组成。应用子集被定义成捕获应用子集的所 有功能的一组滑动的动态生成的显示程序。总商用应用可以由许多(上千或更多)显示程序组成,包含不同部件和布局,封装和实现所有所需商用逻辑单元。应用子集代表总应用的一部分的滑动视窗(sliding view)。通过整个应用的导航取决于不同应用子集之间的逻辑路径。这些路径可以根据存储在当前客户机端应用子集中并被传送到商用逻辑单元主机服务器的信息动态地生成,或可以是基于预定路径被静态/硬连线。
显示管理器22′是显示程序类22的扩展,提供存储单元和提供如下功能的方法:
初始化和构建;
部件和子部件布局;
数据验证;
事件处理;
在应用子集内内部地以及在应用子集之间外部地显示程序子集过渡之间的数据同步;和
部件/容器对象和相关部件/容器信息的存储。
加载管理器
加载管理器26由几个部件组成:
URL解析器(URL Parser):该对象异步地加载和解析远程应用子集定义文件18A-18N,远程应用子集定义文件18A-18N为每个新显示程序创建显示管理器对象22′,并实例化、存储和布局约束指定显示程序中的容器/部件对象和引用信息。在现有显示程序的情况下,按指令修改或移除部件。URL解析器36还为服务器端静态和动态生成的应用子集配置URL提供应用定义缓存。如果设备连接状态是脱机,则将从缓存中检索加载目标URL配置文件或进行服务器端服务的请求(如果已被缓存)。URL解析器对象36′与缓存管理器28一起工作,以使网络下载最少并确保间歇网络环境中的应用连续性。
监视器(WatchDog):该类38由URL解析器对象36实例化,并执行URL解析器线程上的超时处理。如果URL解析器加载时间超过可配置的超时时间段,则监视器线程杀死父URL解析器线程。如果URL解析器线程在监视器线程超时之前加载远程应用定义URL,则URL解析器线程杀死监视器线程。
异步加载器(AsyncLoader):该类40在URL解析器线程生命限结束时 实例化,指引每个当前应用显示管理器22′画图和包含的2D调色板部件42中的2D矢量子部件。
缓存管理器
缓存管理器28由三个部件组成:
应用子集/目标URL缓存44;
图像缓存46;和
内容缓存48。
目标URL缓存管理
目标URL缓存管理通过URL缓存管理器(URLCacheManager)类44处理,并由URL解析器36以受客户机设备连接状态支配的不同方式实例化。
URL缓存管理器的目的是控制目标URL配置文件和服务请求、响应的缓存,以及根据设备连通性和相对于缓存的目标URL年龄从缓存的检索。在无线环境下,缓存管理器44的用途是双重的:
有限带宽环境下的加载性能;和
间歇网络环境下的应用连续性。
在该环境下,需要应用子集新颖性和连续性之间的折衷。
如果设备是脱机的,则静态目标URL或服务,加上部件名值对,用作关键词以检索之前被缓存的目标或服务响应。如果未缓存目标URL或服务响应,则忽略静态或动态服务请求。
如果设备是联机的,将远程静态目标URL大小和日期与缓存版本相比较。如果远程目标URL比缓存版本新,则加载远程版本,并使用目标URL作为数据存储关键词将远程版本存储在缓存中。如果缓存未包含目标URL版本,则其被简单地远程加载,然后进行本地缓存。在服务器端服务请求的情况下,将服务发送到服务器端,并在经过URL解析器36解析和处理响应之后,缓存该响应。
图像缓存管理
在加载了图像之后,图像缓存管理器46控制对图像的缓存。它还控制图像的流动,首先从存储器缓存到客户机端数据存储设备,最后基于后进先出超出存储量时,来自数据存储设备。可以缓存的图像的数量完全取决于客户机端存储器和存储容量,且因设备而异。
内容缓存管理
内容缓存管理48指的是设备脱机的时候对收集数据的缓存。附在部件上的‘存储’类型的服务将所有部件名/值对存储在本地设备数据存储设备中,所述本地设备数据存储设备为存储服务组的一部分。这种设施的用途是允许移动设备在脱机操作期间被用作数据存储设备。这种与目标URL缓存结合在一起使用的能力意味着设备可以是脱机并继续执行一组缓存的目标URL应用子集18A-18N,按需要捕获和存储数据。
除非提供了补充公布能力,以在联机时通过服务请求将那个数据推到服务器端网络,否则保存数据的能力是无用的。这可以通过附在引用缓存服务组的显示部件上的直接“公布”服务完成,或通过异步公布管理器34完成,所述异步公布管理器34在每个指定周期内醒来,检验设备连通性状态,且如果连接,为所有公布服务组发布公布服务。
缓存预加载
具有预定义的应用子集的目标URL缓存44和具有引用图像的图像缓存46两者通过那些应用子集的预加载将允许设备用作预配置的脱机数据捕获设备。它允许迅速配置设备用于多种用途。这是通过提供将检索响应的整个内容直接放进设备缓存中的档案检索服务完成的。
服备管理器
服务管理器30是响应附有服务器端目标服务的显示部件启动的事件而实例化的。该类控制服务器请求的发出和对它的响应。通过创建URL解析器对象36′来处理成功的响应,以解析该服务请求的响应。解析器进行响应的流式解析,且作为响应,创建或修改显示程序、容器、部件或子部件。
连接监视器
连接监视器32监视客户机设备与无线网络的连接状态。这是通过每个指定周期发出服务器端请求来进行的。如果请求超时,则设备将全局连接状态标志设置成假;否则,标志被设置成真。连接状态标志被缓存管理类44和公布管理类34两者用来控制应用子集和内容的缓存检索,以及脱机存储客户机端数据的同步。
公布管理器
公布管理器34在每个指定周期醒来,检验连接状态,并试图将客户机端存储的数据推入/倾倒在服务器中。公布管理器也可以从带有用公布标签标记的附属服务的显示部件直接调用。
转到图4、图5A和5B,将描述在初始化、加载和构建应用子集18A-18N期间所涉及的处理。
应用管理器类24管理所有初始配置参数设置,全局范围的表格、动态数组和参数的建立。
在初始化结束时,实例化一URLparser类36′用于加载和解析入口点目标URL。URLparser对象36′创建包括带有容器、部件、子部件和它们所有相关信息的显示程序的入口应用子集,并将它传递给指定的显示处理器对象22′。
parseComponent ()方法解析所有容器、部件或子部件参数和数值。当遇到DISPLAY或WINDOW令牌时,通过parseComponent方法实例化显示管理器对象22′。将引用该相同框架的随后的部件加入显示程序特定的显示管理器对象22′中。显示管理器对象22′管理每个容器/部件/子部件的存储、布局、附加参考信息和事件处理器。
URLparser对象36′通过实例化异步加载器类40完成,以管理引用显示程序2D调色板部件中图像的渐次显示。异步加载器40还初始化每个显示程序中的所有2D调色板部件。2D调色板初始化牵涉到2D调色板背景图像的构建和附在图像按钮上的菜单的菜单、子菜单和子菜单项的尺寸确定。
2D调色板42′被设计成提供允许在包括深度嵌套菜单的相同可视覆盖区中多组可视功能性的部件。
监视器类44确保了在可配置上限内加载目标URL。如果监视器44′在加载目标URL的过程中到期了,则监视器杀死URLparser线程,否则,URL解析器杀死监视器线程。
URLparser 36进行目标URL的流式加载和解析。DISPLAY/WINDOW类型的部件导致作为显示程序类的扩展的显示管理器对象22′的实例化。显示程序的所有属性(宽度、高度、标题、锚定位置、背景色等)被传递给显示管理器22′。随后的部件50、容器52和子部件被加入显示管理器对象22′中。
容器52包含窗体(Form)和包含的部件。
部件50包括文本字段(TextFields)、文本框(TextBoxs)、复选框(CheckBoxs)、单选按钮(Radio Buttons),图像项(Image Items)、按钮(But tons)、弹出菜单(Popup Menus)、列表框(ListBoxs)、线规(Gauge)、标签(Labels)、2D调色板(2DPalettes)和矢量化子部件:弧(Arcs)、线 (Lines)、矩形(Rectangles)、椭圆形(Ovals)、多边形(Polygons)、多义线(Polylines)、光标区域(Icon Area)、图像按钮(Image Buttons)、高亮区(Highlight Areas)、动态图像区域(Animated Image Areas)、滚动文本区域(Ticker Text Areas)等。
每种部件/子部件含有均存储在每个显示管理器对象22′中的通用存储类(ComponentInfo)的表格和矢量中的相关参数和配置信息。
容器52也类似,其中,配置信息存储在ComponentInfo类的表格和矢量中。
2D调色板部件54可以具有与它们相关联的2D特性,并且这个信息被传递给引用的特定显示管理器2D调色板。每个显示管理器对象引用被存储在应用管理器表格和矢量中,供随时检索用。
部件的解析不局限于加入部件、子部件、或容器。在应用定义协议中包括用以指定部件/子部件移动或修改的令牌,以允许在无需重新加载几乎与当前应用相同的全新的应用的情况下修改现有应用。
图6例示了事件处理阶段。在许多部件上附有键盘和鼠标收听器,用以收集被击的键和/或按压鼠标动作。如果部件附有服务和/或目标URL,则开始应用转换的处理。
部件可以发出服务器端HTTP POST或GET请求和/或加载新目标URL应用定义子集文件18。
如果gotoref值只是框架名且服务值是小服务程序或cgi服务名,则进行动态向下搜索或覆盖。首先调用服务器端服务程序,传递相同服务组中的部件的所有部件名值对作为初始部件。如果在当前应用子集中存在在gotoref中指定的框架名,则进行动态覆盖,否则,到新应用子集执行动态向下的搜索。
即:service=/servlets/myservlet gotoref=FRAME_HOME
如果未指定服务名,但gotoref包含框架名和完整URL名,那么,进行静态向下搜索或者静态覆盖。
即:gotoref=FRAME_XYZ,http:/www.abc.com/myconfig.zip
在框架名存在于当前应用子集之中的情况下,进行静态覆盖,否则,进行静态向下搜索。
其它动作包括:退出应用:改变显示,清除所有显示部件内容,将所有 显示部件内容保存到本地存储设备中,和向服务器公布保存的数据。
图7和图8分别更详细地示出了向下搜索和覆盖过程。
向下搜索:当从当前应用子集发出向下搜索请求时,实例化一URLparser类36,以加载和解析新目标URL。这是通过应用管理器24中的占位方法完成的,应用管理器24还实例化AsyncPluginLoader(异步插件加载器)(未示出),以加载第三方小应用/JavaBean容器URL。如何发出与覆盖相反的向下搜索的细节在图6中详细包括的事件处理阶段中给出。
新URLparser 36″加载和解析新目标URL并动态地构建新应用子集。在URLparser线程36自灭之前,它实例化该AsyncPluginLoader类40,以开始逐步将图像装入新应用子集的处理。异步加载器40首先消灭之前的应用子集显示,并且将控制传送到新应用子集。
在图像被加载到当前应用子集,并在其中显示时,异步加载器40和异步插件加载器线程已经完成,且所有JavaBean和小应用均从它们的本地缓存库加载、放置在当前应用子集中并在其中启动。
覆盖:在覆盖过程中,也实例化该URLparser 36,以加载和解析新目标URL,但是,当前显示管理器22′或图像构建管理器(ImageConstructManager)(未示出)中没有一个被消灭。从当前应用子集和图像构建管理器加入或移除部件、容器和子部件,以加载和显示新的和现存的图像、矢量化和2D部件。由于是从存储器内缓存(未示出)或本地缓存(未示出)检索已经装入的图像,因此,延迟最小化。但是,新图像被远程加载和缓存。覆盖过程也适用于图像和矢量化部件移除。
覆盖设施提供了因特网上的客户机-服务器型计算的机制,因为它允许在无需重装和重构整个应用子集的情况下修改当前应用子集。
状态变量同步:在如下状态下需要状态变量同步:
在应用片断内从一个显示过渡到另一个显示;
在制表窗格部件内从一个制表窗格过渡到另一个制表窗格;和
从一个应用片断向下搜索过渡到另一个应用片断;和
在静态或动态覆盖期间。
对于状态变量同步,每个部件可选地可以具有与其相联系的状态变量名。在上述任何一种过渡期间,将部件的值从部件传送到存储在应用管理器24中的状态变量表。在所有起始显示/制表窗格(Display/Tab Pane)部件更新了 应用管理器中的状态变量表之后,附有状态变量名的目标起始显示/制表窗格部件从应用管理器中的状态变量表中检索值,以便设置成它们的值。
自动状态变量同步可用于省去对在显示/制表窗格过渡期间处理部件数据同步的服务请求的需要,以及用于使应用开发者所需的工作量达到最少。
图9示出了如何缓存应用子集目标URL。
URLparser 36进行检验,看目标URL是否已存在于缓存之中且未被更近版本取代。如果存在且仍然是当前的,则其从本地缓存加载应用子集目标URL,并且解析这个文件。否则,远程加载目标URL,然后将其缓存到本地文件系统中。
如图10所示,数字计算机11与定位设备13(例如,鼠标或跟踪球)、键盘15、显示单元17、和盘存储单元19连接。计算机1包括CPU和存储单元(未示出)且与网络接口21连接。这样就使得能够通过网络23(例如,因特网)与远程服务器25通信。这样的系统可配置成能够执行具体化本发明的过程。
然后,本发明用于允许在小带宽覆盖区中下载全部商用解决方案。事实上,它涉及应用服务引擎,而不是内容服务引擎,并且允许用户穿过因特网上的在功能上可以互连或完全不同的多个应用。举例来说,它们可以是制造系统、ERP系统、CRM系统、金融系统等。
在本发明的一个实施例中,允许独立于浏览器的窗体的概念。该引擎可以处理所有图像和配置文件缓存,且应用不再局限于单个URL。应用可以分布在允许创建相关应用‘联合体’的多个URL上。使用这样的系统,例如,用户可以观查寄留在多个分离位置的多个制造应用,然后,向下搜索寄留在其它地方的综合金融系统。
因此,由于将商用逻辑单元表示和存储分配给客户机端应用层,本发明提供了比到目前为止可能的系统更加分布式的系统。当然,仍然可以集中管理应用。
重要的是,该系统与现有万维网基础设施完全兼容。因此,即使大多数代码事实上在服务器上,应用看起来也像在本地安装软件那样进行。本发明使用户能够在完全的UGI环境下交互,因此可以用于提供普通窗口功能(例如,表格的分类和列的长度调整、动态缩放图像、和拖放项等)。
本申请人的测试表明,该超瘦操作环境可以将浏览器-服务器业务量减 少多达十倍。
如上所述,本发明的通用递归客户机引擎允许从比传统瘦客户机所需少得多的下载数据中构建复杂的基于显示的商用应用。在商用应用运行期间,显著地节省了下载时间。事实上,“智能客户机”和“瘦客户机”之间的差异随着商用应用的复杂性和规模的增大而增大。
传统瘦客户机商用解决方案需要雏菊花状链接在一起的瘦客户机。每一个提供总商用应用的一段。下表通过总商用解决方案(牵涉到初始化步骤和五个应用段Seg.1-5)的典型例子例示了两种方法之间的总应用下载的差异。
客户机 | 初始 | Seg.1 | Seg.2 | Seg.3 | Seg.4 | Seg.5 | 总计 |
瘦 | 40kb | 40kb | 50kb | 30kb | 20kb | 40kb | 220kb |
智能 | 80kb(仅第1次) | 5kb | 10kb | 2kb | 5kb | 8kb | 110kb |
在无线环境下,本发明适于与USSD(非结构化补充服务数据)技术一起使用。在WAP的支持下,USSD是GSM(全球移动通信系统)特有且内置在GSM标准中的技术,用于支持在GSM网络的信令信道上传输数据。USSD提供允许各种各样应用的基于会话的通信。USSD提供理想机制,通过该机制,移动设备可以用于触发或访问诸如回叫、交互式消息传送、信息查询服务、银行管理服务、顾客服务和移动聊天等的移动业务。
举例来说,可以利用本发明的方法和系统启用银行业务应用。移动用户经由蜂窝式网络和防火墙系统与银行业务服务器通信。用户通过他的移动设备与银行业务服务器的URL连接,并且将引擎和缓存下载到移动设备。然后进行银行业务服务器与移动设备之间的证书检验和公开密钥交换,如果成功,则系统进入安全会话模式。然后,用户利用他的用户名、帐户ID、口令和移动设备ID进行登录。允许多达3次的失败,一旦成功地完成了登录,则向用户展示帐户和操作选项的多级列表。按照所选选项(例如,‘转帐’、‘支付’、‘返回到选项’、‘退出’等),通过各个应用子集定义文件向移动设备提供上下文专用的应用段。
在考虑了上面的完整说明之后,对于本领域的普通技术人员而言对本发明的修改和改进是显而易见的。这样的修改和改进都旨在包括在仅由所附权利要求书限制的本发明的范围之内。
本说明书和权利要求书中使用的措辞“包含”以及它的各种形式并非将本发明限制为排除任何改变或添加。
Claims (22)
1.用于运行基于显示的计算机应用的方法,该应用包含多个应用段,涉及在服务器计算机上的服务器与客户机计算机上的客户机之间分配计算,该服务器计算机和客户机计算机通过计算机网络操作地互联,该方法包含步骤:
(a)向客户机计算机提供通用客户机引擎,该客户机引擎包括用于管理与每个应用段相关联的变量的应用管理器、用于管理由所述基于显示的计算机应用产生的在客户机计算机上的显示的一个或多个显示管理器、和一个或多个加载管理器;
(b)提供各个应用子集定义文件的集合,所述应用子集定义文件中的每一个与所述应用段中的一个相关,且所述应用子集定义文件中的每一个包括可分析的指令,所述可分析的指令用于由加载管理器加载到客户机计算机上,以创建一个或多个新的显示管理器;
其中,在从服务器接收到相继的应用子集定义文件时,客户机递归地变换,以由此提供相应的应用段。
2.根据权利要求1所述的方法,其中,应用子集定义文件定义与相应段相关联的一个或多个显示区内的部件或布局特征。
3.根据权利要求2所述的方法,其中,应用子集定义文件只定义与要在相继的客户机更新之间加入或移除的部件或布局特征有关的信息。
4.根据前述任何一项权利要求所述的方法,其中,使用应用定义标记语言对所述应用子集定义文件进行格式化。
5.根据权利要求1所述的方法,其中,应用管理器适于作为单独的客户机端的层运行,用于管理与每个应用段相关联的变量,所述应用管理器包括:
(a)控制驻留显示区之间的交互的控制装置;
(b)将图像异步加载到显示区的加载装置;
(c)控制图像的缓存的缓存装置;和
(d)解析应用子集定义文件的解析装置。
6.根据权利要求5所述的方法,其中,所述解析装置适用于解析压缩的应用子集定义文件。
7.根据权利要求5所述的方法,其中,所述缓存装置包括在启动随后应用段的缓存图像的缓存时,在缓存周期之后,消除客户机存储器中之前应用段的缓存图像的装置。
8.根据权利要求1所述的方法,其中,所述应用管理器包括以下的一个或多个:
(a)短持续时间实例化对象的网关占位装置;
(b)应用子集过渡之间的存储器管理装置;
(c)散列表、数组和变量的存储装置;和
(d)联机/脱机缓存控制管理类的接口装置。
9.根据权利要求1所述的方法,其中,所述一个或多个显示管理器包括以下部件中的一个或多个:
(a)初始化和构建装置;
(b)部件和子部件布局装置;
(c)数据验证装置;
(d)事件处理装置;
(e)用于在应用子集中内部地和在应用子集之间外部地显示子集过渡之间数据同步的装置;和
(f)存储与部件对象和/或容器对象有关的信息的装置。
10.根据权利要求1所述的方法,其中,所述一个或多个加载管理器包括以下部件中的一个或多个:
(a)通过URL解析器线程异步地加载和解析远程应用子集定义文件的URL解析器装置;
(b)配置成通过URL解析器装置实例化,以对URL解析器线程进行超时处理的监视器装置;和
(c)配置成在URL解析器线程生命期结束时实例化的加载器装置。
11.根据权利要求1所述的方法,其中,所述通用客户机引擎进一步包括一个或多个公布管理器,其被配置成利用所述服务器计算机周期性地检验连接状态,以及请求将客户机端存储的数据传送到服务器计算机。
12.如权利要求1所述的方法,其中所述方法是以独立于浏览器的方式实现的。
13.用于运行基于显示的计算机应用的分布式计算系统,该应用包括多个应用段,该系统包括:
(a)客户机设备;
(b)通过计算机网络操作地与客户机设备互连的服务器计算机;
(c)安装在客户机设备上的通用客户机引擎,该客户机引擎包含用于管理与每个应用段相关联的变量的应用管理器、用于管理由所述基于显示的计算机应用产生的显示的一个或多个显示管理器、和一个或多个加载管理器;和
(d)各个应用子集定义文件的集合,所述应用子集定义文件中的每一个与所述应用段中的一个相关,且所述应用子集定义文件中的每一个包括可分析的指令,所述可分析的指令用于由加载管理器加载到客户机设备上,以创建一个或多个新的显示管理器;
其中,所述客户机设备被配置成在从服务器计算机接收到相继的应用子集定义文件后递归地变换,以由此提供相应的应用段。
14.根据权利要求13所述的系统,其中,应用子集定义文件定义与相应段相关联的一个或多个显示区内的部件或布局特征。
15.根据权利要求14所述的系统,其中,应用子集定义文件只定义与要在相继的客户机更新之间加入或移除的部件或布局特征有关的信息。
16.根据权利要求13到15中任何一项所述的系统,其中,所述应用管理器适于作为单独的客户机端的层运行,以管理与每个应用段相关联的变量,所述应用管理器包括:
(a)控制驻留显示区之间的交互的控制装置;
(b)将图像异步加载到显示区的加载装置;
(c)控制图像的缓存的缓存装置;和
(d)解析应用子集定义文件的解析装置。
17.根据权利要求16所述的系统,其中,所述解析装置适用于解析压缩的应用子集定义文件。
18.根据权利要求16所述的系统,其中,所述缓存装置包括在启动随后应用段的缓存图像的缓存时,消除客户机存储器中之前应用段的缓存图像的装置。
19.根据权利要求13所述的系统,其中,所述应用管理器包括以下的一个或多个:
(a)短持续时间实例化对象的网关占位装置;
(b)应用子集过渡之间的存储器管理装置;
(c)散列表、数组和变量的存储装置;和
(d)联机/脱机缓存控制管理类的接口装置。
20.根据权利要求13所述的系统,其中,所述一个或多个显示管理器包括以下部件中的一个或多个:
(a)初始化和构建装置;
(b)部件和子部件布局装置;
(c)数据验证装置;
(d)事件处理装置;
(e)用于在应用子集中内部地和在应用子集之间外部地显示子集过渡之间的数据同步的装置;和
(f)存储与部件对象和/或容器对象有关的信息的装置。
21.根据权利要求13所述的系统,其中,所述一个或多个加载管理器包括以下部件中的一个或多个:
(a)通过URL解析器线程异步地加载和解析远程应用子集定义文件的URL解析器装置;
(b)配置成通过URL解析器装置实例化,以对URL解析器线程进行超时处理的监视器装置;和
(c)配置成在URL解析器线程生命期结束时实例化的加载器装置。
22.根据权利要求13所述的系统,其中,所述通用客户机引擎进一步包括一个或多个公布管理器,其被配置成利用所述服务器计算机周期性地检验连接状态,以及请求将客户机端存储的数据传送到服务器计算机。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2005901312 | 2005-03-16 | ||
AU2005901312A AU2005901312A0 (en) | 2005-03-16 | Method for distributing computing between server and client | |
PCT/AU2006/000342 WO2006096919A1 (en) | 2005-03-16 | 2006-03-16 | Method for distributing computing between server and client |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101176079A CN101176079A (zh) | 2008-05-07 |
CN101176079B true CN101176079B (zh) | 2011-12-07 |
Family
ID=36991195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800082734A Expired - Fee Related CN101176079B (zh) | 2005-03-16 | 2006-03-16 | 在服务器和客户机之间分配计算的方法以及分布式计算机系统 |
Country Status (8)
Country | Link |
---|---|
US (4) | US8280947B2 (zh) |
EP (1) | EP1875356A4 (zh) |
CN (1) | CN101176079B (zh) |
AU (1) | AU2006225078B2 (zh) |
CA (1) | CA2604742C (zh) |
HK (1) | HK1112082A1 (zh) |
NZ (1) | NZ562583A (zh) |
WO (1) | WO2006096919A1 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779085B2 (en) * | 2006-07-17 | 2010-08-17 | Research In Motion Limited | Automatic mobile device configuration |
DE102006047198A1 (de) * | 2006-10-05 | 2008-04-10 | Siemens Ag | Ladestrategie für medizinische Bilder |
US8055761B2 (en) * | 2007-01-31 | 2011-11-08 | International Business Machines Corporation | Method and apparatus for providing transparent network connectivity |
US8560938B2 (en) * | 2008-02-12 | 2013-10-15 | Oracle International Corporation | Multi-layer XML customization |
US9621649B2 (en) | 2007-09-28 | 2017-04-11 | Xcerion Aktiebolag | Network operating system |
US8538998B2 (en) * | 2008-02-12 | 2013-09-17 | Oracle International Corporation | Caching and memory optimizations for multi-layer XML customization |
US8788542B2 (en) | 2008-02-12 | 2014-07-22 | Oracle International Corporation | Customization syntax for multi-layer XML customization |
US8966465B2 (en) | 2008-02-12 | 2015-02-24 | Oracle International Corporation | Customization creation and update for multi-layer XML customization |
US8875306B2 (en) | 2008-02-12 | 2014-10-28 | Oracle International Corporation | Customization restrictions for multi-layer XML customization |
US8782604B2 (en) | 2008-04-11 | 2014-07-15 | Oracle International Corporation | Sandbox support for metadata in running applications |
US8667031B2 (en) | 2008-06-13 | 2014-03-04 | Oracle International Corporation | Reuse of shared metadata across applications via URL protocol |
US8996658B2 (en) * | 2008-09-03 | 2015-03-31 | Oracle International Corporation | System and method for integration of browser-based thin client applications within desktop rich client architecture |
US8799319B2 (en) | 2008-09-19 | 2014-08-05 | Oracle International Corporation | System and method for meta-data driven, semi-automated generation of web services based on existing applications |
US9122520B2 (en) | 2008-09-17 | 2015-09-01 | Oracle International Corporation | Generic wait service: pausing a BPEL process |
US8185566B2 (en) | 2009-01-15 | 2012-05-22 | Microsoft Corporation | Client-based caching of remote files |
US8869108B2 (en) | 2009-11-18 | 2014-10-21 | Oracle International Corporation | Techniques related to customizations for composite applications |
EP2360583A3 (en) * | 2010-02-12 | 2011-09-28 | Samsung Electronics Co., Ltd. | Method and system for installing applications |
US8908937B2 (en) | 2010-07-08 | 2014-12-09 | Biomet Manufacturing, Llc | Method and device for digital image templating |
US8917290B2 (en) * | 2011-01-31 | 2014-12-23 | Biomet Manufacturing, Llc | Digital image templating |
US8954942B2 (en) | 2011-09-30 | 2015-02-10 | Oracle International Corporation | Optimizations using a BPEL compiler |
US9575873B2 (en) | 2013-09-13 | 2017-02-21 | Sap Se | Software testing system and method |
US10028002B2 (en) * | 2013-12-16 | 2018-07-17 | Samsung Electronics Co., Ltd. | Server device for sharing contents, client device, and method for sharing contents |
USD769913S1 (en) * | 2014-03-18 | 2016-10-25 | Google Inc. | Portion of a display panel with a computer icon |
USD765689S1 (en) * | 2014-03-18 | 2016-09-06 | Google Inc. | Portion of a display panel with a computer icon |
USD767604S1 (en) * | 2014-03-18 | 2016-09-27 | Google Inc. | Portion of a display panel with a computer icon |
US9460013B2 (en) * | 2014-09-05 | 2016-10-04 | Oracle International Corporation | Method and system for removal of a cache agent |
WO2017004196A1 (en) * | 2015-06-29 | 2017-01-05 | Vid Scale, Inc. | Dash caching proxy application |
US10503787B2 (en) | 2015-09-30 | 2019-12-10 | Oracle International Corporation | Sharing common metadata in multi-tenant environment |
US10261782B2 (en) * | 2015-12-18 | 2019-04-16 | Amazon Technologies, Inc. | Software container registry service |
US10004564B1 (en) | 2016-01-06 | 2018-06-26 | Paul Beck | Accurate radiographic calibration using multiple images |
US10010372B1 (en) | 2016-01-06 | 2018-07-03 | Paul Beck | Marker Positioning Apparatus |
US10013273B1 (en) * | 2016-06-22 | 2018-07-03 | Amazon Technologies, Inc. | Virtual machine termination management |
JP6733490B2 (ja) * | 2016-10-14 | 2020-07-29 | 富士通株式会社 | 開発支援システム、開発支援装置、応答制御プログラム、応答制御方法および応答制御装置 |
US11487514B2 (en) * | 2017-09-28 | 2022-11-01 | Oracle International Corporation | State management persistence |
US11157460B2 (en) * | 2017-12-06 | 2021-10-26 | International Business Machines Corporation | Code management system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1292118A (zh) * | 1998-02-26 | 2001-04-18 | 太阳微系统公司 | 网络上的动态分布式计算的方法和设备 |
US20030158975A1 (en) * | 2002-02-15 | 2003-08-21 | Tridium | Real-time data interface and method for browsers and the like |
CN1447937A (zh) * | 2000-08-14 | 2003-10-08 | 国际商业机器公司 | 从因特网访问传统应用程序 |
US20040034860A1 (en) * | 2002-08-15 | 2004-02-19 | Microsoft Corporation | Dynamically extensible application program framework including message and notification routing |
CN1520089A (zh) * | 2002-12-27 | 2004-08-11 | 消息应用程序用户界面基于模板的定制 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802530A (en) * | 1996-07-01 | 1998-09-01 | Sun Microsystems, Inc. | Web document based graphical user interface |
WO2000002148A1 (en) * | 1998-07-02 | 2000-01-13 | Interleaf, Inc. | System and method for rendering and displaying a compound document |
US7107229B1 (en) | 2000-02-11 | 2006-09-12 | Claremont Investment Partners, Llc | Apparatus and method for creating and managing a financial instrument |
US6874143B1 (en) * | 2000-06-21 | 2005-03-29 | Microsoft Corporation | Architectures for and methods of providing network-based software extensions |
US20020065946A1 (en) * | 2000-10-17 | 2002-05-30 | Shankar Narayan | Synchronized computing with internet widgets |
US7107279B2 (en) * | 2000-12-20 | 2006-09-12 | Insitech Group, Inc. | Rapid development in a distributed application environment |
JP2004538570A (ja) * | 2001-08-03 | 2004-12-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | クライアントコンピュータ上での文書の表示 |
US8136109B1 (en) | 2002-04-19 | 2012-03-13 | Tibco Software Inc. | Delivery of data and formatting information to allow client-side manipulation |
WO2004042538A2 (en) | 2002-11-05 | 2004-05-21 | Bitfone Corporation | Firmware update system for facilitating firmware update in mobile handset related applications |
US20040123270A1 (en) | 2002-12-23 | 2004-06-24 | Motorola, Inc. | Method and apparatus for shared libraries on mobile devices |
US20050086587A1 (en) * | 2003-05-14 | 2005-04-21 | Balz Christopher M. | System and method for presenting computerized interactive forms to respondents using a client-server-systems technology based on web standards |
CA2539460C (en) * | 2003-09-17 | 2012-09-25 | Research In Motion Limited | System and method for dynamic version management of applications |
CA2540519C (en) | 2003-10-02 | 2011-04-19 | Research In Motion Limited | System and method for flexible application hosting on a wireless device |
FI117218B (fi) | 2003-12-29 | 2006-07-31 | Nokia Corp | Menettely tietoelementin lataamiseksi langattomaan päätelaitteeseen |
US20050149529A1 (en) | 2004-01-02 | 2005-07-07 | Andi Gutmans | Efficient handling of download requests |
EP1562113B1 (en) | 2004-02-03 | 2018-05-23 | Sap Se | An application management system and a method of managing an application |
US7293019B2 (en) * | 2004-03-02 | 2007-11-06 | Microsoft Corporation | Principles and methods for personalizing newsfeeds via an analysis of information novelty and dynamics |
US20050216834A1 (en) | 2004-03-29 | 2005-09-29 | Microsoft Corporation | Method, apparatus, and computer-readable medium for dynamically rendering a user interface menu |
US7934169B2 (en) * | 2006-01-25 | 2011-04-26 | Nokia Corporation | Graphical user interface, electronic device, method and computer program that uses sliders for user input |
US20080028294A1 (en) * | 2006-07-28 | 2008-01-31 | Blue Lava Technologies | Method and system for managing and maintaining multimedia content |
-
2006
- 2006-03-16 EP EP06705012A patent/EP1875356A4/en not_active Ceased
- 2006-03-16 CN CN2006800082734A patent/CN101176079B/zh not_active Expired - Fee Related
- 2006-03-16 AU AU2006225078A patent/AU2006225078B2/en not_active Ceased
- 2006-03-16 WO PCT/AU2006/000342 patent/WO2006096919A1/en not_active Application Discontinuation
- 2006-03-16 US US11/908,962 patent/US8280947B2/en not_active Expired - Fee Related
- 2006-03-16 NZ NZ562583A patent/NZ562583A/en not_active IP Right Cessation
- 2006-03-16 CA CA2604742A patent/CA2604742C/en active Active
-
2008
- 2008-06-23 HK HK08106927.7A patent/HK1112082A1/xx not_active IP Right Cessation
-
2012
- 2012-09-04 US US13/603,078 patent/US8645461B2/en active Active
-
2013
- 2013-12-23 US US14/139,532 patent/US9479614B2/en active Active
-
2016
- 2016-09-27 US US15/277,655 patent/US20170019507A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1292118A (zh) * | 1998-02-26 | 2001-04-18 | 太阳微系统公司 | 网络上的动态分布式计算的方法和设备 |
CN1447937A (zh) * | 2000-08-14 | 2003-10-08 | 国际商业机器公司 | 从因特网访问传统应用程序 |
US20030158975A1 (en) * | 2002-02-15 | 2003-08-21 | Tridium | Real-time data interface and method for browsers and the like |
US20040034860A1 (en) * | 2002-08-15 | 2004-02-19 | Microsoft Corporation | Dynamically extensible application program framework including message and notification routing |
CN1520089A (zh) * | 2002-12-27 | 2004-08-11 | 消息应用程序用户界面基于模板的定制 |
Also Published As
Publication number | Publication date |
---|---|
US8645461B2 (en) | 2014-02-04 |
US20130007111A1 (en) | 2013-01-03 |
WO2006096919A1 (en) | 2006-09-21 |
CN101176079A (zh) | 2008-05-07 |
EP1875356A4 (en) | 2012-07-25 |
US20170019507A1 (en) | 2017-01-19 |
US20080189358A1 (en) | 2008-08-07 |
AU2006225078B2 (en) | 2008-11-06 |
AU2006225078A1 (en) | 2006-09-21 |
US20140115041A1 (en) | 2014-04-24 |
CA2604742A1 (en) | 2006-09-21 |
CA2604742C (en) | 2014-12-23 |
US8280947B2 (en) | 2012-10-02 |
US9479614B2 (en) | 2016-10-25 |
HK1112082A1 (en) | 2008-08-22 |
EP1875356A1 (en) | 2008-01-09 |
NZ562583A (en) | 2009-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101176079B (zh) | 在服务器和客户机之间分配计算的方法以及分布式计算机系统 | |
CN100447787C (zh) | 用于在客户机端预取和高速缓存门户组件的方法、系统 | |
AU2008206688B2 (en) | Method and system for creating IT-oriented server-based web applications | |
US9961025B2 (en) | Method and system that streams real-time, processed data from remote processor-controlled appliances | |
US20100235430A1 (en) | Methods and systems to provide services to a mobile device | |
US20080104025A1 (en) | Method and system for efficient execution and rendering of client/server interactive applications | |
CN105051686A (zh) | 用于集成的推荐的系统和方法 | |
US20130103740A1 (en) | Method of tracking offline user interaction in a rendered document on a mobile device | |
CN102713848A (zh) | 用于使用轻量级客户端通过网络来与虚拟化计算服务对接的方法 | |
CN104137104A (zh) | 基于共享元信息的网页的协作式加载 | |
CN104320482A (zh) | 一种银行柜员前端系统 | |
CN100547545C (zh) | 用于网络边缘计算的应用拆分的方法和系统 | |
US8615431B1 (en) | Network content message placement management | |
CN100444108C (zh) | 使用ui储存库的公共ui组件执行无线应用程序的系统和方法 | |
Al-Masri et al. | MobiEureka: an approach for enhancing the discovery of mobile web services | |
CN101582153A (zh) | 电网资源管理方法及系统 | |
CN101562622A (zh) | 一种执行用户请求的方法及其对应的服务器 | |
CN114301970B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN109933735A (zh) | 调度方法、网页渲染方法、网页显示方法及其设备 | |
Freytag et al. | Resource adaptive WWW access for mobile applications | |
CN108900593B (zh) | 一种储物柜数据的分布式处理方法 | |
Fawaz et al. | Efficient execution of service composition for content adaptation in pervasive computing | |
Zhang et al. | Intelligent delivery of interactive advertisement content | |
CN110532102A (zh) | 应用功能的实现方法、装置、电子设备和可读存储介质 | |
CN103186429A (zh) | WebAPP管理系统及其应用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1112082 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1112082 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111207 |
|
CF01 | Termination of patent right due to non-payment of annual fee |