The X window system allows applications to be executed on one machine and displayed on another machine. This allows a greater degree of networking than is available on other platforms.
XASS extends that functionality in a range of ways. Instead of applications being executed on a known remote machine, applications are executed on an arbitary remote machine - determined by configuration and load balancing. Applications are generally run as the user who requested them, and are displayed on the display which they were requested from.
This approach involves much less configuration and delivers a higher quality of service to users than traditional methods.
How it works
XASS servers run a special daemon, xassd. Applications need to be registered with xassd in order to be shared. Clients request applications through a client app, xrun. xrun queries xassd servers available on the network to decide which machines can execute an application, then selects the most appropriate xassd server, and requests that server to execute the application. These requests are secured by challenge-response. The application is displayed on the local display.
Example: XASS as client/server
As shown above, this approach allows purpose-built application servers to actually execute most applications on behalf of clients. Used in this way, XASS allows for far greater scaleability than traditional approaches: additional application capacity can be added onto the network, potentially with no reconfiguration at all. Clients do not need to be powerful, with normal idle CPU time available for other users, reducing overall costs.
By distributing using the X window system, your existing Solaris and Linux applications can be used without recompilation. Applications designed for the X window system on any other platform can also be used.
Example: XASS for clustering
Instead of being used to centralise processing, XASS also allows easy configuration of decentralised systems. Each PC could serve only one or two applications, but that allows end users to access any application on the network - potentially hundreds of applications - without needing to commit disk space. Alternatively, an application only available for one platform can remain on that platform, but available to users of other X-based systems.
Using this method, the applications available to every user increase, and potentially users can make applications available to others without modifying any PC which is not their personal PC.