- Service and Attribute Naming: Namespace based to avoid collisions and sustain uniqueness, human friendly service names, no usage of predefined templates for service names and attributes to support a common platform vision.
- Initial Communication Method: Unicast communication can only be used service discovery clients have specific prior configuration, hence such communication is infeasible in MANETs. A few Multicast messages to the directory, client can than proceed by explicit unicast messages. Link layer Broadcast can also work for a hop of distance.
- Discovery and Registration: Announcement based seems to be less suitable as client needs to listen and maintain a list of available services. Query based suits good to MANET and a client need not to process uninterested announcements.
- Service Discovery Infrastructure: Directory based models have a dedicated directory that maintains, processes, announces service information. This model is good when hundreds and thousands of services are incarnated in the network. Non-Directory based models have no dedicated components. When a query arrives, each service processes it; and replies if it matches with the desired one. A client can record service information for future usage.
- Service Information State: Soft State has an explicit service demise announcement; services too have explicit lease declaration in them, a graceful removal from the directory and announcement from the service itself. Hard State requires few service announcements and housekeeping. However, clients require to poll services to make sure that they are alive.
- Discovery Scopes: Proper discovery scopes minimize unnecessary computation on clients, services, and directories. Network topology based, User Role based, and Temporal Context based can be categorization of scopes.
- Service Selection: Although discovery scope can limit the number of service matches, there can a list of services available, and a selection could be required from them, Selection can be from user as manual, prompting user to choose or can be automatic, where the discovery protocol selects the service. This approach simplifies client programs and requires little user involvement. Good aspects that can be handled in automatic service selection are network hop distance to the service from requester client, load factor on services, service side robustness etc.