Service discovery is an essential task in pervasive computing environments. Simple and efficient service discovery enables heterogeneous and pervasive computing devices and services to be easier to use. In this chapter, we discuss the key issues and solutions for service discovery architecture and protocol design for pervasive computing environments. Service design addresses the static and dynamic properties of services. Directory design focuses on scalability, topology, and infrastructure issues. Service integration uses services as building blocks to achieve complex services. Cross-layer design optimizes the performance of the protocols for ad hoc and sensor networks by integrating service discovery processes into lower layers of the network protocols. Security and privacy design protects the information, communication, devices, and services. We also point out the future research issues.