U.S. patent application number 09/159155 was filed with the patent office on 2001-11-15 for method of distributing data packets of system software.
Invention is credited to CESAR, BOZO, KEIL, KLAUS, RIEMER, JOACHIM.
Application Number | 20010042113 09/159155 |
Document ID | / |
Family ID | 7843288 |
Filed Date | 2001-11-15 |
United States Patent
Application |
20010042113 |
Kind Code |
A1 |
CESAR, BOZO ; et
al. |
November 15, 2001 |
METHOD OF DISTRIBUTING DATA PACKETS OF SYSTEM SOFTWARE
Abstract
In a point-to-multipoint system (SYS), particularly a
video-on-demand system, comprising a send unit (SERVER) in the form
of a server and a plurality of receive units (DEC) in the form of
decoders, a new version of the system software for the decoders is
to be transferred to the latter. This is done by taking the
following steps: 1. An announce signal containing the information
that the new system software or part thereof will subsequently be
transferred is transmitted from the server to all decoders
simultaneously. 2. The system software or part thereof is
transferred in the form of data packets from the server to all
decoders simultaneously. By the advance information in the form of
an announce signal which is transmitted to all decoders by the
broadcast method, the decoders are notified of the forthcoming
transmission of the current version of the system software,
whereupon they can prepare for the reception of the new version.
The new version is also transmitted by the broadcast method, and
ideally only once.
Inventors: |
CESAR, BOZO; (KORNWESTHEIM,
DE) ; KEIL, KLAUS; (ESSLINGEN, DE) ; RIEMER,
JOACHIM; (KORNTAL, DE) |
Correspondence
Address: |
WARE FRESSOLA VAN DER SLUYS &
ADOLPHSON, LLP
BRADFORD GREEN BUILDING 5
755 MAIN STREET, P O BOX 224
MONROE
CT
06468
US
|
Family ID: |
7843288 |
Appl. No.: |
09/159155 |
Filed: |
September 23, 1998 |
Current U.S.
Class: |
709/221 ; 712/15;
713/100 |
Current CPC
Class: |
G06F 8/65 20130101 |
Class at
Publication: |
709/221 ; 712/15;
713/100 |
International
Class: |
G06F 015/177; G06F
015/00; G06F 015/76; G06F 001/24; G06F 009/00 |
Foreign Application Data
Date |
Code |
Application Number |
Sep 23, 1997 |
DE |
197 41 870.8 |
Claims
1. A method of distributing data packets of system software in a
point-to-multipoint system (SYS) from a send unit (SERVER) to a
plurality of receive units (DEC), characterized in that the
following steps are taken one after the other: 1. An announce
signal containing the information that the system software or part
thereof will subsequently be transmitted is transmitted from the
send unit (SERVER) to all receive units (DEC) simultaneously. 2.
The system software or part thereof is transmitted in the form of
data packets from the send unit (SERVER) to all receive units (DEC)
simultaneously.
2. A method as claimed in claim 1, characterized in that the
announce signal contains information as to which version of the
system software will be transmitted.
3. A method as claimed in claim 2, characterized in that between
steps 1 and 2, the receive units (DEC) buffer the version of the
system software identified in the announce signal, compare said
version with the version available in the respective receive unit
(DEC), and, if the two versions are identical, inhibit the
reception of the data packets transmitted in step 2.
4. A method as claimed in any one of the preceding claims,
characterized in that the receive units (DEC) acknowledge only the
receipt of the last data packet transmitted by the send unit
(SERVER) and belonging to the system software or part thereof.
5. A method as claimed in claim 4, characterized in that the
acknowledge signals from the receive units (DEC) contain
information identifying the receive units (DEC), and that the send
unit (SERVER) stores in a list information identifying those
receive units (DEC) which have acknowledged the receipt of the data
packets, in order to record which receive unit (DEC) has received
the transmitted data packets and which has not.
6. A method as claimed in any one of the preceding claims,
characterized in that the point-to-multipoint system is a
service-on-demand system comprising a server as the send unit
(SERVER) and decoders as the receive unit (DEC).
7. A method as claimed in claim 6, characterized in that the
decoders are designed as set-top boxes, and that the transmitted
data packets serve to update the system software of the set-top
boxes.
Description
[0001] This invention relates to a method of distributing data
packets of system software as set forth in the preamble of claim
1.
[0002] In a point-to-multipoint system, particularly a
service-on-demand system, a server is provided as a send unit, and
the receive units are decoders. The decoders are designed as
set-top boxes. The system software of the set-top boxes needs to be
updated when a new version of the system software is available.
[0003] From an article by Carl W. Symborski, "Updating Software And
Configuration Data In A Distributed Communications Network",
Proceedings of the Computer Networking Symposium, IEEE Comput. Soc.
Press, 1988, pages 331-338, a procedure for distributing data
packets of system software in a point-to-multipoint system is
known. The procedure is executed in a receive unit and consists of
the following steps:
[0004] 1. Wait until a predetermined period of time has expired or
a notice has been received that a new version of the system
software may be available.
[0005] 2. Request information from the server as to whether a new
version is available.
[0006] 3. Compare the version communicated by the server with the
version available in the receive unit.
[0007] 4. If no change is detected, return to step 1.
[0008] 5. If a change is detected, request the new version from the
server.
[0009] 6. Replace the old version with the new one.
[0010] 7. Store the new version.
[0011] 8. Return to step 1.
[0012] Thus, to obtain the new version of the system software, this
procedure always requires an action by the receive unit together
with a request to the server. If a plurality of receive units are
present, each receive unit must request the new version by itself.
Because of the structure of the distribution system, the new
version, which is generally identical for all receive units, is
transmitted from the send unit to the receive units separately. If
there are 500 receive units, the send unit must transmit the new
version 500 times, once to each receive unit. This takes a certain
time. Thus, the transmission of further information is
unnecessarily blocked, at least in a predetermined frequency range,
for a certain period of time.
[0013] From an article by K. Rath and J. W. Wendorf, "Set-Top Box
Control Software: a Key Component in Digital Video", Philips
Journal of Research (1996), Vol. 50, No. 1/2, pages 185-199, a
method of distributing data packets of system software in a
point-to-multipoint system is known in which a receive unit
designed as a set-top box obtains a new version of the system
software telemetrically via a network. The set-top box sends a
request to the server or obtains the new version from the server
automatically on a periodic basis. The former corresponds
essentially to the procedure described above. The latter involves
the establishment of a connection between the server and an
individual set-top box, which eliminates the need for the set-top
box to actively request a new version but does not prevent the
multiple transmission of the same information.
[0014] It is therefore an object of the invention to provide a
method whereby the system software can be updated in a simple
manner.
[0015] According to the invention, this object is attained by a
method as set forth in claim 1. The method is characterized in that
by advance information in the form of an announce signal which is
transmitted to all receive units by the broadcast method, the
receive units are notified of the forthcoming transmission of the
current version of the system software, whereupon they can prepare
for the reception of the new version. The new version is also
transmitted by the broadcast method, and ideally only once. If
individual receive units should not have received the advance
information, the method may, for example, be automatically repeated
at a later time or the remaining receive units may request the new
version from the server separately. Thus, compared with the prior
art, the transmission time is ideally shortened by a factor
corresponding to the number of receive units present, i.e., by a
factor 500 if there are 500 receive units. If, for example, 10% of
the receive units should not have received the advance information,
the transmission time is still shortened by a factor of 250 (in
case of automatic repetition) or approximately 100 (if separate
requests are made).
[0016] Further advantageous features of the invention are defined
in the dependent claims.
[0017] The invention will become more apparent from the following
description of an embodiment when taken in conjunction with the
accompanying drawing. The single figure of the drawing is a
schematic representation of a point-to-multipoint system according
to the invention for carrying out the method according to the
invention.
[0018] The point-to-multipoint SYS comprises a send unit SERVER, a
network NET, and a plurality of receive units DEC.
[0019] The point-to-multipoint system SYS is designed, for example,
as a service-on-demand system. The send unit SERVER contains a
server which is connected via the network NET to the receive units
DEC, which are designed as decoders. The point-to-multipoint system
SYS makes available a downstream channel and an upstream channel.
Via the upstream channel, e.g., a narrow-band channel, customers
can transmit information from their decoders through the network
NET to the server. The information consists, for example, of
request signals by means of which a video film, for example, is
requested, which is then broadcast over the downstream channel,
e.g., a broadband channel, to all decoders or to a group of
decoders in a subarea dependent on the topology of the network. A
logon authorization, granted, for example, by issuing a key for
each transmission, ensures that only the decoder from which the
video film was requested has the right and capability to receive
the transmitted video film.
[0020] The decoders are designed, for example, as set-top boxes.
Each set-top box has system software, i.e., programs that make up
the operating system. The system software serves, for example, to
receive and process the menu broadcast by the server for the
selection of video films and the like. From time to time, the
system software is upgraded and updated, or modified to eliminate
systematic errors. Each set-top box then needs an update of its
system software. A new version of the system software needs to be
transferred to the set-top box. This is done by downloading the new
version from the server to the set-top boxes. The new version or,
if possible, only the changes in the new version from the old one
are transmitted in the form of data packets from the server to the
set-top boxes through the network NET. As a rule, the system
software is the same for all set-top boxes, so that ideally, one
download will suffice to transmit the necessary data packets of the
new version to all set-top boxes.
[0021] The method of distributing the data packets of the system
software is carried out in the following steps, which are taken one
after the other:
[0022] 1. From the send unit SERVER, which contains the server, an
announce signal containing the information that the system software
of the set-top boxes or part of this software will subsequently be
transmitted is sent to all receive units DEC, which contain the
set-top boxes, simultaneously.
[0023] 2. From the send unit SERVER, the system software or part
thereof is sent in the form of data packets to all receive units
DEC simultaneously.
[0024] Thus, by the first step, all set-top boxes connected to the
network NET are informed that the new version or the changes from
the old version will be transmitted by the server shortly. Each
set-top box thus has sufficient time to prepare for the reception
of the new software. For example, the set-top box may go through a
initialization phase in which various checks are made and a buffer
storage area is enabled to buffer and subsequently load the system
software. The announce signal is received by all set-top boxes,
since instead of an address in the header of a data packet, which
serves to select a given set-top box, a so-called default address,
e.g., XXXXXXXX, is used, which can be received by all set-top
boxes.
[0025] In the second step, the data packets of the new system
software are transmitted from the server to all set-top boxes by
the broadcast method. This is also done using the default address.
All set-top boxes can receive the transmitted data packets. A
single transmission of the data packets thus suffices to transfer
the new version of the system software to all set-top boxes
prepared by the announce signal. Thus, in ideal circumstances, the
system software of all set-top boxes is updated by a single
transfer of the new system software.
[0026] The announce signal may contain information as to which
version of the system software will be transmitted and how much
storage capacity is needed. This enables the set-top boxes to
determine in advance whether the data packets shortly to be
transmitted are to be received or not. If, for example, a set-top
box has already received the new version of the system software,
e.g., in response to a previous request, via a PCMCIA card, or
otherwise, the reception of the new version and the preparation
therefor would be unnecessary. The information on the storage
capacity required enables the set-top box to check whether
sufficient storage space is available for receiving the latest
version and, if so, to reserve a corresponding area of the new
version.
[0027] Between steps 1 and 2 of the method for distributing the
data packets of the new system software, the receive units DEC,
i.e., the set-top boxes, can buffer the version of this system
software, compare it with the version available in the respective
set-top box, and, if the two versions are identical, prevent the
reception of the data packets transmitted in step 2.
[0028] The receive units DEC, i.e., the set-top boxes, then
acknowledge the receipt of the last data packet transmitted by the
send unit SERVER and belonging to the system software. This has the
advantage that the transmission of the data packets is not
interfered with by the acknowledgements from the set-top boxes. A
repetition of the transmission of individual data packets for
individual set-top boxes is not provided for, since this would
introduce delays. If a set-top box does not receive individual data
packets for some reason or other, it must wait for another transfer
of a complete version if this is provided for, or request the new
version from the server, which will then send a complete version to
the respective set-top box separately.
[0029] The acknowledge signals from the set-top boxes contain
information for identifying the set-top boxes, e.g., the address of
the respective set-top box. The server can thus determine which of
the set-top boxes have received the transmitted data packets and
which have not. To this end, the server stores in a list, for
example, the addresses of those set-top boxes which have
acknowledged receipt of the data packets. This may be accomplished,
for example, by storing the addresses directly in a separate memory
area or by providing the respective addresses of the set-top boxes
with an identifier if all of them have already been stored in a
list. By comparing the received acknowledgements with the number of
set-top boxes available, the server can determine to how many
set-top boxes the new version has been successfully transmitted.
From this, a success ratio can be determined, e.g., 80%. Based on
this ratio, the server can decide whether or not to repeat the
transmission with the preceding announce signal at a later time.
Furthermore, the address information can be used to determine
whether transmission errors are present in locally limited areas,
e.g., if no acknowledgement is received from those set-top boxes
which are connected to a subarea dependent on the topology of the
network.
* * * * *