1 Introduction

Total Page:16

File Type:pdf, Size:1020Kb

1 Introduction User Customization of Virtual Network Interfaces with U-Net/SLE David Opp enheimer and Matt Welsh fdavidopp,[email protected] Decemb er 9, 1997 Abstract We describ e U-Net/SLE Safe Language Extensions, a user-level network interface architecture which enables p er-application customization of communication semantics through downloading of user extension applets, imple- mented as Java class les, into the network interface. This architecture p ermits application s to safely sp ecify co de to b e executed within the NI on message transmission and reception. By leveraging the existing U-Net mo del, applications may implement proto col co de at the user level, within the NI, or using some combination of the two. Our current implementation, using the Myricom Myrinet interface and a small Java Virtual Machine subset, obtains go o d p erformance, allowing host communication overhead to b e reduced and improving the overlap of communication and computation during proto col pro cessing. 1 Intro duction Recentwork in high-sp eed interconnects for distributed and parallel computing architectures, particularly workstation clusters, has fo cused on developmentofnetwork interfaces enabling low-latency and high-bandwidth communication. Often, these systems bypass the op erating system kernel to achieve high p erformance; however the features and functionality provided by these di erent systems vary widely. Several systems, such as U-Net [26] and Active Messages [27], virtualize the network interface to provide multiple applications on the same host with direct, protected network access. Other systems, including Fast Messages [16] and BIP [17], eschew sharing the network in lieu of design simplicity and high p erformance. In addition, fast network interfaces often di er with resp ect to the communication semantics they provide, ranging from \raw" access U-Net to token-based ow-control Fast Messages to a full- featured RPC mechanism Active Messages. Complicating matters further is the sp ectrum of network adapter hardware up on which these systems are built, ranging from simple, fast NICs which require host intervention to multiplex the hardware [30] to advanced NICs incorp orating a programmable co-pro cessor [26]. Application programmers are faced with a wide range of functionalitychoices given the many fast networking layers currently available: some applications may b e able to take advantage of, say, the ow-control strategy imple- mented in Berkeley Active Messages, while others such as continuous media applications may wish to implement their own communication semantics entirely at user level. Additionally, the jury is still out on where certain features suchas ow-control and retransmission are b est implemented. It is tempting to base design choices on the results of microb enchmarks, such as user-to-user round-trip latency, but recent studies [12] has hinted that other factors, such as host overhead, are far more imp ortant in determining application-level p erformance. Given the myriad of p otential application needs, it may seem attractive to design for the lowest common denom- inator of network interface options, namely, the interface which provides only fast protected access to the network without implementing other features, such as RPC or ow-control, b elow the user level U-Net is one such design. This design enables applications to implement proto cols entirely at user level and do es not restrict communication semantics to some arbitrary set of \built-in" features. However, exp erience has shown [10] that in the interest of reducing host overhead, interrupts, and I/O bus transfers, it may b e b ene cial to p erform some proto col pro cessing 0 For more information on this pro ject, please see http://www.cs.berkeley.edu/~mdw/projects/unet-sle/. 1 within the network interface itself, for example on a dedicated network co-pro cessor [5]. Such a system could b e used to implementa multicast tree directly on the NI, allowing data to b e retransmitted down branches of the tree without intervention of the user application, overheads for I/O bus transfer, and pro cess or thread context switch. Another p otential application is packet-sp eci ed receive bu ers, in which the header of an incoming packet contains the bu er address in which the payload should b e stored. Being able to determine the packet destination bu er address b efore any I/O DMA o ccurs enables true zero-copy as long as the sender is trusted to sp ecify bu er addresses. Anumb er of systems have incorp orated these NI-side features in an ad hoc manner, however, it would seem desirable to have a consistent and universal mo del for fast network access which subsumes all of these features. We have designed an implemented U-Net/SLE Safe Language Extensions, a system which couples the U-Net user-level network interface architecture with user extensibilityby allowing the user to download customized packet-pro cessing co de, in the form of Java applets, into the NI. With this design, it is p ossible for multiple user applications to indep endently customize their interface with the U-Net architecture without compromising protection or p erformance. Applications which are content with the standard mo del provided by U-Net are able to use \direct" U-Net access and are not p enalized for features provided by the underlying system which they do not use. With the U-Net/SLE mo del, for example, it is p ossible for an application to implement sp ecialized ow-control and retransmission co de as a Java applet which is executed on the network interface. For instance, the semantics of the Active Messages layer could b e implemented as a combination of Java and user-level library co de. Those applications which require the use of Active Messages may use those features without requiring all applications on the same host to go through this interface, while still b eing able to take advantage of the ability to do NI-level pro cessing rather than pushing all proto col co de to user level. Anumb er of questions are raised by U-Net/SLE and other similar designs, including: How can p erformance b e maintained while protection b etween user extensions is enforced? How should resource management for user extensions b e handled? At what p oint do es it b ecome advantageous to move packet-pro cessing co de from user level into the NI, and vice versa? What tradeo s should b e considered when providing a certain feature in the network interface rather than on the host? In this pap er we describ e the design and implementation of U-Net/SLE, fo cusing on the considerations of using Java as a safe language for user extensions executed in the critical path of communication on a network interface. Section 2 of this pap er describ es the U-Net/SLE design in more detail. Section 3 describ es JIVE, our implemen- tation of the Java Virtual Machine used in U-Net/SLE. Sections 4 and 5 summarize p erformance, while section 6 describ es related work. Section 7 concludes and raises issues for future work to consider. 2 Design and Implementation U-Net/SLE is based on U-Net [26], a user-level network interface architecture whichmultiplexes the NI hardware between multiple applications such that each application has transparent, direct, protected access to the network. U- Net may b e implemented either in hardware, software, or a combination of b oth, and do es not presume any particular NIC design. On NICs with a programmable co-pro cessor, for instance, U-Net multiplexing/demultiplexing functions may b e implemented directly on the co-pro cessor, while on a non-programmable NIC a protected co-routine on the host may b e used to enforce protection. In the U-Net mo del an endpoint serves as an application's interface to the network and consists of a bu er area and transmit, receive, and free bu er queues see Figure 1. The bu er area is a pinned region of physical host RAM mapp ed into the user's address space; in order to ensure that the NI may p erform network bu er DMA at any time, 2 Tx FreeBuffer area Rx Figure 1: U-Net endp oint data structure 1 all transmit and receive bu ers are lo cated in this region. In order to transmit data, the user constructs the data in the bu er area and pushes a descriptor on the transmit queue indicating the lo cation and size of the data to b e transmitted as well as a channel tag, which indicates the intended recipient of the data. U-Net transmits the data and sets a ag in the transmit queue entry when complete. When data arrives from the network, U-Net determines the recipient endp oint for the packet, p ops a bu er address from that endp oint's free bu er queue and transfers the data into the bu er. Once the entire PDU has arrived whichmay span multiple receive bu ers, U-Net pushes a descriptor onto the user receive queue indicating the size, bu er addresses, and source channel tag of the data. As an optimization, small messages may tentirely within a receive queue descriptor. The user may p oll the receive queue or register an up call e.g. a signal handler to b e invoked when new data arrives. U-Net/SLE allows each user endp oint to b e asso ciated with a Java class le implementing the user extension 2 applet for that endp oint.
Recommended publications
  • Tampering with Java Card Exceptions the Exception Proves the Rule
    Tampering with Java Card Exceptions The Exception Proves the Rule Guillaume Barbu1,2, Philippe Hoogvorst1 and Guillaume Duc1 1Institut Mines-T´el´ecom / T´el´ecom ParisTech, CNRS LTCI, D´epartement COMELEC, 46 rue Barrault, 75634 Paris Cedex 13, France 2Oberthur Technologies, Innovation Group, Parc Scientifique Unitec 1 - Porte 2, 4 all´ee du Doyen George Brus, 33600 Pessac, France Keywords: Java Card, Java Exceptions, Software Attacks, Fault Attacks, Combined Attacks. Abstract: Many publications have studied the various issues concerning Java Cards security regarding software and/or hardware attacks. However, it is surprising to notice that the particular case of exception-related mechanisms has not been tackled yet in the literature. In this article, we fill this gap by proposing several attacks against Java Card platforms based on both exception handling and exception throwing. In addition, this study allows us to point out that a weakness known by the web-oriented Java community for more than a decade still passes the different steps of the state-of-the-art Java Card application deployment process (namely conversion and verification). This appears all the more important as the Java Card 3 Connected Edition specifications have started to bridge the gap between the two worlds that are Java Cards and Java web services. 1 INTRODUCTION that no pointer arithmetic is used in a Java Card ap- plication and that objects behave according to a given The Java Card technology is, as of today, the world’s contract defined by their Java class, superclasses and leading technology in the smart card field. This lead- interfaces.
    [Show full text]
  • Gaming Cover Front
    Gaming A Technology Forecast Implications for Community & Technical Colleges in the State of Texas Authored by: Jim Brodie Brazell Program Manager for Research Programs for Emerging Technologies Nicholas Kim IC² Institute Program Director Honoria Starbuck, PhD. Eliza Evans, Ph.D. Michael Bettersworth, M.A. Digital Games: A Technology Forecast Authored by: Jim Brodie Brazell Nicholas Kim Honoria Starbuck, PhD. Program Manager for Research, IC² Institute Eliza Evans, Ph.D. Contributors: Melinda Jackson Aaron Thibault Laurel Donoho Research Assistants: Jordan Rex Matthew Weise Programs for Emerging Technologies, Program Director Michael Bettersworth, M.A. DIGITAL GAME FORECAST >> February 2004 i 3801 Campus Drive Waco, Texas 76705 Main: 254.867.3995 Fax: 254.867.3393 www.tstc.edu © February 2004. All rights reserved. The TSTC logo and the TSTC logo star are trademarks of Texas State Technical College. © Copyright IC2 Institute, February 2004. All rights reserved. The IC2 Institute logo is a trademark of The IC2 Institute at The Uinversity of Texas at Austin. This research was funded by the Carl D. Perkins Vocational and Technical Act of 1998 as administered by the Texas Higher Education Coordinating Board. ii DIGITAL GAME FORECAST >> February 2004 Table of Contents List of Tables ............................................................................................................................................. v List of Figures ..........................................................................................................................................
    [Show full text]
  • Web Services Edge East Conference & Expo Featuring FREE Tutorials, Training Sessions, Case Studies and Exposition
    JAVA & LINUX FOCUS ISSUE TM Java COM Conference: January 21-24, 2003 Expo: January 22-24, 2003 www.linuxworldexpo.com The Javits Center New York, NY see details on page 55 From the Editor Alan Williamson pg. 5 Java & Linux A Marriage Made in Heaven pg. 6 TCO for Linux Linux Fundamentals: Tools of the Trade Mike McCallister ...and J2EE Projects pg. 8 Programming Java in Linux – a basic tour $40010 60 Linux Vendors Life Is About Choices pg. 26 Feature: Managing HttpSession Objects2003 SAVEBrian A. Russell 8 PAGE CONFERENCE Create a well-designed session for a better Web appEAST INSERT PAGE18 63 Career Opportunities Bill Baloglu & Billy Palmieri DGE pg. 72 Integration: PackagingE Java Applications Ian McFarland for OS X Have great looking double-clickable applications 28 Java News ERVICES pg. 60 S EB Specifications: JCP Expert Group Jim Van Peursem JDJ-IN ExcerptsW Experiences – JSR-118 An inside look at the process 42 SPECIALpg. 61 INTERNATIONAL WEB SERVICES CONFERENCE & EXPO Letters to the Editor Feature: The New PDA Profile Jim Keogh OFFER!pg. 62 The right tool for J2ME developers 46 RETAILERS PLEASE DISPLAY UNTIL MARCH 31, 2003 Product Review: exe4j Jan Boesenberg by ej-technologies – a solid piece of software 56 Interview: JDJ Asks ...Sun on Java An exclusive chance to find out what’s going on at Sun 58 SYS -CON Blair Wyman MEDIA Cubist Threads: ‘(Frozen)’ A snow-packed Wyoming highway adventure 74 Everybody’s focused on exposing applications as Web services while letting someone else figure out how to connect them. We’re that someone else.
    [Show full text]
  • Java Card 2.0 Programming Concepts
    Java Card 2.0 Programming Concepts October 15, 1997 Revision 1.0 Final ©1997 Sun Microsystems, Inc. Java Card 2.0 Programming Concepts ©1997 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303-4900 U.S.A. This document is protected by copyright. Sun Microsystems, Inc. ("SUN") hereby grants to you a fully-paid, nonexclusive, nontransferable, perpetual, worldwide, limited license (without the right to sublicense), under Sun's intellectual property rights that are essential to use this specification ("Specification"), to use the Specification for the sole purpose of developing applications or applets that may interoperate with implementations of the Specification developed pursuant to a separate license agreement with SUN. RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by the U.S. Government is subject to restrictions of FAR 52.227-14(g)(2)(6/87) and FAR 52.227-19(6/87), or DFAR 252.227-7015(b)(6/95) and DFAR 227.7202-3(a). This specification contains the proprietary information of Sun and may only be used in accordance with the license terms set forth above. SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SPECIFICATION, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON- INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SPECIFICATION OR ITS DERIVATIVES. TRADEMARKS Sun, the Sun logo, Sun Microsystems, JavaSoft, JavaBeans, JDK, Java, HotJava, HotJava Views, Java Card, Java WorkShop, the Java Coffee Cup logo, and Visual Java are trademarks or registered trademarks of Sun Microsystems, Inc.
    [Show full text]
  • Java EE  Java Platforms  Java Card: Smart Card Version  Java ME (Micro Edition): Embedded Systems, E.G
    Enterprise Application Development An Introduction to Java Enterprise Edition Shahid Beheshti University Sadegh Aliakbary Outline Enterprise Application Development Web Programming Java Enterprise Edition Architectures Patterns Standards Technologies 2 Sadegh Aliakbary JavaEE Static Web Pages HTML Files Browser Web Server www.abc.com/index.html index.html 3 Sadegh Aliakbary JavaEE Dynamic Web Pages Form Web Server Browser Submit Form 4 Sadegh Aliakbary JavaEE Web Application Definition: A web application is an application delivered to users from a web server over a network such as the Internet Only needs a web browser to use the application (Thin Client) Software application that is coded in a browser-supported language Common web applications, e.g., webmail, Google Docs, Portals, … 5 Sadegh Aliakbary JavaEE Web Applications Layers Logical Partitioning Layering Common layering in web applications Presentation Layer Business logic Layer Data (management/source) Layer These layers are purely abstractions These layers may not correspond to physical distribution (tiers) 6 Sadegh Aliakbary JavaEE Presentation Layer Handling the interactions between the user and the software GUI HTML based browser The user interface of the application Can be made up client side & server side codes It communicates with other layers by outputting results to the browser/client software and all other layers What is this layer in Facebook? 7 Sadegh Aliakbary JavaEE Business Logic Layer The work that the application needs to do for the domain
    [Show full text]
  • Oracle® Java Micro Edition Software Development Kit Developer's Guide Release 3.2 for Windows E24265-04
    Oracle® Java Micro Edition Software Development Kit Developer's Guide Release 3.2 for Windows E24265-04 September 2012 This document describes how to use the Java ME SDK plugin for NetBeans. Oracle Java Micro Edition Software Development Kit, Release 3.2 for Windows E24265-04 Copyright © 2009, 2012, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • Application Programming Notes, Java Card 3 Platform, Classic Edition
    Application Programming Notes Java Card™ 3 Platform Classic Edition Sun Microsystems, Inc. www.sun.com July 2009 Copyright © 2009 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent applications in the U.S. and in other countries. U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. This distribution may include materials developed by third parties. Sun, Sun Microsystems, the Sun logo, Java, Solaris, Java Card, Mozilla, Netscape, Javadoc, JDK, JVM, NetBeans and Servlet are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. The Adobe logo is a trademark or registered trademark of Adobe Systems, Incorporated. Products covered by and information contained in this service manual are controlled by U.S. Export Control laws and may be subject to the export or import laws in other countries. Nuclear, missile, chemical biological weapons or nuclear maritime end uses or end users, whether direct or indirect, are strictly prohibited. Export or reexport to countries subject to U.S.
    [Show full text]
  • GROOVY Name: Groovy Description: Documentation and Web Site of the Groovy Scripting Language for the JVM
    Space Details Key: GROOVY Name: Groovy Description: Documentation and web site of the Groovy scripting language for the JVM. Creator (Creation Date): bob (Apr 15, 2004) Last Modifier (Mod. Date): glaforge (Apr 12, 2005) Available Pages • Home • Advanced Usage Guide • Ant Task Troubleshooting • BuilderSupport • Compiling Groovy • Compiling With Maven2 • Design Patterns with Groovy • Abstract Factory Pattern • Adapter Pattern • Bouncer Pattern • Chain of Responsibility Pattern • Composite Pattern • Decorator Pattern • Delegation Pattern • Flyweight Pattern • Iterator Pattern • Loan my Resource Pattern • Null Object Pattern • Pimp my Library Pattern • Proxy Pattern • Singleton Pattern • State Pattern • Strategy Pattern • Template Method Pattern • Visitor Pattern • Dynamic language beans in Spring • Embedding Groovy • Influencing class loading at runtime • Make a builder • Mixed Java and Groovy Applications • Optimising Groovy bytecodes with Soot Document generated by Confluence on Sep 20, 2007 16:02 Page 1 • Refactoring with Groovy • Introduce Assertion • Replace Inheritance with Delegation • Security • Writing Domain-Specific Languages • Articles • Community and Support • Contributing • Mailing Lists • Related Projects • User Groups • Cookbook Examples • Accessing SQLServer using groovy • Alternate Spring-Groovy-Integration • Batch Image Manipulation • Compute distance from Google Earth Path (in .kml file) • Convert SQL Result To XML • Embedded Derby DB examples • Embedding a Groovy Console in a Java Server Application • Executing External
    [Show full text]
  • Java (Software Platform) from Wikipedia, the Free Encyclopedia Not to Be Confused with Javascript
    Java (software platform) From Wikipedia, the free encyclopedia Not to be confused with JavaScript. This article may require copy editing for grammar, style, cohesion, tone , or spelling. You can assist by editing it. (February 2016) Java (software platform) Dukesource125.gif The Java technology logo Original author(s) James Gosling, Sun Microsystems Developer(s) Oracle Corporation Initial release 23 January 1996; 20 years ago[1][2] Stable release 8 Update 73 (1.8.0_73) (February 5, 2016; 34 days ago) [±][3] Preview release 9 Build b90 (November 2, 2015; 4 months ago) [±][4] Written in Java, C++[5] Operating system Windows, Solaris, Linux, OS X[6] Platform Cross-platform Available in 30+ languages List of languages [show] Type Software platform License Freeware, mostly open-source,[8] with a few proprietary[9] compo nents[10] Website www.java.com Java is a set of computer software and specifications developed by Sun Microsyst ems, later acquired by Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment . Java is used in a wide variety of computing platforms from embedded devices an d mobile phones to enterprise servers and supercomputers. While less common, Jav a applets run in secure, sandboxed environments to provide many features of nati ve applications and can be embedded in HTML pages. Writing in the Java programming language is the primary way to produce code that will be deployed as byte code in a Java Virtual Machine (JVM); byte code compil ers are also available for other languages, including Ada, JavaScript, Python, a nd Ruby.
    [Show full text]
  • Towards Automated Software Evolution of Data-Intensive Applications
    City University of New York (CUNY) CUNY Academic Works Dissertations, Theses, and Capstone Projects CUNY Graduate Center 6-2021 Towards Automated Software Evolution of Data-Intensive Applications Yiming Tang The Graduate Center, City University of New York How does access to this work benefit ou?y Let us know! More information about this work at: https://academicworks.cuny.edu/gc_etds/4406 Discover additional works at: https://academicworks.cuny.edu This work is made publicly available by the City University of New York (CUNY). Contact: [email protected] Towards Automated Software Evolution of Data-intensive Applications by Yiming Tang A thesis submitted to the Graduate Faculty in Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy, The City University of New York. 2021 ii © 2021 Yiming Tang All Rights Reserved iii Towards Automated Software Evolution of Data-intensive Applications by Yiming Tang This manuscript has been read and accepted for the Graduate Faculty in Computer Science in satisfaction of the dissertation requirement for the degree of Doctor of Philosophy. May 14, 2021 Raffi Khatchadourian Date Chair of Examining Committee May 14, 2021 Ping Ji Date Executive Officer Supervisory Committee: Raffi Khatchadourian, Advisor Subash Shankar Anita Raja Mehdi Bagherzadeh THE CITY UNIVERSITY OF NEW YORK Abstract Towards Automated Software Evolution of Data-intensive Applications by Yiming Tang Advisor: Raffi Khatchadourian Recent years have witnessed an explosion of work on Big Data. Data-intensive appli- cations analyze and produce large volumes of data typically terabyte and petabyte in size. Many techniques for facilitating data processing are integrated into data- intensive applications.
    [Show full text]
  • The Personaljava Platform: a Revolution
    SUN MICROSYSTEMS BROCHURE PERSONALJAVA™ The PersonalJava™ Platform A REVOLUTION PERSONALJAVA™ TECHNOLOGY FOR CONSUMER DEVICES Since PersonalJava™ technology was introduced, it has enjoyed widespread support and momentum in the consumer electronics industry. PersonalJava technology is a revolutionary software environment designed to bring the power of Java™ technology to personal, consumer, and mobile devices. Based on Sun’s acclaimed Java application environment, PersonalJava technology is ushering in a new era of network-connectable devices that can communicate with a wide range of information sources on the World Wide Web or other network. Already, devices such as web phones, digital set-top boxes, personal digital assistants (PDA’s) and car navigation systems are rolling out with this exciting technology. With the PersonalJava platform, new content and functionality An address book application using the baseline Touchable can be delivered to the device after it is in the hands of look-and-feel design. the end-user, thereby enriching the device’s usefulness and product life. Broad Adoption From its inception, PersonalJava technology was designed to shift the burden of innovation in consumer electronics from hardware to software where the development cycles Applications and Applets are faster, the business model is more leveraged, and the pace of innovation is accelerated. Everything you need for Optional Libraries innovation is already in place, including a broad industry knowledge base about Java software, and the infrastructure to support it. All of this can help you to lower your reliance on proprietary systems and their accompanying support PersonalJava costs. Since writing to the PersonalJava API means using Core Required Libraries Platform the popular Java programming language, the standard Java™ Development Kit (JDK™) toolkit or familiar off-the- shelf development tools can be used.
    [Show full text]
  • Java Card 3 Programming
    Java Card 3 Programming Michel Koenig Java Card 3.0 Programming 1 Presentation objectives • Introducing the concepts and the technology of the smart cards • Describing the protocols between cards and terminals • Describing how to program the Java Cards • Exploring the tools and the environments provided by the manufacturers to develop solutions with smart cards Michel Koenig Java Card 3.0 Programming 2 Presentation content • Introduction • ISO7816 Protocol • Java Card • The basic rules for Java Card programming • Cyphering • SIM Card • Smart Card Web Server • Java Card 3.0 Connected Edition • Conclusion Michel Koenig Java Card 3.0 Programming 3 Introduction History, technology, standards Michel Koenig Java Card 3.0 Programming 4 Introduction ● In this chapter, we'll see ● A brief history of the smart cards ● The applications supported by the smart cards ● The standards supported Michel Koenig Java Card 3.0 Programming 5 Brief history • Early seventies, first patents – Dr Arimura, R Moreno, M Ugon • Early eighties, first field testing for a memory card – Phone card in France • Mid eighties, large scale introduction of smart cards in banking system • Mid nineties, SIM card introduced in mobile telephony Michel Koenig Java Card 3.0 Programming 6 What is a smart card • A plastic card like a credit card with an embedded micro chip – With or without visible contacts • Maybe contactless • Standardized – ISO 7816 • Mecanical properties • Electrical behavior • Communication protocol • Contains a software which – Protects internal data – Give access
    [Show full text]