减少运行时间存储空间需求的计算机系统和方法技术方案

技术编号:2889882 阅读:185 留言:0更新日期:2012-04-11 18:40
在提供具有方法的程序的计算机网络中的一种客户计算机系统和相关方法。该客户计算机能够以减少的运行时间存储空间需求执行程序。该客户计算机系统包括网络通信接口、网络通信管理器、执行控制器和压缩器。其中,该压缩器在运行时间存储器内压缩未被调用的未压缩方法中的那些可压缩方法,以便在运行时间存储器内得到可用空间;还在运行时间存储器的可用空间内解压缩方法中的那些可解压缩方法,以便它们可被调用。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及以减少的运行时间存储空间需求执行程序的计算机系统和方法。本专利技术尤其涉及在网络中执行根据经由网络传送的代码(即网络移动码)以使代码的运行时间存储空间需求得到减少的计算机系统和方法。现在建立或配置的计算机系统利用了其代码是体系结构中性(AN)二进制格式(以下称为AN码)的程序的特性。于是这些程序的AN码与计算机系统的具体体系结构或平台无关。本说明书中的术语“体系结构”指一系列型号的计算机的操作特性。具体体系结构的例子包括Macintosh计算机、采用Dos或Windows操作系统的IBM PC兼容计算机、运行Solaris操作系统的Sun Microsystems计算机和采用Unix操作系统的计算机系统。本说明书中的术语“体系结构专用(AS)”指这样的要求,即二进制格式的某些程序的代码(以后称为AS码)仅在具有特定计算机体系结构的计算机系统上被执行。因此,具有利用普通编程语言(例如C语言)书写并对特定体系结构(例如IBM兼容PC)编译的代码的程序只能在该体系结构或该体系结构的仿真器上运行。本说明书中的术语“体系结构中性(AN)”指其编译代码能够在具有不同体系结构的各种计算机系统上被执行。例如,特定体系结构的计算机系统可以利用Java(Sun Microsystems的商标)虚拟机模块来进行配置。对于Java虚拟机的指令集,Java虚拟机模块能够执行具有利用Java编程语言书写和被编译为字节码的代码(以后称为Java字节码)的程序。Java字节码与计算机系统的特定体系结构无关。具有AN码的程序的重要特性包括了它们的可移值性。例如,由于AN码形式的程序能够在被配置用来执行AN码的任何计算机系统上执行,而不管该计算机系统的具体体系结构如何,所以可以容易地通过网络把这些程序从一个计算机系统移植到另一个计算机系统。例如,编译为Java字节码的程序可以在具有Java虚拟机模块的任何计算机系统上执行,并可容易地利用Hot Java(Sun Microsystems的商标)网络通信管理器通过网络从一个计算机系统移植到另一个计算机系统。此外,与被编译为Java字节码的程序的可移植性有关的另一重要特性是这些程序的可验证性。具体来说,Java虚拟机模块能够容易地验证这些程序满足预定的完整性标准。这种完整性标准包括堆栈和数据类型使用约束,这种约束保证Java字节码不能够上溢或下溢Java虚拟机模块的堆栈,并且Java字节码形式的全部指令只使用其数据类型满足对这些指令的数据类型约束的数据。因此Java字节码形式的程序不能够伪造目标指针,并且一般来说只能够访问已明确允许用户使用的系统资源。出于这些原因,把计算机系统配置成执行通过网络接收的AN码形式的程序。实际上,在某些情况下,由于程序被直接装入计算机系统的运行时间(即执行时间)存储器(例如随机存取存储器(RAM)),所以这种计算机系统甚至可以不需要辅助存储器(例如硬盘)。这样一来,这种计算机系统的用户就在软件购买、安装、配置和更新的周期之外,这种周期是软件产品的当前特点。AN码的上述特点使其特别适合于供被连网和根据需要被装入AN码的小型或廉价计算机系统使用。例如,这种计算机系统可以是视频游戏机、个人数字助理(PDA)、蜂窝电话、或其它类似的计算机系统或计算机操作设备。但是,遗憾的是AN码形式的程序的运行比AS码形式的相同程序的运行要慢。例如,Java虚拟机模块执行的Java字节码形式的程序的运行通常比AS码形式的相同程序慢了2.5至20倍。因此,计算机系统的用户可能发觉需要通过网络接收程序的AS码,以便AS码能够在该计算机系统的特定体系结构上执行。但是,为了保证这些程序安全地传送给计算机系统,网络必需是封闭的或可靠的,或者这些程序必需具有可被验证的嵌入式数字标符。此外,根据AN码生成的AS码比原始AN码大得多。例如,根据Java字节码生成的AS码通常是Java字节码大小的2至5倍。于是固定数量的运行时间存储器能够存储的编译AS码要比能够存储的AN码少得多。但是,如上所述,AS码比生成该AS码的AN码快得多,并且AS码也许是获得满足要求性能的唯一方法。在上述计算机系统中,价格是极其重要的。实际上,配置这种计算机系统的最主要的成本之一是执行被装入程序所需的运行时间存储器的数量。因此,减少这些计算机系统所需的运行时间存储器的数量是非常重要的,这是因为这种减少提供了竞争性强的优点。此外,在上述这种计算机系统中,也许不能够对辅助存储器进行分页。在这种情况下,当在运行时间存储器内需要用于通过网络接收的AS码或AS码的空间时,可以在运行时间存储器内对它进行高速缓存和冲洗。但是,一旦要继续执行被冲洗的程序,就必需通过网络再次下载原始代码。这就会显著影响程序的执行速度。此外,即使在能够对辅助存储器进行分页的计算机系统中,从辅助存储器检索原始代码所需的时间可能过长。在本专利技术中,利用通过对网络接收的程序的代码进行压缩和解压缩来减少该代码在运行时间存储器内的存储成本。由于这要比冲洗该代码在检索它要快得多,所以压缩和解压缩不显著影响该代码的执行速度。总之,本专利技术是计算机网络中的客户计算机系统和相关方法,通过该计算机网络提供具有方法的程序。客户计算机能够以减少的运行时间存储空间需求执行程序。客户计算机系统包括运行时间存储器、网络通信接口、网络通信管理器、执行控制器、以及压缩器。网络通信接口接收程序的方法,而网络通信管理器把接收到的方法无压缩地装入运行时间存储器的可用空间。执行控制器控制程序的执行,以便方法被调用或不被调用。压缩器在运行时间存储器内压缩未被调用的未压缩程序中的那些可压缩程序。这样就在运行时间存储器内得到可用空间。压缩器还在运行时间存储器内的可用空间内解压缩压缩方法中的那些可解压缩方法以便它们可被调用。在一个实施例中,一旦压缩方法中的那些可解压缩方法要被调用,压缩器就解压缩它们。在另一实施例中,代码压缩器在预定时间间隔之后解压缩压缩方法中的那些可解压缩方法。在再一实施例中,一旦未压缩方法中的那些可压缩方法不再被调用,压缩器就压缩它们。在还一实施例中,当需要运行时间存储器内的空间但得不到时,压缩器就压缩未压缩方法中的那些可压缩方法。此外,在这一实施例,客户计算机系统可以进一步包括一调用顺序表,该调用顺序表按照最早被调用方法至最近被调用方法的顺序列出当前未被调用的那些方法。这样一来,当需要运行时间存储器内的空间但得不到时,未压缩方法中的那些可压缩方法就是在该调用顺序表中的最早被调用的方法。在另一实施例中,当需要运行时间存储器内的空间但得不到时,压缩器就将压缩方法中的那些可冲洗方法从运行时间存储器中冲洗出去。作为以上实施例的一替代实施例,客户计算机系统可进一步包括一辅助存储器。在这种情况下,当需要运行时间存储器内的空间但得不到时,压缩器就把压缩方法中的那些可存储方法存储在该辅助存储器内。压缩器然后从该辅助存储器中检索将要被解压缩的压缩方法中的那些可检索方法。结合附图参看以下详细说明和所附的权利要求书将更容易理解本专利技术的其它目的和特点,附图中附图说明图1是采用了本专利技术的客户计算机系统的方框图。图2是客户计算机系统的操作的功能方框图。图3是客户计算机系统的压缩方法的流程图。本文档来自技高网...

【技术保护点】
在一计算机网络中,通过该计算机网络提供具有方法的程序,一种客户计算机系统以减少的运行时间存储空间需求执行程序,该客户计算机系统包括:运行时间存储器;接收方法的网络通信接口;把接收到的方法无压缩地装入运行时间存储器的可用空间的网络 通信管理器;控制程序的执行,由此在不同的时刻调用和不调用方法的执行控制器;压缩器,(A)在运行时间存储器内压缩未被调用的未压缩方法中的那些可压缩方法,由此在运行时间存储器内得到可用空间,以及(B)在运行时间存储器内的可用空间内解压缩 压缩方法中的那些可解压缩方法,以便压缩方法中的那些可解压缩方法可被调用。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:蒂莫西G林霍尔姆
申请(专利权)人:太阳微系统有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1