CN1335960A - 装入应用程序的计算机系统和方法 - Google Patents

装入应用程序的计算机系统和方法 Download PDF

Info

Publication number
CN1335960A
CN1335960A CN00801173A CN00801173A CN1335960A CN 1335960 A CN1335960 A CN 1335960A CN 00801173 A CN00801173 A CN 00801173A CN 00801173 A CN00801173 A CN 00801173A CN 1335960 A CN1335960 A CN 1335960A
Authority
CN
China
Prior art keywords
application program
class
mheg
application
related function
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.)
Granted
Application number
CN00801173A
Other languages
English (en)
Other versions
CN1175349C (zh
Inventor
S·莫里斯
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1335960A publication Critical patent/CN1335960A/zh
Application granted granted Critical
Publication of CN1175349C publication Critical patent/CN1175349C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Multi Processors (AREA)

Abstract

一种用于装入面向对象应用程序的方法和系统,包括以下步骤;确定由该应用程序请求的每个对象的类的类型,装入由该应用程序请求的包括了许多相关函数的该类的类型,确定随每个类装入的相关函数,确定由该应用程序使用的相关函数和从存储器中取消已装入的但该应用程序没有要求的相关函数。

Description

装入应用程序的计算机系统和方法
本发明涉及装入应用程序的计算机系统和方法。本发明特别涉及在MHEG-6环境下装入应用程序的计算机系统和方法。
最初,多媒体只是万维网许多部分中的一部分。它从未打算作为一种支持技术用于表示技术内容或用于和外部世界相互操作。随着例如Java语言(SunMicrosystems Corporation)和ActiveX的出现已经使多媒体和还有万维网的功能增加但是也形成如饥似渴访问万维网存储器和CPU资源的活动。在需要产生低价格图形终端的情况下,为了访问万维网,MHEG(多媒体和超媒体专家组)标准已经开发以便定义一个基本的GUI(图形用户接口)和多媒体库用在公用电话间(Kiosk)信息系统,TV机中,或用在视频点播服务器以便用来和机顶盒通信。
开发MHEG标准是为了在跨不同类型平台的客户机/服务器体系结构中支持多媒体交互应用的分配。MHEG层5定义了应用程序的最终表达形式,以在跨所有平台时使应用程序的外观相同。这使得通过定义它的组成部分容易建立GUI和多媒体应用。客户机终端应有解释MHEG指令的运行时系统,以便向用户显示应用程序和与用户进行局部交互处理。MHEG层5在与外部世界相互操作方面不能适应因而受到限制,例如数据交换或使用客户机/服务器应用程序。MHEG层6是对MHEG层5的扩展,它定义了一组机构允许MHEG应用程序和Java语言应用程序用于相互操作。Java应用程序不受限于多媒体、GUI和用户相互操作,以便提供与其它计算机主机、应用程序等的通信。Java和MHEG之间的相互操作允许MHEG应用程序和外部环境通信。MHEG层6主要是在受限制的资源终端上运行的用来支持交互检索(客户机/服务器)应用程序的分配。数字音频一图象协议(DAVIC)已采用MHEG层6作为交互式电视机顶单元规范的基础。
MHEG应用程序作为一系列MHEG对象传送到用户,这些对象由MHEG引擎在用户的终端上进行翻译,以负责把MHEG对象变成图形和多媒体并输出在终端。每个MHEG层是在先前的层上形成。一个能够运行MHEG层6应用程序的MHEG引擎(engine)包括一个与Java虚拟机接口的MHEG层5引擎。Java虚拟机和MHEG环境之间的接口允许MHEG应用程序运行和与Java应用程序接口。
Java应用程序依据一系列对象写出,每个对象定义一个特殊数据结构或Java语言应用程序的用户接口部件。每个对象是从定义了对于一个对象必需的数据结构和函数(function)的预先定义的类建立的,该对象是从要操作的或要交互的类产生的。这些函数(function)称为方法(method)。事实上一个类(class)是一个模板(template),当最初建立对象时引用该模板,以便确定该对象的结构,该对象需要操作的数据结构和该对象能使用的方法。当装入一应用程序时检查该应用程序使用的对象的类以寻找已经保存在存储器中的那些类,如果有的话。必需的但未保存在存储器中的任何类被装入存储器中。对由Java应用程序用来建立对象的每个类,与该类相关的所有方法都由运行Java应用程序的Java虚拟机装载。尽管保证装入全部需要的方法,但这种处理是很浪费的,其中许多类包含了不由该应用程序使用的方法也被装入了。
在例如基于MHEG机顶盒的环境下,存储器很有限,期望通过应用程序能节省任何存储器。本发明提供了一种方法和系统用于从MHEG应用程序中去除多余的方法。
根据本发明的第一个方面,提供一种用于装入面向对象应用程序的方法,包括:装入该应用程序;确定由该应用程序请求的各对象的类的类型;装入该类的类型,包括由该应用程序请求的许多相关函数;确定随每个类装入的该相关函数,确定由该应用程序将要使用的相关函数;和取消存储器中装入的未被该应用程序请求的相关函数(function)。
根据本发明的第二个方面,提供一种适用于装入应用程序的计算机系统,包括:一个用于装入应用程序的应用程序装入器(loader),以便确定由该应用程序请求的每个对象的类的类型和装入由该应用程序请求的包括许多相关函数(function)的该类的类型,和一个类处理器,该类处理器是为了确定随每个类装入的相关函数(function)而配置的,以便确定由该应用程序将要使用的相关函数(function),和从存储器中去除装入的但未被该应用程序请求的相关函数。
现在描述本发明的实施例,参考附图进行描述,其中:
图1是用于实施本发明的计算机系统的方框图;
图2是用在本发明装入算法的方法流程图;
图3是用在本发明装入算法的方法的另一流程图。
图1是用于实施本发明的计算机系统的方框图。
一个运行MHEG层6应用程序的计算机系统包括:一个服务器计算机10和一个客户机终端20(例如电视机顶盒),它通过数据通信链路30例如计算机网络或电话网络连接到服务器。该客户机终端20包括一MHEG引擎(ENG)21,一Java虚拟机(VM)22和一核心MHEG库(LIB)23。
当对该客户机终端20加电时,该MHEG引擎21访问该核心MHEG库23和装入一MHEG用户接口,允许用户与客户机终端20交互联系。该MHEG引擎21还从该核心MHEG库23装入通信程序以使MHEG引擎21能与JavaVM22和服务器计算机10通信。
由用户经用户接口访问或请求的一MHEG应用程序(例如交互电视节目)由该MHEG引擎21从该服务器计算机10请求。该服务器计算机10把作为一系列MHEG对象的MHEG应用程序传送到客户机终端20。一旦MHEG应用程序的所有MHEG对象由该客户机终端20接收,该MHEG引擎21分析该对象和运行该应用程序。
在一个MHEG应用程序第一次要求执行或与一个Java应用程序交互时,比如用户与该MHEG应用程序交互以要求Java应用的形式请求服务,诸如从一个远程服务器计算机请求视频点播,该Java语言应用程序按照与上述MHEG应用程序相同的方式从该服务器计算机10作为一系列类对象被装入。在通常的计算机系统中,在从类建立该应用程序对象和运行该Java应用程序之前,该Java VM分析并加载由该Java应用程序和由与该类有关的所有方法使用的该对象的该类到客户机终端存储器。
图2是用在本发明中的装入算法的方法流程图。在分析和装入上述类和与其有关的方法期间,该方法与该Java语言应用程序和该MHEG应用程序的方法调用交叉引用以便确定是否使用它们,如果不使用,就放弃而不装入。
在步骤40,分析将要建立的一对象的装入的类以便确定它包括的方法。在步骤50将包括在该类中的每个方法的名字或标识符记录在表中。在步骤60,该Java应用程序和该MHEG应用程序的方法调用与在步骤50产生的表交叉引用以便确定(在步骤69)它们是否调用该类的方法,如果是的话,在步骤70,为该方法在表中标记该项(entry)。一旦全部的方法调用已分析完(在步骤71判定),未在表中标记的方法被从存储器删除(在步骤80)。
图3是用在本发明中装入算法的另一方法流程图。在分析和安装一个类和与其相关的方法期间,确定该类已经装入并由基于该类早先建立了对象的另一应用程序使用。如同参照图2已经讨论的,对于将要装入的该应用程序执行步骤40,50,60,70和71。然后先于步骤80使用该类对各又一应用程序重复该步骤以便确定他们可请求的方法。通过已经运行的应用程序请求的方法已经保存在存储器中。但是,未请求的方法早先就已经放弃,如果新的应用程序请求任一已放弃的方法,全部类将重新装入并且由两个应用程序请求的方法集合(set)将保持存储器中。
尽管在一旦冗余的方法已经被确定后,通常放弃了该表,它也可以保留,使得如果另一应用程序需要该类,仅包括那些必需要确定装入的方法,以及参考该表装入。
作为一种确定冗余方法的变通方法是;当装入该应用程序时,可以在服务器中执行该过程,于是只有必须的代码从服务器传送到该客户机。
根据本发明确定冗余方法的方法和系统,在应用程序运行期间间隔上也能被调用从而确定不再需要的方法。
虽然上面主要描述了从MHEG应用程序取消冗余的方法,但本发明还可应用于其它应用程序,其中,有些可能冗余的代码部分必须被装入,例如使用JAR文件装载数据(JAR文件是合并入单个文件的Java类文件的集合)时Java代码能装入在一个‘程序块’(‘chunk’)中。

Claims (7)

1、一种用于装入面向对象应用程序的方法,包括以下步骤:
装入该应用程序;
确定由该应用程序请求的每个对象的类的类型(class type);
装入由该应用程序请求的包括了许多相关函数(associated function)的类的类型;
确定随每个类装入的该相关函数;
确定由该应用程序使用的该相关函数;和
从存储器中取消该应用程序没有请求但已装入的该相关函数。
2、根据权利要求1的方法,其中,在确定随该类的类型装入的相关函数(function)时,对每个装入的相关函数产生一个包括一项的数据结构。
3、根据权利要求2的方法,其中,在确定由该应用程序使用的相关函数时,在数据结构中标记各个项。
4、根据权利要求3的方法,其中,从存储器中取消对应于数据结构中未标记的项的相关函数。
5、根据前述任一项权利要求的方法,其中,该相关函数包括方法。
6、一种用于装入应用程序的计算机系统,包括:一为装入一应用程序配置的应用程序装入器(loader),用于确定由该应用程序请求的每个对象的类的类型(class type)和装入由该应用程序请求包括了许多相关函数(associatedfunction)的类的类型;以及一个配置的类处理器,用于确定随每个类装入的相关函数,以便确定由该应用程序使用的该相关函数和从存储器中取消已装入的但该应用程序没有要求的相关函数。
7、一种用于执行权利要求1到5之一的方法的计算机程序。
CNB008011737A 1999-06-26 2000-06-22 装入应用程序的计算机系统和方法 Expired - Fee Related CN1175349C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9914927.0 1999-06-26
GBGB9914927.0A GB9914927D0 (en) 1999-06-26 1999-06-26 Computer system and method for loading applications

Publications (2)

Publication Number Publication Date
CN1335960A true CN1335960A (zh) 2002-02-13
CN1175349C CN1175349C (zh) 2004-11-10

Family

ID=10856100

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008011737A Expired - Fee Related CN1175349C (zh) 1999-06-26 2000-06-22 装入应用程序的计算机系统和方法

Country Status (9)

Country Link
EP (1) EP1135733A2 (zh)
JP (1) JP2003503799A (zh)
KR (1) KR20010072982A (zh)
CN (1) CN1175349C (zh)
BR (1) BR0006857A (zh)
GB (1) GB9914927D0 (zh)
PL (1) PL346280A1 (zh)
TW (1) TW463127B (zh)
WO (1) WO2001001292A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129351A1 (en) * 2001-03-07 2002-09-12 Nexusedge Technologies Pty. Ltd. Software engine and method for software application loading
TWI805400B (zh) * 2022-06-07 2023-06-11 國立陽明交通大學 奈米微粒分徑用的新穎慣性衝擊器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247678A (en) * 1989-10-12 1993-09-21 Texas Instruments Incorporated Load time linker for software used with a multiprocessor system

Also Published As

Publication number Publication date
EP1135733A2 (en) 2001-09-26
WO2001001292A2 (en) 2001-01-04
WO2001001292A3 (en) 2001-07-19
TW463127B (en) 2001-11-11
PL346280A1 (en) 2002-01-28
JP2003503799A (ja) 2003-01-28
CN1175349C (zh) 2004-11-10
GB9914927D0 (en) 1999-08-25
KR20010072982A (ko) 2001-07-31
BR0006857A (pt) 2001-07-10

Similar Documents

Publication Publication Date Title
Schmidt et al. C++ Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks
Coulson et al. Extensions to ANSA for multimedia computing
JP3075486B2 (ja) データベースネットワークの管理方法
US7437713B2 (en) Automated system that tests software on multiple computers
US5644718A (en) Apparatus using circuit manager to associate a single circuit with each host application where the circuit is shared by a plurality of client applications
US7127701B2 (en) Computer processing and programming method using autonomous data handlers
CN1972311A (zh) 一种基于集群均衡负载的流媒体服务器系统
WO2003010659A1 (en) Computer processing and programming method using autonomous data handlers
US20050086237A1 (en) Shared queues in shared object space
AU2003285358A1 (en) Method for managing virtual machines
US20080288622A1 (en) Managing Server Farms
US20020147962A1 (en) Method and system for incorporating legacy applications into a distributed data processing environment
CN1363887A (zh) 用于提供与软件包相关的信息的系统及其支持测试的系统
CN115292020A (zh) 一种数据处理方法、装置、设备以及介质
CN1335960A (zh) 装入应用程序的计算机系统和方法
CN116595086A (zh) 一种基于插件的空间数据服务实现方法和系统
CN114579206B (zh) 动态加载应用程序的方法、装置、设备及介质
KR100554521B1 (ko) 에스시에이 기반 시스템의 디스크립터 파일을 저장한 기록 매체 및 그의 파일 파싱 방법
CN115495065A (zh) 一种基于业务流控制的页面组件编排组合方法及装置
CN114598622A (zh) 数据监控方法及装置、存储介质、计算机设备
KR20190015817A (ko) 미들웨어를 이용한 모니터링 방법, 장치 및 시스템
CN113835827A (zh) 基于容器Docker的应用部署方法、装置及电子设备
JP4105507B2 (ja) コンテンツ流通装置,コンテンツ流通処理方法,コンテンツ流通システムプログラムおよびその記録媒体
Tokunaga et al. Object-oriented middleware infrastructure for distributed augmented reality
CN117640867A (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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee