WO2006134028A1 - Procede d'exploitation dynamique d'une pile logicielle et appareil pour la mise en oeuvre du procede - Google Patents

Procede d'exploitation dynamique d'une pile logicielle et appareil pour la mise en oeuvre du procede Download PDF

Info

Publication number
WO2006134028A1
WO2006134028A1 PCT/EP2006/062768 EP2006062768W WO2006134028A1 WO 2006134028 A1 WO2006134028 A1 WO 2006134028A1 EP 2006062768 W EP2006062768 W EP 2006062768W WO 2006134028 A1 WO2006134028 A1 WO 2006134028A1
Authority
WO
WIPO (PCT)
Prior art keywords
software stack
system resources
application
allocated
recorded
Prior art date
Application number
PCT/EP2006/062768
Other languages
English (en)
Inventor
Ralf KÖHLER
Frank Gläser
Jens Brocke
Kurth Knuth
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Publication of WO2006134028A1 publication Critical patent/WO2006134028A1/fr

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Definitions

  • Modern electronic devices are being equipped with ever more software. This also applies to consumer electronics devices. Nevertheless, such devices are currently equipped with a complete PC-based computer architecture only in exceptional cases. For reasons of cost, these devices are equipped with only few system resources. Such system resources are understood to mean components such as memories, interrupt channels, direct memory access channels (DMA channels), processor power or else equipment features which are not necessarily related to the computation power, such as a card reader, a unit for encrypting and decrypting data, specific encoding and decoding units etc. Likewise for reasons of cost, the consumer electronics devices are not designed to have their own operating system. Such devices are also called “embedded devices”. The aforementioned, non-trivial software stacks relate to "driver software" of a digital communications interface, for example, such as the IEEE1394 bus interface.
  • the invention is concerned with the problem of optimum utilization of the system resources in devices with limited system resources, such as consumer electronics devices.
  • An additional criterion is that these devices are also designed without their own operating system. If such devices are delivered with an operating system, the system resources are normally managed in optimum fashion by the operating system.
  • the invention proposes providing the device's own software stack itself with means for managing system resources. If the software stack in the device is used only intermittently, the required system resources are blocked only for the period for which the software stack is being used for other applications. If the software stack is not used by an application in the meantime, all the previously allocated system resources are released again and are available to the other applications .
  • the measures cited in the dependent claims allow advantageous developments and improvements of the inventive method.
  • One advantageous measure involves the management means for system resources within the software stack checking, upon a request for use of the stack by another application, what allocated resources have already been recorded in the software stack and permitting use of the software stack by the further application only if the resource requirement by the further application is based on no more than the system requirement which has already been recorded in the software stack. This measure keeps down the management complexity for the system resources .
  • Figure 1 shows the system architecture of an apparatus based on the invention
  • Figure 2 shows two examples of function calls for recording system resources and also the relevant examples of the system calls for terminating the resource allocation
  • Figure 3 shows an example of a flowchart which is processed in the software stack for the purpose of allocating system resources
  • Figure 4 shows an example of a flowchart which is processed for the purpose of terminating the allocation of system resources .
  • Figure 1 shows the system architecture of a set-top box.
  • the dashed line separates the hardware components from the software components .
  • Shown above the dashed line are the software components, and below are the hardware components of this set-top box.
  • the set-top box shown has the special feature of a hard disk for recording video contents and similarly also audio contents.
  • the hardware components shown relate to a microcontroller 10, a solid-state memory arrangement 11, a DMA chip 12, an IEEE1394 link layer IC 13, an IEEE1394 physical layer IC 14, an Ethernet interface 15, a reception part 16 and the aforementioned hard disk 17.
  • the software stacks are two "software stacks". These are firstly an IEEE1394 software stack 18 and secondly an IP software stack 19.
  • the design of the IEEE1394 software stack 18 is shown in more detail.
  • the reference numeral 20 denotes the application program interface (API) for this software stack.
  • the other components namely the unit 21 for bus management and the implementation of the transaction layer 22, are known from the IEEE1394 standard, which
  • the reference numeral 23 denotes another IEEE1394 hardware device driver. This component transfers the standardized messages/commands into the format required by the IEEE1394 link layer IC 13.
  • the reference numeral 24 denotes the inventive system resource management means, which are discussed more precisely below.
  • application programs 25 to 27 are shown above the software stacks 18 and 19, application programs 25 to 27 are shown.
  • the application program 25 relates to all the functions of the reception part of the set-top box, also called tuner functionality.
  • the reference numeral 26 denotes an application program which is used to implement the video recorder functionality.
  • the reference numeral 27 denotes an application program which allows connection to the Internet. In particular, this may be an Internet browser.
  • a runtime environment is understood to mean those blocks from computer programs which have been created quite specifically for reuse and which are often part of an operating system or of a programming language.
  • a runtime environment of this kind is usually very extensive and comprises as many basic functions as possible. These functions are usually kept quite general and are intended to be able to be used to achieve a wide variety of (subsidiary) objects. These may be: reading and writing files, transporting data via networks, controlling input and output devices, managing data, sorting or searching and much more. As described, there is no operating system embedded into the runtime environment in the case under consideration.
  • IP software stack 19 The details of the IP software stack 19 are known from the prior art and are therefore not explained in more detail here.
  • the system resources which can be allocated to the software stacks 18 and 19 correspond to the interrupt channels of the microcontroller 10, to the DMA channels 12 and to the memory 11.
  • the invention provides for the software stack 18 to have management means 24 for system resource allocation. The way in which these work is explained in more detail below.
  • Figure 2 lists two initialization functions. These functions can be called by the application programs 25 and 26 shown.
  • the top part of Figure 2 shows a possible function call by the tuner application 25.
  • the identification part INIT (tuner) is followed by the individual parameters for the system resource allocation as required by the application 25.
  • 1 megabyte of storage capacity is intended to be reserved for the reception buffer of the IEEE1394 interface in the system memory 11.
  • 2 megabytes of storage capacity are intended to be reserved for the transmission buffer in the system memory 11.
  • the other resource allocations relate to an interrupt input with the number 6 and to a DMA channel with the number 0. If no system resource allocations have yet been made by the IEEE1394 software stack 18 to date, the software stack will make this resource allocation in the system.
  • the resource allocation is stored in appropriate system tables.
  • the invention involves the resource allocation also being briefly entered in the software stack 18, however.
  • the second position in Figure 2 also contains an example of a call to the initialization function by the application program for the functionality of the digital video recorder.
  • the parameters match the parameters of the initialization function which is above. Alternatively, other parameter values could be used.
  • the software stack 18 executes a program, whose structure is shown in Figure 3.
  • the call to the program is made by virtue of the initialization function being called by the relevant application program.
  • the start of the program is denoted by the reference numeral 30.
  • Reference numeral 31 denotes a program step in which a recording table for system resources is read.
  • the check 32 checks whether the system resources requested with the initialization function come within the scope of the already recorded system resources for the software stack. If this is the case, the requested system resources for the application program are entered in the recording table in the next program step 33. The recording which has been made is then confirmed to the application program in program step 34.
  • Figure 4 now shows a program which is executed when the function call to end system resource allocation is made by an application program 25 or 26 to the software stack 18.
  • the reference numeral 40 again denotes the start of the program.
  • program step 41 the requested resources are removed from the recording table.
  • Check 42 checks whether the recording table is now totally empty. If this is the case, the requested system resources are released to the system again. This resets the system resource entries in the system resource tables. If the recording table was not totally empty, the system resources allocated to the stack program 18 remain allocated. The program ends in program step 44.
  • the device can be developed for IP Ethernet networks and IEEE1394 networks, for example, but is in each case operated only on one of the networks, which means that system resources need to be provided only for one of the modes of operation (superset) .
  • the relevant software stack is started and the respective other one is deactivated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

L'invention concerne une amélioration caractérisée par le fait que des piles logicielles (13, 14, 15) dans le dispositif contiennent elles-mêmes un moyen de gestion (24) des ressources système. Une application (25, 26, 27) souhaitant utiliser la pile logicielle appelle une fonction d'initialisation dans la pile logicielle (13, 14, 15) et l'utilise pour réserver des ressources système requises. Après utilisation de la pile logicielle, l'application (25, 26, 27) se déconnecte de la pile logicielle, à la suite de quoi une autre fonction est appelée, laquelle efface les ressources système enregistrées et, le cas échéant, libère également lesdites ressources système réservées.
PCT/EP2006/062768 2005-06-11 2006-05-31 Procede d'exploitation dynamique d'une pile logicielle et appareil pour la mise en oeuvre du procede WO2006134028A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE200510027084 DE102005027084A1 (de) 2005-06-11 2005-06-11 Verfahren zum dynamischen Betrieb eines Software-Stapels sowie Vorrichtung zur Durchführung des Verfahrens
DE102005027084.0 2005-06-11

Publications (1)

Publication Number Publication Date
WO2006134028A1 true WO2006134028A1 (fr) 2006-12-21

Family

ID=36763767

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/062768 WO2006134028A1 (fr) 2005-06-11 2006-05-31 Procede d'exploitation dynamique d'une pile logicielle et appareil pour la mise en oeuvre du procede

Country Status (2)

Country Link
DE (1) DE102005027084A1 (fr)
WO (1) WO2006134028A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014192259A1 (fr) * 2013-05-27 2014-12-04 日本電気株式会社 Dispositif de commande de réseau, procédé de commande de réseau, programme associé et système de communication

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A BOMBE ET AL: "libraw1394 - version 1.1.0", LIBRAW1394 DOCUMENTATION, 25 November 2004 (2004-11-25), XP002395563, Retrieved from the Internet <URL:http://www.linux1394.org/doc/libraw1394/> [retrieved on 20060821] *
ANONYMOUS: "Page Info - http://www.linux1394.org/doc/libraw1394/index.html", INTERNET DOCUMENT, XP002395562, Retrieved from the Internet <URL:http://www.linux1394.org/doc/libraw1394/index.html> [retrieved on 20060821] *
D GILBERT: "The Linux SCSI Generic (sg) HOWTO", LINUX DOCUMENTATION PROJECT, 3 May 2002 (2002-05-03), XP002395561, Retrieved from the Internet <URL:http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/SCSI-Generic-HOWTO.pdf> [retrieved on 20060821] *
RUBINI A ET AL: "Linux Device Drivers: PASSAGE", 2001, O'REILLY, US, ISBN: 0-596-00008-1, XP002395570 *
TSEGAYE M ET AL: "A comparison of the Linux and Windows device driver architectures", OPERATING SYSTEMS REVIEW ACM USA, vol. 38, no. 2, April 2004 (2004-04-01), pages 8 - 33, XP002395564, ISSN: 0163-5980 *

Also Published As

Publication number Publication date
DE102005027084A1 (de) 2006-12-14

Similar Documents

Publication Publication Date Title
US8762480B2 (en) Client, brokerage server and method for providing cloud storage
US7707337B2 (en) Object-based storage device with low process load and control method thereof
US8631152B2 (en) System and method for data packet transmission and reception
US9137249B2 (en) Local proxy system and method
US8950006B2 (en) Method for access to a portable memory data support with auxiliary module and portable memory data support
US6385658B2 (en) Method and apparatus for synchronized message passing using shared resources
AU741471B2 (en) IEEE set top box device driver
EP2750042B1 (fr) Procédé et appareil de gestion de mémoire
US20170052979A1 (en) Input/Output (IO) Request Processing Method and File Server
US20100146123A1 (en) Resource allocation method of each terminal apparatus using resource management system and resource management server apparatus
CN114296646B (zh) 基于io业务的缓存方法、装置、服务器和存储介质
US20030097418A1 (en) Portable information communication terminal
US7900010B2 (en) System and method for memory allocation management
WO2006134028A1 (fr) Procede d&#39;exploitation dynamique d&#39;une pile logicielle et appareil pour la mise en oeuvre du procede
US20030120810A1 (en) Interconnecting device, address conversion controlling method and computer program thereof
JP2007004704A (ja) アプリケーションを削除するicカードシステム
US20010007114A1 (en) Control apparatus and control method
JP2000029797A (ja) 電子メールシステム
WO2014203728A1 (fr) Système, dispositif et procédé de commande de message et programme
KR100636283B1 (ko) 외부저장매체를 이용한 메시지 처리 시스템 및 그 방법
JP2007293564A (ja) メモリデバイスおよび情報記憶システム
US7310691B2 (en) Network subscriber station for a network of distributed stations, and method for operating a network subscriber station
JP2001256168A (ja) Usbデバイス
CN115349120A (zh) 信息处理装置、信息处理方法和信息处理程序
CN115714992A (zh) 数据传输方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06777247

Country of ref document: EP

Kind code of ref document: A1