Architecture

The Open Mobile for Windows application contains eight main elements, with the ability to add more elements in the future, either by iPass or by third parties, all interconnected by the iPass service interface. The service interface is a message-passing mechanism that lets the elements communicate with one another without being tightly coupled. These elements can be combined into multiple flexible product offerings.

User Interface

The Open Mobile User Interface (UI) is designed to enable all Open Mobile client functional elements to interact with the user on an as-needed basis, to show status, get user input, and perform other functions.

There are two main representations of the Open Mobile UI, one by a main screen UI, and the other by Windows system tray functions.

The current Open Mobile UI interacts with the Connection Assistant through a custom WCF-based API called iMobilityService. The other functional elements have little UI interaction.

Connection Assistant

The Open Mobile Connection Assistant is responsible for the Internet connection, whether connected over Wi-Fi, Ethernet, or Mobile Broadband. It detects the available network adapters, ranks the networks in the preferred order according to the policy defined by iPass, the partner, or the customer. Optionally, it automatically connects to the best network. If the network connection is dropped, it can automatically reconnect.

The Connection Assistant monitors all network adapters so that it can detect and react to connections established outside of the Connection Assistant (for example, by the Windows operating system). It can apply policies to all connections, those established by the iPass Connection Assistant, or those inherited from other connection managers.

The Open Mobile Connection Assistant is only responsible for the Internet connection. It is not responsible for policies around connectivity or for managing the VPN, which are handled by other modules.

Dial Assistant

There is a need to be able to connect to dial networks, in parts of the world where there are no alternative networks. As worldwide dial usage is shrinking every month, iPass expects that this will not be a heavily used option.

The user experience for dial is very different than for detected networks, the dial component is being implemented as a separate element that can be included or omitted, depending on the customer’s requirements.

The dial assistant will launch from Open Mobile, but will have its interface to manage the dial connection. It will generate events when the Internet connection is established or lost, so that the other elements (for example, VPN Assistant) can work seamlessly no matter how the Internet connection was established.

VPN Assistant

The VPN Assistant component is responsible for creating, monitoring, and tearing down VPN tunnels. It is alerted when an Internet connection has been established and decides whether a VPN tunnel should also be established. If the tunnel fails, it can automatically re-establish the VPN tunnel.

The VPN Assistant supports all major VPN clients and is designed so that support for additional VPN clients can be added without affecting the rest of the Open Mobile client.

Event Assistant

The Event Assistant provides a generalized mechanism to configure actions that should be executed when an event occurs, such as a change in network state like connecting or disconnecting. When such an event occurs, the Event Assistant component is responsible for determining what action to take (for example, launch an application), and executing that action. Multiple actions can be defined for the same event, and the Event Assistant will take care of executing all the required actions.

Control Assistant

The Control Assistant enables the IT administrator to define policies that are enforced whenever the user connects to the Internet. One such set of policies is around the launching of applications that may require an Internet or VPN connection. The Application Launch Assistant provides a way for the IT administrator or the end user to add shortcuts to launch an application that may need an Internet connection or a VPN tunnel. When the application is requested, the Application Launch Assistant determines whether an Internet connection or a VPN tunnel is required, using a configuration file. If either is required, and not currently available, the Application Launch Assistant will request the appropriate connection, and then launch the application.

The Policy Enforcer is a new element that is configured with rules that define what processes must be running or not running, whenever an Internet connection is in use. The Connection Assistant will check with the Policy Enforcer to ensure that the system complies with policy, before establishing the Internet connection. Similarly, the VPN Assistant will check with the Policy Enforcer before establishing a VPN tunnel. The Policy Enforcer will monitor the system to ensure that it stays in compliance with policy. If it goes out of compliance (for example, if the user stops a required process, or starts an unapproved process), the Policy Enforcer can try to bring the system back into compliance (for example, kill the offending process). If it cannot bring the system back into compliance, it will inform the Connection Assistant to take down the Internet connection.

These are just simple examples of what the Control Assistant can do. Over time, iPass plans to add more elements to the Control Assistant to monitor more aspects of the system, beyond the running processes and services.

Update Assistant

The Update Assistant is responsible for communicating with the iPass servers on a regular basis, to keep the client up to date. It is responsible for uploading data from the client such as connection records and device diagnostics, and for downloading data to the client, such as new configuration files, new directory files, and new software. The Update Assistant is also responsible for ensuring that data uploaded and downloaded is legitimate, and came from a valid iPass server, so that the Open Mobile client does not load unauthorized software or configurations. All content received from the iPass server is signed by iPass, and the Update Assistant will verify the signature before accepting the update.

The Update Assistant is the only required software element that must be included with every iPass Open Mobile client bundle, to ensure that iPass can manage and evolve the Open Mobile client.

Services

After Open Mobile is launched, the following services will be running:

  • iMobility: services the Open Mobile UI and Dial Assistant.
  • iMobilityService: handles the Connection Assistant.
  • iPlatformHost: services the VPN Assistant, Event Assistant, Update Assistant, Software Assistant, and Control Assistant.
  • iPlatformService: services the Application Launch Assistant.
  • omlite: handles the Open Mobile Express client (if enabled).

If one of these services is not running, some application functionality will likely be impaired.

File and Registry Locations

Open Mobile installs files to the following Windows folders:

Default Install Folders

  • Connection Manager: \Program Files\iPass\Open Mobile
  • Platform Service: \Program Files\iPass\Open Mobile\omsi
  • Profiles:
    • Windows XP: \Documents and Settings\All Users\Application Data\NGC\Open Mobile\Profiles
    • Windows Vista, Windows 7, and Windows 8: \Program Data\NGC\Open Mobile\Profiles

Default Program Group

Start | Programs | iPass | Open Mobile

Installation Log File Folder

  • \Users\<currentuser>\AppData\Local\Temp

Program Log File Folder

  • Windows XP: \Documents and Settings\All Users\Application Data\NGC\Logs
  • Windows Vista, Windows 7, and Windows 8: \Program Data\NGC\Logs

User Preferences Folder

  • Windows XP: C:\Documents and Settings\<current user>\Local Settings\Application Data\NGC
  • Windows Vista, Windows 7, and Windows 8: C:\Users\<currentuser>\AppData\Local\NGC

Registry Locations:

  • HKLM\SOFTWARE\OM
  • HKCU\Software\OM
  • Windows 7 64-bit only: HKLM\software\wow6432node\OM

Open Mobile is designed to run at system startup and be available in the Windows system tray. Any change to this configuration is outside of the intended product design for Open Mobile and will render the product unsupported by iPass.

Go to: Open Mobile for Windows Help

 

©2015 iPass Inc. All rights reserved. Terms of Use