Here we are talking about base-stations for mobile phone networks, and similar devices. A base station serve the mobile phones that are in range, and routing calls and data transmissions between the phones (or any other devices with mobile connectivity such as computers, tablets and IoT devices) and the wider telephone network and the Internet. Base stations will also have to deal with handing over connections to neighbouring base-stations when devices move out of their area, and all operations have to be done in a seamless fashion as possible. base stations will have a series of special-purpose line cards plugged into a 'data plane', along with a number of control cards in a separate 'control plane'.
As an example of the needs for a database in such a system, the line cards will need to be given some configuration information when they start up, and be informed immediately when the configuration is changed. In addition, the line cards will also need to report constantly-changing information about their status, so that applications running in the control plane (or elsewhere in systems connected to the control side of the base station) can monitor what is happening and reconfigure as needed.
As well as its performance, Polyhedra fits well in here for a variety of reasons, including:
- in-built support for master/hot standby configurations gives an affordable solution for high-availability
- Active queries allow line cards to pick up their configuration information on start-up, and be updated immediately (or, if preferred, at the time they reach an appropriate point in their control loop) when relevant configuration changes occur, without having to poll the database. In addition control plane applications can detect immediately when line card report up alarm conditions or other status changes that need prompt action.
- As for SCADA, the fact that Polyhedra is relational and uses SQL is important to this
market, as it means that industry-standard APIs such as ODBC and JDBC
can be used when writing client applications . In addition, it is possible
to alter the database schema dynamically, and thus perform software
upgrades without interrupting the system. For example, suppose a new line card can take an extra item of configuration information compared to the previous iteration of the card; then on first start the software on the line card can update the database to have a new column to hold this configuration information, without affecting the applications running on the other line cards in the chassis. Dynamic schema modification is also important when performing significant upgrades to the software in a base station, avoiding the need for the fork-lift approach! (A forklift upgrade is where a base station is 'upgraded' by bringing in a fully-configured replacement base station to the site and switching everything over to it; the old based station can then be taken off the site, reconfigured, and taken to the next site that needs an upgrade.)
- The heterogeneous nature of Polyhedra's client-server protocol means that it does not matter if client applications are running on boards running a different operating system to that on the boards on which the Polyhedra servers are running, or even if the boards have a completely different hardware architecture. Thus, (where permitted) applications running on a Solaris/sparc or Windows box can connect to the database service on the central server even though the latter may be running on an ARM or PowerPC box under Linux or OSE.