EP1135733A2 - Computer system and method for loading applications - Google Patents

Computer system and method for loading applications

Info

Publication number
EP1135733A2
EP1135733A2 EP00945803A EP00945803A EP1135733A2 EP 1135733 A2 EP1135733 A2 EP 1135733A2 EP 00945803 A EP00945803 A EP 00945803A EP 00945803 A EP00945803 A EP 00945803A EP 1135733 A2 EP1135733 A2 EP 1135733A2
Authority
EP
European Patent Office
Prior art keywords
application
mheg
associated functions
class
loaded
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.)
Withdrawn
Application number
EP00945803A
Other languages
German (de)
English (en)
French (fr)
Inventor
Steven Morris
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 EP1135733A2 publication Critical patent/EP1135733A2/en
Withdrawn legal-status Critical Current

Links

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

Definitions

  • the present invention relates to a computer system and method for loading applications.
  • the present invention relates to a computer system and method for application loading in an MHEG-6 environment.
  • multimedia was only one of many elements of the World Wide Web. It was never meant as a support technology for the presentation of technical content or for interaction with the outside world.
  • the advent of technologies such as Java (® Sun Microsystems Corporation) and ActiveX has increased the functionality of multimedia and, in turn, the World Wide Web but these have in turn made access to the World Wide Web a memory and CPU resource hungry activity.
  • the MHEG (Multimedia and Hypermedia Experts Group) standard was developed to define a basic GUI (Graphical User Interface) and multimedia library for use in kiosk information systems, TV sets, or in video on demand servers for use in communicating with set-top boxes.
  • MHEG level 5 defines a final form representation for applications such that the appearance of an application is common across all platform types. It allows GUI and multimedia applications to be simply created by defining its constituent components. It is the responsibility of the client terminal to have a run-time system that interprets MHEG commands, to present the application to the user and to handle local interaction with the user.
  • MHEG level 5 is limited in that it does not cater for interaction with the outside world, for example data exchange or the use of client/server applications.
  • MHEG level 6 is in extension to MHEG level 5 that defines a set of mechanisms allowing MHEG applications and Java applications to inter-operate.
  • Java applications are not restricted to multimedia, GUI's and user interaction, offering communication with other computer hosts, applications etc.
  • the inter-operation between Java and MHEG permit MHEG applications to communicate with the external environment.
  • MHEG level 6 is mainly intended to support distribution of interactive retrieval (client/server) applications running on limited resource terminals.
  • the Digital Audio-Visual Council (DAVIC) has adopted MHEG level 6 as the basis for the specification of set-top units for interactive Television.
  • MHEG applications are delivered to the user as a series of MHEG objects which are interpreted on the user's terminal by an MHEG engine responsible for turning the MHEG objects to graphical and multimedia output at the terminal.
  • Each MHEG level is built on the preceding level.
  • An MHEG engine capable of running an MHEG level 6 application comprises an MHEG level 5 engine interfaced with a Java Virtual Machine. The interface between the Java virtual machine and the MHEG environment allows MHEG applications to run and interact with Java applications.
  • Java applications are written in terms of a series of objects, each object defining a particular data structure or user interface element of the Java application.
  • Each object is created from a predefined class which defines necessary data structures and functions for an object created from the class to be manipulated or interacted with. These functions are known as methods.
  • a class is effectively a template which is referenced when initially creating an object to determine the structure of the object, the data structures the object may need to operate and also the methods the object can use.
  • the classes of objects it uses are checked against those, if any, already held in memory. Any classes that are required but not held in memory are loaded into memory.
  • For each class used to create objects by a Java application all the methods associated with the class are loaded by the Java virtual machine which runs the Java application. This approach, whilst ensuring that all required methods are loaded, is very wasteful in that many classes contain methods which are not used by the application but which are loaded anyway.
  • a method for loading object-oriented applications comprising the steps of loading the application, determining the class type of each object required by the application, loading the class type(s), including a number of associated functions, required by the application, determining the associated functions loaded with each class, determining the associated functions to be used by the application and removing from memory the associated functions loaded but which are not required by the application.
  • a computer system adapted for loading applications, comprising an application loader configured to load an application, to determine the class type of each object required by the application and to load the class type(s), including a number of associated functions, required by the application; and a class processor configured to determine the associated functions loaded with each class, determine the associated functions to be used by the application, and remove from memory the associated functions loaded but which are not required by the application.
  • Figure 1 is a block diagram of a computer system adapted for implementing the present invention
  • FIG. 2 is a flowchart of a method loading algorithm for use in the present invention.
  • FIG. 3 is a flowchart of another method loading algorithm for use in the present invention.
  • Figure 1 is a block diagram of a computer system adapted for implementing the method or system of the present invention.
  • a computer system running MHEG level 6 applications comprises a server computer 10, a client terminal 20 (such as a television set top box) linked to the server by a data communications link 30 such as a computer network or telephone network.
  • the client terminal 20 includes an MHEG engine (ENG) 21 , a Java Virtual Machine (VM) 22 and a core MHEG library (LIB) 23.
  • ENG MHEG engine
  • VM Java Virtual Machine
  • LIB core MHEG library
  • the MHEG engine 21 accesses the core MHEG library 23 and loads an MHEG user interface to enable a user to interact with the client terminal 20.
  • the MHEG engine 21 also loads communication routines from the core MHEG library 23 enabling it to communicate with the Java VM 22 and the server computer 10.
  • An MHEG application (such as an interactive television programme) accessed or requested by the user via the user interface is requested from the server computer 10 by the MHEG engine 21.
  • the server computer 10 passes the MHEG application to the client terminal 20 as a series of MHEG objects. Once all the MHEG objects of the MHEG application are received by the client terminal 20, the MHEG engine 21 parses the objects and runs the application.
  • the first time an MHEG application requires to run or interact with a Java application for example if the users interaction with the MHEG application results in a service in the form of a Java application such as video-on-demand being required from a remote server computer, the Java application is loaded as a series of class objects from the server computer 10 in the same manner as an MHEG application described above.
  • FIG. 2 is a flowchart of a method loading algorithm for use in the present invention.
  • the methods are cross-referenced with method calls from the Java application and the MHEG application to determine whether they are used and, if not, they are discarded instead of being loaded.
  • step 40 a loaded class from which an object is to be created is parsed to determine the methods it includes. The name or an identifier of each method included in the class is recorded in a table in step 50.
  • step 60 the method calls of the Java application and the MHEG application are cross-referenced with the table generated in step 50 to determine (at step 69) whether they are calling a method of the class and, if so, the entry in the table for that method is marked in step 70. Once all the method calls have been parsed (determined at step 71), the methods that are not marked in the table are deleted from memory in step 80.
  • Figure 3 is a flowchart of another method loading algorithm for use in the present invention.
  • Steps 40, 50, 60, 69, 70 and 71 are performed for the application to be loaded as has previously been discussed with reference to Figure 2.
  • the steps are then also repeated for each further application using the class prior to step 80 to determine the methods they may require.
  • the methods required by the already running application will already be in memory. However, methods not required will have been discarded previously and, if the new application requires any of the discarded methods, the whole class will be reloaded and the set of methods required by both applications is retained in memory.
  • this process could be performed at the server so only the necessary code is transferred from the server to the client.
  • the method and system for determining redundant methods according to the present invention could also be called at intervals during the running of the applications to determine methods that are no longer needed.
  • Java code can be loaded in one 'chunk' using a JAR file to load the data (a JAR file is a collection of Java class files merged into a single file).

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)
EP00945803A 1999-06-26 2000-06-22 Computer system and method for loading applications Withdrawn EP1135733A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9914927 1999-06-26
GBGB9914927.0A GB9914927D0 (en) 1999-06-26 1999-06-26 Computer system and method for loading applications
PCT/EP2000/005769 WO2001001292A2 (en) 1999-06-26 2000-06-22 Computer system and method for loading applications

Publications (1)

Publication Number Publication Date
EP1135733A2 true EP1135733A2 (en) 2001-09-26

Family

ID=10856100

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00945803A Withdrawn EP1135733A2 (en) 1999-06-26 2000-06-22 Computer system and method for loading applications

Country Status (9)

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

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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0101292A2 *

Also Published As

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

Similar Documents

Publication Publication Date Title
US6802061B1 (en) Automatic software downloading from a computer network
US6347398B1 (en) Automatic software downloading from a computer network
Coulson et al. Extensions to ANSA for multimedia computing
DE69837508T2 (de) Verfahren zum Inhaltswiederauffinden über ein Netzwerk
AU679637B2 (en) Interface device and method
WO2000023887A2 (en) Method and apparatus for automatically optimizing execution of a computer program
CN104699537A (zh) 程序控制方法与活动组件调度方法及其相应的装置
US20020002608A1 (en) Network device management system
US20020073218A1 (en) Stream device management system for multimedia clients in a broadcast network architecture
US20030167320A1 (en) Registration service for registering plug-in applications with a management console
CN104699536A (zh) 活动组件进程空间分配方法及其相应的装置
CN101115180A (zh) 一种电子节目菜单系统及其功能模块动态加载运行方法
US6829575B2 (en) Enterprise javabeans container
CN101360009A (zh) 机顶盒应用管理方法及系统
CN113064737A (zh) 使软件通信体系结构的组件在多核处理器并行运行的方法
EP1135733A2 (en) Computer system and method for loading applications
CN1204493C (zh) 服务绑定系统及方法
CN114816482A (zh) 块存储服务的升级方法、装置、计算机设备及存储介质
Cisco Running Components
MXPA01001963A (en) Computer system and method for loading applications
AU731113B2 (en) Method and system for enabling access to a multimedia document
CN101261580A (zh) 一种处理数据的方法及系统
EP1119804A2 (en) Computer system for mheg applications
Antoniazzi et al. An open software architecture for multimedia consumer terminals
CN115607970A (zh) 游戏的更新处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

17P Request for examination filed

Effective date: 20020121

RBV Designated contracting states (corrected)

Designated state(s): DE ES FR GB IT

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20041224