As on any recording
device, disk space is a critical resource. MediaSense provides a number of
features designed to meet various, sometimes conflicting, space management
needs.
MediaSense has two
different disk partitions for storing media files: one for recorded media, and
one for uploaded media. The former is used for continuous recording and
playback of conversations; the latter (which is usually much smaller) is used
for ViQ, VoD, and VoH. Video voice-mail greetings are stored with recorded
media. Both partitions are assigned their minimum size automatically at
installation and both may be assigned additional space when needed.
Th uploaded media
partition must be managed entirely by the administrator. It is the
administrator's job to keep track of the amount of space in use and available
and manually deleting unneeded videos or adding new storage as required. Be
aware that the amount of storage required for a single uploaded .mp4 file does
not equal the size of that file. MediaSense automatically converts it upon
upload into multiple formats and distributes it to all nodes in the cluster (so
that the right video is ready to be played on the right node when a caller
requires it). The only way to determine how much space a given video will
occupy is to upload that video, wait for it to become ready, and then check the
Media Partition Management page to see how much space was used.
The recorded media
partition is much more dynamic and can be managed either automatically by
MediaSense, or explicitly by a MediaSense API client application.
Recorded Media
Partition
At a high level,
two space management operating modes are available:
In recording
priority mode, MediaSense automatically prunes recordings that age beyond a
configurable number of days or when the percentage of available disk space
falls to dangerous levels.
Retention priority
mode focuses on media retention and MediaSense does not automatically prune
recordings for any reason.
In either mode,
MediaSense stops accepting new calls when necessary to protect the space
remaining for calls that are currently in progress. Affected calls are
automatically redirected to another MediaSense recording server (if one is
available).
Retention priority
operation
-
No automatic
pruning takes place.
-
When a server
enters the warning condition (75 percent), an alarm is raised.
-
When a server
enters the critical condition (90 percent), it redirects new calls.
-
When a server
enters the emergency condition (99 percent), it drops active recordings.
-
When a server
exits a critical condition (drops below 87 percent), it starts taking new
calls.
Recording priority
operation
-
Automatic
age-based pruning is in effect; recordings older than a configurable number of
days are automatically pruned.
-
When a server
enters the warning condition (75 percent), an alarm is raised.
-
When a server
reaches the critical condition (90 percent), older recordings (even if younger
than the age threshold) are pruned to make room for new ones.
-
When a server
enters the emergency condition (99 percent), it redirects new calls and drops
ongoing recordings.
-
When a server
exits the emergency condition (drops below 97 percent), it starts taking new
calls.
Any automatic
pruning applies only to raw recording files. An administrative option
determines whether MediaSense should automatically delete any.mp4 recordings
that were created using the deprecated convertSession API, as well as any
metadata associated with pruned recordings. If this option is not enabled, an
API client must take responsibility for deleting them (.mp4 and .wav files that
are created dynamically by the mp4url or wavUrl functions do get cleaned up
automatically by the system, but the API client does not need to be
responsible).
Clients also have
the option of managing disk usage directly. MediaSense progressively takes more
aggressive action when storage levels reach more dangerous levels, but as each
stage is entered or exited, it publishes an event to subscribed clients. These
events inform the client when space management actions are necessary. The
MediaSense API offers a number of options to use for deleting
recordings—including an option to issue a customized bulk delete operation that
is then carried out without client involvement.
The capability to
explicitly delete old recorded sessions is not limited to automatic operations
performed by a server-based client. A customer can take a manual approach, for
example, designing a web page that obtains and displays appropriate
meta-information about older recordings, and allowing an administrator to
selectively delete the recordings considered to be expendable. This web page
would use the same API that the server-based client would use.