ad info
   personal technology

 custom news
 Headline News brief
 daily almanac
 CNN networks
 CNN programs
 on-air transcripts
 news quiz

CNN Websites
 video on demand
 video archive
 audio on demand
 news email services
 free email accounts
 desktop headlines

 message boards





Why Jini matters

September 17, 1998
Web posted at:

by William Blundon

(IDG) -- Visualize two scenarios:

Your browser, computer, electronic organizer, disk drive, video camera, telephone, CD player, and microwave oven all have an integral Java virtual machine -- but without interconnectivity.

It's Friday night at midnight. You're a systems administrator leading a team that must upgrade 250 personal computers to a new version of Windows by 8:00 a.m. on Monday. Is there an easy way to do this?

These are two possibilities, among others, that Sun Microsystems's Jini (pronounced "GEE-nee") software is designed to remedy. The mighty Sun marketing machine has flooded the Internet with heroic prose in an attempt to define just what Jini is. It's spontaneous networking; it's a ubiquitous network; it's an infinitely connected network of services into which anyone will be able to plug-and-participate anytime, from anywhere, using the simplest possible technology. Jini is what consumers and computer scientists alike have imagined computer networks could be someday: as easy to connect to as a telephone dial tone, as persistent and reliable as a radio, as easy to operate as a TV, and as powerful as all the devices connected to it.

  JavaWorld home page
 Reviews & in-depth info at's programming tools page's Java page's personal news page
  Subscribe to's free daily newsletter for developers and technical experts
  Questions about computers? Let's editors help you
  Search in 12 languages
 News Radio
  Fusion audio primers
  Computerworld Minute

It can also leap tall buildings in a single bound. It's a bird. It's a plane. It's Jini.

What is Jini?

Enough already. Jini is a network operating system for a broad range of electronic devices and software services.

Sun denies Jini's positioning as a network operating system. Rather, the company calls Jini a networking infrastructure running on top of Java to create a "federation" of virtual machines. The Jini system can be segmented logically into three categories: infrastructure, programming model, and services. In other words, it's a network operating system.

Sun's sensitivity to positioning is understandable, because Jini provides only a small number of services. The system is as much of a framework as a complete system; however, this will change over time. Meanwhile, some of Sun's partners (especially Novell) are sensitive to creating a new operating system for the network. Finally, Windows NT is an operating system for networked computers, and Jini and NT are decidedly different. It is also different from Millennium, Microsoft's quiet project to develop a distributed operating system.

Sun has provided many resources on the Internet to describe Jini (see Resources). An excellent overview of Jini by Rawn Shah can be found in the August edition of JavaWorld.

How is Jini different?

Jini has the potential to create large federations of electronic devices to which users can connect with a standard computer device, or they can get these services (memory, storage, and computation) from the network itself. As a result, Jini is different from traditional operating environments in at least ten important ways:

  1. It's small. The Jini core requires only a Java virtual machine, 4 KB of resident memory, and some computational cycles. The Jini system is about 600 KB.
  2. The system is fully object-based. That is, its components include methods that can be executed remotely, and when a method is incompatible with its execution environment (floating-point code, for example), it can load the correct method automatically.
  3. Jini's basic control structures are simple. Objects communicate via the standard Java RMI interface through basic operations in JavaSpaces (a system that manages features such as object processing, sharing, and migration): read, write, and take.
  4. All services are available through a simple lease facility. Leases are time-dependent (with renewal upon expiration) and allow multiple leases to a service.
  5. Jini includes the standard Java security constructs. Given the distributed nature of the environment, this is very important, because security is in effect where the object is executed.
  6. With JavaSpaces, Jini includes facilities for transactions (with two-phase commit) and persistency (initially with Object Design's ObjectStore PSE Pro for Java).
  7. Within Jini, groups of basic information such as security policies are accessible. Those groups can be aggregated almost indefinitely into large networks.
  8. Jini supports the Java programming model. Java services and protocols (JavaBeans, and so on) are available to the large base of existing programmers.
  9. Source will be licensed for free (or something close to that).
  10. Most importantly, Jini provides plug-and-execute capabilities where a new device can gain instant recognition (by a boot, join, and discover protocol) by the network and have access to any services for which it has authority. Sun compares this to the dial tone in the standard telephone network, and is considering using the JavaTone brand to describe the overall environment.

Why does Jini matter?

The existing network computing environment is excessively complicated. Client operating systems such as Windows 98 and Windows NT Workstation consist of between 10 million to 20 million lines of code. The size and complexity of these systems mandate expensive and resource-intensive computing devices that must be constantly updated a new versions of software are made available.

The same is true of adding new devices to an existing network. Despite a pretty good attempt by Microsoft to add plug-and-play capabilities to its operating systems, adding, configuring, and installing device drivers for new hardware is an ongoing problem for most IS departments.

This incredible duplication of client-side software creates expensive logistical nightmares for systems administrators who must maintain a consistent computing environment for tens, hundreds, or thousands of users. It also limits the range of devices that can be connected to a network and used effectively.

Jini matters because it may be able to decrease the cost and complexity of maintaining distributed computing environments while it increases the availability of services to a much broader range of electronic devices.

Reducing the cost of ownership of corporate networks is a major issue. Indeed, after the resolution of corporations' Year 2000 problems, it will be the principal occupation of their information services departments in the next decade.

Beyond cost reduction, Jini has the potential to create a whole new generation of network services and products. Having broken the definition of a local computer system, services will be developed that can conform to the capabilities of a remote device and where capabilities are limited, supply them dynamically from the network. Imagine an intelligent home network that controls everything from your computer to toaster, a distributed super computer, a telephone network that automatically routes calls to you at your computer, telephone, television, and cellular device. Jini has the potential to make these and many other applications a reality.


Jini has potential, but one thing is true today: It's more of a vision than a reality. Open source for Jini will be available on the Web by the end of 1998, and Sun intends to license it broadly. Jini has the potential to reinvent the computing industry, but there are no guarantees. One of the best aspects of Jini is its ability to share code across different flavors of a Java virtual machine. This means that Jini may provide both an opportunity to innovate and still protect the infrastructure against incompatibilities. Sun is also considering a compliance test suite like the 100% Pure Java brand. One quick note to Sun marketing, though: One does not connect to a dial tone, one connects to a telephone network. The dial tone indicates you have done so successfully. To get a JavaTone, you will need a JiniNetwork.

William Blundon is executive vice president and co-founder of The Extraprise Group (, a North American provider of strategic advisory, systems integration, and training services for e-business. His focus in the last nine years has been on distributed object environments and the Internet. He is a former director of the Object Management Group. Reach William at

Related stories:
Latest Headlines

Today on CNN

Related stories:

Note: Pages will open in a new browser window Related sites:

External sites are not
endorsed by CNN Interactive.

Enter keyword(s)   go    help


Back to the top
© 2000 Cable News Network. All Rights Reserved.
Terms under which this service is provided to you.
Read our privacy guidelines.