Application layer transfer protocol with support for file upload/download and   indexed searching, using both TCP and UDP protocols