A technique for determining whether a server host supports the functions
in a command sent by a client host. The client host formulates a command
including a command object that contains parameter objects. The parameter
objects, which represent the functions, are serialized, e.g., using the
Java serialization command, and communicated to the server host. The
server host attempts to deserialize the parameter objects. If it is
successful, it is concluded that the server host supports the functions
represented by the parameter objects. Or, it is concluded that the server
host is incompatible with the functions represented by one or more
parameter objects that cannot be deserialized. The server host may be a
storage server, and the functions may be storage-related, such as a copy
type to be performed.