Software (often on firmware) designed to make physical products and devices "smarter" by doing things like sharing usage information, helping diagnose problems, indicating maintenance schedules, providing alerts, or enabling devices to take orders from other systems is referred to as ___________. Desktop software programs Enterprise Resource Planning systems Embedded systems Multi-threaded Application servers