CN1260643C - 数据处理***和方法、信息处理装置和方法 - Google Patents
数据处理***和方法、信息处理装置和方法 Download PDFInfo
- Publication number
- CN1260643C CN1260643C CNB028074165A CN02807416A CN1260643C CN 1260643 C CN1260643 C CN 1260643C CN B028074165 A CNB028074165 A CN B028074165A CN 02807416 A CN02807416 A CN 02807416A CN 1260643 C CN1260643 C CN 1260643C
- Authority
- CN
- China
- Prior art keywords
- module
- segment
- new
- new formation
- formation element
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
当从服务器把一个模块下载到客户机时,实现更高速度的数据传送处理。每个模块被根据特性而分类,该模块由新的构成元素重新组合,并且形成与该组合模块相对应的描述特性的信息。其中每个构成元素使用一种或多种压缩方法来压缩,其信息以相应的特性信息来描述,并且通过与客户机单元所具有的扩展方法相对应的一种压缩方法所压缩的新的构成元素在接收到该扩展方法的报告时被发送。当该客户机下载并且使用所述模块时,仅仅下载包含该模块被首先使用的一部分的新的构成元素,然后根据需要以新的构成元素为单位执行下载。因此,实现更高的下载速度和与模块的使用同时的下载。
Description
技术领域
本发明涉及一种用于处理数据传送的数据处理***和数据处理方法,例如把一个模块从服务器下载到客户机,或者在由用于管理模块的服务器和下载并使用一个模块的客户机所形成的网络***中,从通过***总线连接的***设备传送数据,涉及一种信息处理装置,以及所用的信息处理方法及其存储介质。
更加具体来说,本发明涉及一种数据处理***和数据处理方法,其中实现在客户机侧上的高速下载处理以及从***设备的高速数据传送,涉及一种信息处理装置以及所用的信息处理方法及其存储介质。
背景技术
所谓的计算机处理是使用在处理器中执行的预定程序的形式实现的。
在最近的软件开发领域中,把重点放在数要被处理的数据上而不是放在处理程序上的面向对象的技术已经被不断地采用。通常,根据面向对象的技术,考虑到软件开发和维护的效率被改进。面向对象的软件基本上以被称为“对象”的模块为单位而被处理的,其中数据和用于数据的处理程序被集成。另外,一块软件是通过创建多个对象或者通过根据需要组合这些对象而完成的。当然,程序的下载可以以模块为单位而处理。
存在有一种方法,其中模块被存储在通过总线等等与一个客户机相连接的存储设备中,以管理该模块,并且当执行一个程序时,该客户机从存储设备下在该程序并且执行该程序。另外,在由客户机和服务器所形成的一个数据处理***中,存在有一种方法,其中程序在该服务器中存储和管理,并且当执行该程序时,该客户机下在该程序并且执行。在本说明书中,这被称为程序的“下载执行”。
当客户机在执行程序之前执行从例如服务器这样的一个装置下载程序时,需要等待下载完成。这种在程序执行过程中的延迟被称为“下载执行延迟”。在下文中,用于管理连接到客户机的模块的存储设备被称为“模块管理装置”。
到目前为止,为了解决从连接到客户机的模块管理装置下载的下载执行延迟的问题,在模块管理装置和客户机之间的传输速率被增加。例如,当使用作为连接到客户机的模块管理装置的硬盘装置时,该硬盘装置的密度被制作为更高并且其转速增加。以及,由于硬盘装置和客户机之间的连接总线的传输速率的增加和传输宽度的增加而导致传输速率增加。
另外,一个高速缓冲存储器被提供在该模块管理装置和客户机之间,使得对于存储在的该高速缓冲存储器中的数据,通过省略对模块管理装置的实际访问,从而在表面上增加传输速率。
另一方面,在由客户机和服务器所形成的***中,例如当执行一个程序时,提供用于根据需要下载该程序并且执行该程序的功能,包括由美国的Sun微***公司所开发的“Java小应用程序”。严格来说,这是通过定制由Java的开发和执行环境所提供的小应用程序类而创建的软件,并且其功能可以通过把Java小应用程序与通常由HTML(超文本标识语言)格式所编写的网页相结合而扩展。在一个HTML文件中,一个<APPLET>标签被用于描述Java小应用程序所存储的位置。该Java小应用程序由多个Java类文件所形成,或者通过把这些文件组合为一个的“JAR”文件所形成,并且该文件被在该服务器中存储和管理。
当包含Java小应用程序的网页被显示时,该小应用程序的代码被从WWW(万维网)服务器上下载,并且在该服务器中执行。Java小应用程序的执行通常由网络浏览器所具有的Java VM(虚拟机)来执行。在Java中,一个原文件被编译为采用独立于机器的格式的被称为“字节代码”的中间语言,并且Java VM下载该字节代码并且执行的。如果在Java小应用程序的执行过程中不被应用的Java类不存在于Java VM中,则Java VM停止执行Java小应用程序,要求该服务器下载一个用于下载该Java类文件的请求,并且在下载完成之后重新开始执行。
因此,当执行Java小应用程序时,由于等待下载完成而导致出现程序执行延迟,表现出导致程序执行性能下降的问题。该延迟对应于上述的“下载执行延迟”。具体来说,在该程序的启动过程中,由于大多数Java类不存在于Java VM中,因此下载执行延迟增加。在这种情况中,在程序的执行和下载之间的是不同时的。
为了解决下载执行延迟的问题,人们已经对Java小应用程序进行各种研究和开发。
在一种技术中,通过使用表示程序和结果的概况数据,Java类被分为用于高频和低频的两个部分,使得该程序的结构被分析。然后,当由Java VM请求下载Java类时,通过仅仅下载用于高频的一部分,传输量被减少以缩短起动时间。
在另一种技术中,在Java类中的方法被按照通过使用该概况数据和预测的使用次序以及该程序结构分析的结果重新排列。Java类的下载从服务器上以预定的时序开始。然后,当必要的方法和数据被完全下载而不等待Java类被完全下载时,Java VM开始执行,从而使得下载和程序执行同时进行,以减小下载执行延迟。
在另一种技术中,通过使用表示程序的行为和结果的概况数据,Java类被分为用于高频的部分和用于低频的部分,使得程序的结构被分析以减小传输量,并且当创建该程序时,用于预取另一个Java类的命令被预先***到Java程序中,从而使得下载和程序执行同时进行,以减小下载执行延迟。
为了从模块管理装置把一个模块下载到客户机并且执行,需要等待模块的下载完成。因此,存在处理速度下降的问题。作为一种解决该问题的方法,增加该模块管理装置和客户机之间的传输速率(如上文所述)。但是,由于该传输速率比客户机的模块执行速度更低,因此下载执行延迟没有得到充分地解决。
即使一个高速缓冲存储器存在于该模块管理装置和客户机之间,由于对于高速缓冲存储器容量的限制,不能把所有模块置于该高速缓冲存储器中,并且下载执行延迟不能够被充分地解决。另外,由于通过一种机械的算法,例如LRU(最近最少使用方法),来执行对于保留在高速缓冲存储器中的数据的判断,因此减小下载执行延迟不总是有效的。
另一方面,在由客户机和服务器所形成的***中的下载执行延迟不仅仅是Java小应用程序所特有的一个问题,而是在从服务器下载模块的所有***中所存在的一个问题。
作为解决下载执行延迟的一种方法,人们已经提出根据使用频率把一个Java类分为两个部分的技术(如上文所述)。但是,该技术存在这样的问题,尽管这对于例如Java小应用程序这样相对较小的程序来说是有效的,但是随着要被下载的程序变为多功能并且该程序的尺寸在将来变大,如果仅仅把Java类分为两个部分,则不能够希望获得充分的改进。
在一种常规的技术中,由服务器发出预取,或者通过把它作为一个预取指令嵌入在该程序中而发出一个预取。因此,在一些情况中,由于该设备在执行过程中移动,客户机设备的程序执行性能不同于假定的性能或者网络的传输速率从假定的速率改变,还存在不能够表现出充分的性能的问题。另外,当该程序由多个组件所构成并且一些组件被纠正,由于该组件的尺寸改变,因此存在预取的时序不处于一个最佳的时间这样的问题。
根据该客户机设备,存在这样的情况,其中高速缓冲存储器被包含并且它可以被用于暂时存储所下载的程序,其中该程序执行性能较高并且该压缩程序可以在客户机方被扩展。为了使用该高速缓冲存储器和压缩功能,分离处理变为必要,则存在灵活性较差的问题。
发明内容
本发明考虑到上述的技术问题而作出。本发明的一个目的是提供一种优越的数据处理***和一种优越的数据处理方法,其能够通过灵活地处理客户机设备的性能和功能以及在模块管理装置和客户机设备之间的各种传输速率而减小下载执行延迟,还提供一种优越的信息处理装置和所使用的优越的信息处理方法及其存储介质。
本发明的另一个目的是提供一种优越的数据处理***和优越的数据信息处理方法,其能够通过灵活地处理客户机设备的性能和功能以及网络的各种传输速率而减小下载执行延迟,还提供一种优越的信息处理装置和所使用的优越的信息处理方法及其存储介质。
本发明考虑到上述问题而作出。本发明的第一方面针对于一种数据处理***,其中包括用于管理模块的模块管理装置,以及从该模块管理装置传送一个模块并且使用该模块的客户机,
其中,在该模块管理装置中,一个模块的基本构成元素被根据各个特性而分类,该模块由包括多个基本构成元素的新的构成元素重新组合,相应的特性被描述为在各个基本构成元素中的特性信息,并且响应来自客户机的请求及其特性信息而被重新组合的新的构成元素被发送,以及
在该客户机中,当该模块被从模块管理装置传送并且被使用时,对应于与新的构成元素相关的特性信息的处理被相对于该模块的使用透明地执行。
在此时所指的“***”是指多个设备的逻辑组件(或实现特定功能的功能模块),并且与每个设备和功能模块是否在单个容器中没有特别的关系。
本发明的第二方面针对于用于把在一个模块管理装置中管理的模块传送到客户机以及使用该模块的数据处理方法,该数据处理方法包括:
一个步骤,其中在该模块管理装置中,一个模块的基本构成元素被根据各个特性而分类,该模块被根据由多个基本构成元素所构成的新的构成元素而重新组合,相应的特性被描述为在各个基本构成元素中的特性信息,并且响应来自客户机的请求及其特性信息而被重新组合的新的构成元素被发送,以及
一个步骤,其中在该客户机中,当该模块被从模块管理装置传送并且被使用时,对应于与新的构成元素相关的特性信息的处理被相对于该模块的使用透明地执行。
在根据本发明第一或第二方面的数据处理***和数据处理方法中,该模块管理装置例如是通过网络与客户机互连的一个服务器。另外,该模块管理装置可以在预定设备内通过总线与客户机互连的***设备,例如硬盘装置或者DVD驱动装置。
该模块例如是使用一种计算机可读的格式来编写的计算机程序。该模块可以是能够被分解为基本构成元素的数据。
根据本发明第一或第二方面的数据处理***和数据处理方法,通过用被称为“片断”的新的构成元素重新组合例如程序这样由多个基本构成元素所构成的模块,可以对不需要用于该程序的执行的部分进行分类,并且仅仅把需要用于执行的程序部份传送到客户机端。另外,通过使得对应于片断的被称为“注释”的特性信息重新组合该模块,可以实线更高速度的下载执行,其中根据对于相同程序的客户机的各种配置,例如预取和高速缓冲存储这样的多种技术的使用被按照它们最适合的形式灵活均应地组合。
在该模块管理装置中,每个新的构成元素可以使用一种或多种压缩方法来压缩,其信息可以在相应的特性信息中描述,并且通过对应于由该客户机所具有的扩展方法的一种压缩方法所压缩的新的构成元素可以在接收该压缩方法的报告时被发送。
在该模块管理装置中,包含在该模块中的每个新的构成元素可以被分别压缩,并且当从客户机接收多种扩展方法的报告时,由这些方法中最适合的扩展方法所压缩的新的构成元素可以被发送。
本发明的第三方面针对于一种信息处理装置或方法,用于把一个模块提供到外部设备,该信息处理装置或方法包括:
模块重新组合装置或步骤,用于根据各个特性把一个模块的基本构成元素分类,并且通过由多个基本构成元素所构成的新的构成元素重新组合该模块;
特性信息描述装置或步骤,用于把相应的特性描述为在各个新的构成元素中的特性信息;以及
信息发送装置或步骤,用于响应来自外部设备的请求发送新的重新组合的构成元素以及特性信息。
在此,该模块例如是用计算机可读的格式编写的计算机程序。该模块可以是能够被分解为基本构成元素的数据。
根据本发明的设备方面的信息处理装置可以***作为例如用于在计算机网络上提供/发布模块的服务器。从服务器接收模块的供应并且使用该模块的外部设备对应于一个客户机。另外,根据本发明第三方面的信息处理装置对应于一个外部设备,例如通过总线连接到单个设备内的一个客户机的硬盘装置或DVD驱动器装置。
根据本发明第三方面的信息处理装置或信息处理方法,在服务器方,通过考虑在程序执行时的参考关系和下载效率,由多个基本构成元素所构成的原始程序被分为称为“片断”的新的构成元素,并且该程序被重新组合。作为表示该片断的特性的信息的被称为“注释”的特性信息对应于每个片断。
在这种情况中,在客户机方,通过使用该注释信息,下载执行的速度可以通过灵活地组合适用于客户机的设备的预取技术和例如高速缓冲存储和压缩这样的技术来增加。
该信息发送装置或步骤可以首先仅仅发送包括由该外部设备首先使用的模块的一部分的新的构成元素,并且在此之后,根据需要可以以新的构成元素为单位而执行发送。
另外,信息发送装置或步骤可以首先仅仅发送包括由该外部设备,即客户机,首先使用的该模块的一部分的新的构成元素,然后通过参照该特性信息,信息发送装置或步骤可以在该客户机中对模块的使用到达还没有被发送的新的构成元素之前与在客户机中的模块的使用同时地发送还没有被发送的新的构成元素。结果,在客户机中,可以实现在模块的使用和下载之间的同时性,以及实现更高速度的下载。
在模块重新组合装置或步骤中,新的构成元素可以通过使用一种或多种压缩方法来压缩,并且其信息在相应的特性信息中描述。在这种情况中,在该信息发送装置或步骤中,由对应于外部设备,即客户机,所具有的扩展方法的一种压缩方法压缩的新的构成元素可以在接收到该扩展方法的报告时被发送。
在根据本发明第三方面的信息处理装置或信息处理方法中的,压缩处理可以通过使用对每个新的构成元素不同的压缩方法来执行。因此,在该信息发送装置或步骤中,当从外部设备接收多种扩展方法的报告时,由这些方法中最适合的扩展方法所压缩的新的构成元素可以被发送。
本发明的第四方面针对于一种使用一个模块的信息处理装置或方法,该信息处理装置或方法包括:
数据传送装置或步骤,用于从一个外部设备传送一个模块;
用于使用该模块的模块使用装置或步骤;
其中该模块由包括多个基本构成元素的根据各个特性分类的新的构成元素而重新组合,
每个新的构成元素与特性信息相关,以及
当在数据传送装置或步骤中传送的模块要由该模块使用装置所使用时,对应于与新的构成元素相关的特性信息的处理被相对于该模块的使用透明地执行。
在此,该模块例如是一个用计算机可读格式编写的计算机程序。该模块可以是能够被分解为基本构成元素的数据。
根据本发明第四方面的信息处理装置例如可以***作为一个从外部设备下载模块并且在计算机网络上使用该模块的客户机。把一个模块提供到该信息处理装置的外部设备对应于通过网络连接到一个客户机或***设备的服务器,该***设备例如是通过总线连接到客户机的硬盘装置或DVD新1驱动装置。
根据本发明第四方面的信息处理装置或信息处理方法,在服务器方,通过考虑在程序执行和下载效率过程中的参考关系,原始程序被分类为称为“片断”的新的构成元素,并且该程序被重新配置。作为表示一个片断的特性的信息的被称为“注释”的特性信息对应于每个片断。
因此,在客户机方,通过使用该注释的信息,通过灵活地结合适用于客户机的设备的预取技术和例如高速缓冲存储和压缩这样的技术而增加下载执行的速度。
存在这样的情况,其中关于每个新的构成元素的特性信息被从服务器下载,其中该特性信息被在本地地存储在客户机方,并且所下载的特性信息和本地特性信息被结合并使用。例如,所下载并使用的特性信息描述该模块的一般特性,并且由客户机本地拥有的特性信息描述关于各个客户机的特性。
在此,在该数据传送装置或步骤中,仅仅包含被首先用于该模块使用装置或步骤中的一部分模块的新的构成元素可以被首先传送,然后可以根据需要以新的构成元素为单位执行传送。
在该数据传送装置或步骤中,仅仅包含被首先用于该模块使用装置或步骤中的一部分模块的新的构成元素可以被首先传送,通过参照该特性信息,在由该模块使用装置或步骤对模块的使用到达还没有被传送的新的构成元素之前,新的构成元素可以与模块的使用同时传送。结果,可以实现模块的使用和下载之间的同时地执行,并且实现较高的下载速度。
根据本发明第四方面的信息处理装置可以进一步包括一个高速缓冲存储器,用于暂时存储新传送的构成元素。在这种情况中,新的构成元素可以通过使用该特性信息而选择,可以由该数据传送装置或步骤所传送,并且可以存储在该高速缓冲存储器中。当该模块要被使用于该模块使用装置或步骤中时,在该数据传送装置或步骤请求一个外部设备,即服务器,传送数据之前,该高速缓冲存储器的状态可以被检查,并且当该模块的新的构成元素已经被存储在该高速缓冲存储器中时,它可以被使用。结果,可以增加该模块的使用及其下载之间的同时性以及增加高速下载的效果。
该信息处理装置或方法可以进一步包括用于通过一种预定的扩展方法来扩展压缩数据的扩展装置或步骤。在这种情况中,在该数据传送装置或步骤中,当发出一个数据传送请求时,该扩展方法可以被报告给该外部设备,即服务器,并且由对应于该扩展方法的压缩方法所压缩的新的构成元素可以被有选择地传送。在该模块使用装置或步骤中,在该新的构成元素被扩展之后,在该扩展装置或步骤中传送的新的构成元素可以被使用,即,执行。
一种压缩处理可以通过使用对于包含在该模块中的每个新的构成元素不同的压缩方法而执行。因此,该扩展装置或步骤可以包括多种扩展方法。在这种情况中,在该数据传送装置或步骤中,在发出数据传送请求之前,多种扩展方法可以被报告该外部设备,即服务器,并且由最适合的方法所压缩的新的构成元素可以被有选择地传送。
按照上述方式,根据本发明,该程序被按照这样一种方式的重新组合,使得描述一个程序的特性的信息被添加到该程序的构成元素,并且具有相同特性的程序的构成元素被根据该信息而组合。结果,该程序被表示为新的构成元素,即一组“片断”,其是具有相同特性的程序的一组构成元素,并且描述该特性的特性信息,即“注释”,对应于每个新的构成元素。
接着,在接收该程序执行请求之后,该客户机执行环境仅仅从例如服务器这样的模块管理装置把对应于该程序的初始新构成元素的特性信息传送到客户机。然后,与新的构成元素的开始执行同时,根据该执行环境的适当的处理被通过使用该特性信息、客户机执行环境的状态以及网络的状态而执行。结果,通过仅仅下载在此时执行该程序所需的部分,不需要该下载执行等待所有程序的下载完成,因此该程序可以被执行而没有造成下载执行延迟。
作为重新组合程序的新的构成元素的特性,例如使用该程序的构成元素之间的参考关系。结果,具有较强的参考关系发的程序的构成元素可以被组合为一个新的构成元素,即一个“片断”。
该特性信息,即“注释”,可以具有用于由新的构成元素所参考的新参考元素的信息。由于客户机执行环境通过考虑例如客户机的程序执行速度和网络的当前传输速率这样的变化因素而处理这种特性信息,因此将被下一次参考的新的构成元素可以在由该程序的执行所参考之前按照适当的时序下载。结果,该程序执行和下载可以按照最适合于该客户机的执行环境的一种形式而同时操作,因此可以减小下载执行延迟。
该特性信息的一部分可以具有关于使用频率的信息。当该客户机设备具有一个可移动的高速缓冲存储器时,通过添加一个高速缓冲存储管理对象,可以使用该高速缓冲存储器,因此当在下一次执行该程序时可以部分地省略从服务器下载的内容。该高速缓冲存储管理对象通过考虑高速缓冲存储器的大小和当前的使用率而把数据存储在该高速缓冲存储器中,并且执行其管理。
当对服务器发出下载请求时,该客户机执行环境报告由该客户机执行环境所具有的功能。在此时,通过报告由该客户机执行环境所具有的程序压缩/扩展的类型,该服务器可以选择由对应于客户机所具有的类型的扩展方法的压缩方法所压缩的程序,并且可以使用该程序。结果,可以减小程序传输量,并且可以减小下载执行延迟。
本发明的第五方面针对于一种存储介质,其具有实际存储在其上的采用计算机可读格式编写的计算机软件,以便于执行用于在计算机***上管理和使用由多个基本构成元素所构成的模块的数据处理,该计算机软件包括:
一个步骤,其根据各个特性对该模块的基本构成元素进行分类,以通过由多个基本构成元素所构成的新的构成元素重新组合该模块,以及通过把相应的特性描述为在各个新的构成元素中的特性信息而管理该模块;以及
一个步骤,其在该模块被使用时,按照对于该模块的使用透明的方式执行对应于与新的构成元素相关的特性信息的处理。
本发明的第六方面针对于一种存储介质,其具有实际存储于其上的采用计算机可读格式编写的计算机软件,以执行用于把一个模块提供到在计算机***上的外部设备的处理,该计算机软件包括:
模块重新组合步骤,用于根据各个特性对该模块的基本构成元素进行分类,以通过由多个基本构成元素所构成的新的构成元素重新组合该模块;
特性信息描述步骤,用于把相应的特性描述为在各个新的构成元素中的特性信息;以及
信息发送步骤,用于响应来自外部设备的请求发送新的重新组合构成元素及其特性信息。
本发明的第七方面针对于一种存储介质,其具有实际存储于其上的采用计算机可读格式编写的计算机软件,以便于执行用于在计算机***上使用一个模块的处理,该计算机软件包括:
数据传送步骤,用于从外部设备传送一个模块;以及
使用该模块的模块使用步骤,
其中该模块由新的构成元素重新组合,其被根据由多个基本构成元素所构成的各个特性而分类,以及
当在数据传送步骤中传送的模块被在模块使用步骤中使用时,对应于与新的构成元素相关的特性信息的处理被相对于该模块的使用透明地执行。
根据本发明第五至第七方面的存储介质是一种用于以计算机可读格式例如向能够执行计算机软件的通用计算机***提供各种代码的介质。这样一种介质例如是可移动、便携的存储介质,例如DVD(数字通用光盘)、CD(压缩光盘)、FD(软盘)、或MO(磁光盘)。另外,通过例如网络(无论该网络是有线或无线的都没有关系)这样的传输介质把计算机软件提供到特定的计算机***在技术上是可行的。
根据本发明第五至第七方面的存储介质确定在计算机软件和用于在计算机***上实现计算机软件功能的存储介质之间的结构和功能协作关系。换句话说,根据本发明第五或第七方面,通过存储介质把预定计算机软件安装到计算机***上,在该计算机***上表现出协作效果,可以获得与根据本发明第一或第二方面的数据处理***或数据处理方法、根据本发明第三方面的信息处理装置或信息处理方法、以及根据本发明第四方面的信息处理装置或信息处理方法相同的操作效果。
从下文参照附图对本发明的实施例的详细描述中,本发明的其他目的、特点和优点将变得更加清楚。
附图说明
图1示意地示出根据本发明第一实施例的数据处理***的结构。
图2以放大的方式示出由DVD 1所记录的程序。
图3示意地示出一个注释的结构的例子。
图4示出图1中所示的客户机2的更加详细的结构。
图5示出当一个执行环境2-1发出一个程序启动请求时的处理流程的顺序图。
图6示意地示出根据本发明第二实施例实现数据处理的计算机网络的结构的一个例子。
图7示意地示出由服务器11所存储的程序的结构。
图8示意地示出一个注释的结构的一个例子。
图9示意地示出图6中所示的客户机12的功能结构的方框图。
图10为示意地示出图6中所示的客户机的功能结构的方框图。
图11示意地示出当客户机12的执行环境(ExecSpace)12-4发出一个程序启动请求时的处理流程。
图12示意地示出当客户机13的执行环境(ExecSpace)13-2发出一个程序启动请求时的处理流程。
具体实施方式
下面将参照附图描述本发明的实施例。
A.第一实施例
图1示意地示出根据本发明第一实施例的数据处理***的结构。如图1中所示,该***包括DVD 1、客户机2以及与上述装置相连接的***总线3。
DVD 1使用于在DVD(数字通用光盘)的记录表面上读取和写入数据的***设备。在这种情况中,DVD 1作为一个用于存储和管理要由客户机2所执行的程序,即模块,的模块管理装置。
假设,当执行程序5时,客户机2通过***总线3从DVD 1下载一个程序,并且执行该程序。客户机2可以具有一个高速缓冲存储器4,用于加速下载执行,从而该程序的一部分可以根据需要置于该高速缓冲存储器4中。
图2以放大的方式示出由DVD 1所记录的一个程序。如图2中所示,根据本实施例的程序5包括多个片断5-1和多个注释5-2。
片断5-1使得最初形成一个程序的方法和实例被根据特定的特性而分类。作为该特性,例如使用方法和实例的参考特性,例如,在程序的启动时所使用的方法和实例,以及当一个程序的用户界面的特定按键被按下时所使用的方法和实例。通过使用实际执行一个程序所获得的概况数据、使用通过分析一个程序所获得的统计数据或使用通过一个程序创造者的所给出的数据而执行分类。
该注释对应于用于描述该片断的特性的一个片断。在本实施例中,可以使多个注释对应于一个片断。
图3示意地示出一个注释的结构的例子。如图3中所示,注释6广义地包括两个部分,即,注释类型6-1和注释参数6-2。
注释类型6-1表示由该注释6所具有的特性的类型,以及注释参数6-2具有该类新的数值。在本实施例中,作为该注释类型,使用一种参考(Refer)。在此,参考表示该片断之间的参考关系。
被预测为要在该图中所示的片段之后执行的片断的标识被描述为一个注释参数。另外,利用频率来描述该片断被使用的频率,并且根据该频率,客户机可以决定该片断是否应当被存储在该高速缓冲存储器中。
调用(Invoke)表示该片断是在程序执行开始时被参考的一部分。所有这种类型的注释不对应于所有片断,并且仅仅必要的注释根据该片断的特性而对应。
图4更加详细地示出图1中所示的客户机2的结构。图4中所示的客户机2按照这样一种方式执行下载,使得通过使用对应于作为一个单位的片断的注释而从DVD 1下载一个程序。
在图4中所示的结构的例子中,客户机2包括多个并行对象。在并行对象由对外公布的多种方法、用于存储对象的状态和该方法主体的存储器、用于执行该方法的单个上下文关系、用于还没有被处理的管理消息的消息队列所形成。在并行对象接收用于该公布方法的一种方法并且在一个时间处理一个方法。在该消息被处理时所接收的消息被存储在该消息队列中。
下面将描述上形成客户机2的每个对象。
执行环境(ExecSpace)2-1:
该执行环境2-1是用于执行程序并且提供各种服务的一个对象。尽管在实践中,该执行环境2-1由各个对象和模块所形成,但是在本说明书中,为了描述的目的,它被集中地处理为一个对象。
执行环境2-1具有关于下载执行功能的一个方法:恢复(Resume)。在实践中,该执行环境2-1除了上文所述之外还具有许多方法和服务。但是,由于它们与下载执行无关,因此在此省略对它们的描述。下面将说明恢复的操作。
恢复:
1.设置有一个参数所指定的程序部分,使得它可以被使用。更加具体来说,执行例如把程序分配到存储空间或对它进行登记这样的操作。
2.当由一个参数指定一个标识时,相应程序的执行被重新开始。由该执行环境2-1执行对该标识给出含义。对于要在恢复中指定的标识,当执行环境2-1发出Refer时,所执行的标识原样指定。在本实施例中,在发出Refer时,执行环境2-1指定线程标识(ThreadID)。因此,在执行恢复方法的过程中,对应于线程标识的线程的执行被重新开始。
下载器2-2:
下载器2-2解决一个执行请求以及来自执行环境2-1的参考,并且实现下载执行以及通过对DVD 1执行预取和通过使用高速缓冲存储器2-3来实现更高速度的下载执行。
下载器2-2中具有片断表(PhraseTable)、片断映射(PhraseMap)以及程序映射(ProgramMap)。现在首先描述其含义。
片断表:
片断表是一个用于管理片断的表格。片断表具有对应于片断标识(PhraseID)的项目,并且每个项目存储相应片断的下载状态。在初始化时间中,片断表由“未装载”来标记,其表示所有项目还没有被下载。另外,如果相应的片断和注释已经被下载,则可以登记在每个项目中,片断表具有表示存储相应片断标识的DVD 1的扇区的扇区信息。
片断映射:
片断映射是用于管理符号标识(SymbolID)和片断标识之间的对应关系的数据。该数据的使用使得把符号标识转换为片断标识成为可能。片断映射根据从DVD 1获得的数据在执行时间中产生。
程序映射:
程序映射是用于管理程序名和首先被该程序所要求的片断标识之间的对应关系的数据。该数据的使用使得把程序名转换为片断标识成为可能。程序映射被记录在DVD 1的一个扇区的特定位置中。在第一次当该转换变为必要时从DVD 1读取,并产生程序映射。
下载器2-2具有调用、参考和预取的方法。每个方法的操作将在下文中描述。
调用:
1.如果程序映射还没有被产生,则通过指定要产生程序映射的一个特定扇区而把一个装载消息发送到DVD 1。
2.通过使用程序映射,从由一个参数所指定的程序名获得片断标识。
3.片断标识被指定,并且一个获取(Get)消息被发送到高速缓冲存储器2-3,以获得一个片断。
4.如果该片断不存在于高速缓冲存储器2-3中,则一个装载消息被发送到DVD 1。
5.当在对应于所获得的片断的所获得的注释中具有参考类型的注释,则
5-1.一个放置(Put)消息与该频率信息一同发送到高速缓冲存储器2-3。
5-2.通过指定下一个片断标识而把一个恢复消息发送到下载器2-2。
6.片断表和片断映射被初始化。
7.恢复消息被发送到执行环境2-1,从而重新开始该执行。
参考:
1.所有预取消息被从下载器2-2本身的消息队列中删除。
2.由该参数所指定的符号标识被转换为片断标识。为了该转换,使用片断映射。
3.如果对应于片断表的片断标识的项目是“未装载”,则
3-1.一个获取消息被发送到高速缓冲存储器2-3,获得一个片断。
3-2.如果该片断不存在于高速缓冲存储器2-3中,则一个装载(Load)消息被发送到DVD 1。
3-3.如果在对应于所获得的片断的所获得的注释中存在参考类型的注释,则
(1)一个放置消息与该频率信息一同发送到高速缓冲存储器2-3。
(2)预取消息被发送回由下一个片断标识所指定的下载器2-2。
3-4.对应于片断标识的片断表的状态由表示下载完成的“已完成”来标记。
4.恢复消息被发送到执行环境2-1,重新开始执行。
预取:
如果对应于片断表的片断标识的项目是“未装载”,则
1.获取消息被发送到高速缓冲存储器2-3,获得一个片断。
2.如果该片断不存在于高速缓冲存储器2-3中,则把一个装载消息发送到DVD 1。
3.如果存在作为参考类型的对应于所获得的片断的一个注释,则
3-1.一个放置消息与该频率信息一同被发送到高速缓冲存储器2-3。
3-2.通过指定下一个片断标识,把预取消息发送到下载器2-2。
4.对应于片断标识的片断表的状态由“已完成”来标记,其表示下载完成。
高速缓冲存储器2-3:
高速缓冲存储器2-3使用于通过在一个高速缓冲存储器中存储片断和注释并且在需要时提取他们的加速下载执行的一个对象。高速缓冲存储器2-3具有获取和放置方法。下面将描述这些方法的操作。
获取:
1.检查对应于由该参数所指定的片断标识和与它相应的注释的片断是否被存储在该高速缓冲存储器中。
2.当它们被存储时,该片断和注释的内容被返回。
放置:
1.通过使用由该参数所指定的频率信息,确定由该参数所指定的片断及其注释是否应当存储在该高速缓冲存储器中。
2.当用于存储的区域不足时,被确定为最不需要的片断和注释被删除直到用于存储的区域可以被分配时为止。
3.按照与由该参数所指定的片断标识相关的方式,把指定的片断和注释存储在高速缓冲存储器中。
DVD 1:
DVD 1是一种模块管理装置,其连接到客户机2,用于管理和存储要被下载的程序。在DVD 1中,其介质被分为扇区,并且执行其管理。在DVD 1在特定扇区中具有关于由该介质所拥有的程序的信息。
在从该用户接收程序开始请求之后,执行环境2-1指定用于执行该程序的程序名和线程标识,并且把一个调用消息发送到下载器2-2。
启动情况:
下面将参照第一实施例描述该***的操作。图5示出当该执行环境2-1发出一个程序启动请求时的处理流程。
在从该用户接收该程序启动请求之后,该执行环境2-1指定用于执行该程序的程序名和线程标识,并且把一个调用消息发送到该下载器2-2。
如果程序映射没有被初始化,则下载器2-2通过使用特定的扇区信息作为参数把装载消息发送到DVD 1,产生程序映射。在图5中所示的启动情况中,假设程序映射已经被产生。
接着,下载器2-2通过使用程序映射获得首先从指定的程序名要求的片断标识。然后,下载器2-2指定片断标识,并且把一个获取消息发送到高速缓冲存储器2-3。如果相应的片断和注释被存储在高速缓冲存储器2-3中,则它们被返回。在图5中所示的启动情况中,由于该程序被第一次启动,则该高速缓冲存储器2-3被认为是没有存储任何东西。由于不能够用从高速缓存储器2-3获得数据,因此下载器2-2把一个装载消息发送到DVD 1。
DVD 1把对应于由该参数所指定的片断标识的第一片断和注释返回到下载器2-2。
如果在所获得的注释中存在参考类型的注释,则下载器2-2把该片断和注释作为放置消息发送到高速缓存储器2-3。
通过使用所指定的注释的频率信息,高速缓存储器2-3确定该注释和片断是否应当存储在高速缓存储器中。当它们应当被存储时,则通过确认高速缓存储器的空闲空间而执行该存储。当空闲空间不足时,通过使用对应于该存储片断的注释的频率信息而确定要被删除的片断和注释,然后它们被删除。该操作被重复执行,直到可以分配用于存储的必要空闲空间时为止。
下载器2-2通过使用由参考类型的注释所具有的下一个片断标识作为参数把一个预取消息发送到下载器2-2自身。该消息被存储在下载器2-2的消息队列中。
接着,下载器2-2对片断表和片断映射进行初始化,并且把一个恢复消息发送到该执行环境2-1。
执行环境2-1开始响应该恢复而执行程序。与上文所述同时,下载器2-2开始处理下一个消息。
在图5中所示的启动情况中,先前的预取消息被从该消息队列中提取,并且执行其处理。首先,对应于由该参数所指定的片断标识的片断表的项目被检查。由于在这种情况中该项目所存储的片断的状态为“未装载”,则一个获取消息被发送到高速缓存储器2-3。然后,由于相应的片断和注释都存在于该高速缓存储器中,因此用于获得对应于该片断和注释的扇区数据的装载消息被发送到DVD 1。
DVD 1把对应于由该参数所指定的扇区信息的扇区数据返回到下载器2-2。
如果在所获得的注释中存在参考类型的注释,则下载器2-2把该片断和注释作为放置消息发送到高速缓存储器2-3。然后,片断表的状态被改变为“已完成”,并且该片断和注释被登记在其中。另外,最后该下载器2-2通过使用由参考类型的注释所具有的下一个片断标识作为一个参数,把一个预取消息发送到下载器2-2自身。
在上述处理过程中,当由执行环境2-1所进行的程序执行到达下一个片断的执行时,一个参考消息被发送到下载器2-2。
下载器2-2开始下一个消息的处理。在图5中所示的启动情况中,假设来自执行环境2-1的参考消息被置于比第二次的预取消息更加提前。在这种情况中,下载器2-2从下载器2-2自身的消息队列中删除所有预取消息。
接着,下载器2-2通过使用片断映射把由该参数所指定的符号标识转换为片断标识,下载器2-2通过参照片断表而确认该状态。在图5中所示的启动情况中,由于下一个片断和注释被通过第一次的预取消息而登记在片断表中,因此恢复消息被发送到执行环境2-1,而不把装载消息发送到DVD 1。
作为上述操作的结果,通过使用预取和高速缓存,该程序下载执行成为可能。另外,对于不具有高速缓冲存储器的客户机,通过不把获取消息发送到高速缓存储器2-3,可以通过使用相同的DVD 1而执行处理。
在该实施例中,通过考虑在执行一个程序时的参考关系和下载效率,该程序的基本构成元素被分为片断,以便于重新组合该程序。然后,每个片断被置于该模块管理装置中,具有对应于该片断的一个注释,其表示一个片断的特性。在客户机方,通过使用该注释信息灵活地组合预取和高速缓冲存储技术,可以增加下载执行的速度。
B.第二实施例
图5示意地示出实现根据本发明的数据处理的一种计算机网络的结构的例子。图6中所示的网络***包括服务器11、一个或多个客户机12和13以及网络14。
服务器11具有多个程序,例如程序11-1和程序11-2,并且可与把它们通过网络14提供给客户机12和13。在图6中所示的实施例中,程序11-1是一个不被压缩的程序,并且程序11-2是一个通过压缩而减小尺寸的程序。
另外,在图6中所示的实施例中,假设在网络14中存在有两种客户机,即客户机12和客户机13。一个客户机12具有高速缓冲存储对象12-1和压缩扩展功能12-2。其他客户机13被假设为没有这些功能。
如图6中所示的服务器11、客户机12和客户机13通过网络14相互连接。假设网络14的传输速率根据客户机11和客户机12的状态和则根据网络本身的状态而动态改变。例如客户机在静止时的传输速率不同于在移动时的传输速率,并且被分配给每个客户机的网络的速度由于在同时与服务器11通信的客户机的数目的改变而改变。
服务器11和客户机12和13除了作为一个普通的计算机***之外,还可以是通过执行预定的程序代码执行计算处理的处理器所形成的其他类型的信息设备。
图7示意地示出由服务器11所存储的程序的结构。如图7中所示,根据本实施例的程序15由多个片断15-1以及为每个片断所提供的多个注释15-2所构成。
片断15-1使得最初形成一个程序的方法和实例被根据特定的特性而分类。作为该特性,例如可以使用方法和实例的参考特性,例如在一个程序启动时所使用的方法和实例或当一个程序的用户界面的特定按键被按下时所使用的方法和实例。通过使用实际执行一个程序所获得的概况数据、通过使用分析一个程序所获得的统计数据或者通过使用由一个程序创造者所给出的数据而执行分类。
该注释对应于一个片断,用于描述该片断的特性。可以使得多个注释对应于一个片断。图8示意地示出一个注释的结构的例子。在图8中,注释16包括注释类型16-1和注释参数16-2。注释类型16-1表示由注释16所具有的特性的类型,并且注释参数16-2具有该类型的数值。
在本实施例中,以作为注释类型,使用4种类型Refer(参考)、Compressed(压缩)、Invoke(调用)和Map(映射)。参考表示片断之间的参考关系。压缩表示一个片断的压缩。调用表示该片断是在程序执行开始时被参考的一部分。映射表示在下载目的地的片断的控制信息被包含。所有这些类型的注释不对应于该片断,并且仅仅必要的注释根据片断的特性而与片断相对应。
在图8中所示的注释的结构例子中,作为注释类型,应用表示片断之间的参考关系被指定,并且作为标识该类型的数值的注释参数,提供片断尺寸(phrase_size)、执行尺寸(exec_size)、频率(frequency)、参考片断(reference_phrase)。
片断尺寸表示相应片断的尺寸。执行尺寸表示该片断的命令数。该命令数不是包含在该片断中的命令的数目,而是当该片断被第一次参考时命令的典型数目。如果在该命令中有一个循环,则用于该循环的典型重复计数所需的命令数被转换为命令数,并且被示出,如果存在对I/O(输入/输出的)等待且等待由用户输入,则还转换为命令数并且被示出。频率表示该片断被参考的频率。参考片断表示关于由该片断所参考的另一个的片断的信息,并且它存在于与要被参考的片断数目相对应的数目中。但是,不需要使得参考片断关于所有可以被参考的片断,在该片断被第一次参考时,由于对参考片断的参考的频率较低,因此对于一个参考的参考片断可能不存在。
参考片断具有片断标识和参考位置。片断标识使用于标识一个片断的标识信息(ID),并且对每个程序确定相应的片断。参考位置被描述为使得在该参考片断的参考之间的命令数是相对于该片断的执行开始的一个相对数值。类似于执行尺寸,参考位置的命令数还是一个在该片断被第一次参考时直到对参考片断的参考所需的典型命令数。如果在该命令中存在一个循环,则用于该循环的典型重复计数所需的命令数也被转换为该命令数,并且被示出,以及如果存在对I/O的等待,并且等待由用户输入,则被转换为该命令数并且被示出。
图9示意地示出图6中所示的客户机12的功能结构。客户机12通过与服务器11交换消息而执行程序的下载执行。如上文所述,该客户机12包括用于暂时存储下载程序的高速缓存储器12-1以及用于扩展被压缩数据的压缩扩展器12-2。
在本实施例中,假设客户机12以并行对象的形式而形成。在此所述的“并行对象”由对外公布的多种方法、用于存储对象的状态和方法主体的存储器以及用于管理执行还没有被处理的方法和消息的单个上下文关系的管理队列所形成。在并行对象接收用于所公布方法的消息并且在一次处理一个消息。在该消息被处理时所接收的消息被存储在消息队列中。
客户机12包括用于管理通过网络14从服务器11下载程序的下载器(Downloader)12-3、用于所下载程序的执行环境(ExecSpace)12-4、用于管理所下载程序的临时存储的高速缓冲存储对象(CacheObject)12-1、以及用于管理所压缩数据的扩展处理的压缩扩展器(Expander)12-2的各个并行对象。
在实践中,执行环境12-4不是一个并行对象,而是用于提供程序操作环境的操作***(OS),或在该操作***上构造的程序执行环境。但是,在本说明书中,为了方便的目的,将用虚拟的方式把该执行环境12-4描述为一个并行对象。并且类似地,在服务器11方上的执行环境的将被用虚拟的方式描述为一个并行对象。
客户机12包括用于管理高速缓冲存储的高速缓冲存储对象12-1以及用于管理压缩和扩展机制的压缩扩展器12-2。在本说明书中,为了简化描述,不提供相同程序的多次启动和程序版本管理的功能。
语意(semantics)12-5不是一个并行对象而是由下载器12-3所参考的一个表格。在本实施例中,语意12-5按照与下载器12-3相分离的方式而形成,使得下载器12-3的工作特性可以仅仅通过改写语意12-5而容易地改变。
图10示意地示出图6中所示的客户机13的功能结构。如图10中所示,客户机13包括用于管理通过网络来自服务器的程序的下载的下载器(Downloader)13-1的各个并行对象,以及用于所下载程序的执行环境13-2。
语意13-3不是一个并行对象而是由下载器13-1所参考的一个表格。语意12-5按照与下载器13-1相分离的方式而形成,使得下载器13-1的行为,即工作特性,可以仅仅通过改写语意13-3而容易地改变。
在下文中,将描述形成客户机12和13的每个对象。
执行环境(ExecSpace):
执行环境使用于执行程序并且提供各种服务的程序,并且在实践中,由各种对象和模块所形成。在本说明书中,为了描述的目的,通过把它们组合而作为一个对象来处理。
该执行环境具有关于下载执行功能的两种方法。在实践中,除了上文所述之外,该执行环境可以具有许多方法和服务。但是,由于它不与下载执行直接相关,即不与本发明的中心思想直接相关,因此省略对它们的描述。在实践中,操作***(OS)和虚拟机(VM)对应于在此所述的执行环境。
在本实施例中,允许三种要***作的方法:映射(Map)、设置时间事件(SetTimeEvent)以及取消时间事件(CancelTimeEvent)。
映射方法设置由该参数所指定的一个程序部份,使得该程序可以被使用。具体来说,执行例如把程序分配到存储空间或者对它进行登记这样的操作。
在该映射方法中,当一个标识由一个参数所指定时,相应程序的执行被重新开始。由该执行环境执行对该标识给出含义的操作。对于要在恢复中指定的标识,当该执行环境发出参考时所指定的标识被原样指定。在本实施例中,当参考被发送时,该执行环境指定一个线程标识。因此,当要执行恢复方法时,对应于该线程标识的线程的执行被重新开始。
设置时间事件在由该参数指定的时间把由该参数所指定的使用该参数的消息发送到由该参数指定的一个项目。另外,设置时间事件返回一个事件标识。
取消时间事件取消由该参数所指定的事件标识的事件。
服务器:
服务器是在一个不同于客户机的通过网络连接的主机中工作的一个对象。服务器管理要由客户机所下载的程序,并且响应一个请求把一个程序下载到客户机。
在本实施例中,服务器发出取数据(Fetch)和取消(Cancel)的消息。
取数据方法接收用于下载对应于由该参数或一个类型所指定的片断标识的一个片断的请求,其中该注释由该参数所指定。通过把一个评估(Eval)消息发送到该下载器对象的报告下载的完成情况。
取消(Cancel)方法据肖对应于由该参数和类型所指定的片段标识的下载处理。当执行消失时,表示下载请求完成情况的评估消息不被发出。
高速缓冲存储器对象:
高速缓冲存储器对象是用于通过把该片断和注释存储在一个高速缓冲存储器中并且通过在需要时提取它们而加速下载执行的一个对象。该高速缓冲存储器在该客户机设备能够使用高速缓冲存储器的情况下使用的一个对象。
在本实施例中,高速缓冲存储器对象操作两种方法:获取(Get)和放置(Put)。
获取方法检查对应于由该参数所指定的片段标识的片断和注释是否被存储在高速缓冲存储器中。如果该片断和注释被存储在高速缓冲存储器中,则其内容被返回。另外,表示该片断存储在高速缓冲存储器中的状态代码被返回。另外,表示该注释是否存储在高速缓冲存储器中的状态代码被返回。
控制方法检查在该高速缓冲存储器中是否存在用于存储由该参数所指定的片断和注释的一个区域。如果在该高速缓冲存储器中没有空间,则被适当的算法(例如,LRU(最少最近使用逻辑),等等)决定为不必要的片断和注释被删除,直到具有可以分配的空间凡时为止。然后,指定的片断和注释被存储在该高速缓冲存储器中,使其与由该参数所指定的片段标识相关联。
压缩扩展器(Expender):
压缩扩展器是具有用于多种压缩方法的扩展功能的一个对象。当客户机具有足以使该客户机执行扩展的CPU(中央处理单元)性能以及用于扩展处理的硬件时,该对象被可选地添加用于加速下载执行。
在本实施例中,该压缩扩展器操作一种扩展方法。在该扩展方法中,通过使用由该参数所指定的扩展算法,由该参数所指定的内容被扩展,并且该内容被返回。
下载器(Downloader):
该下载器通过解决来自操作***的一个执行请求以及通过对服务器对象执行预取而实现下载执行并且获得更高的速度。在本实施例中,该下载器的一部分被分为语意,从而与不同的客户机设备相兼容变得更加容易(如上文所述)。在此,将描述不包含语意的该下载器的主要部分。
该下载信息具有片断表(PhraseTable)、片断映射(PhraseMap)、请求队列(RequestQueue)、当前执行速度(CurrentExecSpeed)、当前带宽(CurrntBandwidth)。首先将描述这些概念。
片断表(PhraseTable)
片断表是一个用于管理片断的表格。该片断表具有对应于片断标识的项目,每个项目包括片断状态(phrase_status)、注释状态(annotation_status)、登记标识(registeredID)、以及参考时间(reference_time)这些成份。
在片断状态和注释状态中,表示片断和注释的下载状态的数值被分别写入。可以采用的数值包括“无”、“被登记”以及“被装载”。
登记标识表示对应于该项目的片断是否被该参考方法所参考。当该片断被参考方法所参考时,在此时所指定的标识被登记。
参考时间存储对应于该项目的片断被参考的时间。当在最早可能的时间需要它时,表示这种情况的数值被存储。
片断表在执行时根据从服务器对象所获得的数据而产生。
片断映射(PhraseMap)
片断映射是用于管理数据和片断标识之间的对应关系的数据。该数据的使用使得把一个地址转换为一个片断标识成为可能。该片断映射在执行时间中根据从服务器对象所获得的数据而产生。
请求队列(RequestQueue)
该请求队列是用于管理对服务器对象的下载请求的一个队列。当一个请求被发出时,参考时间和优先级被指定。作为优先级,一个或高或低的数值被指定。在高优先级的情况中,该请求被置于按照请求产生的次序排队的队列的顶端,而与参考时间无关。当优先级较低时,该请求被根据参考时间而排序,并且参考时间越早,则该请求被放置的位置越高。对服务器对象的下载请求是按照从该请求队列的顶端顺序发出的。
当前执行速度(CurrentExecSpeed)
当前执行速度表示由该CPU在每单位时间中所执行的当前平均指令数。
当前时间(CurrentTime)
当前时间表示通过把该参考方法被产生的时间设置为原点的当前时间。
当前带宽(CurrntBandwidth)
当前带宽表示网络的当前平均下载速度。
下面,将转到描述下载器操作的方法。在本实施例中,下载器操作各个方法:参考、评估、下载以及取消下载。
参考:
在参考方法中,由该参数或程序名所指定的地址被转换为片断标识。在程序名的情况中,执行对预定片断标识的转换。在地址的情况中,使用一个转换数据片断映射执行从地址到片断标识的转换。另外,通过指定片断标识和优先级“高”,调用下载器的评估方法。
评估:
在评估方法中,获得对应于由该参数所指定的片断标识的片断表的一个项目。当该注释由该参数所指定时,作为片断标识的相应项目的一个成份的注释状态(annotation_status)被更新为“已装载”。另外,当该片断由该参数所指定时,作为该片断表的相应项目的一个成份的片断状态(phrase_status)被更新为“已装载”。
在下表中概括对应于注释状态和片断状态的项目之间的关系。
〔表1〕
注释状态 | 片断状态 | 项目 |
其他 | 其他 | 参考项目 |
其他 | 已装载 | 片断装载项目 |
已装载 | 其他 | 注释装载项目 |
已装载 | 已装载 | 装载完成项目 |
在该表中,当对应于由该参数所指定的注释的多个注释类型(annotation_type)的一个操作(动作)存在于该项目中时,片断标识、注释以及该片断被指定为参数,以按照在该相应项目中的次序调用一个操作(动作)。当注释状态为“其他”时,在相应项目中的所有操作(动作)被按照在该项目中所述的次序而被调用。
只要下载信道为空,则重复执行如下操作:一个请求被从该请求队列的顶部提取,该注释和片断被在对于该服务器对象的片断标识和时间中指定,并且发出一个取数据消息(上文所述)。
下载:
在该下载方法中,根据由该参数所指定的类型是否为该注释和片断之一,对应于由该参数所指定的片断标识的片断表的项目的注释状态或片断状态被设置为“被请求”。根据由该参数所指定类型的注释和片断以及由该参数或参考时间所指定的优先级,该请求被在请求队列中排队。只要下载信道为空,则重复执行如下操作:一个请求被从该请求队列的顶部提取,该注释和片断被在对于该服务器对象的片断标识和类型中指定,以及通过添加关于是否可以使用一个压缩扩展器(Expander)的信息而发出一个取数据消息(上文所述)。
取消下载:
在该取消下载方法中,优先级被指定为低的所有请求被从该请求队列中删除。对于在当前被下载的请求中优先级被指定为低的请求,对于服务器对象指定片断标识和类型,以及发出取消消息(上文所述)。另外,取消时间事件方法(上文所述)被发出到该事件,其中已经执行设置时间事件(上文所述)。另外,当前时间(CurrentTime)被无效(invalid)。另外,对应于在片断表中删除的每个请求的项目的注释状态(annotation_status)和片断状态(phrase_status)被设置为“无”。
语意(Semantics)
语意不是一个对象,而是由上述下载器所参考的一个表格。在本实施例中,语意被按照这样一种方式来形成,以从该下载器分离,从而下载器的行为可以被根据客户机的标准而容易地改变。
语意是对应于片断和注释的下载状态以及注释的注释类型(annotation_type)的项目。该项目由一个工作列表所形成。当存在具有相应注释类型的注释时,该动作可以由下载器所调用。该调用按照在该列表中指定的次序而执行。当该注释不被下载时,该列表的所有动作被按照该次序而调用。
下面的表2示出客户机2的语意。并且下面的表3示出客户机13的语意。在每个表格中,在动作栏的括号中的项目表示相应的注释类型。由于客户机12具有一个高速缓冲存储器以及压缩扩展功能,则与客户机13相比添加用于它们的工作。另外,客户机13与客户机12相比由一个简单预取机制实现方法来代替。
〔表2〕
项目 | 动作 |
参考装载项目 | 获取高速缓存动作,参考动作 |
片断装载项目 | 无动作 |
注释装载项目 | 初始动作(调用)、获取列表动作(参考)、预取动作(参考) |
装载完成项目 | 存储高速缓存动作(参考),扩展动作(压缩),映射动作(映射) |
〔表3〕
项目 | 动作 |
参考装载项目 | 参考动作 |
片断装载项目 | 无动作 |
注释装载项目 | 初始动作(调用)、简单预取动作(参考) |
装载完成项目 | 映射动作(映射) |
下面将描述这些动作的操作。
获取高速缓存动作:
在获取高速缓存动作中,首先,由该参数所指定的片断标识被在该高速缓冲存储器对象中指定,并且发出一个获取消息。如果该标识被存储在并且该注释状态为“否”,则对应于片断标识的片断表项目的注释状态被设置为“被请求”。接着,该注释和片断标识被指定,并且一个评估消息被在发送到下载器。如果该片断被存储以及片断状态为“无”,则对应于片断标识的该片断表项目的片断状态被设置为“被请求”。接着,该片断和片断标识被指定,并且把一个评估消息发送到下载器。
参考动作:
在参考动作中,首先对应于由该参数所指定的片断标识的片断表的项目被检查。如果注释状态和片断状态类“无”,则下载器的取消下载方法被调用。接着,由表示参考时间的该参数和数值所指定的优先级被设置在片断表的项目的该参考时间中。如果注释状态为“无”,则由该参数或参考时间所指定的优先级、注释类型和片断标识被指定,并且下载消息被发送到下载器。
无动作:
当调用无动作时,不执行任何动作。
初始动作:
在该初始动作中,通过使用由该参数所指定的注释,创建一个片断表并且产生一个片断映射。
获取列表高速缓存动作:
在获取列表高速缓存动作中,首先,获得包含在由该参数所指定的注释的参考片断中的多个片断标识的列表。然后,对应于所获得的列表的每个片断标识的片断表的项目被检查,并且片断状态不为“无”的片断标识被从该列表中排除。然后,对在该列表中的所有片断执行如下处理。
(a)通过使用对应于由该参数所指定的片断标识的片断表的参考时间的数值以及每个参考片断的参考位置,计算每个参考片断的参考时间,并且它被设置在该片断表的相应项目中。
(b)片断标识被指定,并且获取高速缓存动作(上文所述)被执行。
预取动作:
在预取动作中,首先,通过使用由该参数的注释所指定的该片断尺寸和当前带宽的数值,通过如下方程计算该片断的下载时间:
下载时间=片断尺寸×当前带宽
接着,通过使用对应于由该参数所指定的片断标识的片断表的参考时间的数值,该开始时间通过如下方程来计算:
开始时间=参考时间-下载时间
如果当前时间≥开始时间(即,当前时间经过开始时间),则优先级“低”、片断类型、片断标识和开始时间被指定,并且下载消息被发送到该下载器。否则,通过指定该下载器的开始时间和下载作为项目,一个设置时间事件消息被发送到该执行环境(ExecSpace)。作为用于下载的参数,该片断标识、片断类型、优先级“低”以及开始时间被指定。
接着,获得包含在由该参数所指定的注释的参考片断中的多个片断标识的列表。对应于所获得的列表的每个片断标识的片断表的项目被检查,并且其注释状态不为“无”的片断标识被从该列表中排除。然后,对于在该列表中的所有片断执行如下处理。
(a)通过使用对应于由该参数、每个参考片断的参考位置以及当前执行速度所指定的片断表项目的参考时间的数值,通过如下方程计算每个参考片断的参考时间:参考时间×参考位置×当前执行速度,并且这被设置在该片断表的对应项目中。
(b)优先级“低”、注释类型、片断标识以及参考时间被指定,并且一个下载消息被发送到该下载器。
简单预取动作:
在简单预取动作中,首先,由该参数指定的片断标识、优先级“低”、片断类型、片断标识和参考时间被指定,并且一个下载消息被发送到该下载器。接着,获得包含在由该参数所指定的注释的参考片断中的多个片断标识的列表。然后,对应于所获得的列表的每个片断标识的片断表的项目被检查,其注释状态不是“无”的片断标识被从该列表中排除。然后,对于在该列表中的所有片断执行如下处理。
(a)通过使用对应于该参数、每个参考片断的参考位置以及当前执行速度所指定的片断标识的片断表的参考时间的数值,通过如下方程计算每个参考片断的参考时间:参考时间+参考位置×当前执行速度,并且这被设置在该片断表的对应项目中。
(b)优先级“低”、注释类型、片断标识以及参考时间被指定,并且一个下载消息被发送到该下载器。
存储高速缓存动作
在存储高速缓存动作中,根据由该参数所指定的注释,确定该片断是否应当存储在该高速缓冲存储器中。当该片断应当被存储时,该片断标识和该注释或片断被指定,并且一个放置消息(Put)被发出到该高速缓冲存储器对象。
扩展动作
在扩展动作中,通过使用由该参数所指定的注释中指定的一种扩展方法和参数,由该参数指定的片断被扩展,并且该扩展片断被返回。
映射动作:
在映射动作中,通过由该参数所指定的注释的信息,一个映射消息被发送到该执行环境(ExecSpace)。在此时,如果在对应于由该参数所指定的片断标识的片断表项目中设置该标识,则该标识被添加到该映射消息中。然后,如果该标识被设置在对应于由该参数所指定的片断表项目中,则当前时间被设置。
接着,将描述根据本实施例用于在该客户机和服务器之间启动程序的操作。
启动情况1:
首先,将描述启动具有高速缓冲存储和压缩扩展功能的客户机12的程序的情况。图11示出当该客户机12的执行环境(ExecSpace)12-4发出一个程序启动请求时的流程图。
在从该用户接收该程序启动请求之后,该执行环境12-4指定该程序名和用于执行它的线程标识,并且把一个参考消息发送到下载器12-3。
该下载器12-3指定表示程序执行的开始的程序名和片断标识,以调用下载器12-3的评估(Eval)。
作为评估执行的结果,由于该注释状态和片断状态为“其他”,则该语意12-5的参考项目动作被调用(参见表1)。结果,首先调用获取高速缓存动作(参见表2)。
在获取高速缓存动作中,该片断标识被指定,并且一个获取消息被发送到该高速缓冲存储器对象中。结果,如果该注释或片断被存储在该高速缓冲存储器(高速缓存命中),则它被提取。如果该注释或片断不被存储(高速缓存不命中),则由于片断映射不被更新,因此接着执行参考动作(参见表2)。
在参考动作中,下载器12-3的取消下载被调用,以取消到这一点时的预取动作。在图11中所示的启动情况中,由于它是该程序的第一次启动,因此没有要被取消的对象。
接着,通过把该优先级指定为高,把该注释的一个下载消息发送到下载器12-3。
在接收该下载消息之后,该下载器12-3把它置于请求队列中,接着,在其顶部提取该元素,并且把该元素作为取数据消息发送到服务器11。在图11中所示的情况中,在该队列中置于更早的位置的请求被原样地向该服务器11发出。在此时,关于客户机12的信息也被作为一个参数而传送。在本例中,客户机12具有压缩扩展功能及其类型的事实被指定为参数。
在接收该取数据消息之后,该服务器11搜索指定程序的指定片断标识。在此时,当压缩扩展功能被提供的事实被指定时,检查是否存在被压缩的片断,一个未压缩片断被选择。在图11中所示的启动情况中,由于该注释被请求,则服务器11把相应的注释作为一个评估消息发送到下载器12-3。
在接收到该评估消息之后,下载器12-3根据由该注释所具有的类型基于注释状态和片断状态分别为“已装载”和“其他”的事实(参见表1和2),顺序地执行在注释装载项目中的动作。在图11中所示的启动情况中,获得4种注释:调用、参考、压缩和映射。由于在注释装载项目中存在对应于调用和参考的3种动作(参见表2),则它们被顺序地调用。
首先,通过使用一个调用型注释,初始动作使得一个片断表和片断映射形成在该下载器12-3。
接着,使用一个参考型注释执行获取高速缓存列表动作。如果存在在该高速缓冲存储器对象12-1中存储的一个片断,则它被作为一个评估消息发送到下载器12-3。
最后,再次使用参考类型的注释执行预取动作。在预取动作中,首先对于何时应当开始下载对应于该注释的片断进行计算,以便于及时用于参考,并且它被与当前时间相比较。如果已经经过下载开始时间,则通过立即把一个下载消息发送到下载器12-3而做出预取请求。如果还没有经过该下载开始时间,则通过使用设置时间事件消息,设置为使得该下载器12-3的下载消息被在下载开始时间调用。在图11中所示的启动情况中,假设已经经过下载开始时间,则把一个下载消息发送到下载器12-3。
接着,检查该注释的参考片断,产生用于预取出现参考情况的片断的注释的请求,并且它还作为用于下载器12-3的下载消息而发送。
按照上述方式,通过自动地根据下载开始时间预取一个片断,可以实现在程序的执行和下载之间的同时性以及更高速的下载。
在接收该下载消息之后,下载器12-3把它置于请求队列中,接着提取在其顶端的元素,并且把它作为一个取数据消息发送到服务器11。在图11中所示的启动情况中,对该服务器11发出被置于该队列中的较早的位置处的请求。在此时,该客户机12的信息也被作为一个参数而传送。在本例中,客户机12具有压缩扩展功能及其类型的事实被作为参数而指定。
在接收取数据消息之后,服务器11搜索指定程序的指定片断标识。在此时,当具有压缩扩展功能的事实被指定时,检查是否存在压缩扩断,并且如果存在压缩片断,则它被选择。如果不存在压缩片断,则选择一个未压缩的片断。在此,由于该片断被请求,则服务器11把该压缩片断作为一个评估消息发送到下载器12-3。
在接收该评估消息之后,下载器12-3根据由该注释所具有的类型,基于该注释状态和片断状态都为“已装载”的事实(参见表1和2),顺序地执行在装载完成项目中的动作。在图11中所示的启动情况中,已经获得4种注释:调用、参考、压缩和映射。由于存在对应于在装载完成项目中的参考、压缩和映射的3个动作,因此它们被按次序调用(参见表2)。
首先,使用参考类型的注释执行存储高速缓存动作,存储高速缓存动作通过使用该片断的频率信息确定该片断是否应当被存储在该高速缓冲存储器中。当该片断应当被存储时,一个放置消息被发送到该高速缓冲存储器对象12-1。
接着,使用压缩型的注释执行扩展动作。在扩展动作中,通过使用该注释的信息把一个扩展消息发送到压缩扩展器12-2,该片断的内容被扩展为原始内容,并且被返回。
最后,使用映射型注释执行映射动作。在映射动作中,该执行环境(ExecSpace)12-4获取所需的信息,以使用来自该注释的片断,并且把它作为一个映射消息发送到执行环境12-4,使得在该执行环境12-4中工作的一个程序可以使用该片断。另外,在图11中所示的启动情况中,由于该标识被在参考时间中指定,因此它还同时在该映射消息中指定。通过使用该标识,执行环境12-4使得一个线程开始在该程序上执行。
在评估执行结束时,当在该请求队列中存在一个消息并且可以做出下载请求时,一个取数据消息被发送到该服务器11。在图11中所示的启动情况中,由于用于预取注释的请求被置于该请求队列中,它被发送到该服务器11,从而执行一个预取处理。该注释的预取对于该预取片断的下一个片断预先执行,这样可以实现更高速度的下载和同时性。
结果,通过使用预取、高速缓存和压缩使得程序的下载执行成为可能。
启动情况2:
接着,将描述在没有高速缓冲存储或压缩扩展功能的客户机13中启动程序的情况。图12示出当客户机13的执行环境(ExecSpace)13-2发出一个程序启动请求时的流程图。
在从用户接收该程序启动请求之后,该执行环境13-2指定该程序名和用于执行它的线程标识,并且把一个参考消息发送到下载器13-1。
该下载器13-1指定表示程序执行的开始的程序名和片断标识,以调用下载器13-1的评估(Eval)。
作为评估执行的结果,由于该注释状态和片断状态为“其他”,则该语意13-2的参考项目动作被调用(参见表1)。结果,首先执行参考动作(参见表3)。
在参考动作中,该下载器13-1的取消下载方法被调用,以取消到这一点时的预取动作。在图12中所示的启动情况中,由于它是该程序的第一次启动,因此没有要被取消的对象。接着,通过把该优先级指定为高,发送该注释的一个下载消息发送。
在接收该下载消息之后,该下载器13-1把它置于请求队列中,接着,在其顶部提取该元素,并且把该元素作为取数据消息发送到服务器11。
在图12中所示的启动情况中,在该队列中置于更早的位置的请求被原样地向该服务器11发出。在此时,关于客户机13的信息也被作为一个参数而传送。在本例中,客户机13不具有压缩扩展功能事实被指定为参数。
在接收该取数据消息之后,该服务器11搜索指定程序的指定片断标识。在此时,当压缩扩展功能被提供的事实被指定时,检查是否存在被压缩的片断,如果存在被压缩的片断,则它被选择。在此,由于该注释被要求,则服务器对象11把相应的注释作为一个评估消息发送到下载器13-1。
在接收到该评估消息之后,由于注释状态和片断状态分别为“已装载”和“其他”,下载器13-1根据由该注释所具有的类型顺序地执行在注释装载项目中的动作(参见表1)。在图12中所示的启动情况中,获得4种注释:调用、参考和映射。由于在注释装载项目中存在对应于调用和参考的2种动作(参见表3)。首先,通过使用一个调用型注释,初始动作使得一个片断表和片断映射被形成在下载器13-1中。接着,通过使用参考型注释,执行简单预取动作。
在简单预取动作中,首先,通过立即把一个下载消息发送到下载器13-1,发出用于预取对应于该注释的片断。接着该注释的参考片断的条目被检查,发出用于预取出现参考的片断的注释,并且还把它作为用于下载器13-1的下载消息而发送。
在接收该下载消息之后,下载器13-1把它置于请求队列中,接着提取在其顶端的元素,并且把它作为一个取数据消息发送到服务器11。在图12中所示的启动情况中,对该服务器11发出被置于该队列中的较早的位置处的请求。在此时,关于该客户机的信息也被作为一个参数而传送。在此,客户机13没有压缩扩展功能的事实被作为参数而指定。
在接收取数据消息之后,服务器对象11搜索指定程序的指定片断标识。在此时,当具有压缩扩展功能的事实被指定时,检查是否存在压缩扩断,并且如果存在压缩片断,则它被选择。如果不存在压缩片断,则选择一个未压缩的片断。在此,由于该片断被请求,则服务器对象11把该一个未压缩片断作为一个评估消息发送到下载器13-1。
在接收该评估消息之后,由于该注释状态和片断状态都为“已装载”,则下载器13-1根据由该注释所具有的类型而顺序地执行在装载完成项目中的动作(参见表1)。在图12中所示的启动情况中,已经获得3种注释:调用、参考和映射,但是在装载完成项目中,仅仅存在对应于映射的一个动作。通过使用映射类型的注释,执行映射动作(参见表3)。
在映射动作中,执行环境(ExecSpace)13-2使用一个片断所需的信息被从该注释中获得,并且他被作为一个映射消息发送到执行环境13-2,从而在该执行环境13-2中操作的程序可以使用该片断。另外,在图12中所示的启动情况中,由于该标识被在参考时间中指定,因此它也同时在映射消息中指定。使用该标识,执行环境13-2使得该线程开始在该程序上执行。
在评估执行结束时,当在该请求队列中存在一个消息并且可以做出下载请求时,一个取数据消息被发送到该服务器11。在图12中所示的启动情况中,由于用于注释预取的请求被置于该请求队列中,它被发送到该服务器11,从而执行一个预取处理。
结果,通过使用简单使得程序的下载执行成为可能。
其他信息
在上文中,已经参照具体实施例详细描述本发明。但是,显然本领域的普通技术人员可以对该实施例进行更改或替代,而不脱离本发明的精神和范围。也就是说,本发明已经用实施例的形式来公开,并且不应当被认为是限制性的。本发明主要思想由权利要求书部分所限定。
〔工业应用性〕
根据本发明,可以提供一种优越的数据处理***和优越的数据处理方法,其通过灵活地处理客户机设备的性能和功能以及在模块管理装置和客户机设备之间的各种传输速率,能够减小下载执行延迟,以及提供一种优越的信息处理装置和所使用的优越的信息处理方法,及其存储介质。
根据本发明,可以提供一种优越的数据处理***和优越的数据信息处理方法,其能够通过灵活地处理客户机设备的性能和功能以及网络的各种传输速率而减小下载执行延迟,还提供一种优越的信息处理装置和所使用的优越的信息处理方法及其存储介质。
根据本发明,通过由片断形成程序,非该程序的执行所必须的部分可以被分类,并且仅仅用于该程序的执行所需的程序部分可以被下载。另外,通过使得一个注释对应于一个片断,可以实现更高速度的下载执行,其中例如预取和高速缓存的多种技术的使用被根据相同程序的客户机设备的各种结构而灵活地以最适合的形式而组合。
根据本发明,在服务器方,通过考虑在程序执行过程中的参考关系和下载效率,该原始程序被分类和重新配置为片断。然后,作为表示每个片断的特性的一个注释对应于该片断。在客户机方,通过使用该注释的信息,可以通过灵活地组合适用于该客户机的设备的预取技术以及例如高速缓存和压缩的技术而增加下载执行的速度。
Claims (10)
1.一种数据处理***,包括:
用于管理多个模块的模块管理装置;以及
从该模块管理装置传送一个模块并且使用该模块的客户机单元,
其中,在所述模块管理装置中,一个模块的基本构成元素被根据该模块的各个特性而分类,通过由多个基本构成元素所构成的新的构成元素重新组合该模块,相应的特性被描述为在各个新的构成元素中的特性信息,并且发送响应来自客户机的请求而被重新组合的新的构成元素及其特性信息,其中每个所述新的构成元素使用一种或多种压缩方法来压缩,其信息以相应的特性信息来描述,并且通过与客户机单元所具有的扩展方法相对应的一种压缩方法所压缩的新的构成元素在接收到该扩展方法的报告时被发送,以及
在所述客户机单元中,当该模块被从所述模块管理装置传送并且被所述客户机单元使用时,与新的构成元素相关的特性信息的相应处理相对于该模块的使用透明地被执行。
2.一种数据处理***,包括:
用于管理多个模块的模块管理装置;以及
从该模块管理装置传送一个模块并且使用该模块的客户机单元,
其中,在所述模块管理装置中,一个模块的基本构成元素被根据该模块的各个特性而分类,通过由多个基本构成元素所构成的新的构成元素重新组合该模块,相应的特性被描述为在各个新的构成元素中的特性信息,并且发送响应来自客户机的请求而被重新组合的新的构成元素及其特性信息,所述新的构成元素被分别压缩,并且当从所述客户机单元接收多种扩展方法的报告时,由所述多种压缩方法中所选的一个压缩方法所压缩的新的构成元素被发送,以及
在所述客户机单元中,当该模块被从所述模块管理装置传送并且被所述客户机单元使用时,与新的构成元素相关的特性信息的相应处理相对于该模块的使用透明地被执行。
3.一种用于把在模块管理装置中管理的模块传送到使用该模块的客户机单元的数据处理方法,所述数据处理方法包括:
一个步骤,其中在所述模块管理装置中,一个模块的各基本构成元素被根据该模块的各个特性而分类,根据由多个基本构成元素所构成的新的构成元素而重新组合该模块,相应的特性被描述为在各个新的构成元素中的特性信息,并且发送响应来自所述客户机单元的请求而被重新组合的新的构成元素及其特性信息,其中每个所述新的构成元素使用一种或多种压缩方法来压缩,其信息以相应的特性信息来描述,并且通过与客户机单元所具有的扩展方法相对应的一种压缩方法所压缩的新的构成元素在接收到该扩展方法的报告时被发送,以及
一个步骤,其中在所述客户机单元中,当该模块被从所述模块管理装置传送并且被使用时,与新的构成元素相关的特性信息的相应处理相对于该模块的使用透明地被执行。
4.一种用于把在模块管理装置中管理的模块传送到使用该模块的客户机单元的数据处理方法,所述数据处理方法包括:
一个步骤,其中在所述模块管理装置中,一个模块的各基本构成元素被根据该模块的各个特性而分类,根据由多个基本构成元素所构成的新的构成元素而重新组合该模块,相应的特性被描述为在各个新的构成元素中的特性信息,并且发送响应来自所述客户机单元的请求而被重新组合的新的构成元素及其特性信息,其中每个新的构成元素被分别压缩,并且当从所述客户机单元接收到多种扩展方法的报告时,由所述多种压缩方法中所选的一个压缩方法所压缩的新的构成元素被发送;以及
一个步骤,其中在所述客户机单元中,当该模块被从所述模块管理装置传送并且被使用时,与新的构成元素相关的特性信息的相应处理相对于该模块的使用透明地被执行。
5.一种信息处理装置,用于把一个模块提供到外部设备,所述信息处理装置包括:
模块重新组合装置,用于根据各个特性把一个模块的基本构成元素分类,并且通过由多个基本构成元素所构成的新的构成元素重新组合该模块;
特性信息描述装置,用于把各相应的特性描述为在各个新的构成元素中的特性信息;以及
信息发送装置,用于响应来自外部设备的请求发送被重新组合的新的构成元素及其特性信息;
其中所述模块重新组合装置通过使用一种或多种压缩方法来压缩每个新的构成元素,并且其信息以相应的特性信息来描述,以及所述信息发送装置在接收到一扩展方法的报告时把与所述外部设备所具有的该扩展方法相对应的一种压缩方法所压缩的新的构成元素发送出去。
6.根据权利要求5所述的信息处理装置,其中,包含在一模块中的每个新的构成元素被分别压缩,并且当从所述外部设备接收到多种扩展方法的报告时,所述信息发送装置发送由所述多种压缩方法中所选的一个压缩方法所压缩的新的构成元素。
7.一种用于一个模块的信息处理装置,所述信息处理装置包括:
数据传送装置,用于从一个外部设备传送一个模块;
使用该模块的模块使用装置;以及
通过一种预定的扩展方法来扩展压缩数据的扩展装置;
其中,通过由多个基本构成元素组成的、根据各个特性分类的新的构成元素而重新组合所述模块,
每个新的构成元素与特性信息相关,
当由所述数据传送装置传送的模块要由所述模块使用装置所使用时,与新的构成元素相关的特性信息的相应处理对于该模块的使用透明地被执行,
在发出一个数据传送请求时,所述数据传送装置把所述扩展方法报告给所述外部设备,并且有选择地传送由相应的压缩方法所压缩的新的构成元素,以及
所述模块使用装置在该新的构成元素被扩展之后,使用由所述扩展装置所传送的新的构成元素。
8.根据权利要求7所述的信息处理装置,其中,包含在该模块中的每个新的构成元素被分别压缩,
所述扩展装置包括多个扩展方法,以及
在发出数据传送请求时,所述数据传送装置把所述多个扩展方法报告给所述外部设备,并且有选择地发送由所选的一个压缩方法所压缩的新的构成元素。
9.一种用于把一模块提供到外部设备的信息处理方法,所述信息处理方法包括:
模块重新组合步骤,用于根据各个特性对该模块的基本构成元素进行分类,并且通过由多个基本构成元素所构成的新的构成元素重新组合该模块;
特性信息描述步骤,用于把相应的特性描述为在每个新的构成元素中的特性信息;以及
信息发送步骤,用于响应来自外部设备的请求发送被重新组合的新的构成元素及其特性信息;
其中,在所述模块重新组合步骤中,通过使用一种或多种压缩方法来压缩新的构成元素,并且其信息以相应的特性信息来描述,以及
在所述信息发送步骤中,在接收到一扩展方法的报告时,发送与所述外部设备所具有的该扩展方法相对应的一种压缩方法所压缩的新的构成元素。
10.根据权利要求9所述的信息处理方法,其中,包含在该模块中的每个新的构成元素被分别压缩,以及
在所述信息发送步骤中,当从所述客户机接收到多种扩展方法的报告时,发送由所述多种压缩方法中所选的一种压缩方法所压缩的新的构成元素。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001091274 | 2001-03-27 | ||
JP91274/2001 | 2001-03-27 | ||
JP336040/2001 | 2001-11-01 | ||
JP2001336040A JP3687587B2 (ja) | 2001-03-27 | 2001-11-01 | データ処理システム及びデータ処理方法、情報処理装置及び情報処理方法、並びにコンピュータ・ソフトウェア |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1500241A CN1500241A (zh) | 2004-05-26 |
CN1260643C true CN1260643C (zh) | 2006-06-21 |
Family
ID=26612255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028074165A Expired - Fee Related CN1260643C (zh) | 2001-03-27 | 2002-02-19 | 数据处理***和方法、信息处理装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20040107291A1 (zh) |
EP (1) | EP1378822A1 (zh) |
JP (1) | JP3687587B2 (zh) |
CN (1) | CN1260643C (zh) |
WO (1) | WO2002077798A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002362193A1 (en) * | 2002-12-27 | 2004-07-29 | Mitsui And Co., Ltd. | Software license management method and portable electronic device having an organism recognition unit |
US8930944B2 (en) * | 2003-11-18 | 2015-01-06 | Microsoft Corporation | Application model that integrates the web experience with the traditional client application experience |
US7720877B1 (en) * | 2004-04-14 | 2010-05-18 | Oracle America, Inc. | Class structure based enhancer for data objects |
US20080208991A1 (en) * | 2004-12-30 | 2008-08-28 | Koninklijke Philips Electronics N.V. | Data Processing Arrangement |
JP2009059084A (ja) * | 2007-08-30 | 2009-03-19 | Denso Corp | 制御システム,電子機器およびプログラム |
US8869140B2 (en) * | 2008-05-09 | 2014-10-21 | Sap Se | Deploying software modules in computer system |
JP5199165B2 (ja) * | 2009-03-31 | 2013-05-15 | 株式会社エヌ・ティ・ティ・ドコモ | 通信端末および通信制御方法 |
US8850426B2 (en) * | 2009-12-13 | 2014-09-30 | International Business Machines Corporation | Managing remote deployment of a virtual machine and service request to be processed by the virtual machines based on network bandwith and storage connectivity |
CN106648915A (zh) * | 2012-08-14 | 2017-05-10 | 珠海市魅族科技有限公司 | 剪贴板中内容的生成方法及装置 |
JP2014120065A (ja) * | 2012-12-18 | 2014-06-30 | Canon Electronics Inc | 周辺装置、周辺装置の制御方法およびプログラム |
JP6046748B2 (ja) | 2013-01-17 | 2016-12-21 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびファイル管理方法 |
US9600940B2 (en) * | 2013-04-08 | 2017-03-21 | Kalloc Studios Asia Limited | Method and systems for processing 3D graphic objects at a content processor after identifying a change of the object |
US9298448B2 (en) * | 2013-05-21 | 2016-03-29 | Red Hat, Inc. | System and method for run time dependency resolution |
US9483763B2 (en) | 2014-05-29 | 2016-11-01 | Apple Inc. | User interface for payments |
CN105991687B (zh) | 2015-02-03 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 一种服务管理方法和装置 |
EP3403177B1 (en) * | 2016-01-15 | 2022-09-14 | Google LLC | Managing delivery of code and dependent data using application containers |
US9817648B2 (en) | 2016-01-15 | 2017-11-14 | Google Inc. | Application containers with dynamic sub-package loading |
JP6855348B2 (ja) * | 2017-07-31 | 2021-04-07 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびダウンロード処理方法 |
KR102491989B1 (ko) * | 2020-04-10 | 2023-01-26 | 애플 인크. | 액티비티를 인에이블링하기 위한 사용자 인터페이스들 |
DK202070633A1 (en) | 2020-04-10 | 2021-11-12 | Apple Inc | User interfaces for enabling an activity |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0756743A (ja) * | 1993-08-17 | 1995-03-03 | Inter Sci Kk | モジュ−ル管理方法および装置 |
US5953533A (en) * | 1997-08-27 | 1999-09-14 | Lucent Technologies Inc. | Computer software distribution, installation and maintenance method and apparatus |
GB2331814B (en) * | 1997-11-19 | 2002-11-13 | Ibm | Pre-emptive download of software in data processing network |
US5991399A (en) * | 1997-12-18 | 1999-11-23 | Intel Corporation | Method for securely distributing a conditional use private key to a trusted entity on a remote system |
JP4006079B2 (ja) * | 1998-02-27 | 2007-11-14 | 株式会社東芝 | ネットワークコンピュータおよびその制御方法 |
US6611812B2 (en) * | 1998-08-13 | 2003-08-26 | International Business Machines Corporation | Secure electronic content distribution on CDS and DVDs |
US20030079222A1 (en) * | 2000-10-06 | 2003-04-24 | Boykin Patrick Oscar | System and method for distributing perceptually encrypted encoded files of music and movies |
US20020073238A1 (en) * | 2000-11-28 | 2002-06-13 | Eli Doron | System and method for media stream adaptation |
KR100398610B1 (ko) * | 2001-01-30 | 2003-09-19 | 한국전자통신연구원 | 멀티미디어 컨텐츠에 동기화된 메타데이터 전송 장치 및방법 |
-
2001
- 2001-11-01 JP JP2001336040A patent/JP3687587B2/ja not_active Expired - Fee Related
-
2002
- 2002-02-19 CN CNB028074165A patent/CN1260643C/zh not_active Expired - Fee Related
- 2002-02-19 WO PCT/JP2002/001407 patent/WO2002077798A1/ja not_active Application Discontinuation
- 2002-02-19 EP EP02712447A patent/EP1378822A1/en not_active Withdrawn
- 2002-02-19 US US10/468,306 patent/US20040107291A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1378822A1 (en) | 2004-01-07 |
JP3687587B2 (ja) | 2005-08-24 |
JP2002358208A (ja) | 2002-12-13 |
WO2002077798A1 (fr) | 2002-10-03 |
CN1500241A (zh) | 2004-05-26 |
US20040107291A1 (en) | 2004-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1260643C (zh) | 数据处理***和方法、信息处理装置和方法 | |
CN100336352C (zh) | 内容发布***、描述数据发布设备和内容发布方法 | |
CN1293500C (zh) | 组织计算机网络中电子邮件文档的方法及电子邮件*** | |
CN1189830C (zh) | 数字广播接收机的事件发送方法及装置 | |
CN101051290A (zh) | Gns中的目录单位迁移 | |
CN1280730C (zh) | 不用存储单元收集装置及不用存储单元收集方法 | |
CN1534504A (zh) | 利用单处理器操作***的并行处理***及并行处理程序 | |
CN1269337C (zh) | 内容自适应服务控制方法 | |
CN1498367A (zh) | 信息处理装置、存储器管理装置、存储器管理方法及信息处理方法 | |
CN1670721A (zh) | 应用单处理器操作***的并行处理***中的处理器间通信***及其程序 | |
CN1794729A (zh) | 数据配置管理方法及***和装置以及程序 | |
CN1453687A (zh) | 通信装置及***、***模块控制方法及记录媒体 | |
CN1573656A (zh) | 并行处理***中的电源管理***及电源管理程序 | |
CN1881903A (zh) | 文件版本管理装置及方法和程序 | |
CN1577316A (zh) | 单处理器操作***并行处理***中的安全管理*** | |
CN1832457A (zh) | 数据包通信装置及功能扩展方法 | |
CN1969292A (zh) | 用户轮廓管理*** | |
CN1126053C (zh) | 文件检索方法、文件检索发送方法及装置 | |
CN1172239C (zh) | 执行移动对象的方法 | |
CN1551012A (zh) | 编排***、编排程序和编排方法 | |
CN1701568A (zh) | 通过无线网络的多模式网络交互 | |
CN1522006A (zh) | 数字传送网上不同的数据帧接入和传送的***和方法 | |
CN1656452A (zh) | 用于数据管理的电子设备、方法、程序和存储介质 | |
CN101069160A (zh) | 信息处理***、信息处理装置和方法、记录介质以及程序 | |
CN1416276A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060621 Termination date: 20100219 |