throbber
Jini Technology: Impromptu Networking and its Impact on
`Telecommunications
`Lai Olstad, Javier Ramirez, Clint Brady, Bruce McHollan
`olstad@colorado.edu ramirejj@colorado.edu cdbrady@usa.net bmchollan@category5.net
`
`1. Introduction
`Impromptu Networking, as brought by Sun Microsystem’s Jini technology, is poised to radically
`change telecommunications. While it is too soon to tell if Jini technology will be the dominant
`means of implementing impromptu networking, the benefits of this new paradigm are
`unmistakable. Providing the ability to automatically interconnect devices into impromptu
`networks will make the lines between today’s numerous disparate networks disappear.
`This paper examines Jini technology and its ramifications on telecommunications, including both
`voice and data networks.
`
`2. The Vision of Jini
`According to Bill Joy, one of the founders of Sun Microsystems and the original creator of
`Berkeley UNIX: "The complexity of the systems today has exceeded the professional systems of
`twenty years ago. A better way of constructing new systems is needed, to reduce the frustration
`and better match the computing devices to human uses [1]". The main goal of Jini is to provide
`simpler, more flexible and robust networks to the telecommunications industry.
`
`2.1. Jini History
`A synopsis of Jini’s history will help explain how the vision of Jini evolved. The history of Jini
`is largely the history of Java. Jini fulfills the original Java vision of consumer-oriented groups of
`electronic devices interchanging data. Java evolved from a language called Oak. Oak was
`designed by Sun Microsystems in 1990 to serve as a portable way to write programs for
`embedded processors. In 1994 engineers Patrick Naughton and Jonathan Payne from Sun wrote
`a Web browser using Oak. This browser, named WebRunner, later became the foundation for
`the HotJava browser. HotJava had the unique ability to download executable programs from
`Web servers and execute them in a browser. These programs are called applets. Although Java
`got its start in consumer electronics, it was the ability to build applets that propelled it into the
`computing industry. Realizing that the original Java concept was still compelling, a group of
`Sun engineers recognized the need for continuing development. Although Java enables moving
`code from machine to machine, problems exist that hamper implementing constellations of easily
`administered devices. This requires mechanisms normally not associated with desktop
`computing. These mechanisms for such devices are as follows:
`• A robust software infrastructure.
`• The ability to dynamically configure additional devices and peripherals.
`• The ability to share components without reconfiguration.
`• The ability to form impromptu communities.
`Prior to 1998, Jini was being developed secretly at Sun until New York Times technology
`reporter John Markoff published a story on Jini. Jini was first introduced to the public on
`January 25, 1999. Accompanying the introduction was a host of licensed supporting
`
`1
`
`Ex.1028
`APPLE INC. / Page 1 of 12
`
`

`

`manufacturers. In May 1999, the first Jini Community Summit was held in Aspen, Colorado.
`During the summit, Bill Joy and Jim Waldo, Sun’s chief Jini architect, explained further how Jini
`fundamentally changes the architecture of computing systems [2].
`
`2.2. Two Emerging Trends
`Two emerging trends, the proliferation of small embedded devices and high speed networks will
`point to a future in which more devices will be enhanced with embedded microprocessors and
`interconnected via networks. Embedded devices are appliances or devices with an embedded
`microprocessor that has a relatively focused functionality. Examples of embedded devices
`include cell phones, microwave ovens, VCRs, pagers, clocks, and printers. It is important to
`note that although a PC contains an embedded microprocessor, it is not usually considered an
`embedded device because it does not have a focused functionality. Rather, a PC is a general
`platform suitable for many different software applications. The proliferation of embedded
`devices is being driven by the decreasing costs of adding processing power to devices. This is a
`result of increasing the functionality of the microprocessor chips. As both the cost and size of
`computers continue to decrease, it becomes cost-effective to include processors in a wide variety
`of products. Manufacturers are adding embedded processors to their products to increase the
`functionality and value. This trend will yield an explosion of embedded devices in the coming
`years.
`Another trend underway is the proliferation of high-speed networks. Companies like Qwest,
`Level 3 and Global Crossing, to name a few, are rushing to build high-speed backbones. High-
`bandwidth pipes are being sent into homes. Wireless networks are being developed. The
`network will be increasingly fast and accessible by all. Jini will take advantages of these two
`trends and make networking simple and flexible.
`
`2.3. Disappearing Computer
`"Forget the desktop" bellowed Joy at the Summit. With that, he predicted the demise of desktop
`computers and the emerging network-centric environment. Joy went on to describe a flat-panel
`display currently being manufactured that can be folded or rolled like paper. He said that in the
`future when he needed to do some work, he would set down his “handset” and roll out his flat-
`panel display. The handset would have a wireless connection to the Internet and a wireless
`connection to the display. The flat-panel display or “smart paper” is an example of how
`computers will disappear into application specific devices we will use everyday [3].
`
`2.4. Jini Scenarios
`Jini technology gives users a unique, more convenient option for accessing services in their
`neighborhood and the world at large. Examples of possibilities that Jini technology enables
`include: You walk into a conference room or a colleague’s office and instantly your laptop
`computer is connected to a full array of services. Rather than drive to your local instant-copy
`store, you might simply access their services application from your home computer. You tell
`them what you want copied, where to deliver the job, and they take care of the rest. Or, imagine
`appliances that maintain themselves through remote diagnostics and repair procedures; Water
`heaters that adjust temperature and water pressure to compensate for someone turning on the
`dishwasher while the shower is running. All these are possible due to the vision of Jini
`technology within the impromptu community.
`
`2
`
`Ex.1028
`APPLE INC. / Page 2 of 12
`
`

`

`Since the Internet is an extremely dynamic network, composed of fiber, wire, cable,
`wireless, satellite, cellular and other communications media an adaptive technology like Jini
`makes sense. Being able to seamlessly access resources provided by the network based on
`proximity and / or authority is becoming much more valuable. A printer that is unavailable
`today, should not appear as an option. Yet today’s network operating systems implementations
`are quite static in this regard and this is exactly how and un-useable printer is handled. If a new,
`previously unknown resource becomes available, no one should need to tell the user about it so
`they can configure their computer to take advantage of the resource. With Jini, utilizing this new
`resource may not even involve a conscious (human) decision. For example, the user may want to
`print color photos when a color printer becomes available at some unknown future time.
`
`Any technology that experiences exponential growth, will encounter limiting factors that
`have to be addressed through fundamental shifts in paradigms or the explosive growth self-
`limits. For example, it is estimated that had it not been for the development of automated
`switching in the telephone network, the number of operators that would be required today would
`exceed the population of the planet. Automated switching removed a barrier that would have
`impeded the further advancement of technology.
`
`3. The Jini System Components
`Jini is a small set of rules that enables clients and services to interact; Jini is an extension of Java,
`Sun’s cross-platform programming language. Jini's purpose is to enable the creation of simpler,
`more flexible networks. Jini will provide a way for entities (machines, applications, or devices)
`to automatically "discover" and share resources called "services" which can be of any type
`(hardware, software, communication channels, users) [4]. Jini is based on the Java programming
`language and it requires a Java Virtual Machine (JVM) definition. Java is an interpreted
`language and is independent from the platform on which it is run. This is in contrast to the JVM,
`which is platform dependent and must be implemented accordingly [5]. (Figure 1)
`
`Applications
`
`Services
`
`Jini Technology
`Java Technology
`Operating System
`Network Transport
`
`Figure 1. Jini Stack
`
`Jini technology provides simple mechanisms, which enables devices to plug together to form
`an impromptu community. Each device provides services that other entities in the community
`may use. Devices provide their own interfaces, which ensures reliability and compatibility. In
`Jini a group of services is called a community; all services in a community are aware of and able
`to use each other. Federation is the ability for Jini communities to be linked together into large
`groups making it very scalable. Ideally the size for a single Jini community is about the size of a
`workgroup (10 to 100 people) [1].
`
`3
`
`Ex.1028
`APPLE INC. / Page 3 of 12
`
`

`

`3.1. Important Considerations
`Jini addresses how services connect to one another, not what those services are, what they do or
`how they work. Jini is not a Name Server even though it has similar functionality. Jini is not
`RMI (Remote Method Invocation). While Jini uses RMI facilities for mobile code, Jini is a set
`of services and conventions built on top of RMI. Jini is not a Distributed Operating System; Jini
`is only aware of services and has the facilities for finding those services. Jini is not middleware.
`Consequently, it does not create communication links between common commercial databases.
`In the current Jini implementation and specifications there is no authentication performed on
`either the discovery requests or responses [1].
`All of the components for Jini are implemented as a set of software libraries and conventions
`that are used by the code that participates in Jini communities. Jini has five key components:
`Discovery, Lookup, Leasing, Remote Events, and Transactions [6].
`
`3.2. Discovery
`The Discovery component is the process used to find/join communities on the network.
`Discovery is responsible for the spontaneous community-building properties of the system.
`Once a community is found, the Jini-aware entity can step through a series of conventions to
`become part of the community and publish services to the community. The Multicast Request
`Protocol is used when an application or service first becomes active and needs to find a nearby
`lookup service. The Multicast Announcement Protocol is used by lookup services to announce
`their presence. The Unicast Discovery Protocol is used when an application or service already
`knows the particular lookup service required. The process of publishing a service to make it
`available to others in the community is called joining [6].
`Currently Jini has been implemented only on IP networks. Based on the Discovery/Join
`specification from Sun, IP addresses may be statically assigned to some hosts and other
`components may be dynamically assigned. Any Jini-aware entity must have a properly
`configured network stack capable of UDP multicast and TCP unicast messages. (Figure 2)
`Service
`
`1. The discovering entity
`performs a multicast request in
`order to find lookup services.
`
`2. Lookup servers listen for
`multicast request from
`discovering entities.
`Lookup
`Service
`
`3. The lookup server sends a unicast
`response to provide a reference to itself.
`
`Service
`
`4. Entity joins the community
`and publishes its “proxy object.”
`
`Lookup
`Service
`
`Figure 2. Discovery Component
`3.3. Lookup
`The Lookup component is responsible for distributing code to participants requesting a service.
`Lookup fulfills the role of a directory service within each Jini community. It provides facilities
`
`4
`
`Ex.1028
`APPLE INC. / Page 4 of 12
`
`

`

`for searching and finding services that are known within a community. Lookup tracks all active
`services and listens for join requests. Lookup also provides detail information about the services
`running.
`Each active service contains a Java object called “proxy object1 ”. Other participants in the
`community can download the proxy object to use the service. When an entity needs another
`service, it will query the Lookup Service by a unique identifier or attribute. Once the service is
`found, the proxy object is downloaded to their JVM and the entity will make calls on it to use the
`service. This idea of downloadable proxy objects gives Jini its ability to use services and devices
`without doing any explicit driver or software installation [6]. (Figure 3)
`
`Lookup
`Service
`
`Service
`
`1. Client downloads
`“Proxy Object.”
`
`Client
`
`2. Client communicates with
`service via proxy
`
`Figure 3. Lookup Component
`
`3.4. Leasing
`The Leasing component is a technique that provides Jini’s self-healing nature. Leasing is based
`on the idea of leasing resources for a fixed period of time rather than granting access to a
`resource for an unlimited amount of time. Leases expire after a predetermined amount of time
`unless they are renewed. Leases are always defined in terms of time duration instead of a
`specific time in the future [6]. If a service becomes unavailable, either intentionally or
`unintentionally without cleaning its components, its lease will eventually expire.
`
`3.5. Remote Events
`Remote Events allow services to notify each other of changes in their state. Jini services, like
`many software components in a system, need to be notified when some interesting change
`occurs. Asynchronous notification messages are sent directly to a software component instead of
`polling for changes. Asynchronous notifications can often simplify the programming of
`components. Jini, like most of Java, uses events to do asynchronous notifications. An event is
`an object that contains information about some external state change that a software component
`may be interested in. RMI is an event notification built into Java, which allows objects to move
`across the network to be executed. The Lookup service can use remote events to notify
`interested parties when the set of services, available to a community, changes [6].
`
`
`1 A “Proxy Object” is a list of attributes that are used to describe the service. This object contains all the
`information to use and configure the service.
`
`5
`
`Ex.1028
`APPLE INC. / Page 5 of 12
`
`

`

`3.6. Transactions
`Transactions provide the mechanism used by Jini to allow computations that may involve
`multiple services to reach a safe state. Jini’s transaction model helps guard against problems
`produced by partial failures in a distributed system. Transactions are how a series of related
`operations are grouped so that the outcome of the transaction is either a failure or a success. In
`either case the system will handle the outcome correctly. It will continue with the process if the
`transaction succeeds or try again later if the transaction fails. The protocol commonly used by
`such systems is called two-phase commit [6].
`
`4. The Competition
`In this section we searched the market place to find products that could offer competition to Jini.
`Since Jini is a new concept and technology, exact matches as in searching for PC operating
`systems, were difficult to find. We did find three possible competitors, Microsoft Millennium
`and Universal Plug and Play, Lucent’s Inferno, and IBM’s T-Spaces. These products were
`selected based on their ability to provide automation and new services in telecommunications.
`Automation is further defined as the combination of impromptu networking capabilities and
`fewer administration duties. Once these products were identified we investigated the
`technologies of each and the possibilities these technologies enabled. We then ranked the
`products according to services, configuration, maintenance, scalability, and portability. Services
`are defined as those currently offered and the potential for new or other services. Configuration
`refers to the amount of effort required for installation configuration. The maintenance ranking
`reflects ongoing configuration and administration. Scalability is the ability to grow or shrink as
`needed. Portability is the ability to run in different environments.
`To summarize the Jini System Components section, Jini has a small footprint, it is robust and
`able to dynamically connect any array of devices or appliances and provide services only limited
`by the imagination. The configuration and maintenance is minimal but Jini has the flexibility to
`configure very specific uses. Naturally, this would increase configuration and maintenance
`efforts. Scalability is dynamic based on the Discovery, Lookup, and Leasing features of Jini.
`Portability is also excellent, needing only a Java enabled device or platform. This is all reflected
`in Sun’s stated goal of Jini: “. . . to make a network flexible, easy to administer, and provide
`dynamic use of its resources to humans of computational clients.” [7].
`
`4.1. Millennium and Universal Plug and Play (UPnP)
`Microsoft is currently researching and developing two projects that may provide competition for
`Jini. The two projects are named Millennium and Universal Plug and Play. “The goal of
`Millennium is to erase the distinction between distributed and local computing by turning a
`network of computerized devices into one giant computer that resembles the human brain,
`allocating resources efficiently to accomplish each task” [8]. “The goal of UPnP is to make a
`network easy and convenient for the average consumer” [9]. With UPnP, Microsoft supports
`seamless connection of household appliances to a network. Therefore, bringing UPnP closer to
`the Jini vision. Both Microsoft projects compare themselves to Jini and each other. It will be the
`melding of these two projects that would bring competition to Jini.
`Millennium research is broken into two areas with supporting prototypes. The first is a high-
`level application runtime environment that raises the level of abstraction to simplify the
`presentation to programmers. The second is a low-level infrastructure and distributed services
`
`6
`
`Ex.1028
`APPLE INC. / Page 6 of 12
`
`

`

`that are self-configuring and self-tuning. Millennium accomplishes the first area by something
`called Coign. Coign automatically distributes non-distributed (local) Common Object Model
`applications. Coign has four components, which work together to profile applications. The
`components are Run Time, Binary Re-writer, Analysis Profiler, and Network Profiler. These
`components work together to analyze and profile applications for the best distribution scheme to
`be used on future runs of the application [10]. To effectively enable Coign to distribute an
`application, it takes multiple iterations of analyzing and profiling the application. These profiles
`must be conducted again as new releases of the application, operating system, service packs, and
`service releases are installed. This makes configuration, maintenance, and scalability very labor
`intensive. Coign is very dependent on the success of Falcon and Component Operating System
`Proxy (COP), two current research projects from Microsoft. If either of these prove unable to
`perform, the whole concept could be rendered useless.
`COP and Falcon accomplish the second area of Millennium. COP, a Win32 application
`program interface, coupled with Falcon, a highly optimized version of Distributed Common
`Object Model, allows computers to share attached devices. Devices and peripherals can be
`shared across different PCs regardless of location. This creates what Microsoft calls the
`disaggregated PC. This process is bandwidth and media dependent. And, it only applies to a
`pure Microsoft environment. Clearly, Millennium could offer only a couple of services. The
`configuration efforts would be enormous. With labor-intensive configuration and maintenance,
`scalability becomes impractical. In regards to portability, it is not possible because Millennium
`is PC, Microsoft application, and Microsoft OS centric.
`UPnP is based on the existing standards for Plug and Play [11]. This technology and
`standard is already proven and supported by numerous manufactures. The protocols are network
`and media independent. The intent is to cover all types of networked and traditional peripheral
`devices. UPnP supports Discovery and Configuration using Extensible Markup Language and
`standard URL addresses. This provides an avenue for devices to negotiate a common protocol to
`communicate. This is different from Jini, which provides a translation service between
`heterogeneous devices. UPnP offers a number of services like Simple Service Discovery
`Protocol, Dynamic Host Configuration Protocol - Auto Configuration and Multicast-enabled
`DNS. These services basically support the needs of UPnP to function. The configuration and
`maintenance for UPnP is relatively light, it basically happens when a device is loaded with
`software. A mechanism for device driver updates would have to be developed or would require
`manual updates. Scalability is dynamic due to the Discovery and Configuration support.
`Portability is dependent on manufactures accepting and supporting UPnP and Internet protocols.
`However, it will take the melding of all the Microsoft efforts previously discussed to provide real
`competition for Jini.
`
`4.2. Inferno
`Lucent has created a product called Inferno. Lucent’s goal is for Inferno “to become the
`operating system for the net-centric era”[12]. Inferno is marketed and supported by Vita Nuova
`from York, England. It is network and media independent. The biggest benefit of Inferno is the
`500 Kb kernel. It will run as an Operating System (OS) on a device or emulated on another
`operating system. It currently runs on NT, Windows95/98, Linux, and Sun Solaris [13]. Inferno
`is designed to be a robust OS on the smallest of environments while providing a host for a wide
`variety of applications. The Inferno kernel and one of its applications will run in just under 1
`MB. Inferno uses Limbo as the programming language whose architecture and functions are
`
`7
`
`Ex.1028
`APPLE INC. / Page 7 of 12
`
`

`

`similar to C and Java. It is compiled into byte code, which is run within a virtual machine (DIS)
`making it portable. Inferno uses the Styx protocol for communicating to other Inferno devices.
`Styx uses a uniform interface and runs on any reliable data stream protocol.
`Inferno provides many services and the possibility for many more. Current services include
`PKI, POP3, SMTP, HTML, Ethernet, infrared, cable, satellite, sound card, and video card
`support. Scalability is excellent since the kernel size is 500 Kb. Configuration would be heavy
`since drivers for new devices will have to be written. Maintenance would also be heavy as
`devices change. However, with the development of an automated service to handle many of
`these tasks, Inferno would probably jump to the front of the competition list. From a technology
`standpoint Inferno is positioned to be a major player against Jini. In Lucent’s recent alliance
`with Vita Nuova, Lucent will continue to develop enhancements jointly while allowing Vita
`Nuova exclusive marketing and support [14]. This new alliance is a step in the right direction to
`gain popularity of this product in the market place.
`
`4.3. T-Spaces
`T-Spaces, developed by IBM, is being portrayed as a network communication buffer with
`database capabilities. T-Spaces is considered network middleware. Due to the lack of a stated
`goal it is better described as an enabler of communications between applications and devices in
`a network of heterogeneous computers and operating systems. T-Spaces provides group
`communication, database, URL-based file transfer, event notification, print, e-mail, pager,
`remote control services, transactions, indexing, and simple queries [15]. The possible services
`that T-Spaces can provide are endless as long as the devices support Java. T-Spaces is
`implemented in the Java programming language and thus it automatically possesses network
`ubiquity through platform independence, as well as a standard type representation for all data
`types. Portability, like Jini, is restricted to Java supported devices and environments but may be
`limited due to space requirements. Scalability is questionable due to the needed coding for
`services. Therefore, configuration and maintenance for T-Spaces would be enormous.
`T-Spaces started off in the right direction. They built the technology on a sound foundation
`but they lacked the vision to carry the possibilities into the future. It will communicate with any
`Java enabled device but they do not suggest or provide any visionary examples. Therefore, it is
`up to the creativity of the users to decide how to use the product.
`The table below summarizes the measurements for all the products. With our vision of these
`products providing or
`their ability
`to provide automation and new services
`in
`telecommunications all metrics are weighted equally.
`
`METRICS
`Services
`Possible Services
`Configuration
`Maintenance
`Scalability
`Portability
`TOTAL
`
`Jini
`• • • •
`• • • • •
`• • • •
`• • • •
`• • • •
`• • • •
`26
`
`Millennium
`• •
`-
`•
`•
`•
`-
`5
`
`UPnP
`• •
`• •
`• • •
`• • •
`• • • • •
`• • •
`18
`
`Inferno
`• • • • •
`• • • • •
`• •
`• •
`• • • • •
`• • • • •
`24
`
`T Spaces
`• • • •
`• • • •
`•
`•
` Unknown
`• • •
`14
`
`Table 1. Product Comparison
`When choosing a product it is unlikely one will find a single product to meet all the desired
`needs and criteria. Looking at all the products and projects investigated, Jini meets the criteria
`
`8
`
`Ex.1028
`APPLE INC. / Page 8 of 12
`
`

`

`and provides the best ranking on measurements. Inferno is close to what Jini stands to offer.
`However, it needs to continue maturing and offer more out of the box services. This will reduce
`the configuration and maintenance efforts. Microsoft also stands a chance of competing with
`Jini. They will need to reduce the complexity in Coign and COP, and combined UPnP and
`Millennium to offer services closer to that of Jini. The fact that Microsoft holds the majority of
`the market share for deployed technology gives them an almost unfair advantage. Which
`product will fare the best? Speaking from a technology standpoint, Jini and Inferno are very
`close. However, we all know that just because a product is technologically sound, it is not
`always the choice of the industry. Marketing, current market share, and ease of accessibility
`have often pushed a product to the top in terms of market share.
`
`5. Jini Technology and Its Ramifications on Business
`During a time of unprecedented outsourcing and downsizing activity, unemployment in the
`United States is at record low levels. The explanation for this is quite simple: companies are
`shrinking. In fact, the U.S. department of Labor predicts that by 2005 the largest employer in the
`country will be “self”[16]. This underscores the reality of the shrinking size of U.S. firms. But
`people in the U.S. workforce are not becoming unemployed. Rather, they are moving from
`larger firms to smaller ones. The driving force behind this trend is digital technology. While
`driving firm size down, the need for digital technology is fueling an unprecedented need for
`technology expertise. Impromptu networking, such as that made possible by Jini technology,
`will help sustain and accelerate this trend.
`MasterCard is an instructive example of this trend. Of the 1000 employees at MasterCard,
`800 work in data processing. This is noteworthy on two counts. First, it is a testament to
`productivity enhancing benefits of digital technology; that a company handling millions of
`transactions daily has only 1000 employees. Second is that 80% of this companies employees
`work to support digital technology [16]. Information Technology (IT) has increased twice as fast
`as the economy on a whole. IT investment as a percentage of all equipment purchased by
`companies is forty five percent [17]. These facts suggest that as firms shrink, a larger percentage
`of resources must be devoted to implement and support digital technology increases. Indeed, the
`percentage of expenditure for firms on IT related support and software has greatly increased
`since the first personal computers came to market. This can impose a lower limit or “floor” on
`how much firms can shrink or how efficient they can become.
`
`5.1. Hitting the Floor
`Today, implementing and supporting PC networking requires specialized expertise. The need for
`such expertise is demonstrated by the growing requirement of many companies that technology
`workers be “certified”. This certification comes at a price2. The dominant network operating
`system businesses use is Windows NT. This operating system is of a magnitude that rivals
`“mainframe” class platforms. Windows NT 4.0 consists of 16.5 million lines of code. The next
`version of Windows will have over 45 million lines of code and will be a complete re-write of
`the operating system. There is no expectation or intention that this program will ever be fully
`debugged. Sun’s Bill Joy recently commented: “We know Moore's Law will run out sometime
`around 2010. It's probably not going to be a crash into the wall. Things will just start slowing
`
`
`2 Microsoft’s System Engineer Certification (MCSE) and the even more rigorous and valuable Microsoft
`Professional + Internet Certification (MCP+I) results in an annual salary increase of approximately $4,600 [18].
`
`9
`
`Ex.1028
`APPLE INC. / Page 9 of 12
`
`

`

`down. We've been getting a free ride with Moore's Law. We can write worse and worse
`software, and the machines just get faster and faster and cheaper and cheaper -- and they cover
`our tracks.” Despite Microsoft’s claims that the Windows network operating system is
`“intuitive”, implementing and supporting networking on this platform requires specialized
`expertise. The need for, and value of, such expertise is demonstrated by the growing
`requirement by many companies that technology workers be “certified3” through formalized
`testing as a requirement of employment or advancement. This expertise comes at a price (On
`average, Microsoft certification results in an annual salary increase of approximately $4,6004).
`While the smallest firms (those with ten or fewer employees) often utilize PCs using
`Windows on a stand-alone basis, few implement networking5. The impact of impromptu
`networking will be the greatest for small businesses, where the benefits of networking have been
`largely missed. Jini will greatly reduce the need for specialized technology expertise by making
`computing, networking, and telephony virtually effortless. Historically, the reasons small
`companies have been slow to deploy networking have included:
`1. A Lack of Vision: In the past, small companies have not appreciated the benefits that
`networking can afford them. The popularization of the Internet has largely changed this
`today.
`2. Infrastructure Issues: Wiring existing buildings with networking cable has been an
`expensive and disruptive process. This has been addressed through the proliferation of
`products on the market today that allow small firms to implement networking over their
`existing telephone wiring, power wiring or completely wirelessly. The availability and
`affordable pricing of these solutions have just come about recently.
`3. Complexity and Expense: Complexity and cost are the remaining impediments to
`smaller firms
`implementing networking.
` Jini
`technology (and possibly other
`technologies that simplify networking) is poised to address this issue.
`While the idea of truly effortless networking may seem alien, the telephone network today is
`a good example of how transparent networking can be. Telephones are the ultimate “plug-and-
`play” device. Jini provides what you can think of as “JavaTone”, the equivalent of what happens
`when you pick up a telephone. Since the services that Jini links can be hardware, software,
`communication channels, or users, the utility of “JavaTone” is enormous.
`
`5.2. The Cost of Doing B

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket