FIELD OF THE APPLICATION
[0001] The present application relates to set top boxes
BACKGROUND OF THE APPLICATION
[0002] A set top box (STB) or set-top unit (STU) is a device that connects an external source
of signal to a television or other display device, turning the signal into content
which is then displayed on the television screen. The signal source may come from
a satellite dish, a coaxial cable (cable television), IPTV (e.g. over fibre, DSL phone
or Ethernet), or a UHF\VHF antenna.
[0003] Whilst set-top boxes may traditionally have been mere decoder devices, modern set-top
boxes offer more advanced features including, for example, interactive television
and the ability to record programmes.
[0004] With the increasing complexity and ubiquity of digital Set Top Boxes, the problem
of maintaining them in fully working order with satisfied subscribers is becoming
increasingly costly. Whilst it is known to include a diagnostic facility within the
set-top boxes, this facility tends to be limited and may be of limited use in determining
the problems on a set-top box as might be perceived by a user. The present application
is directed at providing solutions that improves upon prior art approaches.
SUMMARY
[0005] The present application solves this problem by including an ability within a multimedia
device, which may for example, be a set top box for a user to send instructions to
the set top box as if they were using the remote control of the set top box. In addition
to or in places of this function, the set top box also may provide the ability to
send copies of what is being displayed by the set top box to a user remote from the
set top box. Thus a technician can effectively interface with the set top box as if
they were present in the end user's home watching the output from the set top box
on a connected television and similarly they can send remote control key presses as
if they were using the user's remote control. A diagnostic function may be included
within the set top box. The diagnostic function suitably runs in the background on
the set top box but may be remotely activatable or responsive to changes in state
on the set top box, including for example the detection of a fault.
[0006] The present application provides a set-top box and system in accordance with the
claims which follow. Advantageous embodiments and features are set forth in dependent
claims.
[0007] In one embodiment, a set top box is provided for decoding received media content
in a signal and providing this media content to a television, the set top box comprising:
a) a communications channel for receiving instructions and transmitting data to an
external device, and b) a diagnostic feature activatable by the external device over
the communications channel and which when activated causes the set top box to perform
one or more tests on the set top box and return the results to the external device.
[0008] The communications channel may be a local wireless connection. The external device
may be a handheld computing device. The wireless connection may be a Wi-Fi connection
to a local gateway to the internet and the external device is a server connected the
internet in a remote location. The external device may be configured to allow a user
through a graphical interface to transmit instructions to the set top box.
[0009] In another embodiment, a set top box is provided for decoding received media content
and providing this media content to a television set, the set top box having a control
interface for receiving commands from a local user to perform functions on the set
top box, a communications module for receiving instructions from a remote user over
a communications channel, an emulator for emulating the receipt of at least one command
at the remote control interface in response to the receipt of an instruction from
a remote user by the communications module to issue the at least one command. The
control interface may be a remote control interface. The control interface may comprise
an infra red detector. The set top box may further comprise: a) a video module in
which received media content is formatted into the video component of a TV signal,
and b) an image capturing block for capturing at least one image from the video circuit
and transmitting this captured image to the remote user through the communications
module. The image capturing block may be configured to compress the image into in
a compressed format before transmission. The video module may be adapted to provide
On Screen Display (OSD) information within the video component. The video module may
be configured to retrieve the OSD information from an OSD memory. Suitably, the image
captured by the image capturing block comprises OSD information retrieved from the
OSD memory. The image captured may be exclusively OSD information retrieved from the
OSD memory.
[0010] The communications module may be configured to obtain a measure of speed and\or bandwidth
of the communications channel and wherein the degree of compression performed by the
image capturing block is responsive to the obtained measure.
[0011] The instruction received from the user may comprise a series of commands to be issued
to the set top box through the emulator and wherein the emulator issues the commands
to the remote control interface with a delay between commands to allow the set top
box to perform the command. The image capturing block may be triggered after the execution
of the last command in the series.
[0012] The set top box may comprise a diagnostic function, which may be remotely activated
by the remote user by an instruction sent over the communications channel and which
when activated performs one or more diagnostic tests upon the set top box. The results
of the one or more diagnostic tests may be provided to the user by the diagnostic
function through the communications module. The communications module may initially
be disabled to act upon instructions from a remote user over the communications channel.
In which case, the communication module may be enabled to act upon instructions from
a remote user by the issuing of at least one command by a local user at the control
interface. This enabling may comprise the communications module establishing a session
with a remote server.
[0013] In another embodiment, a set top box is provided having a power measurement component,
the power measurement component comprises at least one timer for measuring the aggregate
duration a set top box is in an individual state. Suitably, there may be a plurality
of timers, each timer recording the aggregate duration the set top box is in an associated
state. The associated state may be one or more of: a) the STB, b) a hard drive, c)
a tuner, and d) an AV output. The set top box may be configured to report the durations
of the at least one state to a remote server. The set top box may be configured to
perform a power consumption calculation from the timed durations.
[0014] The set top box may be suitably configured to upload the result of the power consumption
calculation to a remote server.
[0015] A further embodiment provides a method of measuring the power consumption of a set
top box, the method comprising the step of measuring the duration of different states
of the set top box, retrieving a measure of power usage in each of the different states;
and using the measured durations and power usage measure for each state to obtain
a power consumption for that state and aggregating the power consumption for the different
states to provide a total measure.
[0016] A further embodiment provides a set top box comprising: a) an internal monitoring
component for monitoring the state of one or more of the hardware\software components
within the set top box, b) a communications component for sending data to a remote
computing system, wherein the internal monitoring component is responsive to a detection
of a change of state in the one or the hardware\software components to cause the communications
component to send a notification of said change in state to the remote computing system.
The change of state may be one that is indicative of a fault. The one or more hardware\software
components may include one or more of the following: a) a hard drive, b) a tuner,
c) an AV output, d) Conditional Access card, e) a network interface, f) a modem, and
g) an externally connected device connected to a Universal Serial Bus (USB) or High
Definition Multimedia Interface (HDMI) of the set top box. The internal monitoring
component may be a middleware application component. The status updates may be received
from other middleware components. The change in state may be one of 'booting' the
set top box. The change in state may be one of a timer.
[0017] The application also extends to one or more of:
- a) a set top box;
- b) a computing system configured for receiving diagnostic data from a set top box
and storing the received diagnostic data in a database substantially as described
herein with reference to and/or as illustrated in the accompanying drawings;
- c) a hand held computing device for use in the servicing\installation of set top boxes;
- d) a diagnostic software component for a set top box ;
- e) a method of operating a set top box;
all substantially as described herein with reference to and/or as illustrated in the
accompanying drawings
DESCRIPTION OF DRAWINGS
[0018] The present application will now be described with reference to an exemplary implementation
and the accompanying drawings in which:
Figure 1 illustrates the components of a system provided by the present application;
Figure 2 illustrates the interactions between a customer support function and a customer
using aspects of the system of Figure 1;
Figure 3 illustrates the configuration of a set top box suitable for implementing
an aspect of Figure 1;
Figure 4 illustrates an arrangement of Figure 3 adapted for implementing an aspect
of Figure 1 ;
Figure 5 (A-C) represents a process flow for a method for use in the system of Figure
1;
Figure 6 (A-B) represents a process flow for a further method for use in the system
of Figure 1; and
Figure 7 illustrates specific components of the system of Figure 1.
DETAILED DESCRIPTION
[0019] As discussed above, set-top box service operators are looking for ways to ensure
that these complex devices fail less often. For those subscribers who do experience
problems, operators are looking for ways to improve the chances that a remote customer
support representative (CSR) may be able to help them and resolve a customer's problem
over, for example, the telephone. And in those cases where further field support is
required, operators are trying to improve the capabilities of the field engineering
team to resolve the issue without switching out the Set Top Box (STB) and replacing
it with another unit. Finally for those units which do return to the Operator or their
manufacturers for repair, they are looking to improve the screen, clean and repair
process to minimise the time spent in repair and improve the reliability of screening
decisions made.
[0020] The present application is directing at assisting with some or all of these aspects
of an operator's STB supply chain operation and will now be explained with reference
to the architecture of an STB. One significant factor is that the present application
does not require a change to the hardware of most STBs merely an
upgrade to its software.
[0021] The present application, as illustrated in Figures 1 and 2, comprises a software
component 4 resident on a set-top box 2 (SEC - Set top box Embedded component). A
software component resident on an external device\system, for example which may be
a field engineer's hand held device 6(HSC - Handheld Software Component 8) or the
operator's CRM system 12 (CSC - CRM Software Component 10) interacts with the software
component on the set top box.
[0022] A typical STB architecture, as illustrated in Figure 3, comprises hardware which
is managed by a software stack. This STB software stack (or firmware) is resident
on the box.
[0023] The STB Software stack consists of an Operating System 30, Drivers 32, Middleware
34, and Application layers 38. Drivers implement and are responsible for low level
hardware interfacing 36 for example with the tuner circuitry, demux logic, graphics,
hard disk drives, CA (Conditional Access Card), and communications.
[0024] Middleware implements complex functionality on top of the driver layer (e.g. display
video on channel 111) and abstracts the complexity of different hardware from the
applications layer. The user interface (as presented as an OSD on the television)
is implemented in the Application layer. This software stack including Middleware
and Application is referred to generally as the Main System Image.
[0025] The present application arises from the incorporation, for example, of a software
feature, suitably in the form of additional software incorporated into the firmware
resident on the Set Top Box in the user's home. This piece of software may operate
in different modes depending on the functions to be performed, the way it is triggered
and the way it is being accessed.
[0026] The software may be integrated into the STB, for example, as illustrated in Figure
4, in which this additional software referred to herein generally as the SEC or STB
Embedded Component. As further detailed below, the SEC software has two primary components,
SEC Boottime 4b and SEC Runtime 4a, which are suitably middleware components.
[0027] When the STB is powered on, the Operating System is started. The Operating System
initializes the drivers and is then configured to start the SEC Boot Time Component.
The SEC Boot Time component may decide to run low-level hardware diagnostics as described
further below. If the SEC Boot Time Component exits, the Operating System will proceed
to start the Middleware. The Middleware, though an internal initialization process,
initializes all of its components, followed by the Application (user interface).
[0028] The SEC Runtime is a middleware component, and so is started with other middleware
as part of the normal boot process. It may be regarded as an internal monitoring component.
[0029] The middleware contains software components responsible for managing individual hardware
components. These middleware components provide a variety of status information about
the hardware they manage. This status information identifies whether or not a hardware
component has failed.
[0030] The Run Time Component of the SEC is configured to perform a plurality of tasks,
which may include but is not limited to some or all of the following:
- Maintain a 'data model', which contains the status of Hardware components of interest.
This data model is suitably built by querying other middleware components (e.g. Tuner
Management) to retrieve hardware status. The run time component registers with the
other middleware components to receive notifications of any change in hardware status.
- Use facilities provided by other middleware components to implement diagnostics (e.g.
inject simulated remote keypresses, retrieve configuration settings used by the application
component).
- Implement communications through a communications module\circuit in the STB with the
HSC and CSC. Communications may be initiated in response to a variety of criteria
including the presence of hardware errors in the data model, a request by the user
of the STB via a handheld remote control or to a request received over a TCP/IP network
connection from the HSC.
SEC Runtime Diagnostics and Status:
[0031] The SEC is initialised during the Middleware startup process. When the SEC is initialised,
it queries other Middleware components to retrieve the status of hardware components
in which it is interested.
[0032] During operating of the Set Top Box, hardware failures are identified by other middleware
components, which then notify the SEC via a callback mechanism. The SEC is notified
of hardware status changes (e.g. a tuner tuning to a new transponder) in the same
manner.
SEC Runtime Remote Control:
[0033] The SEC is suitably configured to be activatable in the sense that it responds to
received commands from the HSC or CSC and to inject remote control keypresses, and
retrieve On Screen Display (OSD) snapshots.
SEC Runtime Keypress Injection:
[0034] To simulate remote control keypresses, the SEC may call on an API provided by the
Middleware component responsible for managing the remote control hardware. This component
then passes the keypresses on to other Middleware components and the Application as
if they had been received from the normal infra red remote control used by set top
box users.
SEC Runtime OSD Snapshot Retrieval:
[0035] The Middleware's graphics management component maintains a 'graphics surface' (which
for ease of understanding may be thought of as a frame buffer containing the pixel
data which will be displayed on the OSD) which contains the contents of the OSD and
which is combined with or replaces media content being converted into video by the
video circuitry of the STB for display on a connected television.
[0036] Suitably, the SEC maintains its own graphics surface, with a resolution smaller than
or equal to the surface which contains the contents of the OSD.
[0037] To retrieve an OSD snapshot, an image capturing block within the SEC copies the contents
of the OSD graphics surface to its own graphics surface. The contents may be resized
according to parameters provided by the HSC/CSC. The SEC may then compress the contents
of the OSD surface using a suitable compression algorithm, e.g. JPEG compression.
The resulting compressed image is sent to the requesting CSC/HSC.
SEC Communications:
[0038] The SEC has a concept of a communication 'session'. This session may be initiated
in response to a variety of criteria, as previously described. During a communications
session, a HSC or CSC may send requests to the SEC to retrieve the data model, or
initiate diagnostics.
[0039] When communicating with a HSC, the HSC is responsible for establishing the connection
to the SEC, for example by connecting to a predefined port number on the STB using
TCP/IP. The HSC is configured with the address of the STB by its operator before they
attempts to establish the connection. The SEC then communicates with the HSC over
this connection, until the HSC closes the connection. When communicating with a CSC,
the SEC is responsible for establishing the connection to the CSC, for example by
connecting to a predefined port number on the CSC using TCP/IP. The SEC is configured
with the address of the CSC before it is installed onto the STB. Once the connection
to the CSC is established, the SEC communicates with the CSC over this connection
until the CSC closes the connection.
[0040] Using this configuration, the Set-top box resident software component (SEC) may be
configured to interact with features of the set-top box to perform one or more of
the following functions:
- 1. Communicate with the hand-held resident software component over an appropriate
communication channel, such as Ethernet, serial port, Bluetooth etc.
- 2. Simulate the operation of a human operator of the set-top box by simulating the
injection of Infra Red commands into the STB.
- 3. Detect if a video and audio services are playing on the STB
- 4. Detect the signal strength and quality parameters of the STB front-end if and when
tuned
- 5. Access low level software in the set-top box in order to access and determine state
of hardware devices
- 6. Access hardware components in the STB
- 7. Access hardware components connected to the STB via external interfaces such as
for example but not limited to HDMI, USB, smartcard slot etc.
- 8. Retrieve the contents of the On Screen Display (OSD). In cases where a low bandwidth
network is deployed and hence live streaming of the OSD to the CSC is not practical
this can be achieved by taking one or more snapshots of the OSD and subsequently uploading
to the CSC at a rate compatible with the bandwidth of the network connection.
- 9. Record content audio\images being provided by a video circuit of the STB
[0041] The hand-held software component (HSC) is software which may be installed on a field
engineer's hand held computing device. These are typically general purpose computing
devices running a standard computing operating system such as Microsoft CE.
[0042] This hand-held computing device will allow different applications to be run, similar
to a smartphone or PDA.
[0043] The installer uses his hand-held computer to manage his diary, retrieve his list
of customer visits for the day and storing information about each customer. The hand-held
computing device will provide a graphical user interface to the engineer, and may
have integrated into it the typical communication channels expected from such a tool,
for example GSM, Bluetooth, Wifi and RS-232 capability.
[0044] The HSC is implemented as an application on the hand-held computing device and as
such it can control the computing resources of the hand-held device.
[0045] The hand-held software when installed on a hand held computing device may allow the
hand held device to perform one or more of the following:
- 1. Communicate with the set-top box resident software component over an appropriate
communication channel such as Ethernet, serial port, Bluetooth etc.
- 2. Communicate with the CRM system of the network operator e.g. when connected to
the internet.
- 3. Display results received from the STB component (SEC)
- 4. Send reports back to the central CRM system indicating the installation completion
status.
- 5. Using an in-built or attached GPS receiver determine the current (or where not
available) the most recently measured position from the receiver. This position may
be used to infer what signal strength should be seen by the STB at that point in the
network. This may be compared with a measured signal strength received from the STB
to ensure it is working correctly. The resulting information including the location
of the STB may be sent back to the central CRM
[0046] The final component is a network Customer Relationship Management (CRM) component
(CSC). This may be operating on the server(s) of the operator, and may for example
be used by telephone services representatives in a call centre environment. The CSC
may comprise a database for storing customer information, including information on
their STB's a user interface, e.g. a suitable client application with a graphical
user interface, allowing a user within the operator to access and review data on the
database and a network interface allowing a user through the user interface to send
instructions to and receive data back from an STB.
[0047] The CSC may also receive and send data to the HSC. It may be appreciated that existing
HSC and CRM functionality provides for interchange between the HSC and CRM, although
to date this has conventionally been for downloading work orders and confirming completion
as items on the work order are completed. The communication between the HSC and the
CSC may be over a communication channel for example an IP channel, which may for example
be provided from the handheld device through a mobile telephone wireless network to
the Internet and from there to the server hosting the CRM software of the operator.
An advantage of the CSC is that it may help a field engineer\repair technician in
their diagnosis of faults from status data provided by the STB either directly or
through the handheld device as an intermediary. Thus using status data, the CSC may
provide information and knowledge of fault indicators (this can be very simple, e.g.
software version X exhibits failure Y, or drive model X is likely to fail after Y
operating hours).
[0048] Pictorially the interaction between the three components may be represented as in
Figure 1. The advantages and other features of the individual components and the overall
system will now become apparent from some exemplary situations in which the above
described elements may be employed.
FIELD ENGINEERS DIAGNOSTICS USE CASE
[0049] A significant proportion of Set top Boxes are found to be fully functional and in
no way faulty (commonly called No Fault Found or NFF) when they are returned by field
engineers to screening and repair facilities. It may be appreciated that such correctly
functioning boxes should in most cases have been identified as fully functioning in
the user's home and not removed. Removal of a set top box inconveniences customers,
adds to inventory costs during the box's time in transit through the repair cycle,
and results in additional capital expenditure for the operator if they are required
to provide the subscriber with a replacement receiver.
[0050] Using the previously described components a field engineer is able to run detailed
diagnostics on the STB using the HSC when they are in the subscriber's home. This
allows for a complete assessment of the receiver hardware while it is connected to
the network infrastructure at the customer's premises and in the customer's environment.
[0051] Once a field engineer arrives at a customer's site, they may typically perform a
quick physical inspection to ensure that the STB is powered on, is connected to the
network and is connected to the TV. Once the field engineer has completed the physical
inspection procedure, he activates the HSC software, for example as shown in the process
flow of Figure 5, within his hand-held device, for example by selecting an option
on a menu of the graphical user interface of the hand held device.
[0052] The HSC software component using a communications channel common between the STB
and the hand held device, attempts to establish communication 50 with the STB. A first
step in the process may comprise a selection 52 of the appropriate communications
channel. Upon detecting 54 the communication attempt, the Embedded Component (SEC)
within the STB recognises the hand held device and a hand shaking protocol 56, 58
may be entered between the embedded component of the STB and the HSC on the hand held
device to ensure that the HSC is authorised and the communications channel is secure.
[0053] Once a connection has been established between the SEC and the HSC, the HSC may send
one or instructions to the SEC. The SEC in turn in response to these instructions
may provide the HSC with data. Thus the HSC and SEC may be configured that the field
engineer may select 60 an appropriate option on their hand held device which causes
the HSC to prepare 62a-g and then send 64 an instruction to the SEC of the STB to
run for example a diagnostics routine, a series of diagnostic routines, or an individual
test. At any stage, the user may terminate 132 the diagnostics, in which case all
existing connections 134, 136 are closed. This may for example be employed where a
test failure is identified during the process and the technician wants to investigate
this further, e.g. check the cabling etc.
[0054] An exemplary series of diagnostic routines may include for example but is not limited
to the following tests:
∘ Instructing the SEC component to tune to a range of signal bands that may be used
in normal operation by the STB to receive TV. In satellite systems, for example, this
would include individually tuning to the high and low frequency bands, and horizontal
and vertical polarization signals. In cable STBs this may include tuning to signals
at low and high ends of the carrier spectrum as well as some representative signals
in the middle.
∘ In the case of IPTV, the diagnostic routine may instruct the STB to perform a series
of network tests on the connection to In the case of IPTV, the diagnostic routine
may instruct the STB to perform a series of network tests on the connection to test
the network connection and provide one or more performance parameters including for
example including for example bandwidth, packet loss, latency and jitter.
∘ It may be appreciated that other tests may be appropriate to determine the state
of a connection of an STB depending on the mode of connection used. For example, in
the case of a cable connection a signal strength measurement may be performed.
∘ validating that the SEC component successfully tuned to and locked to each of the
tuned signals and validates that the signal parameters are within expected tolerance
for signal strength, bit error rate, packet loss etc for each of the individual services,
for the customer's geographic location. The customers geographic location may be retrieved
by the hand held device from the CRM system of the operator or may be obtained from
a location determining device such as a GPS.
∘ In a satellite installation, a diagnosis may be performed to assist the field engineer
identify possible mis-alignment issues related to the satellite dish by interpreting
which of the signal carrier types are correctly received.
∘ instructs the SEC to run a test to verify that any local storage devices, e.g. a
hard disk drive, are working correctly. This test may for example comprise a simple
write\read test to ensure that data is correctly being written and read from the storage
device.
∘ a similar test may be performed to verify that non-volatile electronic storage is
working correctly on the STB by reading, over-writing, reading and confirming change,
and resetting and re-reading some area in the NV storage area.
∘ instructing the SEC to run a test to verify that all LEDs or other displays on the
SEC are working correctly by turning on the LEDs\display elements in a particular
sequence and requesting the field engineer to confirm their state.
∘ instructs the SEC to run a test to verify the front panel buttons by instructing
the field engineer on the display of the handheld device to press each particular
named button in turn and confirming from the SEC that this button press was registered.
[0055] After a test routine has completed, the SEC may proceed with other tests until all
required tests have been completed 68. The result of each test is stored. The HSC
through the hand-held device may receive 66 a report indicating the outcome of the
tests. This may be a simple pass\fail indication displayed 70 on the hand held device.
Alternatively, more detailed analysis may be provided indicating the nature of the
fail and for example suggesting possible solutions. The HSC of the hand held component
may be configured to establish 78 a connection with the CRM system. Once a connection
is established, the test results may be uploaded 76 and the connection closed 80.
After completion of the tests, the communications channel between the SEC and HSC
may be released 72.
[0056] This has several advantages over a manually verified installation as it allows for:
- immediate determination of faults while the field engineer is still on the premises,
including subtle faults (incorrect signal level) which indicate a problem which may
only manifest itself later.
- detailed error data is captured either on the HHD or STB that may aid with issue resolution
and root cause analysis if the STB has to be returned for repair.
After the tests have been completed, the HSC may be configured to upload the data
received back in the tests to the CSC or other data store. Similarly data could be
received from such a store at the HSC or reviewed by a customer service representative
when responding to a STB user's fault report. It may be appreciated that a comparison
may be performed between the current results and a previous set of results (e.g. at
installation) to determine whether performance has changed. Thus for example a change
in signal strength might be indicative in a fault of the satellite dish or cabling.
INSTALLER USE CASE
[0057] The use of the components may now be explained with reference to a possible use by
an installer as shown in Figure 6A and 6B and which in the exemplary process shares
several steps with Figure 5 and accordingly employs common reference numerals. In
the case of installation, the tests performed are in addition to the normal diagnostic
tests that might be employed to test a set top box is not faulty. More specifically
in the case of an installation, the tests are to confirm that the installation has
been performed correctly and that the customer is receiving all of the services that
they have ordered.
[0058] Typically an initial install for a new Customer is done by a representative of the
network (a field engineer) who may visit the customer's house, complete any necessary
cabling, satellite dish etc required for the delivery of television signals to the
appropriate location in the customer's house, and install a new set-top box. The field
engineer may generally carry a hand-held device which he may use to download his work
assignments for the day, and record that he has completed them.
[0059] Typically conditional Access (CA) systems are used to control access to the services
provided by the network to the Customer. Networks generally segregate their set of
services into different packages, which are sold separately. Each package contains
several individual services (Video or Audio).
[0060] A customer may generally sign up for one or more packages from the set of packages
provided by the network.
[0061] The field engineer doing the installation should normally ensure, before he leaves
the customer's premises, that the customer's newly installed set-top box can correctly
decode all the services which the customer has signed up for.
[0062] It has been observed in numerous networks that customers frequently report problems
with their initial installations. These problems create a negative first impression
for the new customer with the network's service, and are generally caused by problems
such as:
- Faulty new wiring installed by the field engineer
- Incorrect CA rights enabled on the customer's STB
- Incomplete or incorrect installation procedure carried out by the field engineer
- Defective STB installed
[0063] The previously described components allow automatic validation of the correct completion
of an installation by the installer.
[0064] In this configuration, the HSC is adapted to download from the network operator CRM
system information with respect to the customer, for example the list of packages
that should be installed on their STB following the completion of the work order associated
with this particular installation (completion of the install). The HSC may also obtain
information on the STB itself including for example what the latest version of software
is that should be installed on the particular model of STB.
[0065] Once the field engineer has completed the physical installation procedure of the
STB, he may activate via his hand-held device the HSC. It will be appreciated that
further steps in addition to the actual physical connection of the set top box and
associated cabling, may be required during the physical installation, including for
example providing customer privileges (CA rights) to the STB. These rights may be
provided within a subscriber card which may be inserted into a corresponding reader
on the STB, although other methods are employable as well including providing the
user's rights as a digital certificate which may be downloaded over the Internet or
provided for on an external memory such a USB memory stick.
[0066] The HSC component establishes communication 50 with the STB Embedded Component (SEC)
as previously described with respect to Figure 5, and the HSC component prepares 100
one or more of a series of tests 100 which are communicated 102 to the STB to be performed,
including for example but not limited to:
- Obtaining the current software version currently present on the STB device from the
SEC, comparing this with the expected latest software revision and if the software
is not up to date, cause the triggering of a software upgrade on the STB before proceeding
with the rest of the installation checking. This software upgrade may be effected
directly by the HSC upon the STB or alternatively by the HSC providing an error message
to the field engineer with an instruction to update to the latest firmware. These
tests may be performed initially and the response stored and displayed to the user.
- Determine the stare of some basic STB functionality by using the SEC, for example
Conditional Access smartcard status and tuner status. This may comprise obtaining
108-114 and translating the set of packages to which the customer should have access
to into a list of individual services - i.e. the HSC translates 120 this set of packages
into a list of individual services (TV and/or Radio Channels) which should be capable
of being decoded once the installation has been properly completed. Using a determination
either from the network CRM system or the HHD's internal\extemal GPS capabilities
the geographic location of the installation may be determined. Once the location is
determined, the expected tuning characteristics for this geographic location may be
retrieved, either from the HSC or CSC, for the list of individual services obtained
above. The HSC then instructs 122 the SEC component to tune to each of the individual
services in turn and automatically validates that the SEC component successfully tuned
to and can decode the Audio (for Radio services) or Audio and Video (for TV services)
for each of the individual services. The automatic validation 124-128 may include
confirming that the signal parameters were within expected tolerance for signal strength,
bit error, packet loss etc for each of the individual services, for the customer's
geographic location. It will be appreciated that in order for the HSC to perform the
tests it may need first to obtain the customer ID 106.
After completion of the installation tests, the results are received 104. The HSC
releases the communication channel between the SEC and HSC and reports 130 overall
pass/fail for the installation to the field engineer via his hand-held device. A report
of the status of the installation including details of the test results may then be
provided to the network CRM system for storage and future reference in the event of
a customer reporting a fault.
The system may also be employed to perform other tests, which may or may not be based
on the user's permissions and/or configuration. Other tests may include performing
a check to determine if video on demand, recording, playback and similar features
are available and working. Similarly, streaming to other devices may be tested.
[0067] It will be appreciated that this automatic approach has several advantages over a
manually verified installation, including for example:
- Allows immediate determination of faults while the field engineer is still on the
premises, including subtle faults (incorrect signal level) which indicate a problem
which may only manifest itself later.
- Allows automatic determination of successful installation
- Allows independent verification that an installation was completed correctly
- Reduces repeat visits by installers to remedy faulty initial installations.
- Allows the network CRM system to track the progress of installations
SUBSCRIBER SUPPORT USE CASE
[0068] The use of the components may now be described with respect to a "Subscriber Support
Use Case".
[0069] There is a significant cost to operators and inconvenience to their subscriber customers
in the event that a field engineer needs to be dispatched to a subscriber's home or
a STB has to be returned by a subscriber through some other channel. It is often discovered
that the issue leading to the field-engineer call-out or STB return is a relatively
straightforward one which can be solved relatively easily by a suitably trained operative.
[0070] The first port of call for many subscribers when they experience problems is to contact
the Operators customer support representative (CSR).
[0071] The previously described components (excluding the HSC) allows a customer service
representative of the operator to run detailed diagnostics on the STB remotely in
order to perform a complete assessment of the receiver hardware and where required
make modifications to the STB remotely.
[0072] There may be issues related to initiating a subscriber support session. The first
is that the STB may reside behind a firewall which would preclude it from being contacted
directly. The second is an issue of privacy whereby subscribers are encouraged to
volunteer remote access and control of their STB by taking some specific action. To
address this, the set top box may be configured to respond to a user input for example
a particular "magic key" combination on the remote control of their STB. Other user
activation mechanisms may also be provided including a physical key on the STB. Once
an activation is detected, the SEC within the STB is triggered causing the STB to
establish a connection to the SEC Server thereby enabling the CSC backend to communicate
with the STB. A CSC interface may be presented to the Customer Support Representative
through a user interface which may typically be web based on a fixed PC workstation
however may also be implemented on a mobile unit such as a mobile phone.
[0073] The primary purpose of each component will now be detailed.
[0074] SEC: The STB Embedded Component runs on each Set Top Box. It's role is to detect
faults and gather data from the box, and implement diagnostic and repair related functionality.
The SEC agent initiates connections with the SEC Server in order to report its status,
and to allow the SEC Server to invoke functions implemented by the agent.
[0075] SEC Server: The SEC Server is responsible for gathering data from SEC Agents, and
using this to maintain the information for each STB which is stored in the Database.
[0076] Database: The Database stores fault, status and statistical information for each
STB managed by the server.
[0077] SEC Application Server: The SEC Application Server implements web applications which
make use of the data stored in the Database to feed into the process of a variety
of end users (e.g. allowing a customer support agent to view faults on an STB). Web
applications may also allow end users to directly interact with individual STB's .
[0078] Browsers: Standard web browsers may be used to access web applications on the SEC
Application Server. Once the CSC component establishes communication with the STB
Embedded Component (SEC) it may retrieve information from the SEC and update a status
record (SR) for the status of this STB.
[0079] This SR, which may be provided to the CSR through their use interface may include
details on, for example:
- Set top box identification.
- HDMI Television Make and Model for connected, and previously connected Televisions.
- CA Card (presence, serial number etc.)
- Front-ends (signal strength etc.)
- Peripherals
- NVRAM
- System resets
- Hard disk temperature and other SMART data
- Network configuration
- Modem status
- Power state
- Timing of time spent in each power state in a given time period (and since last report)
- Tuner statistics such as historical SNR, BER etc. since last status report
- STB software configuration parameters
- Temperature
- STB software error log
- Network statistics such as connection speed, round-trip-time, dropped packets, ping
time etc since last status report
- Current software version information (used to reconcile against known latest version
of system software that is "on-air" and should be on the STB).
[0080] The CSC may be configured enable a CSR through their interface to cause instructions
to be sent to the STB to cause the SEC to:
- refresh the SR and provide the updated SR to the CSC
- Obtain a copy of the On-Screen Display and provide this to the CSC to allow the CSR
to view the OSD presented at the remote location where the STB is located
- Issue remote control commands to the STB to cause changes in the STB state by sending
them over the internet interface and having them processed by the SEC to simulate
them having been received from the physical IR remote control unit.
- The CSC browser application may present a number of different methods to the CSR to
allow them to send remote control commands. It may present in pictorial form a regular
remote control with all of the buttons normally available to a normal user of the
remote control. Each button may be selected by the user by 'clicking' on the button.
It may also present a set of predefined actions which are the most typical operations
which need to be performed during a service call. These often involve multiple keypresses
on the remote control to get to the appropriate menu option but may be presented to
the CSR as a single "shortcut". The CSC may store a copy of all remote control commands
issued and OSD screens captured during the time of any single connection between the
CSC and the SEC. The CSR may also be allowed to enter call session textual notes which
may be synchronised with the most recent OSD screen retrieved from the STB.
[0081] To optimise the use of bandwidth between the CSC and the SEC, the SEC\CSC may be
configured so that a new OSD screen grab image may only be sent from the SEC to the
CSC after the final IR command has been processed on the SEC side. This implies that
intermediate OSD states during the processing of a number of keypresses caused by
a single shortcut may not be transmitted from the SEC to the CSC.
[0082] The CSC may use the network statistics retrieved from the STB to inform the SEC of
the appropriate compression level to be used to encode OSD images prior to dispatch
to the CSC. This setting can be varied on the fly by the CSR if required to observe
certain fine grain detail in the event that the situation justifies a longer duration
waiting for the OSD screen image to upload.
[0083] In another application, the SEC or indeed another application specific component
may be used to provide an indirect measure of power consumption. In this method, the
SEC may employ various timers to measure and report on the time that the STB spends
in various power states. The timers are configured to measure an aggregate time that
the STB is in a state rather than the duration that the STB is currently in the state.
The power state may be for the entire STB (e.g. standby or active) and\or also for
critical components within the STB such as the hard drive, individual tuners, AV outputs
etc. The timing data when reported back to the CSC may be cross referenced against
power consumption data taken for the same or a similar reference STB. In this way,
time spent in various states may be converted into accurate power usage measurements.
This data may be aggregated across all of the boxes in the operators network to arrive
at very accurate figures for the overall power consumption of large numbers of Set
Top Boxes. It will be appreciated that a significant advantage of this approach over
alternative approaches to power measurement is that it does not require dedicated
power measurement equipment to be integrated into each STB. It may be retro-fitted
as part of a field upgrade to STB in the field today and into the future. It may be
easily adapted to interface directly to any sub-system power efficiency technology
present in the STB which may allow more discrete control over which components of
the STB are powered-up at any point in time. Other advantages are that it does not
require the end-user of the STB to do anything unlike most other measurement technologies
and it does not add to the hardware bill of materials cost of the STB.
[0084] The measurement data may be uploaded periodically by the SEC to the CSC. The periodicity
of this reporting may be algorithmically controlled to ensure that all STBs do not
report at the same point in time in the event of a power failure which results in
a large population of STBs powering up at the same time.
[0085] Having a set of all SR records for the entire population of STBs allows network operators
to gain significant insight into the performance of their network.
[0086] It may be possible using this data to analyse which STBs are likely to display faults
to the subscriber and pre-emptively take actions to avoid this including updating
the firmware, contacting them via customer support and/or sending out a field engineer.
[0087] A typical CSC software architecture may be represented as shown in Figure 7.
CSC - Communication Component
[0088] This is a software application which communicates with both the SEC and CSC UI Components
using TCP/IP sockets.
[0089] The SEC communication channel is setup following a request from the SEC. Once the
communication channel has been setup commands may be sent to the SEC, for example
sending a keypress, requesting status or requesting an OSD snapshot.
[0090] OSD snapshots files received from the SEC are stored on the file system for later
retrieval by the CSC UI Component.
[0091] STB status records received from the SEC are stored in the CSC Database Component.
[0092] The communication channel to the CSC UI Component is a request-response type interface.
CSC - Database Component
[0093] The CSC Database Component is a standard database application used to store STB status
and other measurements retrieved from the STB(s) with which the CSC has communicated.
CSC - UI Component
[0094] The CSC UI Component is an application that the end-user interacts with allowing
them to study the STB data stored the database and to take control of an individual
STB by sending key-press commands, requesting STB status updates and presenting OSD
snapshots via the CSC Communication Component.
[0095] One possible implementation of the CSC UI Component uses a standard web application
architecture consisting of a web server application, a set of server-side php scripts
and a set of client-side Javascript scripts. The server-side component communicates
with the CSC Database and SEC Communication Components and presents data to a client-side
web browser via http. The web-browser then uses the client-side scripts to render
the UI on the client computer.
[0096] In the foregoing specification, the application has been described with reference
to specific examples of embodiments. It will, however, be evident that various modifications
and changes may be made therein without departing from the broader spirit and scope
of the invention as set forth in the appended claims. For example, the connections
may be any type of connection suitable to transfer signals from or to the respective
nodes, units or devices, for example via intermediate devices. Accordingly, unless
implied or stated otherwise the connections may for example be direct connections
or indirect connections. Thus as an example, whilst the present application has been
described primarily with reference to situations where the diagnostic middleware responds
to an external device, it will be appreciated that it may operate independently and
respond to changes in state on the set top box, including for example a timer for
periodic reporting, and upload the diagnostic results to an external computing system.
[0097] Because the apparatus implementing the present invention is, for the most part, composed
of electronic components, circuits and devices known to those skilled in the art,
circuit details will not be explained in any greater extent than that considered necessary
as illustrated above, for the understanding and appreciation of the underlying concepts
of the present application and in order not to obfuscate or distract from the teachings
of the present application.
[0098] Thus, it is to be understood that the architectures depicted herein are merely exemplary,
and that in fact many other architectures can be implemented which achieve the same
functionality. In an abstract, but still definite sense, any arrangement of components
to achieve the same functionality is effectively "associated" such that the desired
functionality is achieved. Hence, any two components herein combined to achieve a
particular functionality can be seen as "associated with" each other such that the
desired functionality is achieved, irrespective of architectures or intermedial components.
Likewise, any two components so associated can also be viewed as being "operably connected,"
or "operably coupled," to each other to achieve the desired functionality.
[0099] Furthermore, those skilled in the art will recognize that boundaries between the
functionality of the above described operations are merely illustrative. The functionality
of multiple operations may be combined into a single operation, and/or the functionality
of a single operation may be distributed in additional operations. Moreover, alternative
embodiments may include multiple instances of a particular operation, and the order
of operations may be altered in various other embodiments.
[0100] However, other modifications, variations and alternatives are also possible. The
specifications and drawings are, accordingly, to be regarded in an illustrative rather
than in a restrictive sense. For example, whilst the present application has been
described with respect to a set top box, it will be appreciated that the functionality
may be integrated within another device. Accordingly, the present application extends
beyond application to set top boxes and accordingly wherever a reference is made herein
to set top box, it should be taken to extend to and include any 'multimedia device,
which is operable to receive an incoming digital television signal and cause it to
be displayed on a display which may be integrated to or connected with the 'multimedia
device'. This connection may be a physical one, for example a SCART, HDMI, S-Video
or similar cable connection or a wireless connection such as Bluetooth or Wi-Fi. Accordingly,
it will be appreciated that the present application is applicable not just to set
top boxes but to other multimedia devices including for example integrated digital
televisions, portable computing devices and mobile phones. Similarly, it will be appreciated
that whilst the present application has been described with reference to an exemplary
situation in which a television is selected as the display device, it will be appreciated
that the application is not so limited and alternative displays may be employed. For
example, a computer monitor may be employed as a display device. Similarly, the display
device may be a computing device with a integrated display. The computing device may
be portable for example a laptop or tablet computer. In this arrangement, the set
top box may stream the decoded television content to the computing device over a local
wireless connection.
[0101] It will be appreciated that references herein to an "Installer" and "Field Engineer"
are used interchangeably herein and that the usage will depend on the function being
carried out by the Field Engineer. Thus when a field engineer is installing a STB,
they will be an installer but when they are repairing a STB they are not.
[0102] In the claims, any reference signs placed between parentheses shall not be construed
as limiting the claim. The word 'comprising' does not exclude the presence of other
elements or steps then those listed in a claim. Furthermore, the terms "a" or "an,"
as used herein, are defined as one or more than one. Also, the use of introductory
phrases such as "at least one" and "one or more" in the claims should not be construed
to imply that the introduction of another claim element by the indefinite articles
"a" or "an" limits any particular claim containing such introduced claim element to
inventions containing only one such element, even when the same claim includes the
introductory phrases "one or more" or "at least one" and indefinite articles such
as "a" or "an." The same holds true for the use of definite articles. Unless stated
otherwise, terms such as "first" and "second" are used to arbitrarily distinguish
between the elements such terms describe. Thus, these terms are not necessarily intended
to indicate temporal or other prioritization of such elements. The mere fact that
certain measures are recited in mutually different claims does not indicate that a
combination of these measures cannot be used to advantage.
[0103] Various examples are set out in the following numbered paragraphs (NPs).
- NP1.
- A set top box for decoding received media content and providing this media content
to a display, the set top box having a control interface for receiving commands from
a local user to perform functions on the set top box, a communications module for
receiving instructions from a remote user over a communications channel, an emulator
for emulating the receipt of at least one command at the remote control interface
in response to the receipt of an instruction from a remote user by the communications
module to issue the at least one command.
- NP2.
- A set top box according to NP1, wherein the control interface is a remote control
interface.
- NP3.
- A set top box according to NP2, wherein the control interface comprises an infra red
detector.
- NP4.
- A set top box according to NP1 or NP2, wherein the set top box further comprises:
a) a video module in which received media content is formatted into the video component
of a TV signal, and b) an image capturing block for capturing at least one image from
the video module and transmitting this captured image to the remote user through the
communications module.
- NP5.
- A set top box according to NP4, wherein the image capturing block is configured to
compress the image into in a compressed format before transmission.
- NP6.
- A set top box according to NP4 or NP5, wherein the video module is adapted to provide
On Screen Display (OSD) information within the video component.
- NP7.
- A set top box according NP6, - wherein the video module is configured to retrieve
the OSD information from an OSD memory.
- NP8.
- A set top box according to NP7, wherein the image captured by the image capturing
block comprises OSD information retrieved from the OSD memory.
- NP9.
- A set top box according to NP8, wherein the image captured is exclusively OSD information
retrieved from the OSD memory.
- NP10.
- A set top box according to NP1 or NP2, wherein the set top box further comprises a
video module for providing OSD information to the display and wherein the set top
box is configured to transmit OSD information to the remote user through the communications
module over the communications channel,
- NP11.
- A set top box according to NP10, wherein the set top box is configured to retrieve
the OSD information from an OSD memory.
- NP12.
- A set top box according to any preceding NP wherein the communications module is configured
to obtain a measure of speed and\or bandwidth of the communications channel and wherein
the degree of compression performed by the image capturing block is responsive to
the obtained measure.
- NP13.
- A set top box according to any preceding NP, wherein the instruction received from
the user may comprise a series of commands to be issued to the set top box through
the emulator and wherein the emulator issues the commands to the remote control interface
with a delay between commands to allow the set top box to perform the command.
- NP14.
- A set top box according to NP13 wherein an image capturing block is triggered after
the execution of the last command in the series to capture OSD information.
- NP 15.
- A set top box according to any preceding NP, wherein the set top box comprises a diagnostic
function, which may be remotely activated by the remote user by an instruction sent
over the communications channel and which when activated performs one or more diagnostic
tests upon the set top box.
- NP16.
- A set top box according to NP15, wherein the results of the one or more diagnostic
tests are provided to the user by the diagnostic function through the communications
module.
- NP17.
- A set top box according to any preceding NP, wherein the communications module is
initially disabled to acting upon instructions from a remote user over the communications
channel.
- NP18.
- A set top box according to any preceding NP, wherein the communication module is enabled
to act upon instructions from a remote user by the issuing of at least one command
by a local user at the control interface.
- NP19.
- A set top box according to NP18, wherein the enabling comprises the communications
module establishing a session with a remote server.
- NP20.
- A system comprising a set top box for decoding received media content in a signal
and providing this media content to a television and having a remote control interface
for receiving commands from an associated remote control device, and the system further
comprising an external device, wherein the set top box comprises:
- a) a communications channel for receiving instructions and transmitting data to an
external device,
- b) a diagnostic feature activatable by the external device over the communications
channel and which when activated causes the set top box to perform one or more tests
on the set top box and return the results to the external device; wherein the external
device is configured to allow a user through a graphical interface to transmit instructions
to the set top box as if they were using the remote control device of the set top
box..
- NP21.
- A system according to NP20, wherein the communications channel is a local wireless
connection.
- NP22.
- A system according to NP21 wherein the external device is a handheld computing device.
- NP23.
- A system according to NP21 or NP22, wherein the wireless connection, for example Wi-Fi,
to a local gateway to the internet and the external device is a server connected the
internet in a remote location.
- NP24.
- A system according to NP23, wherein the graphical user interface is provided at a
client computing device of the server.
- NP25.
- A set top box having a power measurement component, the power measurement component
comprising at least one timer for measuring the aggregate duration a set top box is
in an individual state.
- NP26.
- A set top box according to NP25 wherein there are a plurality of timers, each timer
recording the aggregate duration the set top box is in an associated state.
- NP27.
- A set top box according to NP26, wherein an associated state may be one or more of:
- a) the STB,
- b) a hard drive,
- c) a tuner, and
- d) an AV output.
- NP28.
- A set top box according to any one of NPs 25 to 27, wherein the set top box is configured
to report the durations of the at least one state to a remote server.
- NP29.
- A set top box according to anyone of NPs 25 to 27, wherein the set top box is configured
to perform a power consumption calculation from the timed durations.
- NP30.
- A set top box according to NP29, wherein the set top box is configured to upload the
result of the power consumption calculation to a remote server.
- NP31.
- A method of measuring the power consumption of a set top box, the method comprising
the step of measuring the duration of different states of the set top box,
retrieving a measure of power usage in each of the different states; and using the
measured durations and power usage measure for each state to obtain a power consumption
for that state and aggregating the power consumption for the different states to provide
a total measure.
- NP32.
- A set top box comprising:
- a) an internal monitoring component for monitoring the state of one or more of the
hardware\software components within the set top box,
- b) a communications component for sending data to a remote computing system, wherein
the internal monitoring component is responsive to a detection of a change of state
in the one or the hardware\software components to cause the communications component
to send a notification of said change in state to the remote computing system.
- NP33.
- A set top box according to NP32, wherein the change of state is one that is indicative
of a fault.
- NP34.
- A set top box according to NP 32 or 33, wherein the one or more hardware\software
components may include one or more of the following:
- a) a hard drive,
- b) a tuner,
- c) an AV output,
- d) Conditional Access card,
- e) a network interface,
- f) a modem, and
- g) an externally connected device connected, for example to a Universal Serial Bus
(USB); or High Definition Multimedia Interface (HDMI) or wireless interface of the
set top box.
- NP35.
- A set top box according to any one of NPs 30 to 34, wherein the internal monitoring
component is a middleware application component.
- NP36.
- A set top box according to NP35, wherein the status updates are received from other
middleware components.
- NP37.
- A set top box according to any one of NPs 35 to 36, wherein the change in state is
one of 'booting' the set top box.
- NP38.
- A set top box according to any one of NPs 35 to 37, wherein the change in state is
one of a timer.
- NP39.
- A system for installing a set top box at a customer's premises; the system comprising:
a hand held computing device; and
the set top box comprising a communications channel for receiving instructions and
transmitting data to hand held computing device and a diagnostic feature activatable
by the hand held computing device over the communications channel and which when activated
causes the set top box to perform one or more tests on the set top box and return
the results to the hand held computing device, wherein the hand held device is configured
to download configuration information for the customer from a server and is configured
to instruct the set top box to conduct one or more verification tests and to provide
the results to the hand held device to validate that the set top box has been installed
in accordance with the customer configuration information.
- NP40.
- A system according to NP39, wherein the customer configuration information comprises
a list of channels that are available to the customer.
- NP41.
- A system according to NP40, , wherein the diagnostic feature is configured to cause
the set top box to tune to one or more of the individual channels in the list and
validate that channel may be decoded.
- NP42.
- A system according to NP41, wherein the diagnostic feature is configured to obtain
a signal strength measurement for individual channels and wherein a verification is
performed that the signal strength measurement meets an acceptable level for the location
of the customer premises.
- NP43.
- A system according to NP42, wherein the location of customer's premises is determined
from one of:
a GPS device; and
the customer's configuration information.
- NP44.
- A system according to any one of NPs 39 to 43, wherein the customer configuration
information includes information on the set top box ordered by the customer.
- NP45.
- A system according to NP44, wherein the information on the set top box includes one
or more of:
- a) set top box model;
- b) available memory; and
- c) latest available software version for the set top box.
- NP46.
- A system according to any one of NPs 39 to 45 wherein the downloaded configuration
information comprises at least one function permitted to be performed by the user
on the set top box and system is configured to perform at least one test to conform
the operation of the at least one function.
- NP47.
- A system according to NP46, wherein the at least one function permitted may include
one or more of:
- a) ability to "Live Pause" content provided by the set top box to a display;
- b) ability to record content received at the set top box;
- c) ability to playback content previously recorded on the set top box;
- d) streaming content from the set top box to a display device, for example an IP connected
television or a portable computing device such as a tablet computer, laptop or mobile
phone.
- NP48.
- A system according to any one of NPs 39 to 47,, wherein the system is configured to
provide a report to the server of the tests completed.