In this approach, P2P
detection code is now delivered as a plugin within the StarOS binary.
The plugin is loaded into the system at run time. Whenever there
is a change in P2P detection logic of an existing application or
a new P2P protocol/application needs to be added, a new
version of the plugin is provided as a plugin module. The new plugin
is loaded onto the system dynamically without disrupting other services.
Once the plugin has been installed and configured, the new P2P rules
come into effect for detection.
IMPORTANT:
The dynamically loaded
plugins are not incremental. A plugin loads protocol detection logic for
all the protocols/applications. A user can update to a
higher priority plugin or rollback to a lower priority plugin.
Patching is the process
used to install a plugin as an incremental update to a StarOS release. One
patch can be provided to multiple compatible, concurrent product
releases. A plugin patch is distributed in the form of a compressed
distribution kit through the internet or by other means (USB, CD,
etc.).
A plugin is a functional
software entity that provides incremental updates to a pre-existing StarOS
software component. Plugins can be dynamically loaded at runtime
and do not require a system restart.
A plugin module is a
specific instance of a plugin version consisting of at least one
file that can be added to a running, in-service system. The module
contains the information or instructions for a specific component's
incremental update. Typically this will be a single plugin file.
The Version Priority
List (VPL) is a linked list of module versions associated with a
specific plugin. Each plugin has one VPL. The list is sorted in
ascending order by the priority number that is assigned by the administrator.
When updating, the lowest priority number is loaded first and if that
version is not successful, the version in the VPL with the next
sequentially greater priority number is loaded. This list is iterated
until a successful version is found. The VPL also supports manual
rollback to a previous version (higher priority number).
The basic sequence for
the dynamic software upgrade process is as follows:
-
Downloading the Patch
Kit
-
-
-
-
Rolling Back to a Previous
Plugin Version
For the detailed procedure
on performing dynamic software upgrade, refer to the
section of the
chapter.