Quality of Service - Comparing Sun Solaris 7, Windows nt server 0, and Windows 2000 Server

When deploying enterprise applications, network reliability is paramount to deployment success. To help ensure network reliability, system administrators need the capability to control traffic prioritization and service levels in order to ensure that the most important customers and applications receive priority. The Internet Engineering Task Force (IETF) has developed two standards – one for RSVP quality of service (QoS) and another for diff-serve class of service (CoS). For the purpose of this review, each network operating system will be evaluated on its ability to provide a QoS implementation conforming to the standards set forth by the IETF.
Solaris 7 Implementation Details
Solaris 7 offers support for the RSVP QoS standard via the Solstice Bandwidth Reservation Protocol 1.0. The two primary components of this support are a user-level daemon that handles the requests from applications for reservations, and an API interface to the protocol. These components must be downloaded and installed separately from the operating system. Unlike the implementation of QoS in Windows 2000, applications must be linked to this API in order to take advantage of the QoS feature offered by the protocol.
Additionally, in Solaris Enterprise Server, Solaris Bandwidth Manager is included as a core component. Solaris Bandwidth Manager provides complete control over network services. Through this management tool, you can monitor and control the bandwidth allocation. Because you can control allocations to users and applications, you can make Class Of Service (CoS) distinctions. These CoS capabilities help ensure mission critical applications have the bandwidth they need.
Bandwidth Manager also provides logging features, which allow you to track statistics and usage of network bandwidth. QoS policies can be stored in and managed through Sun Directory Services.
Windows NT Server 4.0 Implementation Details
Windows NT Server 4.0 offers no QoS implementation of any kind. Some rudimentary features, such as bandwidth throttling, are available on an application-by-application basis, such as in Internet Information Server 4.0, but no complete solution is available.
Windows 2000 Server Implementation Details
Windows 2000 Server offers a complete QoS implementation conforming to the IETF proposed standards for RSVP QoS and diff-serve class of service (CoS).
The RSVP QoS service is a request/grant type service where client-requested reservations are either allowed or disallowed based on a centralized policy and network resource availability. RSVP QoS policies are stored in the Active Directory and used by the network to grant or deny requests from workstations for QoS reservations.
RSVP services primarily benefit applications requiring consistent bandwidth or response levels. For example, streaming media or voice-over-IP solutions benefit from reserved bandwidth and response time for clear media quality. This is especially important on low-bandwidth links, such as those often found on many WANs. For these applications, Windows 2000 Server will mark packets and negotiate signaling with RSVP capable routers, allowing administrators to allocate bandwidth and response time to guarantee broadcast quality.
Applications do not have to natively support RSVP services in order to request QoS reservations. Tools are provided in the resource kit to make reservation requests for bandwidth and/or response levels on behalf of the customer’s application, allowing administrators to implement QoS without application changes.
Diff-serve CoS Services
Diff-serve CoS services provides a priority-of-service implementation for mission-critical applications where reservations may not make sense due to the intermittent nature of the application’s communications. CoS services allow communications to be prioritized for appropriate processing via network queues. Systems administrators establish policy that can be configured on Windows 2000 Server-based hosts that will subsequently mark application packets for priority of service. Network switches and routers can then provide preferential service to those packets. For example, a policy could be set to establish a higher priority for an e-mail application over all other traffic on the network.
The Windows 2000 Server QoS and CoS implementations also feature a complete set of APIs to integrate applications with the operating system’s QoS implementation. All policies are stored and centrally managed through the Active Directory service.
Quality of Service Summary
Solaris Easy Access Server offers support for QoS, but not CoS. Only the high-end Solaris Enterprise Server product provides both QoS and CoS support. Microsoft Windows NT Server 4.0 offers no QoS features of any kind, making it a poor choice for customers needing to guarantee bandwidth and application availability.
For enterprise customers needing QoS, Windows 2000 Server is the clear full-featured choice. Windows 2000 Server offers a complete QoS implementation complying with the IETF standards for QoS and CoS to provide both guaranteed bandwidth and traffic prioritization.
Application Services Section Summary
As organizations shift away from legacy systems to distributed computing, having integrated application architecture is becoming a priority for many information technology environments. Key features of such an infrastructure include:
-
Robust operating system kernel.
-
SMP scalability and support for large amounts of physical memory.
-
Distributed component model on which to build applications.
-
Message queuing services for asynchronous communications and application integration.
-
Integrated data access for access relational databases and other types of data stores.
-
Web application platform including a framework for extending applications to the Internet and strong integration with the underlying operating system services such as security.
-
Thin-client solution.
Windows 2000 Server is the most comprehensive solution. It provides the best scalability and it has the most performance optimizations within its kernel. With the latest version of Clustering Services, including Network Load Balancing Service, it also provides the best availability solution. The addition of COM+ provides the best distributed component model, featuring many unmatched capabilities such as queued components, an in-memory database, and a loosely coupled event model. The most sophisticated message queuing services implementation is also included, featuring complete integration with Active Directory. Web Application Services support is superb – building on the already excellent solution in Windows NT 4.0. Web Application Services support includes additional process management, flow control, and error handling pieces. Finally, data access support and the latest version of Microsoft Terminal Services provide the most sophisticated database connectivity and thin client solution of the three products evaluated.
Windows NT Server 4.0 is a good middle-of-the-road solution. It features excellent scalability within the operating system kernel. Additionally, an excellent clustering and load balancing implementation is provided. The combination of COM and Microsoft Transaction Server provide an excellent foundation on which to build distributed applications. Finally, message queuing services, integrated database access, and the available Terminal Server Edition as a thin-client solution make it a good choice. Web Application Services infrastructure is superior to that of Solaris 7. It uses Active Server Pages (ASP) as a Web application framework to extend COM-based applications to the Web. Additionally, transaction processing, asynchronous message queuing, and a very sophisticated data access infrastructure are all in IIS 4.0 but are sorely lacking in the Easy Access Server / Sun Web Server implementation.
Solaris 7 provides excellent support in key areas necessary for an application server. With the ability to support up to 64 GB of memory (on SPARC hardware), and 64 SPARC CPUs in an SMP environment, Solaris 7 offers significant performance and system resources to applications hosted on Easy Access Server. Where it begins to break down is in its distributed component model. Support is minimal, providing none of the advanced performance and reliability features found in the Microsoft solutions. Additionally, it only supports Java as a language choice, limiting its attractiveness to customers who use other development languages. Web Application Services infrastructure is also decidedly dated. It offers none of the advanced, integrated capabilities in Microsoft’s solutions such as message queuing or transactions. Thin client solutions are available in the form of Java terminals or even as AutoClient workstations. Traditional UNIX terminal services are also available.
Feature Table
Feature
|
Solaris 7
|
Windows NT Server 4.0
|
Windows 2000 Server
|
Core Application Services
|
|
|
|
Memory Protection
|
■
|
■
|
■
|
Virtual Memory
|
■
|
■
|
■
|
Maximum Addressable Memory
|
64GB
|
4 GB
|
64GB
|
Intel PSE 36 Support
|
□
|
■
|
■
|
Process Scheduling
|
■
|
■
|
■
|
Job Objects
|
□
|
□
|
■
|
Kernel Integrated Java Virtual Machine
|
■
|
□
|
□
|
I2O Support
|
■
|
□
|
■
|
SMP Support
|
64 CPUs
|
32 CPUs
|
32 CPUs
|
Scatter/Gather I/O
|
□
|
□
|
■
|
Spin Count
|
□
|
□
|
■
|
High Performance Sorting
|
□
|
□
|
■
|
Application Availability Features
|
|
|
|
Fail-over Clustering
|
■
|
■
|
■
|
TCP/IP Clustering & Load Balancing Services
|
■
|
■
|
■
|
Rolling Upgrade Support
|
□
|
□
|
■
|
Recovery from Network Failure Support
|
■
|
□
|
■
|
Component Object Model Integration
|
□
|
□
|
■
|
Plug-and-Play Support for Clustering Hardware
|
□
|
□
|
■
|
Directory/Clustering Services Integration
|
□
|
□
|
■
|
Distributed Application Model Features
|
|
|
|
COM/DCOM Support
|
□
|
■
|
■
|
CORBA/IIOP Support
|
□
|
□
|
□
|
Java Beans Support
|
□
|
□
|
□
|
Enterprise Java Beans (EJB) Support
|
□
|
□
|
□
|
Graphical Component Management
|
□
|
■
|
■
|
Automatic Transaction Support
|
□
|
■
|
■
|
Configurable Security
|
□
|
■
|
■
|
Database Connection Pooling
|
□
|
■
|
■
|
Application Thread Support
|
□
|
■
|
■
|
Component State Management
|
□
|
■
|
■
|
Process Isolation
|
■
|
■
|
■
|
Legacy Transaction Integration
|
□
|
■
|
■
|
In Memory Database
|
□
|
□
|
■
|
Component Eventing Model
|
□
|
□
|
■
|
Language Neutrality
|
□
|
■
|
■
|
C++ Language Support
|
□
|
■
|
■
|
Java Language Support
|
■
|
■
|
■
|
Visual Basic Language Support
|
□
|
■
|
■
|
Dynamic Component Load Balancing
|
□
|
□
|
■
|
Data Access
|
|
|
|
ODBC Support
|
■
|
■
|
■
|
JDBC Support
|
■
|
■
|
■
|
OLE DB Support
|
□
|
■
|
■
|
Data Access API Set
|
□
|
■
|
■
|
Message Queuing Services
|
|
|
|
Message Queuing Implementation Available
|
■
|
■
|
■
|
Component Support
|
□
|
■
|
■
|
Transaction Support
|
□
|
■
|
■
|
Single API Set
|
□
|
■
|
■
|
Reliable, Resilient Message Delivery
|
□
|
■
|
■
|
One Time, IN-Order Message Delivery
|
□
|
■
|
■
|
Hierarchical, Directory Service-based Architecture
|
□
|
□
|
■
|
Message Routing Services
|
□
|
■
|
■
|
Clustering Service Support
|
□
|
■
|
■
|
MAPI Integration
|
□
|
■
|
■
|
Security Integration
|
□
|
■
|
■
|
Integrated Encryption, Integrity, and Signature Support
|
□
|
■
|
■
|
Security Log Integration
|
□
|
■
|
■
|
Web Application Services
|
|
|
|
CGI Support
|
■
|
■
|
■
|
ISAPI/NSAPI Support
|
■
|
■
|
■
|
Server-side Scripting
|
■
|
■
|
■
|
Visual Basic Server Scripting Support
|
□
|
■
|
■
|
JavaScript Server Scripting Support
|
■
|
■
|
■
|
Java Servlet Support
|
■
|
□
|
□
|
Component Services Integration
|
□
|
■
|
■
|
Script Debugger
|
■
|
■
|
■
|
XML Integration
|
□
|
□
|
■
|
Customized Error Handling
|
■
|
□
|
■
|
Included Server Components
|
□
|
■
|
■
|
Message Queuing Integration
|
Optional
|
■
|
■
|
Server Scriptlet Support
|
□
|
□
|
■
|
Terminal Services
|
|
|
|
Thin Client Solution Available
|
■
|
■
|
■
|
Supports 16-bit Windows-based Clients
|
■
|
■
|
■
|
Supports 32-bit Windows-based Clients
|
■
|
■
|
■
|
Supports UNIX Clients
|
■
|
■
|
■
|
Supports Mac/OS Clients
|
■
|
■
|
■
|
Supports Terminal-based Clients
|
■
|
■
|
■
|
Supports 16-bit Windows-based Applications
|
□
|
■
|
■
|
Supports 32-bit Windows-based Applications
|
□
|
■
|
■
|
Supports Windows 2000-based Applications
|
□
|
□
|
■
|
Supports DFS
|
□
|
□
|
■
|
Administration Tools
|
■
|
■
|
■
|
Deployment Tools
|
■
|
■
|
■
|
Configurable Security and Encryption
|
■
|
■
|
■
|
|