WO2002035348A1 - Method and apparatus for sending information in a communication system - Google Patents

Method and apparatus for sending information in a communication system Download PDF

Info

Publication number
WO2002035348A1
WO2002035348A1 PCT/SE2001/002346 SE0102346W WO0235348A1 WO 2002035348 A1 WO2002035348 A1 WO 2002035348A1 SE 0102346 W SE0102346 W SE 0102346W WO 0235348 A1 WO0235348 A1 WO 0235348A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
server
channel
boot
objects
Prior art date
Application number
PCT/SE2001/002346
Other languages
French (fr)
Inventor
Mikael Dahlgren
Björn ELENFORS
Johan GÖRSJÖ
Dag Helstad
Anders Svensson
Christer ÖSTERLIND
Original Assignee
Kreatel Communications Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from SE0003889A external-priority patent/SE524486C2/en
Priority claimed from SE0003890A external-priority patent/SE524309C2/en
Application filed by Kreatel Communications Ab filed Critical Kreatel Communications Ab
Priority to AU2002211158A priority Critical patent/AU2002211158A1/en
Publication of WO2002035348A1 publication Critical patent/WO2002035348A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25

Definitions

  • the present invention relates to a method defined in the preamble of claim 1.
  • the present invention also relates to an apparatus defined in the preamble of claim 7.
  • General information is usually sent to computerized electronic equipments in two- way communication networks in a peer-to-peer (P2P) manner. In order to transfer the information, it is divided into smaller packets. Each packet is mostly acknowledged separately by the receiver before the next packet is sent by the sender. This is the case when using e.g. the Trivial File Transfer Protocol (TFTP).
  • TFTP Trivial File Transfer Protocol
  • US 6 108 697 shows a system for repeatedly sending disk images, divided into packets, from one sender to one or more downloading receiver.
  • the data stream of the packets contains a number of join points, at which the down loader at any time may join the transmission.
  • the down loaders get, however, no information about where to find which information on the transfer channel.
  • booting information One type of information sent over the network is booting information, since thin clients are used in many applications today. Some of these low-cost computers are centrally managed and have no hard disk or other sufficiently large persistent memory. Therefore, they need to boot (download an operating system) over a network in order to start. When booting over the network, the TFTP is in general used to download the operating system.
  • WO 97/30549 shows a system for downloading different versions of software or data modules, e.g. an operating system, over a network (such as a cable television net- work) to home communication terminals.
  • the system comprises a transmitting source, which continuously broadcasts all versions of all modules in a "carousel" channel and transmits a descriptor table to each terminal.
  • the te ⁇ ninal compares the descriptor table with an internally stored table. If the terminal needs a newer version of the operating system, it tunes to the "carousel" channel and downloads the newer version.
  • This system is mainly designed for a small network, where the use of bandwidth is of less importance than in large networks.
  • One object of the present invention is to provide an improved method and apparatus for sending general information of interest to many users over the network.
  • this object is accomplished by providing a method and apparatus as defined in the independent claims 1 and 7.
  • Fig 1 is a block diagram of a communication system.
  • Fig 2a shows a channel used for sending information.
  • Fig 2b shows one packet in an object sent on an information channel.
  • Fig 3 is a block diagram of one application of the inventive method and apparatus showing a system for booting over the network.
  • Fig 4a shows a channel used for booting
  • Fig 4b shows one packet in an object sent on the booting channel.
  • Fig 5 is a flowchart showing the steps perfo ⁇ ned when booting computerized electronic equipment over a network.
  • a server is a program component delivering some added value, such as a mail server, and has nothing to do with the server hardware, which can be the same for several servers.
  • Client/server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request.
  • the client/server model provides a convenient way to interconnect programs that are distributed efficiently across different locations.
  • a computerized electronic equipment connected to the network is represented by 1, an operator site by 2 and an operator network by 3, which also is connected to the Internet.
  • the operator site 2 comprises a router 7, at least one information server 8, and a management system 9.
  • the information server 8 is the server component used to transmit information specified by the operator over the network 3.
  • the management system 9 is responsible for the information in the information server 8.
  • the operator network 3 comprises several routers 7.
  • a router is a device that determines the next network point to which a packet should be forwarded toward its destination.
  • a router creates or maintains a table of the available routes and their conditions and uses this information along with distance and cost algorithms to determine the best route for a given packet.
  • a packet may travel through a number of network points with routers, before arriving at its destination.
  • the routers 7 are multicast routers.
  • the multicast routers 7 are each connected to several electronic equipments 1, either directly or via a switch (not shown).
  • the Multicast technology is based on the interest to send information to a certain group, instead of to everyone (broadcast) or to a single receiver (unicast).
  • group addressing is used. Group addressing is based on services in multicast enabled routers that allow servers and clients to join a certain group with a specified address. Together the routers keep track of the members in the group and when a member of the group sends a message to the groups address, all members receive the message.
  • a protocol based on multicast henceforward called the information protocol, is used to repeatedly transmit information from the information server 8, whether this information has been requested or not.
  • the information specified by the operator, is transmitted over and over again until it is stopped. It is up to the client to listen to the right channel and decode the information received. If the information is secret, it is possible to encrypt a whole information object or just some of the data inside the object.
  • An object is in this context defined as the general information object sent to the electronic equipments 1 , such as TV-tabloids, stock information or boot information.
  • the information protocol accepts streams of objects at almost arbitrary length and throughput.
  • Fig 2a shows the information channel containing at least two objects, X and Y.
  • the objects are divided in several packets when being sent on the channel. It is shown that the last packet in an object may be smaller than the rest of the packets sent.
  • the first part is the header, A and B, as shown in fig 2b.
  • A is a static part that always is in the packet.
  • B is a dynamic part.
  • C and D are the payload. If there is no dynamic part B in the packet, the payload C, D starts directly after the static header A.
  • the packets contain the object type and name, packet number, checksums, precoding definitions, data and so on.
  • the payload C, D contains a part of the data object to be reassembled into an object. If the field "precoding" is showing that the data contains a signature the last part of the packet, D, should be treated as a signature.
  • the signature is just added as binary data at the end of the object composed of packet payloads.
  • the dynamic header type describes what is stored in the dynamic header and how to use it.
  • the dynamic header B can store nothing, a digital signature, extra header fields or a digital signature and extra header fields. If it is a combination the dynamic header starts with the signature up to a breaking point, a ter that point extra header fields are stored.
  • the dynamic header type field consists of 2 bytes used as bitmaps described below.
  • BBB is the breakpoint between the digital signature and the extra header fields.
  • the breakpoint is placed at (B/8)*A*16.
  • CCC describes the signature algorithm used.
  • DDD describes the key to be used.
  • the information protocol uses standardized multicast and it is easy for any node on a network to send multicast information (fake multicast server), and thereby confusing the clients on the subnet and potentially the whole network if the routers allow this.
  • the operator might enable an encrypted checksum. The clients receiving the information channel thereby discovers if a fake server is sending information and discard all packets not having the correct checksum.
  • the information server 8 When the information server 8 reads a list of objects to send specified by the operator, it gets information about the object, including the type of object, the file name or the process name of the object source and the packet size to use. The server 8 calculates the number of packets needed to send the object and then creates the first packet to send. In the packet, it writes the correct data in the header and fills the payload section with one part of the object data before sending the packet. This is then repeated for each packet needed. The client receives one packet at a time, and must for each packet read the type and name fields in order to reassemble the object.
  • IP Internet protocol
  • UDP Unicast Datagram Protocol
  • Multicast header checksums If any checksum is wrong, the packets are discarded and the client must act as if the packet had never arrived. If the dynamic header is used for a checksum or signature, this can also be used to determine if the packet is valid.
  • the client After receiving all packets, the client should have concatenated all packets to an object. If the headers of the packets specified that encryption or object-wide checksums are used, the client should now decode the data or calculate the checksums. If it is discovered that the object is not consistent, the object should be discarded.
  • the client is able to start downloading an object without waiting for the first packet 21 of the object, since the object is sent over and over again and is verified on an object level by the checksum in each packet.
  • the clients listen to this control channel and get the necessary information of where to find which information on the information channel.
  • the index may be sent on more than one control channel as well as the information may be sent on more than one information channel. To achieve a low bandwidth usage, the ability to send information on several channels is of great importance.
  • Extensible Markup Language is used in the info ⁇ nation protocol, but any other data format well known to the person skilled in the art may be used, such as proprietary binary formats. Since many different general information objects is sent, all XML documents have a header that all clients connected to the operator network understands. A template for objects might look something like this:
  • the data to send is placed in the ⁇ object-content> part of the document.
  • the object- name is a descriptive and unique name of the object according to a naming standard upheld by the network operator.
  • the object-identifier is a universally unique identifier (UUID) generated for each object to send. This identifier is used when updating the objects on the electronic equipments.
  • several information servers may be used. E.g. two servers are started but only one is sending the information channel and the other is listening to that information channel. If the first server stops sending, the second server notices this and starts sending the same information on an information channel.
  • the computerized electronic equipment 1 is an advanced gateway between the operator network, which is an IP- based network, Internet and home appliances. E.g. in order to deliver broadband multimedia services to the TV, such as music, video and e-commerce.
  • the inventive gateway is connected to home appliances. It is very well suited to be placed in e.g. hotels or companies.
  • the computerized electronic equipment 1 is a mobile station used in a telecommunication network.
  • the computerized electronic equipment is represented by 31, the operator site by 32 and the operator network by 33, which also is connected to the Internet.
  • the electronic equipment 31 comprises a boot loader 34, an operating system kernel 35, downloaded over the network by the boot loader 34 into a Random Access Memory (RAM) and a RAM disc 36.
  • the boot loader 34 is a modified version of a type well known to the person skilled in the art, such as Ether boot, BOOTP or the like and is not further discussed herein.
  • the operating system used is of a type well known to the person skilled in the art, such as Linux or EPOC and is not further discussed herein.
  • the operator site 32 comprises a router 37, a boot server 38, a server 39, which dynamically allocates IP-addresses, and a network file system 30.
  • the boot server 38 is the server component used to transmit the information needed for booting the operating system and a root file system over the network 33.
  • the server 39 is used to transfer boot-time configuration information to the booting electronic equipment 31 and is in the preferred embodiment a Dynamically Host Configuration Protocol (DHCP) server.
  • DHCP Dynamically Host Configuration Protocol
  • the file system 30 distributes file systems over the network 33.
  • the operating system kernel 35 is configured to mount the root file system over the network 33, but in other cases the kernel 35 is configured to use a downloaded RAM disk image as root device.
  • the operator network 33 comprises several multicast routers 37 each connected to several electronic equipments 31.
  • a protocol based on multicast henceforward called the booting protocol, is used to repeatedly transmit boot information from the boot server 38, whether this information has been requested or not.
  • the boot information, specified by the operator, is transmitted over and over again until it is stopped.
  • the booting protocol consists of at least two channels, at least one boot control channel and at least one boot file transfer channel.
  • the boot server 38 transmits information on the boot control channel about where, at which addresses, the boot informa- tion and RAM disc images are transmitted and what versions that are available for e.g. different client hardware revisions.
  • the boot server 38 transmits the actual boot information and RAM disc images on the file transfer channel.
  • the boot server transmitting the boot file transfer channel is another server, i.e. another program component, different from the boot server transmitting the boot control chan- nel.
  • different boot information is downloaded according to the information on the boot control channel.
  • An object is in this context defined as the boot information needed in order to boot the electronic equipment 31.
  • the booting protocol accepts streams of objects at almost arbitrary length and throughput.
  • the protocol is quite general and based on object composed of packets containing the object types, id, packet number, checksums, data and so on.
  • a boot channel 40 shown in fig 4a, contains a number of boot information objects.
  • Two objects Z and V are shown in fig 4a.
  • the objects Z, V are divided in several packets 41 when being sent on the channel 40, shown in fig 4b. It is shown that the last packet 41 in an object Z, V may be smaller than the rest of the packets 41 sent.
  • the first part is the header, P, and the second part, Q, is the payload, which is the data being carried within the packet 41.
  • the payload Q contains a part of the data object to be reassembled into an object.
  • the boot server 38 When the boot server 38 reads a list of objects to send specified by the operator, it gets information about the object, including the type of object, the file name or the process name of the object source and the packet size to use. The boot server 38 then calculates the number of packets 41 needed to send the object and creates the first packet 41 to send. In the packet 41, it writes the correct data in the header P and fills the payload section Q with object data before sending the object. This is then re- peated for each packet 41 needed.
  • the client receives one packet 41 at a time, and must for each packet 41 read the type and name fields in order to reassemble the object. If the type and the name are identical, the client must first make sure that the packet 41 has arrived correctly by check- ing the Internet Protocol (IP) and Unicast Datagram Protocol (UDP) /Multicast header checksums. If any checksum is wrong, the packet 41 is discarded and the client must act as if the packet 41 had never arrived.
  • IP Internet Protocol
  • UDP Unicast Datagram Protocol
  • the client After receiving all packets 41, the client should have concatenated all packets 41 to an object. If the header A of the packets 41 specified that encryption or objectwide checksums are used, the client should now decode the data or calculate the checksums. If it is discovered that the object is not consistent, the object should be discarded.
  • the client is able to start downloading an object without waiting for the first packet 41 of the object, since the object is sent over and over again and is verified on an object level by the checksum in each packet.
  • a preferred embodiment of the present invention is shown in fig 5 and the procedure for booting computerized electronic equipment 31 over the network 33 is as follows:
  • the boot loader 34 makes a call to the DHCP-server 39 (step 51), which in return sends information on where to listen to the boot control channel (step 52).
  • the boot loader 34 listens to the boot control channel and gets information about where to read which boot information on the boot file transfer channel
  • the boot loader 34 selects which boot information to download, depending on information known by the client, such as the hardware of the electronic equipment 1, and downloads from the boot server 38 the operating system kernel file and optionally a RAM disk file over the boot file transfer channel (step 54).
  • the boot loader 34 decodes the downloaded kernel file and starts the kernel 35 (step 55) by executing the kernel file.
  • the operating system kernel 35 starts the system in it's own way and mounts the root file system (step 56) from the RAM disk 36 or the network file system 30.
  • the operating system kernel 35 may mount additional file systems via the network file system 30, if the configuration files in the root systems says so.

Abstract

Method of sending information from at least one server (8; 38) to a selected group of computerized electronic equipments (1; 31), connected to the first server (8, 38) over a network (3; 33), where information composed of general objects having a type identity and a name identity directed to the electronic equipments (1; 31) is sent repeatedly and independent on the information request of the electronic equipment (1; 31) by the first server (8; 38) on at least one first channel and that an index of where to find which information is sent by the first server (8; 38) on at least one second channel, and that the second channel is listened to by the equipments (1; 31).

Description

METHOD AND APPARATUS FOR SENDING INFORMATION IN A COMMUNICATION SYSTEM
The present invention relates to a method defined in the preamble of claim 1.
The present invention also relates to an apparatus defined in the preamble of claim 7.
General information is usually sent to computerized electronic equipments in two- way communication networks in a peer-to-peer (P2P) manner. In order to transfer the information, it is divided into smaller packets. Each packet is mostly acknowledged separately by the receiver before the next packet is sent by the sender. This is the case when using e.g. the Trivial File Transfer Protocol (TFTP).
There are also one-way communication networks sending information to computerized electronic equipments, such as ordinary TV, radio and text-TV.
The demand for computerized electronic equipments connected to the 2-way networks is increasing, leading to a rapidly growing market with very large networks. With increasing number of electronic equipments asking for information separately and acknowledging over the network, as in a P2P communication, the network and servers soon becomes overloaded. Especially, when a large amount of these electronic equipments need to receive information at the same time, e.g. after power failure or when new information of interest to many users is sent, there will be a very high server load and network utilization.
US 6 108 697 shows a system for repeatedly sending disk images, divided into packets, from one sender to one or more downloading receiver. The data stream of the packets contains a number of join points, at which the down loader at any time may join the transmission. The down loaders get, however, no information about where to find which information on the transfer channel.
One type of information sent over the network is booting information, since thin clients are used in many applications today. Some of these low-cost computers are centrally managed and have no hard disk or other sufficiently large persistent memory. Therefore, they need to boot (download an operating system) over a network in order to start. When booting over the network, the TFTP is in general used to download the operating system.
WO 97/30549 shows a system for downloading different versions of software or data modules, e.g. an operating system, over a network (such as a cable television net- work) to home communication terminals. The system comprises a transmitting source, which continuously broadcasts all versions of all modules in a "carousel" channel and transmits a descriptor table to each terminal. The teπninal compares the descriptor table with an internally stored table. If the terminal needs a newer version of the operating system, it tunes to the "carousel" channel and downloads the newer version. This system is mainly designed for a small network, where the use of bandwidth is of less importance than in large networks.
There is, therefore, a need for an improved method and apparatus which send general information to a large amount of computerized electronic equipments over 2-way networks with a low network and server utilization and which saves bandwidth.
One object of the present invention is to provide an improved method and apparatus for sending general information of interest to many users over the network.
In accordance with the preferred embodiment of the present invention, this object is accomplished by providing a method and apparatus as defined in the independent claims 1 and 7.
The details of the preferred embodiment of the invention are set forth in the accom- panying drawings and the description below. Other features and advantages of the invention will become apparent from the description, the drawings and the claims.
In the drawings:
Fig 1 is a block diagram of a communication system.
Fig 2a shows a channel used for sending information.
Fig 2b shows one packet in an object sent on an information channel.
Fig 3 is a block diagram of one application of the inventive method and apparatus showing a system for booting over the network.
Fig 4a shows a channel used for booting Fig 4b shows one packet in an object sent on the booting channel.
Fig 5 is a flowchart showing the steps perfoπned when booting computerized electronic equipment over a network. What in this context is called a server, is a program component delivering some added value, such as a mail server, and has nothing to do with the server hardware, which can be the same for several servers.
Client/server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request. In a network, the client/server model provides a convenient way to interconnect programs that are distributed efficiently across different locations.
In fig 1, a computerized electronic equipment connected to the network is represented by 1, an operator site by 2 and an operator network by 3, which also is connected to the Internet.
The operator site 2 comprises a router 7, at least one information server 8, and a management system 9. The information server 8 is the server component used to transmit information specified by the operator over the network 3. The management system 9 is responsible for the information in the information server 8.
The operator network 3 comprises several routers 7. A router is a device that determines the next network point to which a packet should be forwarded toward its destination. A router creates or maintains a table of the available routes and their conditions and uses this information along with distance and cost algorithms to determine the best route for a given packet. Typically, a packet may travel through a number of network points with routers, before arriving at its destination.
In the present invention, the routers 7 are multicast routers. The multicast routers 7 are each connected to several electronic equipments 1, either directly or via a switch (not shown). The Multicast technology is based on the interest to send information to a certain group, instead of to everyone (broadcast) or to a single receiver (unicast). To enable that functionality on a network, group addressing is used. Group addressing is based on services in multicast enabled routers that allow servers and clients to join a certain group with a specified address. Together the routers keep track of the members in the group and when a member of the group sends a message to the groups address, all members receive the message.
In the present invention, a protocol based on multicast, henceforward called the information protocol, is used to repeatedly transmit information from the information server 8, whether this information has been requested or not. The information, specified by the operator, is transmitted over and over again until it is stopped. It is up to the client to listen to the right channel and decode the information received. If the information is secret, it is possible to encrypt a whole information object or just some of the data inside the object.
An object is in this context defined as the general information object sent to the electronic equipments 1 , such as TV-tabloids, stock information or boot information. The information protocol accepts streams of objects at almost arbitrary length and throughput.
Fig 2a shows the information channel containing at least two objects, X and Y. The objects are divided in several packets when being sent on the channel. It is shown that the last packet in an object may be smaller than the rest of the packets sent.
In a single packet the first part is the header, A and B, as shown in fig 2b. A is a static part that always is in the packet. B is a dynamic part. C and D are the payload. If there is no dynamic part B in the packet, the payload C, D starts directly after the static header A.
The packets contain the object type and name, packet number, checksums, precoding definitions, data and so on.
The payload C, D contains a part of the data object to be reassembled into an object. If the field "precoding" is showing that the data contains a signature the last part of the packet, D, should be treated as a signature.
All information in the header, except the packet no, must be identical in all headers corresponding to the same object.
When using encryption or signing of the payload, the signature is just added as binary data at the end of the object composed of packet payloads.
The dynamic header type describes what is stored in the dynamic header and how to use it. The dynamic header B can store nothing, a digital signature, extra header fields or a digital signature and extra header fields. If it is a combination the dynamic header starts with the signature up to a breaking point, a ter that point extra header fields are stored. The dynamic header type field consists of 2 bytes used as bitmaps described below.
AAABBBCCCDDDEEEE
AAA is the size of the dynamic header in A* 16 bytes. If A=000, then B, C, D, and E are ignored.
BBB is the breakpoint between the digital signature and the extra header fields. The breakpoint is placed at (B/8)*A*16.
CCC describes the signature algorithm used.
DDD describes the key to be used.
EEEE describes the extra header fields.
One usage of the dynamic header B is for security reasons. The information protocol uses standardized multicast and it is easy for any node on a network to send multicast information (fake multicast server), and thereby confusing the clients on the subnet and potentially the whole network if the routers allow this. In the dynamic header B, the operator might enable an encrypted checksum. The clients receiving the information channel thereby discovers if a fake server is sending information and discard all packets not having the correct checksum.
In order to send an object via the information protocol, it must first be precoded on an object level with the encryption and checksums that are needed.
When the information server 8 reads a list of objects to send specified by the operator, it gets information about the object, including the type of object, the file name or the process name of the object source and the packet size to use. The server 8 calculates the number of packets needed to send the object and then creates the first packet to send. In the packet, it writes the correct data in the header and fills the payload section with one part of the object data before sending the packet. This is then repeated for each packet needed. The client receives one packet at a time, and must for each packet read the type and name fields in order to reassemble the object. If the type and the name are identical, the client must first make sure that the packet has arrived correctly by checking the Internet protocol (IP) and Unicast Datagram Protocol (UDP)/Multicast header checksums. If any checksum is wrong, the packets are discarded and the client must act as if the packet had never arrived. If the dynamic header is used for a checksum or signature, this can also be used to determine if the packet is valid.
After receiving all packets, the client should have concatenated all packets to an object. If the headers of the packets specified that encryption or object-wide checksums are used, the client should now decode the data or calculate the checksums. If it is discovered that the object is not consistent, the object should be discarded.
The client is able to start downloading an object without waiting for the first packet 21 of the object, since the object is sent over and over again and is verified on an object level by the checksum in each packet.
On a control channel an index of where to find different objects is available for the clients. The clients listen to this control channel and get the necessary information of where to find which information on the information channel. Optionally the index may be sent on more than one control channel as well as the information may be sent on more than one information channel. To achieve a low bandwidth usage, the ability to send information on several channels is of great importance.
In the preferred embodiment of the present invention the Extensible Markup Language (XML) is used in the infoπnation protocol, but any other data format well known to the person skilled in the art may be used, such as proprietary binary formats. Since many different general information objects is sent, all XML documents have a header that all clients connected to the operator network understands. A template for objects might look something like this:
<!xml version="1.0"?> information protocol> <object-info>
<object-name>AfyOό/ec/Λr(7/?;e</object-name>
<obj ect-identi fcτ>XXXXXXXXXXXXXXXXXXXXXXX<Jo\i\∞t-\fert:\ fier>
</object-info> <object-content>
XXXX
</object-content> </infotτnation protocol> The data to send is placed in the <object-content> part of the document. The object- name is a descriptive and unique name of the object according to a naming standard upheld by the network operator. The object-identifier is a universally unique identifier (UUID) generated for each object to send. This identifier is used when updating the objects on the electronic equipments.
To ensure high availability of the information channels, several information servers may be used. E.g. two servers are started but only one is sending the information channel and the other is listening to that information channel. If the first server stops sending, the second server notices this and starts sending the same information on an information channel.
In the preferred embodiment of the present invention, the computerized electronic equipment 1 is an advanced gateway between the operator network, which is an IP- based network, Internet and home appliances. E.g. in order to deliver broadband multimedia services to the TV, such as music, video and e-commerce. There are, however, no limitations for the inventive gateway to be connected to home appliances. It is very well suited to be placed in e.g. hotels or companies.
In another embodiment of the present invention, the computerized electronic equipment 1 is a mobile station used in a telecommunication network.
A typical use of the inventive method and apparatus for sending general information is for booting over the network. This application will henceforward be presented and is shown in figures 3-5.
In fig 3, the computerized electronic equipment is represented by 31, the operator site by 32 and the operator network by 33, which also is connected to the Internet. The electronic equipment 31 comprises a boot loader 34, an operating system kernel 35, downloaded over the network by the boot loader 34 into a Random Access Memory (RAM) and a RAM disc 36. The boot loader 34 is a modified version of a type well known to the person skilled in the art, such as Ether boot, BOOTP or the like and is not further discussed herein. Also, the operating system used is of a type well known to the person skilled in the art, such as Linux or EPOC and is not further discussed herein.
The operator site 32 comprises a router 37, a boot server 38, a server 39, which dynamically allocates IP-addresses, and a network file system 30. The boot server 38 is the server component used to transmit the information needed for booting the operating system and a root file system over the network 33. The server 39 is used to transfer boot-time configuration information to the booting electronic equipment 31 and is in the preferred embodiment a Dynamically Host Configuration Protocol (DHCP) server. The file system 30 distributes file systems over the network 33. In some cases the operating system kernel 35 is configured to mount the root file system over the network 33, but in other cases the kernel 35 is configured to use a downloaded RAM disk image as root device. The operator network 33 comprises several multicast routers 37 each connected to several electronic equipments 31.
In this specific application of the present invention, a protocol based on multicast, henceforward called the booting protocol, is used to repeatedly transmit boot information from the boot server 38, whether this information has been requested or not. The boot information, specified by the operator, is transmitted over and over again until it is stopped.
The booting protocol consists of at least two channels, at least one boot control channel and at least one boot file transfer channel. The boot server 38 transmits information on the boot control channel about where, at which addresses, the boot informa- tion and RAM disc images are transmitted and what versions that are available for e.g. different client hardware revisions. The boot server 38 transmits the actual boot information and RAM disc images on the file transfer channel. Optionally, the boot server transmitting the boot file transfer channel is another server, i.e. another program component, different from the boot server transmitting the boot control chan- nel. Also, optionally, there are several boot file transfer channels transmitting the same boot information with a slight time difference. Depending on information known by the client, such as the version and type of hardware of the electronic equipment, different boot information is downloaded according to the information on the boot control channel.
An object is in this context defined as the boot information needed in order to boot the electronic equipment 31. The booting protocol accepts streams of objects at almost arbitrary length and throughput. The protocol is quite general and based on object composed of packets containing the object types, id, packet number, checksums, data and so on.
A boot channel 40, shown in fig 4a, contains a number of boot information objects. Two objects Z and V are shown in fig 4a. The objects Z, V are divided in several packets 41 when being sent on the channel 40, shown in fig 4b. It is shown that the last packet 41 in an object Z, V may be smaller than the rest of the packets 41 sent.
In a single packet 41 the first part is the header, P, and the second part, Q, is the payload, which is the data being carried within the packet 41. The payload Q contains a part of the data object to be reassembled into an object. Some information in the header must be identical in all headers corresponding to the same object.
When the boot server 38 reads a list of objects to send specified by the operator, it gets information about the object, including the type of object, the file name or the process name of the object source and the packet size to use. The boot server 38 then calculates the number of packets 41 needed to send the object and creates the first packet 41 to send. In the packet 41, it writes the correct data in the header P and fills the payload section Q with object data before sending the object. This is then re- peated for each packet 41 needed.
The client receives one packet 41 at a time, and must for each packet 41 read the type and name fields in order to reassemble the object. If the type and the name are identical, the client must first make sure that the packet 41 has arrived correctly by check- ing the Internet Protocol (IP) and Unicast Datagram Protocol (UDP) /Multicast header checksums. If any checksum is wrong, the packet 41 is discarded and the client must act as if the packet 41 had never arrived.
After receiving all packets 41, the client should have concatenated all packets 41 to an object. If the header A of the packets 41 specified that encryption or objectwide checksums are used, the client should now decode the data or calculate the checksums. If it is discovered that the object is not consistent, the object should be discarded.
The client is able to start downloading an object without waiting for the first packet 41 of the object, since the object is sent over and over again and is verified on an object level by the checksum in each packet.
A preferred embodiment of the present invention is shown in fig 5 and the procedure for booting computerized electronic equipment 31 over the network 33 is as follows:
1. The boot loader 34 makes a call to the DHCP-server 39 (step 51), which in return sends information on where to listen to the boot control channel (step 52).
2. The boot loader 34 listens to the boot control channel and gets information about where to read which boot information on the boot file transfer channel
(step 53).
3. The boot loader 34 selects which boot information to download, depending on information known by the client, such as the hardware of the electronic equipment 1, and downloads from the boot server 38 the operating system kernel file and optionally a RAM disk file over the boot file transfer channel (step 54).
4. The boot loader 34 decodes the downloaded kernel file and starts the kernel 35 (step 55) by executing the kernel file.
5. The operating system kernel 35 starts the system in it's own way and mounts the root file system (step 56) from the RAM disk 36 or the network file system 30.
6. The operating system kernel 35 may mount additional file systems via the network file system 30, if the configuration files in the root systems says so.

Claims

Claims
1. Method of sending information from at least one server (8; 38) to a selected group of computerized electronic equipments (1; 31), connected to the first server (8; 38) over a network (3; 33), characterised in, that information composed of general objects having a type identity and a name identity directed to the electronic equipments (1 ; 31) is sent repeatedly and independent on the information request of the electronic equipment (1; 31) by the first server (8; 38) on at least one first channel and that an index of where to find which information is sent by the first server (8; 38) on at least one second channel, and that the second channel is listened to by the equipments (1 ; 31).
2. Method according to claim 1, characterised in, that the objects are divided into smaller packets (21 ; 41) by the first server (8; 38), and that each packet is provided with a checksum.
3. Method according to claim 2, characterised in, that the objects are verified by the checksum in each packet (21; 41), whereby the packets (21; 41) may be downloaded by the equipment (1; 31) in any order, and that which objects to download is selected by the equipment (1; 31).
4. Method according to any of the preceding claims, characterised in, that the information sent is boot information and that the booting comprises the steps of:
a second server (39) is called by a boot loader (34);
information about where to listen to the second channel is returned by the second server (39);
the second channel is listened to by the boot loader (34), which gets informa- tion about available boot information and where to read which boot information on the first channel;
a selected operating system kernel (35) is downloaded by the boot loader (34) from the first server (38) using the first channel; and the operating system kernel (35) is decoded and started by the boot loader (34).
5. Method according to claim 4, characterised in, that a RAM disc image file is downloaded by the boot loader (34) using the first channel.
6. Method according to claim 4 or 5, characterised in, that which boot information to read on the second channel is selected by the boot loader (34) dependent on information known by the equipment (31), such as the hardware of the equipment (31).
7. Apparatus of sending objects from at least one server (8, 38) to a selected group of computerized electronic equipments (1; 31), connected to the first server (8; 38) over a network (3; 33) according to the method in claim 1, characterised in, that the first server (8; 38) is arranged to repeatedly and independent on the information request of the electronic equipment (1 ; 31) send information directed to the electronic equipments (1; 31) on at least one first channel, that the first server (8; 38) further is arranged to send an index of where to find which information on at least one second channel, that the equipments (1; 31) are arranged to listen to the second channel, and that the inform- ation is composed of general objects having a type identity and a name identity.
8. Apparatus according to claim 7, characterised in, that the objects are divided into smaller packets (21; 41) by the first server (8; 38), and that each packet (21 ; 41) is signed and provided with a checksum.
9. Apparatus according to claim 8, characterised in, that the checksum verifies the objects in each packet (21 ; 41), and that the equipment (1; 31), thereby, is arranged to download the packets (21 ; 41) in any order, and that the equipment (1 ; 31) is arranged to select which objects to download.
10. Apparatus according to any of the claims 7 - 9, characterised in, that there are at least two first servers (8; 38) arranged to send the information over the network (3; 33), and that these servers (8; 38) are arranged to send the information one at a time.
1 1. Apparatus according to any of the claims 7 - 10, characterised in, that the information sent is boot information and a boot loader (34) is arranged to call a second server (39); that the second server (39) is arranged to return information about where to listen to the second channel;
that the boot loader (34) is arranged to listen to the second channel, getting in- > formation about available boot information and where to read which boot info rmation on the first channel;
that the boot loader (34) is arranged to select and download an operating system kernel (35) from the first server (38) using the first channel; ) and
that the boot loader (34) is arranged to decode and start the operating system kernel (35).
12. Apparatus according to claim 1 1, characterised in, that the boot loader (34) is arranged to download a RAM disc image file using the first channel.
13. Apparatus according to claim 11 or 12, characterised in, that which boot information that the boot loader (34) is arranged to read on the second channel, is depending on information known by the equipment (31), such as the hardware of the electronic equipment (31).
PCT/SE2001/002346 2000-10-26 2001-10-25 Method and apparatus for sending information in a communication system WO2002035348A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002211158A AU2002211158A1 (en) 2000-10-26 2001-10-25 Method and apparatus for sending information in a communication system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
SE0003889-3 2000-10-26
SE0003889A SE524486C2 (en) 2000-10-26 2000-10-26 Data transfer method over peer-to-peer network involves information composed of type identity and name identity that is repeatedly and independently transmitted from server on two channels
SE0003890-1 2000-10-26
SE0003890A SE524309C2 (en) 2000-10-26 2000-10-26 Data transfer method over peer-to-peer network involves information composed of type identity and name identity that is repeatedly and independently transmitted from server on two channels

Publications (1)

Publication Number Publication Date
WO2002035348A1 true WO2002035348A1 (en) 2002-05-02

Family

ID=26655278

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2001/002346 WO2002035348A1 (en) 2000-10-26 2001-10-25 Method and apparatus for sending information in a communication system

Country Status (2)

Country Link
AU (1) AU2002211158A1 (en)
WO (1) WO2002035348A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006061454A1 (en) 2004-12-08 2006-06-15 Maisatech Oy Method of accessing files in electronic devices
US7464277B2 (en) 2005-01-28 2008-12-09 Dell Products, L.P. Microprocessor performance mode control utilizing sensed temperature as an indication of microprocessor utilization
US7899877B2 (en) 2005-05-17 2011-03-01 Dell Products L.P. Method for dynamically managing multicast sessions for software downloads and related systems

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0399200A2 (en) * 1989-05-25 1990-11-28 General Instrument Corporation Of Delaware Functionally modifiable cable television converter system
WO1997030549A1 (en) * 1996-02-14 1997-08-21 Powertv, Inc. Multicast downloading of software and data modules and their compatibility requirements
US5768539A (en) * 1994-05-27 1998-06-16 Bell Atlantic Network Services, Inc. Downloading applications software through a broadcast channel
US6085318A (en) * 1993-09-10 2000-07-04 Compaq Computer Corporation Computer system capable of booting from CD-ROM and tape
WO2001028248A1 (en) * 1999-10-13 2001-04-19 Digital Convergence.:Com Inc. Software downloading using a television broadcast channel
WO2001031912A1 (en) * 1999-10-22 2001-05-03 General Instrument Corporation Object and feature authorization for digital communication terminals

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0399200A2 (en) * 1989-05-25 1990-11-28 General Instrument Corporation Of Delaware Functionally modifiable cable television converter system
US6085318A (en) * 1993-09-10 2000-07-04 Compaq Computer Corporation Computer system capable of booting from CD-ROM and tape
US5768539A (en) * 1994-05-27 1998-06-16 Bell Atlantic Network Services, Inc. Downloading applications software through a broadcast channel
WO1997030549A1 (en) * 1996-02-14 1997-08-21 Powertv, Inc. Multicast downloading of software and data modules and their compatibility requirements
WO2001028248A1 (en) * 1999-10-13 2001-04-19 Digital Convergence.:Com Inc. Software downloading using a television broadcast channel
WO2001031912A1 (en) * 1999-10-22 2001-05-03 General Instrument Corporation Object and feature authorization for digital communication terminals

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006061454A1 (en) 2004-12-08 2006-06-15 Maisatech Oy Method of accessing files in electronic devices
US8898167B2 (en) 2004-12-08 2014-11-25 Open Invention Network, Llc Method of accessing files in electronic devices
US7464277B2 (en) 2005-01-28 2008-12-09 Dell Products, L.P. Microprocessor performance mode control utilizing sensed temperature as an indication of microprocessor utilization
US7899877B2 (en) 2005-05-17 2011-03-01 Dell Products L.P. Method for dynamically managing multicast sessions for software downloads and related systems
US9600260B2 (en) 2005-05-17 2017-03-21 Dell Products Lp Method for dynamically managing multicast sessions for software downloads and related systems

Also Published As

Publication number Publication date
AU2002211158A1 (en) 2002-05-06

Similar Documents

Publication Publication Date Title
US6888807B2 (en) Applying session services based on packet flows
CA2573388C (en) Grouping of session objects
RU2436245C2 (en) System and method for implementing mbms handover during downloaded delivery
US7142509B1 (en) Method and apparatus providing for delivery of streaming media
US20040184456A1 (en) Packet-oriented data communications between mobile and fixed data networks
US20060069836A1 (en) Communication system and method for upgrade of user terminal software and user terminal upgraded by the same
KR20030081430A (en) Multimedia messaging method and system
MXPA04010455A (en) Method and apparatus for identifying transport streams as networks.
EP1464163B1 (en) Module and process for use with inter-user communication via a bidirectional network
US20020099858A1 (en) Network communications protocol
US10084835B1 (en) Systems and methods for distributing streams and stream metadata
US7325072B2 (en) Inter-subnet multicast relaying service-a network infrastructure independent solution to cross subnet multicasting
KR101230518B1 (en) Method of constructing a unique transmission address by a server and server using this method
FI109854B (en) Production of service from a TCP / IP network server
WO2002035348A1 (en) Method and apparatus for sending information in a communication system
WO2001089154A1 (en) Transmitting data via broadcast network
KR20070031459A (en) Grouping of session objects
JP2003143091A (en) Broadcasting device and receiver
JP5529145B2 (en) How to request file repair delivery mode
WO2009106126A1 (en) Apparatus and method related to allowed and not allowed multicast addresses or source addresses
SE524486C2 (en) Data transfer method over peer-to-peer network involves information composed of type identity and name identity that is repeatedly and independently transmitted from server on two channels
CN117135196A (en) Data transmission method and related equipment
CA3197993A1 (en) Method and system for customized audio and/or video content delivery
Jadia et al. Neel Jadia BE, Dharmsinh Desai University, India, 2008
Jadia Establishing IPv6 connectivity for a cable modem

Legal Events

Date Code Title Description
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP