Free Essay

Java Ring

In:

Submitted By AmalRavi
Words 7793
Pages 32
Introduction

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.

i-Buttons

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.

2700000095C33108

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 |
|MSB LSB |MSB LSB |MSB LSB |

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

Personalization

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.

Conclusion

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.

References

• Dallas Semiconductor's iButton Web site http://www.ibutton.com/ • Crypto iButton home page http://www.ibutton.com/crypto.html • An Introduction to the Java Ring: http://www.javaworld.com/javaworld/jw-04-1998/jw-04-javadev.html • Giving Currency to the Java Card API: http://www.javaworld.com/javaworld/jw-02-1998/jw-02-javacard.html • iButtons: The First Ready-to-Buy Java Card API Devices: http://www.javaworld.com/javaworld/jw-04-1998/jw-04-ibuttons.html http://www.javaworld.com/javaworld/javaone98/j1-98-embedded.html http://www.ibutton.com/java.html http://www.ibutton.com/devkit • The Java Ring Event : http://www.java.sun.com/InsideTheJavaRingEvent.html • http://www.howstuffworks.com

CONTENTS

• 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

ACKNOWLEDGEMENT

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.

ABSTRACT

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

Free Essay

Cs 520,Cs/520,Cs520

...---------------------------------------------------- http://helpido.com/category/cs-520/ ---------------------------------------------------- Java-CS520-HW 3-part1 Create a package named cs520.hw3.part1. Using this package, create a class named BullsEye extending the JFrame class with the following specifications: a. Declare the integer type instance variables centerX, centerY, outermostRadius, and ringWidth. The first two values represent the center of the bulls eye, the third value represents the radius of the outermost circle, and the last value is the width of each ring. b. In the constructor, specify the appropriate window title using your lastName and assign the above instance variables with the values 150, 150, 100, and 12, respectively. Note that the ring width is different in this homework. c. In the paint method, a. Declare a variable named currentRadius and assign the outermostRadius to it. b. Declare an integer counter variable and initialize it with the value 0. c. Using a while construct, repeat the following steps as long as the currentRadius variable has a positive value. • If the counter is even valued, set the current color to blue. Otherwise, set the current color to pink. • Fill a circle using the specified center coordinates and the current radius value. • Decrement the current radius by the ring width. • Increment the counter. In the main method, create the application object, set its size to 300 by 300 and its visibility to true to test...

Words: 256 - Pages: 2

Free Essay

Java Page

...10 One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them. —John Ronald Reuel Tolkien Object-Oriented Programming: Polymorphism OBJECTIVES In this chapter you will learn: ■ ■ ■ ■ ■ General propositions do not decide concrete cases. —Oliver Wendell Holmes A philosopher of imposing stature doesn’t think in a vacuum. Even his most abstract ideas are, to some extent, conditioned by what is or is not known in the time when he lives. —Alfred North Whitehead The concept of polymorphism. To use overridden methods to effect polymorphism. To distinguish between abstract and concrete classes. To declare abstract methods to create abstract classes. How polymorphism makes systems extensible and maintainable. To determine an object’s type at execution time. To declare and implement interfaces. Why art thou cast down, O my soul? —Psalms 42:5 ■ ■ © Copyright 1992-2007 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Chapter 10 Object-Oriented Programming: Polymorphism 307 Assignment Checklist Name: Section: Date: Exercises Assigned: Circle assignments Date Due Prelab Activities Matching Fill in the Blank Short Answer Programming Output Correct the Code YES YES YES YES YES YES 1 NO NO 1 YES NO NO NO NO NO NO Lab Exercises Exercise 1 — Payroll System Modification Follow-Up Question and Activity Follow-Up Question and Activity Debugging Exercise 2 — Accounts Payable...

Words: 4624 - Pages: 19

Premium Essay

Java

...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 Programming...

Words: 78285 - Pages: 314

Premium Essay

Java for Dummies

...Programming Languages/Java ™ Jumpin’ Java! The bestselling Java beginner’s book is now fully updated for Java 7! Open the book and find: ava J • Definitions of the many terms you’ll encounter ® • The grammar of Java • How to save time by reusing code • All about if, for, switch, and while statements • An overview of object-oriented programming • Building blocks — learn to work with Java classes and methods and add comments • Hints about handling exceptions • How to write Java applets ® • The Java scoop — get an overview of Java, the enhancements in Java 7, and the software tools you need • Get loopy — understand the value of variables and learn to control program flow with loops or decision-making statements 5th Edition 5th Edition Java Java, the object-oriented programming language that works on almost any computer, is what powers many of those cool multimedia applications. Thousands have learned Java programming from previous editions of this book — now it’s your turn! Whether you’re new to programming or already know a little Visual Basic or C++, you’ll be doing Java in a jiffy. g Easier! Making Everythin • Ten ways to avoid mistakes • Class it up — explore classes and objects, constructors, and subclasses, and see how to reuse your code • A click ahead — experiment with variables and methods, use arrays and collections to juggle values, and create programs that respond to mouse clicks Learn...

Words: 34460 - Pages: 138

Free Essay

Syllabus

...SCHEME OF EXAMINATION FOR MASTER OF COMPUTER APPLICATIONS (MCA) (SIX-SEMESTER Programme) |Semester – I | |Paper |Title of the Paper |Duration |Maximum Marks |Total | |No. | |Of Exam | | | | | | |Theory |Sessional* | | |MCA-101 |Computer Fundamentals and Problem Solving Using C |3 Hours |80 |20 |100 | |MCA-102 |Computer Organisation |3 Hours |80 |20 |100 | |MCA-103 |Discrete Mathematical Structures |3 Hours |80 |20 |100 | |MCA-104 |Software Engineering |3 Hours |80 |20 |100 | |MCA-105 |Computer Oriented Numerical and Statistical Methods |3 Hours |80 |20 |100 | |MCA-106 |Software Laboratory - I |3 Hours | | |100 | | |C (Based on MCA-101) |...

Words: 13848 - Pages: 56

Premium Essay

Prog Research Paper Unit 1

...1970’s Dartmouth Basic- was created by John Kemeny and Thomas Kurtz on May 1, 1964. Basic stands for Beginners All-purpose Symbolic Instruction Code . The aims of the BASIC system were: to develop a system and language that was friendly, easy to learn and use, to introduce computing as an adjunct to other courses, to operate an open access policy (i-programmer.info, 2010). Pascal- was created by Niklaus Wirth in 1972. He wanted a language suitable for teaching but for teaching computer science. It is best described as a simplified version of Algol. It was simplified both to make it easier to learn and to make it easier to compile (i-programmer.info, 2010). C- Was created by Ken Thompson iin the form of B and tweaked by Dennis Ritchie and renamed C in the 1970’s. It was the original code Unix was written in. Its function was for ease of use (i-programmer.info, 2010). Forth- was created by Charles H Moore in the 1970’s. The motivation behind this language was for both interactive execution of commands and the ability to compile sequences of commands for later execution (i-programmer.info, 2010). PLEX (Programming Language for EXchanges)- was created by Goran Hemdahl at Ericsson in the 1970’s. It is a special-purpose, pseudo-parallel and event-driven real-time programming language dedicated for AXE telephone exchanges, It is a propriatary language (i-programmer.info, 2010). 1980’s Atari ST BASIC – Atari commissioned MetaComCo to write a version of BASIC that...

Words: 1761 - Pages: 8

Premium Essay

Code Resusability

...Reusability of Code PRG/211 Reusability of Code When a developer is deciding to write code or a full out program, he/she must take into account the method of the code. There are many types of programming languages, but there are essentially two types of programming: procedural and object oriented (OPP). Both have their place in programming but you can also find procedural in OOP as well. But first we need to see what are the differences and similarities between the two. Structured programming consists of a level of such straightforwardness is reached that the execution is obvious to the programmer. Object-oriented programming consists of assemblage code with the data on which it operates so that this "object" can function separately of the rest of the software system. Structured programming and object-oriented programming are not exclusive from each other. You can structure the code in an object, and you can use objects to implement the modules of code in a structured program. Task vs. Data Structured programming is based around data structures and subroutines. The subroutines are where stuff actually "happens", and the data structures are simply containers for the information needed by those subroutines. Object oriented programming, on the other hand, shifts your primary focus to the data itself. Instead of asking "what do I want to do and what will I need to know to do it", you ask "what kind of things do I want to have and what can those things do for...

Words: 335 - Pages: 2

Free Essay

.Net and Java Technology Comparison

....NET & Java Comparsion Activity Zeferino Reyes CSS - 422 December 12, 2011 Nasser Alaeddine .NET & Java Comparison Activity In this written document will focus on the advantages and disadvantages or the use of .NET technology in use compared to the use of JAVA Technology as Software Architecture, (University of Phoenix, 2010, 2009, 2008, 2007, 2006, 2005). .NET technology is the means to “connect” meaning connecting software, people, structures, things like printers, networks, computers, anything one can think of, (Getdotnnu.com, 2004-06). JAVA Technology is known to be adaptable where it can connect computers to networks, mobile phones to the internet, and game consoles such as the new Playstation 3, Xbox 360, and Nintendo Wii to the internet to access web browsing, built in plug in like Netflix to watch movies, and to other consoles for online gaming like the popular shooter Call of Duty. Advantages of .NET technologies are that it has the ability to grab internet servers that web services and tools such as internet apps or anything that can produce these services. One profitable feature of .NET is its ASP.net technologies that allows for the making of additional websites and net services that exist on the .NET infrastructure, (Getdotnu.com, 2004-06). Another powerful advantage of .NET technology is the ASP feature is that it creates construction sites, services and applications and does not require as much coding as the older coding in the beginning...

Words: 705 - Pages: 3

Free Essay

Web 238 Team Assignment

...information to share. The basic Web site is built with HTML, and then creatively enhanced with CSS. To create a visually expressive Web site that can attract thousands of visitors each day you need to use more than HTML and decide what the site contains. There are different languages that can be used to add a sense of style to your site, some of the possible devices are JavaScript, Java, DOM, and AJAX. In the following paper our team will discuss a few examples of how each can be used in Web development. Comparison of Java and JavaScript Java and JavaScript are both object-oriented languages (Burns, 2012). Knowing how to use one language often becomes confusing when attempting to learn the other. Some of the differences between the two are that Java applets can create stand-alone applications that work across platforms running as standalone programs. However, JavaScript cannot create these stand-alone applications and reside on an Internet browser. A programmer must compile Java code before the program can run. This requires an outside program just to compile the code. A compiler turns Java code into machine language code before a browser can interpret it. Any changes the programmer makes to the code will require him to recompile the program and this can be a real tedious act to commit over and over. A web designer can write JavaScript functions directly in a text editor, saving the file and upload it to the server for immediate execution or using an editor like Adobe...

Words: 2442 - Pages: 10

Premium Essay

Goal Evaluation Matrix

...Communication Styles Worksheet You spent the past few days exploring the resources available to students at University of Phoenix, and you want to share what you learned with a friend who is interested in enrolling. Write a 150- to 200-word e-mail to your friend summarizing the resources available to students. Hey Dina, So as you know I have been in school online and I am really enjoying it. I really want to encourage you to do it as well. It is so easy and completely fools proof! Oh my gosh seriously you need to try it too. Right from my home page I can access the library where I can get research done or check my papers for potential plagiarism or errors. I can access different tutorials and labs ranging from ways to avoid plagiarism to java programming. I can even get assistance in math. There is a media library as well as so many other resources like a normal library. I don’t have to worry about getting in the car and going to the school to fight for a computer in their library. It is all just right here. The best part is I can do this online at home. Or when I am at work on break I can get on it from my phone. Easy stuff! Anyhow just let me know what you think. I would love to hear you are also going back to school as well. You asked your facilitator to review your e-mail draft. She liked what you wrote and asked you to write a summary to post in the class forum for the other students to read. Write a 150- to 200-word summary for your class of the resources available...

Words: 485 - Pages: 2

Premium Essay

Java

...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 (www.cs.princeton.edu/~rs/) 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

Developer

...Programming--Malone Basics of Java Programming (A Work In Progress) What Constitutes a Java Program? A Java program consists of one or more source files. Each source file is called .java, where is the name of the class contained in that source file and .java is the extension that identifies the file as a Java source code file. In general, each source file contains one class. The name of the class must match the name of the file (without the extension) exactly. To execute a Java program, you first need to compile the source code into byte code. Byte code files have the name .class. If you’re working from the shell, this is done using the javac command (where “c” is for compiler). Usually we will be compiling using the Xcode IDE. Once compiled, the program is executed using the Java interpreter (a.k.a. the Java Virtual Machine or JVM). From the shell, the JVM is invoked with the “java” command. Again we will usually be doing this with the Build and Go or Debug options of the Xcode IDE. A Java program must have a routine called main(), which is the starting point for program execution. main() will always look something like this: public static void main (String args[]) { // insert code here... System.out.println("Hello World!"); } Source Code Formatting Keep in mind the following when writing Java source code: Java is case sensitive (“foo”, “Foo”, and “fOO” are all considered to be different in Java). • Every line of code in Java must end in a semi-colon (“;”). • Java doesn’t care about white...

Words: 968 - Pages: 4

Free Essay

C++ Template

...INTRODUCTION TO TEMPLATES *Mr.A.N.Shah, **Mr. N. N. Shah *P.G. Student,Computer Department, C.U.Shah College of Engineering & Technology, Wadhwan City **Lecturer (E.C.), R.K. University school of Engineering, Rajkot. ABSTRACT Templates allow us to define generic class and function. So it supports generic programming. Generic programming is an approach where generic types are used as parameters in algorithms so that they work for a variety of suitable data types and data structures. A template can be used to create a family of classes or functions. For example, it can be used with class like student etc and it also can be used for function mul() etc. A template is also known as a kind of macro. Whenever template is created for any class it required substituted data types. Since template is define with a parameter for classes or functions so it is sometime called as parameterized classes or functions. The main aim of this thesis is to show various ways to use template either with function or class. INTRODUCTION Template is one which supports generic class and function. So it supports generic programming. Generic programming is an approach where generic types are used as parameters in algorithms so it supports variety of suitable data types and data structures. CLASS TEMPLATE Following is syntax of class template. template class class-name { //………… // class members specification //...

Words: 265 - Pages: 2

Premium Essay

Is Technology Moving Faster Than Ethics ??

...defined inside and outside of a method. c) True d) False 4. Types defined in the programming language itself are called _____________ types. a) b) c) d) Class Primitive Library All of the above 5. Circle all that apply. Which of the following lines is not a Java comment? a) b) c) d) e) /** comments */ // comments -- comments /* Comments */ ** comments ** 1 6. For each software development concept below indicate whether it applies at design time, runtime, or both. You should circle one letter on each line. The first line is an example. Compiling source files Logic errors Syntax errors a) Design time a) Design time a) Design time b) Runtime b) Runtime b) Runtime c) Both c) Both c) Both 7. Which Java operator is used to access variables and methods belonging to an object? a) b) c) d) e) The [] operator The -> (arrow) operator The _ (underscore) operator The . (dot) operator None of the above 8. Suppose you’ve written a Java class called Quadratic. To create an object variable using that class you should write the following: a) b) c) d) Quadratic equation = Quadratic(); Quadratic() = new Quadratic; Quadratic equation = new Quadratic(); Quadratic equation = new Equation(); 2 B) Fill in the Blanks 9. The Java primitive type ____________ uses 16 bits to store positive and negative whole number values. 10. Examine the following code fragment: 1. int value = 12; 2. value = value * (3/2); 3. value = value % 2; 4. value = value - 11; 5. value = value / 3; 6. System...

Words: 604 - Pages: 3

Free Essay

Java Class Shape

...Shape class /** * This is a class that represent any shape. This is the superclass of all shapes. * @author yklam2 * */ public class Shape { private boolean canvas[][]; private int width; private int height; /** * Create an empty shape. */ public Shape() { this(0, 0); } /** * Create a shape with a specific width and height. * @param width The width of this shape. * @param height The height of this shape. */ protected Shape(int width, int height) { this.width = width; this.height = height; canvas = new boolean[height][width]; } /** * Set a pixel * @param row The row of the pixel. * @param column The column of the pixel. */ protected void setPixel(int row, int column) { if(row >=0 && row < height && column >=0 && column < width) canvas[row][column] = true; } /** * Clear a pixel * @param row The row of the pixel. * @param column The column of the pixel. */ protected void clearPixel(int row, int column) { if(row >=0 && row < height && column >=0 && column < width) canvas[row][column] = false; } /** * Get the area of this shape. Area is the number of pixel set in this * @return The area. */ public int getArea() { int area = 0; shape. for(boolean [] row: canvas) for(boolean pixel: row) if(pixel) ++area; } return area; /* (non-Javadoc) * @see java.lang.Object#toString() */ public String toString() { String drawing = ""; for(boolean [] row: canvas) { if(drawing.length() > 0) //...

Words: 704 - Pages: 3