- 18.1 Energy
- 18.2 Network Connectivity
- 18.3 Sensors and Actuators
- 18.4 Resources
- 18.5 Life Cycle
- 18.6 Summary
- 18.7 For Further Reading
- 18.8 Discussion Questions
18.2 Network Connectivity
In this section, we focus on the architectural concerns most relevant to network connectivity of mobile systems. We will focus on wireless communication between the mobile platform and the outside world. The network might be used to control the device or to send and receive information.
Wireless networks are categorized based on the distance over which they operate.
Within 4 centimeters. Near Field Communication (NFC) is used for keycards and contactless payment systems. Standards in this area are being developed by the GSM Alliance.
Within 10 meters. The IEEE 802.15 family of standards covers this distance. Bluetooth and Zigbee are common protocols within this category
Within 100 meters. The IEEE 802.11 family of standards (Wi-Fi) is used within this distance.
Within several kilometers. The IEEE 802.16 standards cover this distance. WiMAX is the commercial name for the IEEE 802.16 standards.
More than several kilometers. This is achieved by cellular or satellite communication.
Within all of these categories, the technologies and the standards are evolving rapidly.
The Architect’s Concerns
Designing for communication and network connectivity requires the architect to balance a large number of concerns, including the following:
Number of communication interfaces to support. With all of the different protocols and their rapid evolution, it is tempting for an architect to include all possible kinds of network interfaces. The goal when designing a mobile system is just the opposite: Only the strictly required interfaces should be included to optimize power consumption, heat generation, and space allocation.
Movement from one protocol to another. Despite the need to take a minimalist approach to interfaces, the architect must account for the possibility that during the course of a session, the mobile system may move from an environment that supports one protocol to an environment that supports another protocol. For example, a video may be streaming on Wi-Fi, but then the system may move to an environment without Wi-Fi and the video will be received over a cellular network. Such transitions should be seamless to the user.
Choosing the appropriate protocol dynamically. In the event that multiple protocols are simultaneously available, the system should choose a protocol dynamically based on factors such as cost, bandwidth, and power consumption.
Modifiability. Given the large number of protocols and their rapid evolution, it is likely that over the lifetime of a mobile system, new or alternative protocols will need to be supported. The system should be designed to support changes or replacements in the elements of the system involved in communication.
Bandwidth. The information to be communicated to other systems should be analyzed for distance, volume, and latency requirements so that appropriate architectural choices can be made. The protocols all vary in terms of those qualities.
Intermittent/limited/no connectivity. Communication may be lost while the device is in motion (e.g., a smartphone going through a tunnel). The system should be designed so that data integrity is maintained in case of a loss of connectivity, and computation can be resumed without loss of consistency when connectivity returns. The system should be designed to deal gracefully with limited connectivity or even no connectivity. Degraded and fallback modes should be dynamically available to deal with such situations.
Security. Mobile devices are particularly vulnerable to spoofing, eavesdropping, and man-in-the-middle attacks, so responding to such attacks should be part of the architect’s concerns.