In this paper, we examine the benefits, and pitfalls, of various real-time scheduling methods, and discuss how to choose the most appropriate method for a network-connected embedded device. We explore how each scheduling method can enable (or impede) key application requirements such as: downloading and running new software while maintaining real-time behavior; prohibiting untrusted software from taking over the CPU; achieving an optimal multimedia experience; and allowing remote systems to query or update your embedded device without compromising performance.