Deserializacao + migracao de codigo

Estou tendo um problema com a deserializacao de um conjunto de objetos. Do lado cliente possuo classes concretas que estendem uma superclasse abstrata, Task. Do lado servidor possuo somente a superclasse abstrata. No momento de enviar os objetos do cliente para o servidor, utilizo o metodo abaixo para serializar

public byte[] serialize(Serializable obj) throws IOException {

ByteArrayOutputStream stream = new ByteArrayOutputStream();
ObjectOutput serialStream = new ObjectOutputStream(stream);

serialStream.writeObject(obj);

return stream.toByteArray();

}

e o metodo

public Object deserialize(byte[] bytes) throws IOException, ClassNotFoundException {

InputStream stream = new ByteArrayInputStream(bytes);
ObjectInput serialStream = new ObjectInputStream(stream);

return serialStream.readObject();

}

para deserializar. Entretanto, como o lado servidor nao possui as classes concretas do cliente, é lançada uma ClassNotFoundException no metodo de deserializar. Existe alguma maneira de fazer esta deserializacao? ja tentei classloader e reflection, mas nao tenho conseguido avanços. COMO MIGRAR ESTAS CLASSES CLIENTES PARA O SERVIDOR???

agradeço a ajuda