Home > Articles > Software Development & Management

  • Print
  • + Share This
Like this article? We recommend

Nonfunctional Requirements

This section outlines a number of additional topics that are of importance in the design of desktop (and other) architectures and that are collectively referred to as nonfunctional requirements.


A wide-ranging discussion on security topics is outside the scope of this article. For more information about this subject, see the selection of Sun BluePrints articles under the Security heading at:


There are, however, a number of security issues that are particularly relevant to desktop environments.

Virus Infection

Virus infection is an issue that has had (and probably will continue to have) an impact on every IT user. At present, most viruses are targeted at a specific operating environment (Microsoft Windows), associated email client, and browser. Although in fairness, it should be pointed out that this tendency is most likely due to a combination of the wide availability and usage of these products. There are also potential architectural weaknesses in the design and implementation of some software products that make them easier to attack than others. In any event, organizations need to take comprehensive precautions against viruses. A program of defense should include:

  • User education

  • Hardening of server systems by removal of unnecessary subsystems, services, and accounts

  • Lock down or restriction of the capabilities of client devices

  • Implementation of virus scanning and spam filtering software on mail servers and/or mail relays

  • Implementation of antivirus software on vulnerable operating system platforms (for example, Windows servers and clients)

  • Some of these measures are more effective and/or more easily implemented in a thin-client environment. This can reasonably be viewed as an argument in favor of thin-client solutions in terms of both vulnerability and TCO.

Federated Identity

The topic of user authentication was covered in "Services and Servers" on page 21. There is an additional architectural debate that some organizations need to follow and make a decision on, which is the selection of standards and products for the support of federated identity. This topic is important to organizations that are seeking to build communities of external users (for example, customers and suppliers), but it is also important to organizations that are building portals to support a mobile workforce. The main protagonists in this debate are the Liberty Alliance (http://www.projectliberty.org) and Microsoft with their Passport product.

User Identification

A number of current and forthcoming software and hardware products are targeted at increasing security against spam (bulk unsolicited email) and at preventing unauthorized access to applications and resources, along with the authentication services described in "Services and Servers" on page 21.

Some examples are:

  • Smart cards, such as those based on the Java Card technology

  • Smart cards can be used with readers to provide another security leg. Users need to present a valid smart card in conjunction with the correct user name and password to gain access to the system(s).

  • One-time password or token generators, such as SecureID and SafeWord

  • Token generators can be used in conjunction with a memorized PIN to generate a one-time key that is the correct response to a challenge issued by server software (provided by the company that manufactures the token card). This mechanism is often used to provide authentication for remote users who want to gain access to an internal network by using a dial-up connection or a VPN.

  • Biometric devices

  • These are relatively expensive solutions that aim to provide authentication based on unique personal identifiers such as a thumbprint or a retinal pattern. Initially used for enhanced physical security (for example, access to buildings and data centers), they are now being used to extend to include controlled access to secure systems such as the defense and financial networks.

Single Sign-On

Single sign-on is a facility whereby the user is able to pass through one authentication gateway and be granted automatic access to all of the applications to which they have been given access rights. This facility can be provided today by a combination of authentication services with scripting and configuration set-up in a portal server or integration software layer.

Eventually, most applications and services will be integrated with an authentication server and undertake their own look-up with the server, eliminating the need for below the covers scripting solutions.

Data Security

Data security, as an aspect of the desktop architecture, should not be overlooked. A full discussion of this topic is outside the scope of this article, but a couple of key points need to be remembered during system design:

  • Security of data storage devices

  • Consider the deployment of resilient storage devices such as RAID 1 or RAID 5 disk arrays.

  • Backup and recovery of data

  • Consider the addition of backup devices (for example, tape libraries) in conjunction with appropriate software and backup regimes.


Manageability is another topic that is covered well by many other documents, but it also constitutes a vital component of any desktop solution. Some considerations that are specific to the desktop environment include:

  • Sun Ray ultra-thin client administration

  • The facilities provided by the Sun Ray ultra-thin client server software to manage the clients generally needs to be augmented by user-written scripts that provide additional features, such as printer management and session management.

  • Sun Ray ultra-thin client and Solaris OS servers (for example, directory, file, print, and messaging servers)

  • These servers can be administered by using the Sun™ Management Center software. Generally, the designer needs to provide a separate management LAN and also consider the automation of frequent management tasks and integration with manager-of-manager tools, such as HP OpenView, Unicenter TNG, and Tivoli.

Availability and Reliability

Some aspects of resilience have particular relevance to desktop systems design (for instance, Sun Ray ultra-thin client server resilience). The Sun Ray ultra-thin client server software provides failover between two or more servers in a logical cluster (that is, a user session on a failed server is lost, but it can be re-established on a second server, if available). The software also provides for load balancing between servers so that user logins are distributed on a least heavily loaded basis when multiple servers are available.

Tarantella and Citrix provide similar failover and load balancing facilities in their integration software. In combination with Sun Ray ultra-thin client server software, users with failed sessions can reattach to their existing Citrix or Tarantella session after they have reconnected to an operational server.

Other service types also have their own means of ensuring that availability goals are met. Authentication services such as LDAP or AD generally support the concept of backup servers that can hold active or nonactive copies of user identification and attribute data.

File and print services can be based on cluster solutions such as the Sun™ Cluster 3.0 software, which ensures that service can be re-established following a server failure. Storage continuity also needs to be provided to ensure complete continuity.

Messaging and calendar software products are generally designed with a built-in concept of horizontal scaling (for example, user mailboxes can be held on a single mail server or spread across several servers). In this environment, failure of a single server causes partial loss of overall service, but complete loss for some users. Designers might want to consider a cluster solution if a higher level of availability is required.

Vertical and Horizontal Scalability

Most of the services discussed in this article can be loosely (that is, logically) clustered. Therefore, designers can add capacity relatively simply to desktop server infrastructures by adding more purpose-built servers (for example, Tarantella servers or directory servers) to the existing infrastructure.

Although this gives the architect a straightforward solution for scaling the design, it is worth considering the trade-off between horizontal and vertical scaling. As the number of physical servers and operating system instances increase, so too does the requirement for system administrators, space, and power. Most UNIX-based services also scale vertically. For example, directory services and mail services achieve near linear performance improvements as more processors, memory, and I/O capacity are added to the system.

Network Design

Consider network bandwidth, latency, and resilience when determining the type and location of client devices, printers, and servers. It is important to recognize that some client devices (for example, the Sun Ray ultra-thin client devices) have fairly large bandwidth requirements (around 1 megabit per second) and need to be located at least on the same campus as their associated servers, if not on the same LAN segment, unless the organization has a particularly fat WAN and an aversion to distributed servers.

Other clients like those using Tarantella or Citrix have more limited network needs and can be successfully located at the end of a low-bandwidth pipe. Printers constitute an intermediate case. Low-volume printers require limited network capacity, but fast printers with high-resolution graphics can create significant network traffic.

Usability and Environmental Factors

There is considerable variation in the size of screen and display resolution between the smallest mobile phone and a high-resolution engineering workstation. You should consider how users will use the device (for example, the applications required and the frequency and duration of access).

The Sun Ray ultra-thin client and some other thin clients (for example, Windows-based terminals) have no moving parts; therefore, they generate almost no noise in operation. This feature can be particularly useful in crowded environments such as call centers and training rooms. In addition, Sun Ray ultra-thin clients require less than 20 watts (typically, 11 watts) to operate, as compared with conventional desktops that require 200 to 300 watts (excluding display devices in both cases). This can lead to a significant reduction in electricity costs, even when the Sun Ray ultra-thin client server power budgets are factored into the equation.

Given the lower power consumption of the Sun Ray ultra-thin client, it necessarily follows that the heat output, and therefore the cooling requirements, for these clients are also significantly lower than the heat output of fully functional PCs or workstations.

  • + Share This
  • 🔖 Save To Your Account