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.
The 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:
- Recording priority—for
customers who would rather lose an old recording than miss a new one.
- Retention priority—for
customers who would rather miss a new recording than lose an old one.
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
behavior
- No automatic pruning takes
place.
- When a server enters the
warning condition (75%), an alarm is raised.
- When a server enters the
critical condition (90%), it redirects new calls.
- When a server enters the
emergency condition (99%), it drops active recordings.
- When a server exits a
critical condition (drops below 87%), it starts taking new calls.
Recording priority
behavior
- 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%), an alarm is raised.
- When a server reaches the
critical condition (90%), 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%), it redirects new calls and drops ongoing recordings.
- When a server exits the an
emergency condition (drops below 97%), 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 mechanisms do get cleaned up
automatically by the system, but the API client need not concern itself with
them).
Clients also have
the option of managing disk usage directly. MediaSense takes progressively 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 completely manual
approach, for example, designing a web page that fetches and displays
appropriate meta-information about older recordings and allowing an
administrator to selectively delete those that he or she considers to be
expendable. Such a web page would use the same API that the server-based client
would use.