A Scheduler for a Television Transmission System
Prepared by Elena Volynskaya (ElenaV@iconsolutions.com)
Overview
The television broadcasting companies or "networks" own
and lease equipment for composing, transmitting and receiving shows and
non-show material. Such equipment includes studios and tape devices for
composing shows and playing them back; transmitters, antennae and transponders
for distributing the programs; receivers for receiving at the affiliate
stations and monitoring the transmissions at the Master Earth stations
where the programs are composed and where they are distributed from. Sometimes,
because of the weather conditions the programs cannot be distributed over
the satellites and then the network leases or uses its own phone or fiber
lines that can be used to transmit the signal terrestrially.
The network has to use this equipment efficiently, as
well as make sure that there are no conflicts between different programs
in using it and therefore there are no outages on the air, which is not
only embarrassing, but may also cost a lot of money. Therefore, there is
a need to schedule and manage the use of various network and non-network
composition and distribution facilities as well as affiliate station facilities,
required to play back and distribute program feeds to the destination affiliate
stations.
Fundamentally, scheduling refers to the decision making
process of assigning resources to activities over time. In this design
we will be concerned with resource allocation, i.e. identifying and allocating
the resource(s) required to handle an activity and manage the on-going
availability of the resource(s) over time.
We would like you to design an object-oriented scheduling
module that provides a basic scheduling algorithm that can be extended
to support the specific resource allocation requirements outlined in this
document. These requirements are simplified for the purposes of this design
problem.
Facilities
There are two major groups of facilities in a network
inventory: the ones needed for the composition of shows and the ones needed
for show distribution.
- All facilities can be divided into types based on the function
they perform. For instance, some of those types are studios, channels,
transmitters and transponders. Some of the facility types can be classified
further, but for the purposes of this design we will not go beyond simple
classification.
- Facilities can be public, i.e. available to be used by anybody,
and private, available to be used only by some user group(s).
- A sequence of facilities that create a video transmission
is called a path. Depending on what a transmission is used for, it has
to consist of a certain combination of facilities.
- Normally each facility can be used in only one transmission
at a time, i.e. it cannot be shared. However, some types of composition
and distribution facilities can be shared between the transmissions. Some
of such types are studios, the same live show can be transmitted to
different audiences; antennae, multiple video signals can be beamed to
transponders by an antenna, provided all of those transponders are on the
same satellite.
- Most of facilities can be used on any two transmissions that
are scheduled back to back, i.e. first transmission from 8am to 8:15am
and the next from 8:15am to 8:30am. However, some facility types cannot
be used on two transmissions scheduled back to back, because they need
a tune-up time before they can be switched. For example, if a transmitter
is used with one transponder from 8am to 8:15am, it cannot be used with
a different transponder starting from 8:15, but it can be used with the
same transponder. The same goes for antenna and satellite: an antenna needs
time to be turned and tuned to a different satellite. This time needed
for an antenna or transmitter to be adjusted is called guardband and is
specific for a facility type.
Ordering Facilities
In order to create a transmission that will be executed in production,
a facility order has to be composed which will provide information
on how and in what combination those facilities will be used, at what time,
etc. However, to design a facility order module would constitute its own
problem, so for our purposes you can consider a facility order to be a
separate module that will have an interface to the Scheduler application.
The important types of facility orders you will need to
know about are (1) reservation orders and (2) air date orders. Reservation
orders are created to tentatively schedule a group of transmissions to
happen at a certain time on certain days of the week for a range of dates,
for example, schedule a transmission to happen from April 1 to June 15
from 9am till 9:30am on Mondays. Air date orders are either created from
reservation orders or independently for a certain date.
Scheduling Facilities
A scheduled usage of a facility is also called a "booking".
- A facility is available all the time, 24 hours a day 7 days
a week, unless there is a reason for it to be taken out of service. Such
periods of non-availability are called constraints.
- Both constraints and bookings can be made One-Time-Only or
Recurring, which means booking for contiguous time-intervals that occur
on one or more days of the week for a specified date range.
- In order to schedule a facility to be used in a transmission
the following data has to be provided: the start and the end date of the
booking, the start and the end time of the booking, the type (One-Time-Only
or Recurring) of the booking and, in case of a Recurring booking, the days
of the week when the booking is valid.
Constraints
Constraints can be existing scheduled activities, or they
can denote general unavailability of a facility such as when a facility
is scheduled for maintenance or a particular user group has no rights to
use it. However, the right to use a facility can be granted to the group
of users for a period of time. Recurring constraint means that a facility
will be unavailable for the specified period of time on the specified days
of the week for a range of dates.
Bookings
A recurring booking means that a facility has been reserved
to be used in a transmission for the specified period of time, although
it does not mean that it will actually be used in production. These bookings
are requested by reservation orders and are converted into production bookings
at the time an air date order is created.
OTO booking means that a facility is going to be used
in production for the specified time period. It can also be referred to
as a "production booking".
Conflicts
A conflict will occur if a booking or a constraint for
a facility is requested that overlaps in time with an existing booking
or constraint. A conflict also occurs if two bookings are scheduled so
that no ample time is available for the guardband adjustments.
However, if a booking for an air date order is requested
that overlaps with a recurring booking created for the corresponding reservation
order, this situation is not considered a conflict and has to be resolved
by translating existing reservation into a production booking.
Scheduler Application
The Scheduler application should implement resource allocation
for the transmission scheduling. It should have an interface to the Facilities
Inventory and the Facility Order modules. The major requirements to the
application are:
- The application has to provide conflict free facility bookings. As
mentioned earlier, certain classes of composition and distribution
facilities can be used in multiple transmissions simultaneously, which
normally would be considered a conflict. Assuming there are business
rules that would resolve a conflict of this type, you are requested to
include this consideration in your design.
- When a booking is rejected because of the conflict(s) the
system’s response should include full description of the conflict(s).
- The interface to the Scheduler should assume that bookings
may be requested either for an individual facility or for the whole
transmission. In case of a request for the whole transmission the
Scheduler should book as many facilities used in the transmission as it
can.
- The Scheduler should also be able to determine whether a
requested transmission is complete. You can assume that there is a number
of business rules known to the Scheduler that will enable it to make that
decision.
- The design should take into account concurrency issues, such
as simultaneous requests for a facility bookings by more than one user.
Use Cases
Case 1: Constraint request for aFacility
Take aFacility down for maintenance from May 1, 1998 8:30pm till May
1, 1998 11:30pm. There are no existing bookings for the specified period
of time.
Booking is accepted.
Case 2: Constraint request for aFacility
Take aFacility down for maintenance from May 1, 1998 8:30pm till May
1, 1998 11:30pm. There is an existing booking for May 1, 1998 from 7:30pm
till 9:00pm.
Booking is rejected.
Case 3: Reservation booking request for aFacility
Reserve aFacility from October 1, 1998 till May 1, 1999 from 8:30pm
to 9:00pm on Mondays. There are no existing bookings for the specified
period of time.
Booking is accepted.
Case 4: Reservation booking request for aFacility
Reserve aFacility from October 1, 1998 till May 1, 1999 from 8:30pm
to 9:00pm on Mondays. There is an existing booking for October 19, 1998
(Monday) from 8:00pm till 9:00pm.
Booking is rejected.
Case 5: Production booking request for aTransmitter
Reserve aTransmitter for May 1, 1998 from 8:30pm to 9:00pm on a transmission
path with aTransponder2. There is an existing booking for aTransmitter
for May 1, 1998 from 8:00pm to 8:30pm on a transmission path with aTransponder1.
Booking is rejected.
Case 6: Production booking request for aFacility from an air date aOrder
created from a booked reservation order rOrder
Book aFacility for October 19, 1998 from 8:30pm to 9:00pm. There is
a booking for the specified period of time created for rOrder.
Booking is accepted.
Case 7: Production booking request for aTransmission
Book all facilities forming aTransmission, aFac1, aFac2, aFac3 for
May 1, 1998 from 8:30pm to 9:00pm. There are no existing bookings for any
of the facilities for the specified period of time.
Bookings are created for all the facilities.
Case 8: Production booking request for aTransmission
Book all facilities forming aTransmission, aFac1, aFac2, aFac3 for
May 1, 1998 from 8:30pm to 9:00pm. There are no existing bookings for facilities
aFac1 and aFac2 for the specified period of time. There is an existing
booking for aFac3 for May 1, 1998 from 8:30pm till 8:45pm.
Bookings are created for facilities aFac1 and aFac2, booking is rejected
for aFac3.
Case 9: Production booking request for a composition facility of class
Studio aCmpFac
Book aCmpFac for May 1, 1998 from 8:30pm till 9:00pm for aShow1; aShow1
can share composition facilities of class Studio with aShow2. There is
an existing booking for aCmpFac for May 1, 1998 from 8:30pm till 9:00pm
for aShow2.
Booking is accepted.
Case 10: Production booking request for a composition facility of class
Studio aCmpFac
Book aCmpFac for May 1, 1998 from 8:30pm till 9:00pm for aShow1; aShow1
can share composition facilities of class Studio with aShow2. There is
an existing booking for aCmpFac for May 1, 1998 from 8:45pm till 9:45pm
for aShow3.
Booking is rejected.
Case 11: Production booking request for aFacility by a user from aUserGroup1
Book aFacility for October 19, 1998 from 8:30pm to 9:00pm; aUserGroup1
does not have rights to book aFacility.
Booking is rejected.
Case 12: Production booking request for aFacility by a user from aUserGroup1
Book aFacility for October 19, 1998 from 8:30pm to 9:00pm; aUserGroup1
does not have rights to book aFacility; however, there is an existing constraint
transferring rights to aUserGroup1 for October 19, 1998 from 9:00am till
9:00pm.
Booking as accepted.
Glossary
| Transmission |
a process of carrying electromagnetic
waves (e.g. a video signal) through space from one point to another |
| Facility |
a resource used to generate or
carry a video transmission |
| Studio |
a facility where a TV program
is filmed |
| Channel |
a facility that is a video cable
connecting two points |
| Transmitter |
a facility that is capable of
beaming a video signal into space |
| Transponder |
a facility that resides on a satellite
and is able to receive video signal from the transmitter on Earth convert
it to another signal and retransmit it back to Earth |
| Receiver |
a facility that is capable of
receiving a video signal from space |
| Antenna |
a facility that serves as an aiming
device in transmission of the video signal from the transmitter to the
satellite |