Free Essay

Java Ring

In: Computers and Technology

Submitted By AmalRavi
Words 7793
Pages 32

A Portable Wearable Computer :

It seems that everything we access today is under lock and key. Even the devices we use are protected by passwords. It can be frustrating trying to keep with all of the passwords and keys needed to access any door or computer program. Dallas Semiconductor is developing a new Java-based, computerized ring that will automatically unlock doors and log on to computers. This mobile computer can become even more secure. You can keep the iButton with you wherever you go by wearing it as a closely guarded accessory - a watch, a key chain, a wallet, a ring - something you have spend your entire life practising how not to lose. Here are a few reasons why you might want to wear the iButton in the accessory that best fits your life style :

◆ It is a safe place to keep the private keys to conduct transactions. ◆ It overcomes the deficiencies of the secret password. ◆ You eliminate keystroke with a quick, intentional press of the Blue Dot. ◆ You keep your computer at hand versus lugging your everywhere you roam ◆ You become part of the network economy ◆ This steel-bound credential stands up to the hard knocks of everyday wear, including sessions in the swimming pool or clothes washer

What is Java Ring?

A Java Ring is a finger ring that contains a small microprocessor with built-in capabilities for the user, a sort of smart card that is wearable on a finger. Sun Microsystem's Java Ring was introduced at their JavaOne Conference in 1998 and, instead of a gemstone, contained an inexpensive microprocessor in a stainless-steel iButton running a Java virtual machine and preloaded with applets (little application programs). The rings were built by Dallas Semiconductor.

Workstations at the conference had "ring readers" installed on them that downloaded information about the user from the conference registration system. This information was then used to enable a number of personalized services. For example, a robotic machine made coffee according to user preferences, which it downloaded when they snapped the ring into another "ring reader."

Although Java Rings aren't widely used yet, such rings or similar devices could have a number of real-world applications, such as starting your car and having all your vehicle's components (such as the seat, mirrors, and radio selections) automatically adjust to your preferences.

The Java Ring is an extremely secure Java-powered electronic token with a continuously running, unalterable real-time clock and rugged packaging, suitable for many applications. The jewel of the Java Ring is the Java iButton -- a one-million transistor, single chip trusted microcomputer with a powerful Java Virtual Machine (JVM) housed in a rugged and secure stainless-steel case.

The Java Ring is a stainless-steel ring, 16-millimeters (0.6 inches) in diameter, that houses a 1-million-transistor processor, called an iButton. The ring has 134 KB of RAM, 32 KB of ROM, a real-time clock and a Java virtual machine, which is a piece of software that recognizes the Java language and translates it for the user's computer system.

The Ring, first introduced at JavaOne Conference, has been tested at Celebration School, an innovative K-12 school just outside Orlando, FL. The rings given to students are programmed with Java applets that communicate with host applications on networked systems. Applets are small applications that are designed to be run within another application. The Java Ring is snapped into a reader, called a Blue Dot receptor, to allow communication between a host system and the Java Ring.

Designed to be fully compatible with the Java Card 2.0 standard the processor features a high-speed 1024-bit modular exponentiator fro RSA encryption, large RAM and ROM memory capacity, and an unalterable real time clock. The packaged module has only a single electric contact and a ground return, conforming to the specifications of the Dallas Semiconductor 1-Wire bus. Lithium-backed non-volatile SRAM offers high read/write speed and unparallel tamper resistance through near-instantaneous clearing of all memory when tampering is detected, a feature known as rapid zeroization. Data integrity and clock function are maintained for more than 10 years. The 16-millimeter diameter stainless steel enclosure accomodates the larger chip sizes needed for up to 128 kilobytes of high-speed nonvolatile static RAM. The small and extremely rugged packaging of the module allows it to attach to the accessory of your choice to match individual lifestyles, such as key fob, wallet, watch, necklace, bracelet, or finger ring!!!!!

Historical Background

In the summer of 1989, Dallas Semiconductor Corp. produced the first stainless-steel-encapsulated memory devices utilising the Dallas Semiconductor 1-Wire communication protocol. By 1990, this protocol had been refined and employed in a variety of self contained memory devices. Originally called “touch memory” devices, they were later renamed “iButtons”. Packaged like batteries, iButtons have only a single electrical contact on the top surface, with the stainless steel shell serving as ground. The now famous Java Rings made their appearance at the conference (March 24-27), issued to attendees when they picked up their materials at registration. With one of these rings a user could communicate with the computers at the Hackers' Lab, help build a large fractal image at the show, or even get a cup of his or her favorite coffee.

Built by Dallas Semiconductor, the durable, wearable Java Ring is practically indestructible but not heavy or clumsy. The jewel of the ring is a relatively inexpensive device called an iButton, which contains a processor that runs a Java Virtual Machine.

At the conference, the Java Rings were preloaded with applets that could communicate with corresponding host applications on various networked systems installed at the show.

The first time an attendee snapped the ring's iButton into a ring reader attached to a workstation, an applet on the ring communicated with the host application on the system. The applet in turn downloaded the user's personal information from the conference registration system and allowed the user to select their preferred type of coffee (a process they called "personalizing" the ring). From there, the user could walk over to a "coffee factory," snap the ring into another reader, and the robotic coffee machine would make the brew based on the user's preference stored in the ring.

Data can be read from or written to the memory serially through a simple and inexpensive RS232C serial port adapter, which also supplies the power required to perform the I/O. The iButton memory can be read or written with a momentary contact to the "Blue Dot" receptor provided by the adapter. When not connected to the serial port adapter, memory data is maintained in non-volatile random access memory (NVRAM) by a lifetime lithium energy supply that will maintain the memory content for at least 10 years. Unlike electrically erasable programmable read-only memory (EEPROM), the NVRAM iButton memory can be erased and rewritten as often as necessary without wearing out. It can also be erased or rewritten at the high speeds typical of complementary metal oxide semiconductor (CMOS) memory, without requiring the time-consuming programming of EEPROM.

For those who attended the 1998 JavaOne Developer Conference at the Moscone Center in San Francisco last spring, the Java Ring was arguably the jewel in the crown of the four-day gathering. No other facility garnered quite such excitement, enthusiasm, and overall industry buzz. There were simply no bigger lines to be had than those to obtain the rings, to "personalize" them, and then to play the ring-based fractal game and enjoy a ring-driven respite of custom brewed coffee.


An iButton is a microchip similar to those used in a smart card but housed in a round stainless steel button of 17.35mm x 3.1mm - 5.89mm in size (depending on the function). The iButton was invented and is still manufactured exclusively by Dallas Semiconductor mainly for applications in harsh and demanding environments.

A Java Ring--and any related device that houses an iButton with a Java Virtual Machine--goes beyond a traditional smart card by providing real memory, more power, and a capacity for dynamic programming. On top of these features, the ring provides a rugged environment, wear-tested for 10-year durability. You can drop it on the floor, step on it, forget to take it off while swimming and the data remains safe inside. Today iButtons are primarily used for authentication and auditing types of applications. Since they can store data, have a clock for time-stamping, and support for encryption and authentication, they are ideal for audit trails.

The Crypto iButton ensures both parties involved in a secure information exchange are truly authorized to communicate by rendering messages into unbreakable digital codes using its high-speed math accelerator. The Crypto iButton addresses both components of secure communication, authentication and safe transmission, making it ideal for Internet commerce and/or banking transactions. Like a smart card, an iButton does not have an internal power source. It requires connection to a reader (known as a Blue Dot Receptor) in order to be supplied with power and to receive input and send output. Unlike some smart cards, there are currently no contactless iButtons: they require physical contact with a reader to function.

Every iButton product is manufactured with a unique 8-byte serial number and carries a guarantee that no two parts will ever have the same number. Among the simplest iButtons are memory devices that can hold files and subdirectories and can be read and written like small floppy disks. In addition to these, there are iButtons with password-protected file areas for security applications, iButtons that count the number of times they have been rewritten for securing financial transactions, iButtons with temperature sensors (for food storage and transport), iButtons with continuously running date/time clocks, and even iButtons containing powerful microprocessors. There are iButtons that have an electronic ID (for physical access to buildings); and store e-cash (for purchases both in stores and via the web).

iButtons have an advantage over conventional smart cards in term of durability and longevity. The stainless steel casing gives iButton a far greater ability to survive in a range of temperatures -- all versions are functional from -40 C to +70 C -- and in a much harsher range of environments (such as exposure to salt water and long term exposure to physical impacts) than the plastic smart card. For e-commerce and personal ID usage, iButtons can be mounted on a range of personal accessories: watch, ring, key chain, or dog tag.

As of early 2000, Dallas Semiconductor had shipped over 27 million iButtons around the world. This figure is below that of smart cards because of a larger installed user base for smart cards, the comparatively high cost of iButtons, the fact that iButtons have a long life, and because Dallas Semiconductor has not licensed the patents for external manufacture. Thus far, the major successes for iButton have been in Turkey as an e-purse for the mass transit system; in Argentina and Brazil for parking meters; and in the United States as Blue Mailbox attachments that improve postal efficiency.

Types of i Buttons

There are multiple different iButtons available. Each starts with a guaranteed-unique registration number engraved in the silicon. From there, iButtons branch out into three different types:

1. Memory iButton : 64K and beyond of computer memory stores typed text or digitized photos. Information can be updated as often as needed with a simple, momentary contact. Some memory iButtons contain a real-time clock to track the number of hours a system is turned on for maintenance and warranty purposes (DS1994); a temperature sensor for applications where spoilage is a concern, such as food transport (DS1921); or a transaction counter that allows the iButton to be used as a small change purse (DS1963).

2. Java-powered cryptographic iButton : A microprocessor and high-speed arithmetic accelerator generate the large numbers needed to encrypt and decrypt information. The Java-powered iButton adds its complete cryptographic circuitry to a Java Virtual Machine (VM) that is Java Card™ 2.0-compliant, enabling the world's large pool of Java programmers to tap into a powerful development tools to get an application up and running quickly. The Java-powered iButton's greatest promise lies in its capacity to interact with Internet applications to support strong remote authentication and remotely authorized financial transactions. In practical terms, that means you can jump into the age of electronic commerce with both feet: your messages are sent over the Internet scrambled and can only be unscrambled at the other end by someone with an authorized iButton. By establishing a means to transmit and protect user identity, the iButton becomes the user's digital credential.

3. Thermochron iButton : This iButton tracks time and temperature, keys to the freshness of many products. The Thermochron integrates a thermometer, a clock/calendar, a thermal history log, and 512 bytes of additional memory to store a shipping manifest.

Memory iButtons :

In a sense, all iButtons are memory buttons, as there are no iButtons without memory the concept of a mobile memory chip that communicates by touch remains fundamental to iButtons. As the iButton family has grown, however, memory iButtons are now distinguished from iButton chips with extended capabilities such as a microprocessor, clock and/or environmental sensors.

All memory iButtons have these characteristics:

◆ Unique, factory-lasered serial number; ◆ Low-cost, low-power 1-Wire interface ◆ Ability to operate as mobile databases, in either standalone or network application designs

Memory iButtons can be divided into the following different categories: 1.The Address Only iButton - is our DS1990A and is our basis model. It contains 64bits of Read Only Memory (ROM) and is used in many different applications such as:

◆ Access Control as a Key ◆ Route Compliance as a Location Identifier ◆ Inspection and Maintenance for Equipment Identification

2.NV RAM iButtons - are read/write devices and are available in sizes from 1K bits to 64K bits. They are used for applications that need data updated on a frequent basis. The memory is capable of being rewritten millions of times. In addition, the onboard lithium energy source is ideally suited for the typical iButton environment where electrical contact can be intermittent. Memory updates, once initiated, will always be completed because the power to finish the transfer is supplied by the lithium cell, not the reader/writer.

3.EPROM iButtons - are Add Only devices (write once read many). They are available in sizes from 1K bits to 64K bits and allow you to write to the button until the memory is full. The data can not be erased after it has been written to the button. EPROM iButtons are useful in application where the data needs to be permanent. They also give you the ability to write blocks of data to the device incrementally to build and store a record of activity over a period of time.

4.Uniqueware iButtons - are EPROM devices that are only available preprogrammed with customer-specific and write-protected data. Uniqueware data fills at least one but no more than the first four pages of a device, depending on the length of the customer-supplied data.

5.EEPROM iButtons - are read/write devices and are available in sizes from 256 bits to 4K bits. They are used for applications that need data updated on a less frequent basis than NVRAM type applications, but are usable for over 10 years. EEPROM iButtons are also less expensive than NVRAM devices, but have a lower write cycle limit

Java-powered Cryptographic iButtons :

The Crypto iButton, combines high processor performance, high-speed cryptographic primitives, and exceptional protection against physical and cryptographic attack. For example, the large integer modular exponentiation engine can perform 1024-bit modular exponentiations with a 1024-bit exponent in significantly less than a second. The ability to perform large integer modular exponentiations at high speed is central to RSA encryption, Diffie-Hellman key exchange, Digital Signature Standard (FIPS 186), and many other modern cryptographic operations.

The U.S. Postal Service's (USPS) Information Based Indicia Program Postal Security Device Specification, intended to permit printing of valid U.S. postage on any PC, provided the first opportunity to combine two areas of expertise when a secure microprocessor was designed into an iButton, resulting in crypto iButton.

A special operating system was designed and stored in the ROM of the Crypto iButton to support cryptography and general-purpose financial transactions -- such as those required by the Postal Service program. While not a Java virtual machine, the E-Commerce firmware designed for this application had several points of similarity with Java, including an object-oriented design and a bytecode interpreter to interpret and execute Dallas Semiconductor's custom-designed E-Commerce Script Language. A compiler was also written to compile the high-level language representation of the Script Language to a bytecode form that could be interpreted by the E-Commerce VM.

The Crypto iButton also provides an excellent hardware platform for executing Java because it utilizes NVRAM for program and data storage. With 6 kilobytes of existing NVRAM and the potential to expand the NVRAM capacity to as much as 128 kilobytes in the existing iButton form factor, the Crypto iButton can execute Java with a relatively large Java stack situated in NVRAM. This memory acts as conventional high-speed RAM when the processor is executing, and the lithium energy preserves the complete state of the machine while the Java Ring is disconnected from the reader. There is therefore no requirement to deal with persistent objects in a special way -- objects persist or not depending on their scope so the programmer has complete control over object persistence. As in standard Java, the Java iButton contains a garbage collector that collects any objects that are out of scope and recycles the memory for future use. Applets can be loaded and unloaded from the Java iButton as often as needed. All the applets currently loaded in a Java iButton are effectively executing at zero speed any time the iButton is not in contact with a Blue Dot receptor.

The Crypto iButton hardware platform offers a unique set of special features expressly designed to prevent private keys and other confidential information from becoming available to hackers. Figure shows a detail of the internal construction of the Crypto iButton. The silicon die containing the processor, ROM, and NVRAM memory is metallurgically bonded to the barrier substrate through which all electrical contacts are made. This barrier substrate and the triple-layer metal construction techniques employed in the silicon fabrication effectively deny access to the data stored in the NVRAM. If any attempt is made to penetrate these barriers, the NVRAM data is immediately erased. This construction technique and the use of NVRAM for the storage of private keys and other confidential data provides a much higher degree of data security than that afforded by EEPROM memory. The fact that the communication path between the Crypto iButton and the outside world is limited to a single data line provides additional security against hardware attacks by limiting the range of signals accessible to the hacker.

[pic] Figure internal construction of cryptographic ibutton

In addition, the processor itself is driven by an unstabilized ring oscillator operating over a range of 10 to 20 megahertz, so that the clock frequency of the processor is not constant and cannot be determined by external means. This differs from the design of alternative devices in which the processor clock signal is injected by the reader and is therefore exactly determined by the host processor. External control of the clock provides a valuable tool to hackers, since they can repetitively cycle such a processor to the same point in its execution simply by applying the same number of clock cycles. Control of the clock also affords a means to induce a calculation error and thereby obtain information that can ultimately reveal secret encryption keys. A 32-kilohertz crystal oscillator is used in the Java iButton to operate the time-of-day clock at a constant and well-controlled frequency that is independent of the processor clock.

Thermochron iButtons :

A rugged, single-chip time and temperature logger, the iButton integrates a thermometer, real time clock and memory. Free development software displays and exports Internet-transmissible data formatted in both histogram and regular time-temp logging modes. The rugged Thermochron can attach to containers and travel with temperature-sensitive goods such as organic materials and chemicals. The Thermochron can stand-alone or network with audio/visual indicators, displays, hand-held or notebook computers.

Blue Dot Receptor

Information is transferred between your iButton and a PC with a momentary contact, at up to 142kbps. You simply touch your iButton to a Blue Dot receptor or other iButton probe, which is connected to a PC. The Blue Dot receptor is cabled to a 1-Wire adapter that is attached to the PCs serial or parallel port.

Fig. The blue dot receptor

The DS1402 Blue Dot receptor provides a convenient pipeline into the PC for iButton-to-PC communication. The receptor's cable connects to either a serial or parallel port, according to which adapter you choose. The receptor itself easily affixes to any accessible spot on the front of the PC. The user can elect a quick information transfer with a momentary touch of the iButton to the Blue Dot. Alternately, the iButton can be snapped into the Blue Dot and remain there, allowing hands-free operation.

Each receptor contains two Blue Dots to accommodate instances where multiple iButtons are required to complete a transaction. For example, a company's policy may require both an employee and a supervisor to authenticate access to sensitive information stored on a network server.

DS9092L Blue Dot Receptor with LED :

The DS9092L combines a Blue Dot receptor and an LED located in the middle of the data contact. Suited for applications in rugged environments, this receptor features a low-profile panel mount, vandal-resistant construction, and easy installation.

USB Port Adapter :

The DS9490R USB Port Adapter and DS1402D-DR8 Blue Dot Receptor connect to any standard Universal Serial Bus (USB) port. The DS9490R connects to the USB port and then the DS1402D-DR8 connects to the DS9490 through an RJ-11 connection. The DS9490 USB Port Adapter comes in the following version: ω DS9490R USB port.Has internal 64-bit address. Communicates to all iButtons, can read but cannot write to DS198x EPROM iButtons. RJ11 out.

Parallel Port Adapter :

The DS1410E Parallel Port Adapter and DS1402D-DB8 Blue Dot Receptor combine to form an interface for the PC that consumes no resources. The parallel port signal lines pass through the DS1410E when iButton communication is not taking place. Peripherals (such as printers) can be reattached by first connecting the DS1410E to the PC parallel port, and then connecting the peripheral cable to the other end of the DS1410E.

Serial Port Adapter :

The DS9097U-09 Serial Port Adapter and DS1402D-DR8 Blue Dot receptor are an alternative interface combination. The DS9097U-09 attaches to the serial port in the same manner as the DS1410E attaches to the parallel port. The DS9097U-09 does not pass through the signal lines. Therefore, a serial port must be dedicated to perform iButton communication.

Other serial port adapters include: ◆ DS9097 COM Port Adapter-RS232C converter, enables direct reading/writing of non-EPROM and reading of EPROM iButtons ◆ DS9097E COM Port Adapter with EEPROM-enables reading/writing of EPROM-based iButtons, SRAM and other EEPROM-based devices

Other readers/probes :

We have two other probes available for communicating to iButtons through our adapters. The DS9092GT is a Handheld Touch Probe with tactile feedback. It can be connected to either the DS9490R USB port adapter or the DS9097U serial port adapters.

The DS1402-RP8 and DS1402-BP8 are Touch and Hold Probes that allow you to just touch a button or snap it in for hands free operation. The RP8 works with the serial port adapters and the BP8 works with the parallel port adapter. The DS1404 is a Touch and Hold Probe Cradle designed to hold either the RP8 or BP8 probe.

1-Wire Interface

By simply touching each of the two contacts we can communicate to any of the iButtons by using 1-Wire protocol. The 1-Wire interface has two communication speeds. Standard mode are at 16kbps and overdrive mode at 12kbps. 1-wire protocol is used for communication between PC and the blue dot receptor over the 1-wire Network. 1-Wire Network includes a system with a controlling software, wiring and connectors and iButtons.

Fig. The 1-wire interface

[pic] Fig. 1-Wire Network

1-wire protocol is used for communication between PC and the blue dot receptor over the 1-wire Network. 1-Wire Network includes a system with a controlling software, wiring and connectors and iButtons.

The Dallas Semiconductor 1-Wire bus is a simple signaling scheme that performs two-way communications between a single master and peripheral devices over a single connection. A powerful feature that all 1-Wire bus devices share is that each and every device, in a chip or an iButton, has a factory-lasered serial number that will never be repeated in any other device. That is to say, every device is unique. This allows any single device to be individually selected from among many that can be connected to the same bus wire. Because one, two, or even dozens of 1-Wire devices can share a single wire for communications, a binary searching algorithm is used to find each device in turn. Once each device serial number is known, any device can be uniquely selected for communication using that serial number to address it. The first part of any communication involves the bus master issuing a "reset" which synchronizes the entire bus. A slave device is then selected for subsequent communications. This can be done by selecting all slaves, selecting a specific slave (using the serial number of the device), or by discovering the next slave on the bus using a binary search algorithm. These commands are referred to collectively as "network" or ROM (Read-Only-Memory) commands. Once a specific device has been selected, all other devices drop out and ignore subsequent communications until the next reset is issued. Once a device is isolated for bus communication the master can issue device-specific commands to it, send data to it, or read data from it. Because each device type performs different functions and serves a different purpose, each has a unique protocol once it has been selected. Even though each device type may have different protocols and features, they all have the same selection process and follow the command flow as seen in Figure.

[pic] Fig. Typical 1-Wire Communication Flow

An integral part of the unique serial number in each slave is an 8-bit family code. This code is specific to the device model. Because each device model performs different functions, this code is used to select the protocol that will be used to control or interrogate it. Reset 1-Wire bus Select 1-Wire device(s) Perform a single device- specific operation.

The Address :

Each iButton has a unique and unalterable address that is laser etched onto its chip inside the can. The address can be used as a key or identifier for each iButton.


From these basics we have expanded the iButton product line into over 20 different products by adding different functionality to the basic button.Dallas Semiconductor's 1-Wire devices each have a 64-bit unique registration number in read-only-memory (ROM) that is used to address them individually by a 1-Wire master in a 1-Wire network. If the ROM numbers of the slave devices on the 1-Wire network are not known, then they can be discovered by using a search algorithm.

64-Bit Unique ROM 'Registration' Number :

|MSB 64 ‘Registration ‘ROM Number LSB |
|8 bit CRC |48-bit Serial Number |8-bit Family Code |

The memory map for the 64-bit number occupies three sections each serving a slightly different purpose when read by a host processor. The first 8 bits identify the iButton's product family, information that the host requires to access different kinds of networked iButtons using the 1-Wire protocol. The middle 48 bits constitute the digitally unique serial number. The last 8 bits are CRC code that the host can use to verify error-free reading.

The iButton communicates with a processor using 1-Wire protocol through a hardware port interface. The port interface provides both the physical link and handles the communication protocols that enable the processor to access iButton resources with simple commands. Search Algorithm :

The search algorithm is a binary tree search where branches are followed until a device ROM number, or leaf, is found. Subsequent searches then take the other branch paths until all of the leaves present are discovered.

TMEX Runtime Environment (RTE)

A layer of software is required to interface iButtons to computers and produce the desired information in the desired format. For all iButtons, iButton-TMEX is a software platform on which to build applications. TMEX removes the tedious low-level programming of drivers and utilities.

The RTE installs the drivers and demo software for all iButtons and 1-Wire devices. TMEX's architecture follows the International Standards Organization (ISO) reference model of Open System Interconnection (OSI), a protocol with seven layers denoted as Physical, Link, Network, Transport, Session, Presentation, and Application.

The current release of TMEX RTE supports Microsoft 32-bit Windows. This includes Windows Me, 2000, 98, 95, NT 4.00, and NT 3.51.

iButton Viewer :

With the TMEX Windows installations you get the iButton Viewer, an application for exploring iButton features from your PC. Before using the Viewer, you need only connect a serial port kit (DS9097U + DS1402D-DR8) or a parallel port kit (DS1410E + DS1402D-DB8 ) to your PC. iButton Viewer automatically finds iButtons or 1-Wire chips on your system and displays their serial numbers with a description of relevant features and menu options. As the iButton family grows, iButton Viewer's capabilities will be expanded to include the new iButtons. The OneWireViewer supports a wider array of iButtons and 1-Wire devices.

JVM and Resources of iButton

The Java Virtual Machine :

The JVM used in Java Ring conforms to the Java Card 2.0 specification with additional capability for a superior Java operating environment Enhancements to the Java Card 2.0 spec include: ◆ True 32-bit Java integers for straightforward computation ◆ Automatic garbage collection for efficient reuse of memory space ◆ Resizable commit buffer optimizes memory usage and allows for large atomic transactions ◆ Add or delete applets in a secure manner to update applications after issuance ◆ Large Java stack supports complex computation ◆ Java-accessible True Time Clock time stamps transactions ◆ Java-accessible unique 64-bit registration number supplements IP addresses to make the intermittent network of roaming iButtons globally addressable ◆ Standard cryptographic classes include SHA-1 for secret key digital signatures (RSA and DES for R1.1) ◆ Java-accessible random number generator seeds generation of cryptographic keys

The Computation Resources of the Java-powered iButton are :

• 0.6-micron CMOS process operates from supplies of 3V to 5V • 800,000 transistors speed up the computationally intensive operations of public key cryptography • High-speed processor core is self-clocked to prevent tampering with program execution • 32kbyte ROM stores firmware for Java VM and operating system • 6V SRAM writes in 100 nanoseconds to create a high performance operating environment for the Java Virtual Machine • Math accelerator performs RSA encryption in less than one second using 1024-bit modulus and exponent • Tamper-resistant True Time Clock used to time stamp transactions and impose expiration dates • 1-Wire Net controller allows many iButtons to multi-drop on the same wire and communicate • 1-Wire scratchpad buffer keeps each transaction with the iButton atomic even if the contact with a Blue Dot receptor is an intermittent hot connection

ApplicationS Of Java Ring

Today iButtons are primarily used for authentication and auditing types of applications. Since they can store data, have a clock for time-stamping, and support for encryption and authentication, they are ideal for audit trails.

Tracking Snail Mail :

For example, the U.S. Post Office uses iButtons affixed to the inside door of every blue postal box standing on curbs across the country so it can track carrier, pick-up location, date, and time of mail retrieval.

Sturdy Data Trackers :

Since their introduction, iButtons have been deployed as rugged portable data carriers, often in harsh environmental conditions. They are worn as earrings by cows in Canada to hold vaccination records, and they are used by agricultural workers in many areas as sturdy substitutes for timecards.

Ryder Commercial Leasing & Services tracks millions of fuel transactions each year using a two-iButton system. One iButton stays on the side of a vehicle, digitally identifying it and its home base, and upon rental, stores the customer name and odometer reading as input keyed in from an attendant's hand-held touch probe. A second iButton attached to the fuel pump records the fuel transaction. At day's end all the information downloads into the shop's main computer.

The Java Ring Event

The primary elements of the Ring Event are: • Personalization (adding your business card information to the ring) • Playing the fractal game/checking business card Data on the ring • Visiting the "Coffee Factory" for an automated cup of custom brewed java


The personalization process was as simple as snapping the Java Ring into any nearby Blue Dot ring receptor . For your "first time," the client workstation asked you to enter your JavaOne Conference ID number and last name . With this information, a database record was then created, linking your particular ring to your conference enrollment data. If you'd already personalized your ring, the workstation detected that, mirroring your ring's business card data back to you, and then offering the chance to participate in the Conference.

The simple act of initially snapping the Java Ring into the Blue Dot receptor instantly enabled it as a wearable personal data repository -- demonstrating potentials as diverse as the storage of medical records, financial information, and even digital imagery. Once connected to the Blue Dot, a preloaded business card applet was selected on the ring -- to which your JavaOne Conference registration data was seamlessly downloaded and stored. The entire process involved a complex series of computational steps, and yet from the user perspective, personalization was literally "just a snap."

Fractal Game

After you'd personalized your Java Ring, your attention likely turned to the fractal game. Here, the ring was dynamically assigned the x,y coordinates of a randomly placed fractal "tile" (a 3x3 pixel area). The many tile coordinates were stored and allocated using a JavaSpaces data area. Once assigned a tile location, your preloaded, ring-based fractal applet computed the colors of each pixel, uploading the data to the server.The fractal game integrated concepts that are vital to demonstrating the power and the promise of Java technology. Not only was the ring itself generating the individual pixel colors of each person's fractal tile, but the other components of the facility comprised a multitiered, Enterprise-like application. The entire setup included a wearable, computational client (the Java Ring), client systems, and a back-end server. And within that hardware framework were found ring-based Java applets, servlets, JavaSpaces, JDBC, and an Oracle database.

The components of the fractal game simulated, on a prototypic level, principles inherent to automated work-flow, distributed computing, ultra-small computational devices, facilitated database access, and multiplatform hardware integration. And yet, once more, rising above all of that complexity, was the simple act of plugging in the Java Ring.

Coffee Factory

After one too many late-night coding sessions, or long afternoon technical seminars, a visit to the Java technology-powered coffee factory was often just what the doctor ordered. And once again, the ease of use and seeming simplicity of the area often belied the elegance and complexity behind the scenes.

Back when you first personalized your ring, you were asked to select one of eight possible bean-based brews. That selection was then stored within the Java Ring's business card applet. So in order to receive your automated cup of custom brewed java, once more all you had to do was plug your ring into the Blue Dot receptor!

The coffee machine itself, manufactured by Cyberonics, Inc., was entirely driven by Java technology -- from the moving parts, to the scheduling, to the tracking. But the facility went well beyond simple automated manufacturing. It also demonstrated key principles of cyber-cash, and agent-driven negotiation and manufacturing.

During the personalization of your Java Ring, you were assigned 999 "cyber-beans" with which to purchase cups-a-joe (the default price being 250 beans per cup). Once at the coffee factory, the Java client application would ask you how much you were willing to pay for a cup, and then whether you'd be willing to sell your place in line, and for how much. With that information, a virtual agent was set in place. Your agent would then negotiate with other agents in line, expediting your coffee purchase, both in terms of price and waiting time -- in effect, dynamically tailoring the manufacturing output to the highest bidder.

Perhaps this all seems much ado about nothing for a simple cup of coffee, but the principles go much deeper -- to the very heart of secure cyber-cash transacting, automated buying, selling, and bidding, and even to the futuristic possibilities of "negotiated manufacturing."

The iButton is ideal for any application where information needs to travel with a person or object. Affixed to a badge, key fob, watch, or ring, an iButton can grant its owner access to a building, a PC, a piece of equipment, or a vehicle. Attached to a work tote, it can measure a variety of processes to improve efficiency, such as manufacturing, delivery, and maintenance. Some versions of the iButton can be used to store cash for small transactions, such as transit systems, parking lots, and vending machines. The iButton can also be used as an electronic asset tag to store information needed to keep track of valuable capital equipment.

Java Ring - The Tidal Wave Of Future

Cute trick or tidal wave of the future? Just think of the possibilities. A Java Ring (and potentially any of several personal devices, such as a key chain or watch) contains a processor compatible with Java Card 2.0, a Java Virtual Machine, sizeable RAM and ROM memory capacity, and a real-time clock. Most importantly, the iButton supports multiple applets that can be loaded dynamically. Freed from the usual constraints of connectivity, this ring lets you roam the world and bring with you your personal preferences--your computing environment, your medical information, your choices of colors or coffee.

For example, imagine starting your car with your ring: the seats and mirrors adjust automatically, your favorite radio station begins to play, and when you pull out into the street, the car "knows" your driving habits. A Java Ring--and any related device that houses an iButton with a Java Virtual Machine--goes beyond a traditional smart card by providing real memory, more power, and a capacity for dynamic programming. On top of these features, the ring provides a rugged environment, wear-tested for 10-year durability. You can drop it on the floor, step on it, forget to take it off while swimming, and the "knuckletop" remains safe inside.

The show's over, and by now the Java Rings from the JavaOne conference have made their way home to all parts of the globe with their, uh, ringmasters. Currently these ringmasters may be a relatively select group, perhaps wearing the rings as tokens to get conversations started at parties, or as mementos of the 1998 show. But any day now, these wearable, durable little computers and their cousin devices may be brewing us coffee and driving us to work.

Now, with the close of the JavaOne Conference, a whole new generation of Java Ring developers have been set loose upon the world. Dallas Semiconductor, the manufacturer of the Java Card 2.0 iButton (the heart of the Java Ring), reports an incredible buzz out in the field. Their pre-Java-Card iButtons have already established a significant market penetration -- with 20 million buttons found worldwide. And now, the far more dynamic, programmable, and secure Java Card iButtons are seen as a major portion of Dallas Semiconductor's future manufacturing efforts -- with 100,000 new Java Card iButtons already in production.

The future of the Java Ring, and the associated technologies demonstrated at the JavaOne Conference, are clearly limited only by the imagination of the developer community. And from the enthusiasm seen at the JavaOne Conference, those horizons have only just begun to be explored.


Dallas Semiconductor has produced more than 20 million physically-secure memories and computers with hard-shell packaging optimized for personal possession. The Java iButton, therefore, is simply the latest and most complex descendant of a long line of products that have proven themselves to be highly successful in the marketplace. With its stainless steel armor, it offers the most durable packaging for a class of products that likely will suffer heavy use and abuse as personal possessions. The iButton form factor permits attachment to a wide variety of personal accessories that includes rings, watchbands, keyfobs, wallets, bracelets, and necklaces, so the user can select a variation that suits his or her lifestyle.

With a 32-kilobyte Java Card Environment (JCE) and I/O subsystem in mask-programmed ROM, a continuously running true-time clock, and 6 kilobytes of NVRAM memory with expansion potential up to 128 kilobytes, the Java iButton supports a true Java stack, full-length 32-bit Java integers, and garbage collection. This feature mix provides support for relatively high-end Java applets with substantial computing requirements.

While the Java iButton can readily support the commerce models that have traditionally been the province of credit cards, its greatest promise appears to lie in its capacity to interact with Internet applications to support strong remote authentication and remotely authorized financial transactions. The use of Java promotes compatibility with these applications by providing a common language for all application programming.

At the Java Internet Business Expo held last August, Sun Microsystems' CEO Scott McNealy displayed an early prototype of the Java Ring, using it to open a presentation door on stage. That powerful symbolism of Java being embedded in all shapes and sizes and opening doors to the future now provides the "magic" driving force for the Java Ring. Along with Java Cards, the Java Ring stands poised to open the doors of opportunity for truly personal computing in the information age.

Since their introduction, iButton memory devices have been deployed in vast quantities as rugged portable data carriers, often in harsh environmental conditions. Among the large-scale uses are as transit fare carriers in Istanbul, Turkey; as maintenance record carriers on the sides of Ryder trucks; and as mailbox identifiers inside the mail compartments of the U.S. Postal Service's outdoor mailboxes. They are worn as earrings by cows in Canada to hold vaccination records, and they are used by agricultural workers in many areas as rugged substitutes for timecards.

Mobile computing is beginning to break the chains that tie us to our desks, but many of today's mobile devices can still be a bit awkward to carry around. In the next age of computing, we will see an explosion of computer parts across our bodies, rather than across our desktops. Digital jewelry, designed to supplement the personal computer, will be the evolution in digital technology that makes computer elements entirely compatible with the human form.


• Dallas Semiconductor's iButton Web site • Crypto iButton home page • An Introduction to the Java Ring: • Giving Currency to the Java Card API: • iButtons: The First Ready-to-Buy Java Card API Devices: • The Java Ring Event : •


• Introduction 1 • Historical Background 4 • iButtons 6 • Types of iButtons 8 □ Memory iButtons □ Thermochron iButtons □ Cryptographic iButtons • Blue Dot Receptor 15 • TMEX Run time Environment 22 • JVM and Resources of iButton 23 • Applications of Java Ring 25

Java Ring Event 26

Java Ring –The Tidal Wave of Future 30

Conclusion 32

References 34


I express my sincere gratitude to Dr. Agnisarman Namboodiri, Head of Department of Information Technology and Computer Science , for his guidance and support to shape this paper in a systematic way.

I am also greatly indebted to Mr. Saheer H. and Ms. S.S. Deepa, Department of IT for their valuable suggestions in the preparation of the paper.

In addition I would like to thank all staff members of IT department and all my friends of S7 IT for their suggestions and constrictive criticism.


Password is a common mean of implementing security. Dallas Semiconductor has developed a new Java-based, computerized ring that will automatically unlock doors and log on to computers. This java based technique overcomes the deficiencies of the secret password. A Java Ring is a finger ring that contains a small microprocessor which runs JVM and is preloaded with applets. The jewel of Java Ring is Java iButton, which is a microchip enclosed in a secure package. There are many technologies similar to iButton. But there is no match for this technology. A Java Ring goes beyond a traditional smart card by providing real memory, more power, and a capacity for dynamic programming. iButtons have an advantage over smart cards in term of durability and longevity. There are different kinds of iButtons of which cryptographic iButtons require a special mention. Information is transferred between iButton and PC by means of blue dot receptor. A layer of software called TMEX is needed to interface iButtons to PCs and produce the desired information in the desired format. They find much applications in authentication and auditing trails. With a significant market penetration of 20 billion iButtons, we can expect an exponential growth in this technology. These devices will surely revolutionize the way we look at future.…...

Similar Documents

Premium Essay


...that has made his work popular with programmers for many years. Michael Schidlowsky and Sedgewick have developed concise new Java implementations that both express the methods in a natural and direct manner and also can be used in real applications. Algorithms in Java, Third Edition, Part 5: Graph Algorithms is the second book in Sedgewick's thoroughly revised and rewritten series. The first book, Parts 1-4, addresses fundamental algorithms, data structures, sorting, and searching. A forthcoming third book will focus on strings, geometry, and a range of advanced algorithms. Each book's expanded coverage features new algorithms and implementations, enhanced descriptions and diagrams, and a wealth of new exercises for polishing skills. The natural match between Java classes and abstract data type (ADT) implementations makes the code more broadly useful and relevant for the modern object-oriented programming environment. The Web site for this book ( provides additional source code for programmers along with a variety of academic support materials for educators. Coverage includes: A complete overview of graph properties and types Diagraphs and DAGs Minimum spanning trees Shortest paths Network flows Diagrams, sample Java code, and detailed algorithm descriptions A landmark revision, Algorithms in Java, Third Edition, Part 5 provides a complete tool set for programmers to implement, debug, and use graph algorithms......

Words: 281 - Pages: 2

Premium Essay


...tutorial explains the installation and usage of the Java programming language. It also contains examples for standard programming tasks. 1. Introduction to Java 1.1. History Java is a programming language created by James Gosling from Sun Microsystems in 1991. The first publicly available version of Java (Java 1.0) was released in 1995. Over time new enhanced versions of Java have been released. The current version of Java is Java 1.7 which is also known as Java 7. From the Java programming language the Java platform evolved. The Java platform allows that the program code is written in other languages than the Java programming language and still runs on the Java virtual machine. 1.2. Java Virtual machine The Java virtual machine (JVM) is a software implementation of a computer that executes programs like a real machine. The Java virtual machine is written specifically for a specific operating system, e.g. for Linux a special implementation is required as well as for Windows. Java programs are compiled by the Java compiler into so-called bytecode. The Java virtual machine interprets this bytecode and executes the Java program. 1.3. Java Runtime Environment vs. Java Development Kit Java comes in two flavors, the Java Runtime Environment (JRE) and the Java Development Kit (JDK). The Java runtime environment (JRE) consists of the JVM and the Java class libraries and contains the necessary functionality to start Java programs. The JDK contains in......

Words: 662 - Pages: 3

Free Essay


...A Java applet is an applet delivered to the users in the form of Java bytecode. Java applets can run in a web browser using a Java Virtual Machine or Sun’s Applet Viewer, a stand-alone tool for testing applets. What this means is that is that it is own program language that is different than JavaScript, but we will get into that later on. Java applet is program language that is written in different types of bytecode, other than just the normal Java language, it is also written in Jython, JRuby, or Eiffel. Now the Java applet that I found is / which is a simple Rubik’s Cube Applet that allows you to play with the Rubik’s Cube. The way that it allows you to play is by at first scrambling the cube, then you gets to try and rebuild it back. Now it keeps track of how many moves that you do in order to try and figure it out. The controls for the Rubik’s Cube are very simple in the fact that the mouse is how you make the cube move. Now you can see that as you play with it the Rubik’s Cube moves very fast to the point that you almost don’t see it change. This is due to the fact that the Java applet is much faster than normal JavaScript by about 2011 times. Now this is a big deal if you are going to be running 3D graphics for the fact that they will run in real time and not slow down in order to load. Now with that last part in mind I believe that Java applet enhances a website for the fact that it allows for much more to go on in your website. What I......

Words: 393 - Pages: 2

Free Essay


...© Prentice Hall and Sun Microsystems. Personal use only; do not redistribute. JSP Scripting Chapter Elements Topics in This Chapter • The purpose of JSP • How JSP pages are invoked • Using JSP expressions to insert dynamic results directly into the output page • Using JSP scriptlets to insert Java code into the method that handles requests for the page • Using JSP declarations to add methods and field declarations to the servlet that corresponds to the JSP page • Predefined variables that can be used within expressions and scriptlets Online version of this first edition of Core Servlets and JavaServer Pages is free for personal use. For more information, please see: • • • Second edition of the book: Sequel: Servlet and JSP training courses from the author: © Prentice Hall and Sun Microsystems. Personal use only; do not redistribute. Chapter avaServer Pages (JSP) technology enables you to mix regular, static HTML with dynamically generated content from servlets. You simply write the regular HTML in the normal manner, using familiar Web-page-building tools. You then enclose the code for the dynamic parts in special tags, most of which start with . For example, here is a section of a JSP page that results in “Thanks for ordering Core Web Programming” for a URL of http://host/OrderConfirmation.jsp?title=Core+Web+Programming: Thanks for ordering J Separating......

Words: 1383 - Pages: 6

Premium Essay


...we're continuing our Java security research series by analyzing other plug-ins, browser extensions and rich internet applications that are commonly exploited. Our previous research indicated that the current state of Java affairs isn't pretty. At that time, ninety-three percent of enterprises were vulnerable to known Java exploits. Nearly 50 percent of enterprise traffic used a Java version that was more than two years out of date. Through Websense ThreatSeeker Intelligence Cloud analysis we now discover: Only 19 percent of enterprise Windows-based computers ran the latest version of Java (7u25) between August 1-29, 2013. More than 40 percent of enterprise Java requests are from browsers still using outdated Java 6. As a result, more than 80 percent of Java requests are susceptible to two popular new Java exploits: CVE-2013-2473 and CVE-2013-2463. 83.86 percent of enterprise browsers have Java enabled. Nearly 40 percent of users are not running the most up-to-date versions of Flash. In fact, nearly 25 percent of Flash installations are more than six months old, close to 20 percent are outdated by a year and nearly 11 percent are two years old. Our in-depth analysis ran for one month, across multiple verticals and industries. We surveyed millions of real-world web requests for Java usage through our global Websense ThreatSeeker Intelligence Cloud. New Java Exploits and the Neutrino Exploit Kit New Java exploits......

Words: 1745 - Pages: 7

Free Essay


...JAVA: Cost cutting may not be the long-term EPS driver Sun Microsystems, Inc. (JAVA) continues with its resurrection of earnings by treading into positive turf and achieving an operating profit in FY07, the first time since FY01. JAVA recorded three consecutive quarters of positive EPS in FY07 and is now targeting an operating margin of at least 10% in FY09. However, underlying this growth is a scenario that bristles with complexities, and not everything is as rosy as it seems. For instance, growth appears anemic—sales are expected to rise in low single digits this quarter. And it’s not yet clear whether JAVA is making new money through open source or simply finding new ways to save money. All eyes are now on Jonathan I. Schwartz, who took over as CEO of JAVA from Scott McNealy in Apr-06; justifiably so, because Schwartz is not merely seeking to turn around operations by paring payrolls, reducing headcount, and restructuring. He has set out to redefine the way a company can do business in the new Web age. If Schwartz can reestablish Java as a credible trendsetter, it would make for one of the Valley’s more spectacular comebacks. We analyze whether Schwartz’s pronouncements of growth objectives match JAVA’s performance across sectors and whether the targets can be achieved by cost containment rather than revenue growth. We set out to gauge whether this turnaround is a temporary blip or a true resurgence. Management change and new objectives When Schwartz took over...

Words: 1427 - Pages: 6

Premium Essay


...Mohammad Doush Mr. Matthew Robert English 103 13 April 2013 Java the Programming Language Computer is very important in our live, we use computer in everywhere on our live. The doctor uses the computer to see file or pictures of his patients. Also, each engineer uses it in many ways of his work. The teacher in the classroom, employees in the offices and student in their study all of them use computer in them daily live. They are not using the mouse, the keyboard or the scream. They are using the applications by them these applications in the computer are like the soul in the body. The only way to build these applications is programming. To program we need to know one of the programming languages which are very similar each other. If you are professional in one of these languages you can be professional in the other language in a short period of time. It is acceptable if you have the same application written with Java once and with C++ or C sharp at the same time. So for this reason you cannot say that a programming language is better than others. There are three types of programming languages procedural, functional and object-oriented languages. The most uses of these languages are object-oriented and one of these languages is Java you can write any application you need using it. Also you can translate any application to its word. The message of the High-Level programming languages such as Algol and Pascal in first programming revolution was...

Words: 2352 - Pages: 10

Premium Essay


...deliver this program, Accenture is partnering with Udacity, an online university focused on bridging the gap between real-world skills, relevant education, and employment. Participants are awarded scholarships for the Accenture Veteran Technology Training Program, which grants access to Udacity’s Intro to Java Programming online program. Accenture is offering the premium version of the course, where coaches actively support students and students earn a Verified Certificate. In this introductory course, you'll learn and practice essential computer science concepts using the Java programming language. You'll learn about Object Oriented Programming, a technique that allows you to use code written by other programmers in your own programs. You'll put your new Java programming skills to the test by solving real-world problems faced by software engineers. Upon successful completion of the training course, participants will be granted an interview with Accenture for the Entry Level Software Engineering Associate position, which is part of our global network of technology experts. If ultimately hired for this full-time position, you will apply your military background and new Java skills to assist with the development, delivery and management of technology-based business solutions. You will continue to develop new skills, through Accenture’s robust training curriculum....

Words: 264 - Pages: 2

Free Essay


...Eclipse and Java for Total Beginners Tutorial Companion Document Eclipse And Java For Total Beginners Companion Tutorial Document By Mark Dexter Table of Contents Introduction........................................................................................................... .............................2 . Tutorial Target Audience.....................................................................................................................2 Tutorial Objectives..............................................................................................................................2 Why learn Java with Eclipse?.............................................................................................................3 Topics Covered...................................................................................................................................3 Tutorial Approach............................................................................................................... ................3 . Getting The Most From This Tutorial..................................................................................................3 Sample Java Application – Personal Lending Library........................................................................4 Downloading and Installing Eclipse ...................................................................................................4 Playing the Lessons...........................

Words: 7556 - Pages: 31

Free Essay


...Object Oriented System Software Engineering with JAVA Coursework The coursework is 50% of the assessment for the module. Learning Outcomes Have a through knowledge of one object orientated method down to detailed design. Have the experience to implement an object oriented design in an object oriented language. Assessment Criteria IMPORTANT: This is an individual assignment, all submitted components must be your own work or appropriately accredited. The assignment is scenario based (see attached scenario). You are encouraged to make any assumptions you deem necessary when analyzing he requirements outlined in the scenario, however, these must be clearly stated in the report. Your report should address the following three tasks: Task 1: Design the system required using the UML method. Task 2: Implement the system (or part of , see Grading below) using JAVA. Task 3: Objectively evaluate your solution including an appraisal of the suitability of UML and JAVA as tools for implementing object oriented solutions. Deliverable • You should submit a hard-copy and an electronic copy of the assignment • The submission should not be longer that 40 pages including diagrams but excluding the Appendices. • Instructions on how to install and run the program should be provided in an Appendix. Grading Distinction-Grade A (70%) To achieve a Distinction, you must successfully meet all of the criteria for a Merit and Task 1 • The design is comprehensive......

Words: 1035 - Pages: 5

Premium Essay


...A Comparison between Java and .Net Languages Introduction Java and .Net provide technologies that enable skilled developers to build quality enterprise applications. These technologies are rarely picked based on performance alone. There are many factors to consider when choosing Java or .Net. These considerations are often the deciding factor when choosing one or both of these platforms. Java Java is kenned as both a programming language and a development platform. It was first developed by Sun Microsystems in 1991 and subsequently relinquished in 1995. To help to make the language more accepted and accessible, Sun Microsystems developed it as an object oriented language with a syntax that is very similar to C++. (Java vs. .NET, 2007) Sun Microsystems decided to create this new platform out of a desire to be able to write programs only once that could be run on any system. (James) The Java 2 platform was launched in December 1998. This was a major amelioration of the platform, and included incipient graphics, user interface, and enterprise capabilities. This upgrade was over seven times as large as the initial Java 1.0 release and marked the maturity of the Java platform. (What is java?) Within the Java 2 platform there are 3 editions: • The Java 2 Standard Edition (J2SE) Provides the essential compiler, tools, runtimes, and APIs for writing, deploying, and running applets and applications. • The Java 2 Enterprise Edition (J2EE) Defines a standard for developing......

Words: 2279 - Pages: 10

Premium Essay


...Software Design Introduction to the Java Programming Language Material drawn from [JDK99,Sun96,Mitchell99,Mancoridis00] Software Design (Java Tutorial) © SERG Java Features • “Write Once, Run Anywhere.” • Portability is possible because of Java virtual machine technology: – Interpreted – JIT Compilers • Similar to C++, but “cleaner”: – No pointers, typedef, preprocessor, structs, unions, multiple inheritance, goto, operator overloading, automatic coercions, free. Software Design (Java Tutorial) © SERG Java Subset for this Course • We will focus on a subset of the language that will allow us to develop a distributed application using CORBA. • Input and output will be character (terminal) based. • For detailed treatment of Java visit: – Software Design (Java Tutorial) © SERG Java Virtual Machine • Java programs run on a Java Virtual Machine. • Features: – – – – – Security Portability Superior dynamic resource management Resource location transparency Automatic garbage collection Software Design (Java Tutorial) © SERG The Java Environment Java Source File (*.java) Java Compiler (javac) Java Bytecode File (*.class) Java Virtual Machine (java) Software Design (Java Tutorial) © SERG Program Organization Source Files (.java) Running Application Running Applet JAVA BYTECODE COMPILER Class Files (.class) JAVA VIRTUAL MACHINE WEB BROWSER Software Design (Java Tutorial) © SERG Program Organization Standards •...

Words: 5230 - Pages: 21

Premium Essay


...Release Team[oR] 2001 [x] java Java 2: The Complete Reference by Patrick Naughton and Herbert Schildt Osborne/McGraw-Hill © 1999, 1108 pages ISBN: 0072119764 This thorough reference reads like a helpful friend. Includes servlets, Swing, and more. Table of Contents Back Cover Synopsis by Rebecca Rohan Java 2: The Complete Reference blends the expertise found in Java 1: The Complete Reference with Java 2 topics such as "servlets" and "Swing." As before, there's help with Java Beans and migrating from C++ to Java. A special chapter gives networking basics and breaks out networking-related classes. This book helps you master techniques by doing as well as reading. Projects include a multi-player word game with attention paid to network security. The book is updated where appropriate throughout, and the rhythm of text, code, tables, and illustrations is superb. It's a valuable resource for the developer who is elbow-deep in demanding projects. Table of Contents Java 2 Preface - 7 Part l The Java Language - The Complete Reference - 4 Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 hapter 10 - The Genesis of Java - 9 - An Overview of Java - 20 - Data Types, Variables, and Arrays - 36 - Operators - 57 - Control Statements - 75 - Introducing Classes - 94 - A Closer Look at Methods and Classes - 111 - Inheritance - 134 - Packages and Interfaces - 156 - Exception Handling - 174 Chapter 11 - Multithreaded......

Words: 78285 - Pages: 314

Premium Essay


...November 30, 2011 Java Security Jessica Shaw: 628 Robert Grimsley: 596 Java is a programming language developed by Sun Microsystems in 1995, which is now called Oracle. The language itself is derived from the languages C and C++. Java is a simple language compared to C and C++; however they are all object-oriented languages. The language was designed to help minimize the amount of space and take up as little of your computer’s hardware resources as possible. The language was designed upon five key goals, and they are as followed: * It should be "simple, object-oriented and familiar" * It should be "robust and secure" * It should be "architecture-neutral and portable" * It should execute with "high performance" * It should be "interpreted, threaded, and dynamic" Java is used for a multitude of things. Java allows one to play virtual video games, view and design 3D photos, and many other interactive topics on the internet. Java is the main programming language for mobile devices as well as smart phones such as Android by google. Java is a very secure and reliable language that is used by over 800 billion people. Without the Java languages there are millions of applets and interactive applications on websites that wouldn’t preform properly without it. Java is compiled by byte code that allows for the program to be run through the Java Virtual Machine, or JVM. The compiling method allows......

Words: 2557 - Pages: 11

Premium Essay


...JMaster list of Java interview questions - 115 questions By admin | July 18, 2005 115 questions total, not for the weak. Covers everything from basics to JDBC connectivity, AWT and JSP. 1. What is the difference between procedural and object-oriented programs?- a) In procedural program, programming logic follows certain procedures and the instructions are executed one after another. In OOP program, unit of program is object, which is nothing but combination of data and code. b) In procedural program, data is exposed to the whole program whereas in OOPs program, it is accessible with in the object and which in turn assures the security of the code. 2. What are Encapsulation, Inheritance and Polymorphism?- Encapsulation is the mechanism that binds together code and data it manipulates and keeps both safe from outside interference and misuse. Inheritance is the process by which one object acquires the properties of another object. Polymorphism is the feature that allows one interface to be used for general class actions. 3. What is the difference between Assignment and Initialization?- Assignment can be done as many times as desired whereas initialization can be done only once. 4. What is OOPs?- Object oriented programming organizes a program around its data, i. e. , objects and a set of well defined interfaces to that data. An object-oriented program can be characterized as data controlling 5. access to code. What are Class,......

Words: 6762 - Pages: 28