Design and implementation of a Java execution environment for digital TV settop

Size: px
Start display at page:

Download "Design and implementation of a Java execution environment for digital TV settop"

Transcription

1 Design and implementation of a Java execution environment for digital TV settop boxes. Wolfgang Betz Senior System Engineer STMicroelectronics Srl - Advanced System Technology Via C. Olivetti, Agrate Brianza (MI) - Italy wolfgang.betz@st.com Ivan Cibrario Bertolotti Researcher IEEE Computer Society member # IRITI - National Research Council c/o IEN "Galileo Ferraris" Strada delle Cacce, Torino - Italy cibrario@cstv.to.cnr.it Abstract This paper discusses the design and implementation of a Java execution environment (Java Virtual Machine and a selected subset of its associated core packages) targeted to embedded systems and, in particular, to set-top boxes for MPEG-2 digital TV reception. Java bytecode offers a viable way of conveying executable contents to the end-user of the digital TV broadcasting service. In addition, it features a set of highly desirable properties, such as guaranteed interoperability, full independency from the executing hardware platform, a robust security model to block potential intruders, and wide availability of sophisticated code development and test suites. 1 Introduction The main goals of our project were the development of a prototype software platform for a new generation of set-top boxes based on the Java technology (Java STB); the supporting hardware platform features the well-known Sti5500 ASIC by STMicroelectronics. We then used the prototype to perform profiling and benchmarking, and a realistic simulation of foreseen services and applications based on Java. In order to do this, the core Java Virtual Machine (JVM) was derived, under non-commercial license, from the Java Development Kit provided by Sun, and then complemented with a custom micro kernel. The graphics subsystem was rooted on a port of the MIT X Window System (XWS), with special adaptations to enhance its performance for local client-server connections; the networking subsystem leverages an existing implementation of TCP/IP. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. 1

2 2 Internal Structure of the Java execution environment Figure 1 shows the internal structure of the Java [1], [2] execution environment. The Sun's Java Development Kit (JDK) runtime system version we used as a starting point for our port is written in ANSI C, with a platform abstraction boundary dividing the platformindependent portion of the code (upper layers) from the platform-dependent one. Java Applications and Applets SW Java Runtime System (Kernel, Interpreter, Class Loader, Bytecode Verifier) Java Packages (java.lang, java.io, java.util,...) Native Methods (Static Lib's) OS20 / ChorusOS / WinCE (plus subsystems for graphics and networking) Digital Video Decoder OMEGA / ORION Digital TV, and Interactive Services Network Figure 1, Internal Structure of the Java Environment Porting this kind of execution environment on a new platform is always feasible, but its difficulty depends on how well the target platform meets the basic requirements imposed by the platform abstraction boundary: mainly, the platform-dependent code must provide POSIX c support for multithreading and thread synchronization, with respect to both ANSI C library functions and Java language concepts such as monitors. For our port we used the existing OS20 multitasking micro kernel with custom modifications to extend its thread model and achieve POSIX compliance. Thread-safeness for C library functions was realized using a mutual exclusion adaptation layer. This solution achieves a very good context switch performance, because the target CPU implements most basic activities associated with context switches in microcode, thus keeping the micro kernel overheads very small. Both the bulk of the Java Runtime System, and the portion of Java Packages written in Java are inherently platform-independent and did not require porting. 3 Graphics subsystem The graphics subsystem has its roots on a port of a subset of the MIT XWS [3]; the Tiny AWT Java package provided with the JDK is able to directly leverage it to implement java.awt without any modification. Like the JDK mentioned before, the XWS has a layered internal structure; the main platformdependent components requiring adaptations are [4], [5], [6]: Operating system interface layer: it implements system initialization, memory management, error handling, client scheduling and X requests delivery, and yield control. In addition, it manages client connection and all data transfers between the X server and its clients. 2

3 Input devices interface layer: it initializes and controls all input devices connected to the X server; in addition, it gathers and processes all events generated by these devices. Output device interface layer: it performs region, cursor, and color map handling; moreover, it performs font realization and implements all basic drawing primitives. In the output device interface layer the dividing point between platform-independent code (already available) and platform-dependent code (to be developed) can be moved almost freely. This allows the developer to choose the best compromise between development effort and efficiency. We chose to reuse the platform-independent code as much as possible to lower development efforts: efficiency was not impacted in this case, because Java only uses a small subset of the XWS capabilities and we did not optimize functions that are either rarely or never invoked anyway. The XWS heavily relies on Inter-Process Communication (IPC) to perform its duties; the TCP/IP protocol provided by the networking subsystem could be used for this but, for performance reasons, we implemented and added support for an additional, highly simplified, transport protocol for local connections, to avoid TCP/IP overheads, such as those related to message fragmentation, reassembly and check summing when they are not strictly needed. This rather simple, focused optimization gave us an average performance gain of 2.6 on the x11perf XWS benchmark, of about 1.7 on the Graphics test of the CaffeineMark benchmark, and of about 1.1 on the Images test, same benchmark. In the latter case the gain is smaller because the test process mostly requires CPU power and only a small amout of IPC. Additional information about the X Window System porting process can be found in [7]. 4 Networking subsystem The networking subsystem leverages an already available implementation of TCP/IP and required little work to be ported. Mainly, we developed a custom device driver for one of the asynchronous serial interfaces of the Sti5500 and used the existing software to implement a PPP link on it; a workstation is used on the other side of the link to route the set-top box traffic into Internet. The prototype set-top box makes use of the serial link to carry both incoming and outgoing TCP traffic; a real one would use the digital TV channel to carry incoming traffic, instead, because its bandwidth is higher. 5 Footprint and Performance Table 1 shows the static memory footprint of the main components of the prototype JVM, that is, the amount of memory needed to load them. Dynamic footprint, that is, the amount of memory needed to actually run a given Java application, is of course application-dependent: for example, the demo described in section 6 needs about 4 Mbytes of memory. We think that most Java applications conceived to run on set-top boxes will show similar figures. Component Size [Kbyte] Basic JVM interpreter 310 Networking 200 Graphics subsystem

4 Java classes 1500 Table 1, JVM Static Footprint Table 2 shows the results of the Embedded CaffeineMark 3.0 benchmark run on the following hardware platforms: STi5500, 4 Kbyte cache, 50 MHz CPU clock, ~12 MIPS, our platform UltraSparc-1, 512 Kbyte cache, 167 MHz CPU clock, ~198 MIPS, for reference We can see that, while the CPU MIPS ratio of the Sti5500 versus the UltraSparc-1 is 12/ , the JVM performance ratio is consistently higher for all test classes except Float. The rather poor performance of our platform when performing the Float test is easy to explain because the Sti5500 does not have a floating-point coprocessor. Platform Sieve Loop Logic String Float Method Overall Sti5500, C-interpreter UltraSparc, C-interpreter UltraSparc, Asm-interpreter UltraSparc, JIT-compiler Performance ratio: STi5500 versus UltraSparc, C-interpreter Normalized performance ratio Table 2, JVM Performance 6 Demo Environment To test out our Java implementation we set up a simple demo environment, depicted in Figure 2; it implements a set-top box web browser suitable to be a graphical user interface for remote services. A dedicated proxy server performs web contents pre-processing and filtering; both the browser (client side) and the proxy (server side) application are written in Java. The browser supports dynamic downloading and execution of Java applets. The Host machine is used to initialize the set-top box, to boot it, and to trace and profile the code execution as it takes place. 4

5 Figure 2, Demo Environment Structure 7 Conclusions We were able to demonstrate that a small team with limited time and resources can successfully implement an embedded Java execution environment as described above; we leveraged publicly available software as much as possible, to lower implementation efforts, and put in effect focused platform-dependent optimizations to avoid sacrificing performance. This turned out to be a major issue, because the Java environment was originally designed to be implemented on either personal computers or workstations, and both of them have at least an order of magnitude advantage in terms of both raw CPU speed and memory size with respect to an average set-top box. Both measured performance and footprint shown in section 5 compare favorably with respect to other existing implementations on either personal computers or workstations and, in particular, the resource needs of the Java execution environment have been found to be compatible with the design constraints imposed by a low-cost set-top box. However, mainly due to the limited resources available, our prototype still has some restrictions and missing features with respect to a real-world product; in particular, the networking subsystem lacks support for multicast and dynamic host name/address resolution protocols, such as DNS, the graphics subsystem has limited font support, and the traditional digital TV software infrastructure is not fully integrated with the Java environment. Foreseen future work includes the implementation of either an ahead-of-time or a just-in-time compiler to enhance the speed of Java bytecode execution, further improvements to the performance of the graphics subsystem, and full integration of the Java execution environment with the existing digital TV software infrastructure. 8 Acknowledgments This work was partly funded by the EEC MEDEA research project A101; MEDEA (Micro- Electronics Development for European Applications) is part of the pan-european EUREKA network for industrial R&D (EUREKA Project E! 1535). 5

6 References [1] Lindholm, T. and Yellin, F. (1997) The Java Virtual Machine Specification. Addison- Wesley [2] Gosling, J., Joy, B. and Steele, G. (1996) The Java Language Specification. Addison- Wesley [3] Scheifler, R. W. and Gettys, J. (1992) X Window System, 3 rd edition. Digital Press [4] MIT X Consortium staff (1991) X Window System, Version 11, Release 5 Release notes. X11R5 documentation package [5] Rosenthal, D. S. H. et al. (1988) Godzilla s Guide to Porting the X v11 Sample Server. X11R5 documentation package [6] Angebranndt, S. et al. (1988) Strategies for Porting the X v11 Sample Server. X11R5 documentation package [7] Cibrario Bertolotti, I. (1999) Internal Structure of a Generic X Server. CSTV-CNR Technical report

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)

More information

An Overview of Java. overview-1

An Overview of Java. overview-1 An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2

More information

2 Introduction to Java. Introduction to Programming 1 1

2 Introduction to Java. Introduction to Programming 1 1 2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage

More information

HYBRID JINI FOR LIMITED DEVICES

HYBRID JINI FOR LIMITED DEVICES HYBRID JINI FOR LIMITED DEVICES VINCENT LENDERS, POLLY HUANG AND MEN MUHEIM ETH Zürich E-mail: lenders, huang @tik.ee.ethz.ch, men@ife.ee.ethz.ch We envision a future of heterogeneous mobile devices collaborating

More information

1. Overview of the Java Language

1. Overview of the Java Language 1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax

More information

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications

More information

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design

More information

Java Embedded Applications

Java Embedded Applications TM a One-Stop Shop for Java Embedded Applications GeeseWare offer brings Java in your constrained embedded systems. You develop and simulate your Java application on PC, and enjoy a seamless hardware validation.

More information

Resource Utilization of Middleware Components in Embedded Systems

Resource Utilization of Middleware Components in Embedded Systems Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system

More information

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X (Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3

More information

Developing Embedded Software in Java Part 1: Technology and Architecture

Developing Embedded Software in Java Part 1: Technology and Architecture Developing Embedded Software in Java Part 1: Technology and Architecture by Michael Barr Embedded Systems Conference Europe The Netherlands November 16-18, 1999 Course #300 Sun s introduction of the Java

More information

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB Executive Summary Oracle Berkeley DB is used in a wide variety of carrier-grade mobile infrastructure systems. Berkeley DB provides

More information

Mobile Operating Systems. Week I

Mobile Operating Systems. Week I Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone

More information

JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1

JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1 JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1 Danilo Beuche, Lars Büttner, Daniel Mahrenholz, Wolfgang Schröder-Preikschat, Friedrich Schön* University of Magdeburg * GMD-FIRST

More information

Chapter 15 Windows Operating Systems

Chapter 15 Windows Operating Systems Understanding Operating Systems, Fifth Edition 15-1 Chapter 15 Windows Operating Systems At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion Topics Additional

More information

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information

An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000

An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000 An Oracle Technical White Paper INTRODUCTION This paper is designed to provide you with an overview of some of the key points of the Oracle Forms Server architecture and the processes involved when forms

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

An evaluation of the Java Card environment

An evaluation of the Java Card environment An evaluation of the Java Card environment Christophe Rippert, Daniel Hagimont Contact: Christophe Rippert, Sirac Laboratory INRIA Rhône-Alpes, 655 avenue de l Europe Montbonnot 38334 St Ismier Cedex,

More information

Java and Real Time Storage Applications

Java and Real Time Storage Applications Java and Real Time Storage Applications Gary Mueller Janet Borzuchowski 1 Flavors of Java for Embedded Systems Software Java Virtual Machine(JVM) Compiled Java Hardware Java Virtual Machine Java Virtual

More information

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023 Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview

More information

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service Achieving Scalability and High Availability Abstract DB2 Connect Enterprise Edition for Windows NT provides fast and robust connectivity

More information

From Digital Television to Internet? A general technical overview of the- DVB- Multimedia Home Platform Specifications

From Digital Television to Internet? A general technical overview of the- DVB- Multimedia Home Platform Specifications From Digital Television to Internet? A general technical overview of the- DVB- Multimedia Home Platform Specifications Vita Hinze-Hoare Abstract This paper provides a general technical overview of the

More information

Online Recruitment System 1. INTRODUCTION

Online Recruitment System 1. INTRODUCTION 1. INTRODUCTION This project Online Recruitment System is an online website in which jobseekers can register themselves online and apply for job and attend the exam. Online Recruitment System provides

More information

Replication on Virtual Machines

Replication on Virtual Machines Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism

More information

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct

More information

An Easier Way for Cross-Platform Data Acquisition Application Development

An Easier Way for Cross-Platform Data Acquisition Application Development An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers

More information

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Oxford University Press 2007. All rights reserved. 1 C and C++ C and C++ with in-line-assembly, Visual Basic, and Visual C++ the

More information

A Java Based Tool for Testing Interoperable MPI Protocol Conformance

A Java Based Tool for Testing Interoperable MPI Protocol Conformance A Java Based Tool for Testing Interoperable MPI Protocol Conformance William George National Institute of Standards and Technology 100 Bureau Drive Stop 8951 Gaithersburg MD 20899 8951 1 301 975 4943 william.george@nist.gov

More information

Enterprise Java. Where, How, When (and When Not) to Apply Java in Client/Server Business Environments. Jeffrey Savit Sean Wilcox Bhuvana Jayaraman

Enterprise Java. Where, How, When (and When Not) to Apply Java in Client/Server Business Environments. Jeffrey Savit Sean Wilcox Bhuvana Jayaraman Enterprise Java Where, How, When (and When Not) to Apply Java in Client/Server Business Environments Jeffrey Savit Sean Wilcox Bhuvana Jayaraman McGraw-Hill j New York San Francisco Washington, D.C. Auckland

More information

Overview. The Android operating system is like a cake consisting of various layers.

Overview. The Android operating system is like a cake consisting of various layers. The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and

More information

Achieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building Blocks. An Oracle White Paper April 2003

Achieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building Blocks. An Oracle White Paper April 2003 Achieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building Blocks An Oracle White Paper April 2003 Achieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building

More information

Version 14.0. Overview. Business value

Version 14.0. Overview. Business value PRODUCT SHEET CA Datacom Server CA Datacom Server Version 14.0 CA Datacom Server provides web applications and other distributed applications with open access to CA Datacom /DB Version 14.0 data by providing

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

Stateful Inspection Technology

Stateful Inspection Technology Stateful Inspection Technology Security Requirements TECH NOTE In order to provide robust security, a firewall must track and control the flow of communication passing through it. To reach control decisions

More information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users

More information

IPv6 Challenges for Embedded Systems István Gyürki 30.08.2011

IPv6 Challenges for Embedded Systems István Gyürki 30.08.2011 IPv6 Challenges for Embedded Systems István Gyürki 30.08.2011 AGENDA Introduction IPv6 why do we need it? Selecting the right TCP/IP stack Case study Conclusions Page 2 Company Profile Wireless Products

More information

Operating System for the K computer

Operating System for the K computer Operating System for the K computer Jun Moroo Masahiko Yamada Takeharu Kato For the K computer to achieve the world s highest performance, Fujitsu has worked on the following three performance improvements

More information

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components

More information

A Layered Architecture based on Java for Internet and Intranet Information Systems

A Layered Architecture based on Java for Internet and Intranet Information Systems A Layered Architecture based on Java for Internet and Intranet Information Systems Fidel CACHEDA, Alberto PAN, Lucía ARDAO, Ángel VIÑA Departamento de Electrónica y Sistemas Facultad de Informática, Universidad

More information

A Comparison of Distributed Systems: ChorusOS and Amoeba

A Comparison of Distributed Systems: ChorusOS and Amoeba A Comparison of Distributed Systems: ChorusOS and Amoeba Angelo Bertolli Prepared for MSIT 610 on October 27, 2004 University of Maryland University College Adelphi, Maryland United States of America Abstract.

More information

Java Real-Time Distributed Processing over Chorus/OS

Java Real-Time Distributed Processing over Chorus/OS Java Real-Time Distributed Processing over Chorus/OS Christophe Lizzi CS Technologies Informatiques lizzi@csti.fr CNAM, CEDRIC lab. lizzi@cnam.fr Outline Motivations Our vision Real-time Java Operating

More information

Niagara IT Manager s Guide

Niagara IT Manager s Guide 3951 Westerre Parkway, Suite 350 Richmond, VA 23233 804.747.4771 Phone 804.747.5204 FAX Niagara IT Manager s Guide A White Paper An IT Manager s Guide to Niagara This document addresses some of the common

More information

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development Nokia 9210i/9290 Communicators and Personal TM Application Development 05-03-2002 Nokia 9210i/9290 Communicators and PersonalTM Application Development Table of contents 1. DIFFERENT JAVA TECHNOLOGIES...

More information

Open Programmable Architecture for Java-enabled Network Devices

Open Programmable Architecture for Java-enabled Network Devices Open Programmable Architecture for Java-enabled Network Devices Tal Lavian, Nortel Networks - Advanced Technology Center Robert F. Jaeger, University of Maryland Jeffrey K. Hollingsworth, University of

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Opus Guide for IT Managers

Opus Guide for IT Managers Opus Guide for IT Managers Table of Contents Introduction...1 System Requirements...2 Configuration...3 Integration...3 Networking...3 Security...5 Interconnectivity...6 History Archival Sizing...7 Introduction

More information

NetBeans Profiler is an

NetBeans Profiler is an NetBeans Profiler Exploring the NetBeans Profiler From Installation to a Practical Profiling Example* Gregg Sporar* NetBeans Profiler is an optional feature of the NetBeans IDE. It is a powerful tool that

More information

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey A Survey on ARM Cortex A Processors Wei Wang Tanima Dey 1 Overview of ARM Processors Focusing on Cortex A9 & Cortex A15 ARM ships no processors but only IP cores For SoC integration Targeting markets:

More information

Smart Cards a(s) Safety Critical Systems

Smart Cards a(s) Safety Critical Systems Smart Cards a(s) Safety Critical Systems Gemplus Labs Pierre.Paradinas Paradinas@gemplus.com Agenda Smart Card Technologies Java Card TM Smart Card a specific domain Card Life cycle Our Technical and Business

More information

Open-source foundations for PC based KNX/EIB access and management

Open-source foundations for PC based KNX/EIB access and management Open-source foundations for PC based KNX/EIB access and management Bernhard Erb, Georg Neugschwandtner, Wolfgang Kastner, Martin Kögler Institute of Automation Automation Systems Group Vienna University

More information

Implementing Java Distributed Objects with JDBC

Implementing Java Distributed Objects with JDBC Implementing Java Distributed Objects with JDBC Pritisha 1, Aashima Arya 2 1,2 Department of Computer Science Bhagwan Mahaveer institute of engineering & technology (BMIET), Deenbandhu Chhotu Ram University

More information

CSC 551: Web Programming. Spring 2004

CSC 551: Web Programming. Spring 2004 CSC 551: Web Programming Spring 2004 Java Overview Design goals & features platform independence, portable, secure, simple, object-oriented, Programming models applications vs. applets vs. servlets intro

More information

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution CSE 452: Programming Languages Java and its Evolution Acknowledgements Rajkumar Buyya 2 Contents Java Introduction Java Features How Java Differs from other OO languages Java and the World Wide Web Java

More information

STLinux Software development environment

STLinux Software development environment STLinux Software development environment Development environment The STLinux Development Environment is a comprehensive set of tools and packages for developing Linux-based applications on ST s consumer

More information

Java History. Java History (cont'd)

Java History. Java History (cont'd) Java History Created by James Gosling et. al. at Sun Microsystems in 1991 "The Green Team" Were to investigate "convergence" technologies Gosling created a processor-independent language for '*7', a 2-way

More information

JavaPOS TM FAQ. What is an FAQ? What is JavaPOS?

JavaPOS TM FAQ. What is an FAQ? What is JavaPOS? JavaPOS TM FAQ What is an FAQ? An FAQ is a list of frequently asked questions. In addition to supplying background material, this document will provide answers for the most frequently asked questions about

More information

Performance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers

Performance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers WHITE PAPER FUJITSU PRIMERGY AND PRIMEPOWER SERVERS Performance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers CHALLENGE Replace a Fujitsu PRIMEPOWER 2500 partition with a lower cost solution that

More information

IP SAN Fundamentals: An Introduction to IP SANs and iscsi

IP SAN Fundamentals: An Introduction to IP SANs and iscsi IP SAN Fundamentals: An Introduction to IP SANs and iscsi Updated April 2007 Sun Microsystems, Inc. 2007 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, CA 95054 USA All rights reserved. This

More information

Embedded PC The modular Industrial PC for mid-range control. Embedded PC 1

Embedded PC The modular Industrial PC for mid-range control. Embedded PC 1 Embedded PC The modular Industrial PC for mid-range control Embedded PC 1 Embedded OS Operating Systems Major differences Details XPE / CE Embedded PC 2 The Windows Embedded OS family CX1000 The modular,

More information

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications Mobile Devices - An Introduction to the Android Operating Environment Design, Architecture, and Performance Implications Dominique A. Heger DHTechnologies (DHT) dheger@dhtusa.com 1.0 Introduction With

More information

Open Network Install Environment (ONIE) LinuxCon North America 2015

Open Network Install Environment (ONIE) LinuxCon North America 2015 Open Network Install Environment (ONIE) LinuxCon North America 2015 Curt Brune, Member of Technical Staff August 2015 Agenda What is It? ONIE Solves a Real Problem ONIE Design Approach ONIE Adoption ONIE

More information

The Hotspot Java Virtual Machine: Memory and Architecture

The Hotspot Java Virtual Machine: Memory and Architecture International Journal of Allied Practice, Research and Review Website: www.ijaprr.com (ISSN 2350-1294) The Hotspot Java Virtual Machine: Memory and Architecture Prof. Tejinder Singh Assistant Professor,

More information

Expanding the Value of the Windows Terminal Server Investment. HOBLink JWT HOB Enhanced Terminal Services

Expanding the Value of the Windows Terminal Server Investment. HOBLink JWT HOB Enhanced Terminal Services Expanding the Value of the Windows Terminal Server Investment HOBLink JWT HOB Enhanced Terminal Services 2001 by HOB electronic GmbH & Co. KG Information in this document is subject to change without notice,

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Hardware/Software Co-Design of a Java Virtual Machine

Hardware/Software Co-Design of a Java Virtual Machine Hardware/Software Co-Design of a Java Virtual Machine Kenneth B. Kent University of Victoria Dept. of Computer Science Victoria, British Columbia, Canada ken@csc.uvic.ca Micaela Serra University of Victoria

More information

COS 318: Operating Systems. Virtual Machine Monitors

COS 318: Operating Systems. Virtual Machine Monitors COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around

More information

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto lft@inescporto.pt Luís Teixeira INESC Porto, Universidade Católica Portuguesa lmt@inescporto.pt Luís Corte-Real

More information

Real-time Java Processor for Monitoring and Test

Real-time Java Processor for Monitoring and Test Real-time Java Processor for Monitoring and Test Martin Zabel, Thomas B. Preußer, Rainer G. Spallek Technische Universität Dresden {zabel,preusser,rgs}@ite.inf.tu-dresden.de Abstract This paper introduces

More information

1 Organization of Operating Systems

1 Organization of Operating Systems COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from

More information

Locus digital DVB-T STB

Locus digital DVB-T STB Customer The company Locus is a leader in the antenna and terrestrial TV equipment market. Objective To develop a digital set-top box for the receipt and decoding of terrestrial digital broadcasting signals

More information

Operating Systems 4 th Class

Operating Systems 4 th Class Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science

More information

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers

More information

Distributed Network Management Using SNMP, Java, WWW and CORBA

Distributed Network Management Using SNMP, Java, WWW and CORBA Distributed Network Management Using SNMP, Java, WWW and CORBA André Marcheto Augusto Hack Augusto Pacheco Augusto Verzbickas ADMINISTRATION AND MANAGEMENT OF COMPUTER NETWORKS - INE5619 Federal University

More information

Interpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters

Interpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters Interpreters and virtual machines Michel Schinz 2007 03 23 Interpreters Interpreters Why interpreters? An interpreter is a program that executes another program, represented as some kind of data-structure.

More information

S y s t e m A r c h i t e c t u r e

S y s t e m A r c h i t e c t u r e S y s t e m A r c h i t e c t u r e V e r s i o n 5. 0 Page 1 Enterprise etime automates and streamlines the management, collection, and distribution of employee hours, and eliminates the use of manual

More information

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1 The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose

More information

Armed E-Bunny: A Selective Dynamic Compiler for Embedded Java Virtual Machine Targeting ARM Processors

Armed E-Bunny: A Selective Dynamic Compiler for Embedded Java Virtual Machine Targeting ARM Processors 2005 ACM Symposium on Applied Computing Armed E-Bunny: A Selective Dynamic Compiler for Embedded Java Virtual Machine Targeting ARM Processors Mourad Debbabi Computer Security Research Group CIISE, Concordia

More information

RARP: Reverse Address Resolution Protocol

RARP: Reverse Address Resolution Protocol SFWR 4C03: Computer Networks and Computer Security January 19-22 2004 Lecturer: Kartik Krishnan Lectures 7-9 RARP: Reverse Address Resolution Protocol When a system with a local disk is bootstrapped it

More information

A Modular Approach to Teaching Mobile APPS Development

A Modular Approach to Teaching Mobile APPS Development 2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development

More information

NetFlow Subinterface Support

NetFlow Subinterface Support NetFlow Subinterface Support Feature History Release Modification 12.2(14)S This feature was introduced. 12.2(15)T This feature was integrated into Cisco IOS Release 12.2 T. This document describes the

More information

Interface Definition Language

Interface Definition Language Interface Definition Language A. David McKinnon Washington State University An Interface Definition Language (IDL) is a language that is used to define the interface between a client and server process

More information

Real Time Programming: Concepts

Real Time Programming: Concepts Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize

More information

Instrumentation Software Profiling

Instrumentation Software Profiling Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the

More information

ELEC 377. Operating Systems. Week 1 Class 3

ELEC 377. Operating Systems. Week 1 Class 3 Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation

More information

The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology

The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology 3. The Lagopus SDN Software Switch Here we explain the capabilities of the new Lagopus software switch in detail, starting with the basics of SDN and OpenFlow. 3.1 SDN and OpenFlow Those engaged in network-related

More information

Proxy Server, Network Address Translator, Firewall. Proxy Server

Proxy Server, Network Address Translator, Firewall. Proxy Server Proxy Server, Network Address Translator, Firewall 1 Proxy Server 2 1 Introduction What is a proxy server? Acts on behalf of other clients, and presents requests from other clients to a server. Acts as

More information

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component

More information

Building Java Servlets with Oracle JDeveloper

Building Java Servlets with Oracle JDeveloper Building Java Servlets with Oracle JDeveloper Chris Schalk Oracle Corporation Introduction Developers today face a formidable task. They need to create large, distributed business applications. The actual

More information

EXPERIENCES PARALLELIZING A COMMERCIAL NETWORK SIMULATOR

EXPERIENCES PARALLELIZING A COMMERCIAL NETWORK SIMULATOR EXPERIENCES PARALLELIZING A COMMERCIAL NETWORK SIMULATOR Hao Wu Richard M. Fujimoto George Riley College Of Computing Georgia Institute of Technology Atlanta, GA 30332-0280 {wh, fujimoto, riley}@cc.gatech.edu

More information

Chapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is

More information

Chapter 2 System Structures

Chapter 2 System Structures Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices

More information

Chapter 3. Internet Applications and Network Programming

Chapter 3. Internet Applications and Network Programming Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure

More information

Software Stacks for Mixed-critical Applications: Consolidating IEEE 802.1 AVB and Time-triggered Ethernet in Next-generation Automotive Electronics

Software Stacks for Mixed-critical Applications: Consolidating IEEE 802.1 AVB and Time-triggered Ethernet in Next-generation Automotive Electronics Software : Consolidating IEEE 802.1 AVB and Time-triggered Ethernet in Next-generation Automotive Electronics Soeren Rumpf Till Steinbach Franz Korf Thomas C. Schmidt till.steinbach@haw-hamburg.de September

More information

picojava TM : A Hardware Implementation of the Java Virtual Machine

picojava TM : A Hardware Implementation of the Java Virtual Machine picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer

More information

elan Technology White Paper Why Linux?

elan Technology White Paper Why Linux? elan Technology White Paper Why Linux? Bow Networks Inc. Page 2 Introduction This white paper summarizes the reasons Linux was selected as the operating system for BOW Network s elan platform. Linux has

More information

Configuring and Managing Token Ring Switches Using Cisco s Network Management Products

Configuring and Managing Token Ring Switches Using Cisco s Network Management Products Configuring and Managing Token Ring Switches Using Cisco s Network Management Products CHAPTER 12 Cisco offers several network management applications that you can use to manage your Catalyst Token Ring

More information