Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MESSAGING IN MULTICAST NETWORKS
Document Type and Number:
WIPO Patent Application WO/2002/019622
Kind Code:
A2
Abstract:
A messaging system may enable a server to assign unique identifiers to a plurality of clients. These identifiers enable a client to determine whether a message is specifically targeted to that client or, as an alternative, whether the client is a member of a group of targeted clients. In one embodiment, each client includes a client identifier that may include code portions that are common to other members of a particular addressable client group. In addition, the client may include agents devoted to particular functions that may be uniquely addressable by the server.

Inventors:
HUCKINS JEFFREY (US)
Application Number:
PCT/US2001/026904
Publication Date:
March 07, 2002
Filing Date:
August 29, 2001
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INTEL CORP (US)
HUCKINS JEFFREY (US)
International Classes:
H04L12/56; H04L12/18; H04N21/235; H04N21/236; H04N21/434; H04N21/435; H04N21/6405; H04N21/81; H04H20/91; (IPC1-7): H04L12/00
Foreign References:
US6078954A2000-06-20
EP0598969A11994-06-01
EP0935381A21999-08-11
EP1030277A22000-08-23
EP0998094A22000-05-03
US6006260A1999-12-21
Other References:
RYU B ET AL: "MANAGING IP SERVICES OVER A PACS PACKET NETWORK" IEEE NETWORK, IEEE INC. NEW YORK, US, vol. 12, no. 4, July 1998 (1998-07), pages 4-10, XP000875300 ISSN: 0890-8044
RUMM H: "UNICAST, BROADCAST, MULTICAST" NET - ZEITSCHRIFT FUER KOMMUNIKATIONSMANAGEMENT, HUTHIG VERLAG, HEILDERBERG, DE, vol. 52, no. 7, 1998, pages 41-43, XP000777783 ISSN: 0947-4765
Attorney, Agent or Firm:
Trop, Timothy N. (Pruner & Hu P.C. Suite 100 8554 Katy Freeway Houston, TX, US)
Download PDF:
Claims:
1. A method comprising: assigning an individual identifier to the clients comprising a set of clients; assigning a group identifier to a subset of the clients within the set of clients; and enabling a first client in said set to determine whether a message is sent to the first client or to the subset.
2. The method of claim 1 further including sending a single message to a subset of said clients.
3. The method of claim 1 including sending television content to a plurality of clients.
4. The method of claim 1 wherein assigning an individual identifier includes assigning a code portion that identifies a particular client as belonging to a subset of clients within the set of clients.
5. The method of claim 4 including comparing a group identifier, received by a client with a message, to the client's individual identifier to determine whether the particular client is within the addressed subset.
6. The method of claim 1 including addressing the same message to a subset of clients.
7. The method of claim 1 including sending a message to a client in a unidirectional messaging system.
8. An article comprising a medium storing instructions that enable a processorbased system to: assign an individual identifier to a client comprising a set of clients; assign a group identifier to a subset of the client within the set of clients; and enable a first client in said set to determine whether a message is sent to the first client or to the subset.
9. The article of claim 8 further storing instructions that enable the processorbased system to send a single message to a subset of said clients.
10. The article of claim 8 further storing instructions that enable the processorbased system to send television content to a plurality of clients.
11. The article of claim 8 further storing instructions that enable the processorbased system to assign a code portion that identifies a particular client as belonging to a subset of clients within the set of clients.
12. The article of claim 11 further storing instructions that enable the processorbased system to compare a group identifier, received by a client with a message, to the client's individual identifier to determine whether the client is within the address subset.
13. The article of claim 8 further storing instructions that enable the processorbased system to address the same message to a subset of clients.
14. The article of claim 8 further storing instructions that enable the processorbased system to send a message to a client in a unidirectional messaging system.
15. A method comprising: providing at least two agents on a client; assigning a different address to each of said agents; and determining whether a message received by said client is addressed to one of said agents.
16. The method of claim 15 including sending at least two different types of messages to said client.
17. The method of claim 16 including sending messages including software and messages not including software.
18. The method of claim 17 including assigning different addresses to messages to a client that include software and messages that do not include software.
19. The method of claim 18 including addressing messages including software to an agent on the client that is adapted to handle the downloading of software.
20. The method of claim 15 including assigning an individual identifier to the clients comprising a set of clients, assigning a group identifier to a subset of the clients within the set of clients, and enabling a first client in said set to determine whether a message is sent to the first client or the subset.
21. An article comprising a medium storing instructions that enable a processorbased system to: provide at least two agents on a client; assign a different address to each of said agents; and determine whether a message received by said client is addressed to one of said agents.
22. The article of claim 21 further storing instructions that enable the processorbased system to send at least two different types of messages to said client.
23. The article of claim 22 further storing instructions that enable the processorbased system to send messages including messages including software and messages not including software.
24. The article of claim 23 further storing instructions that enable the processorbased system to assign different addresses to messages to a client that include software and messages that do not include software.
25. The article of claim 24 further storing instructions that enable the processorbased system to address messages including software to an agent on the client, said agent adapted to handle the downloading of software.
26. The article of claim 21 further storing instructions that enable the processorbased system to assign an individual identifier to the clients comprising a set of clients, assign a group identifier to a subset of the clients within the set of clients and enable a first client in the first set to determine whether a message is sent to the first client or the subset.
27. A system comprising: a processorbased device; and a storage coupled to said device, said storage storing instructions that enable the processorbased device to assign an individual identifier to the clients comprising a set of clients, assign a group identifier to a subset of the clients within the set of clients and enable a first client in said set to determine whether a message is sent to the first client or to the subset.
28. The system of claim 27 wherein said system distributes television content to a plurality of clients.
29. The system of claim 27 including a comparator that compares a group identifier, received by a client with a message, to the client's individual identifier to determine whether the particular client is within the addressed subset.
30. A system comprising: a processorbased device; and a storage coupled to said device storing instructions that enable the processorbased device to handle at least two agents on a client, assign a different address to each of said agents and determine whether a message received by the client is addressed to one of said agents.
Description:
CLIENT MESSAGING IN MULTIAST NETWORKS Background This invention relates generally to providing messages to clients in multicast networks.

A multicast network may enable messages to be sent to target groups of clients that constitute a subset of all of the networked clients. Generally, multicasting is accomplished by including, within a header for example, the addresses of all the subject clients that are addressed.

Including a large number of addresses with a packet has the distinct disadvantage that the message size can become very enlarged in networks with many clients. In particularly large networks, such as those that have nationwide coverage, the bandwidth of the network may be adversely affected by the need to include, within the message, addresses for a large subset of the clients on the network.

Thus, there is a need for ways to address a subset of clients within a network in a bandwidth efficient fashion.

In some cases, a given client may receive a variety of different types of messages. As one example, it may be desirable to transmit software updates (that update the software on a group of clients) through a multicast network system. Thus, each client may receive conventional messages as well as software updates. Conventionally, there is no way for the client that receives a message to immediately determine what to do with the message.

Thus, there is a need for a way to enable network clients to better handle diverse types of messages that may be received by the client.

Brief Description of the Drawings Figure 1 is a schematic depiction of one embodiment of the present invention; Figure 2 is a flow chart for software resident on the client shown in Figure 1 in accordance with one embodiment of the present invention; and Figure 3 is a flow chart for software resident on the server or head end in accordance with one embodiment of the present invention.

Detailed Description Referring to Figure 1, a network may include at least one server or head-end 10 and a plurality of clients 12 (only one of which is shown). The server 10 may be coupled to a plurality of clients (including the client 12) through a distribution system that may be based on a wired system or a wireless or broadcast system. Examples of such networks include television distribution networks such as digital video broadcasting systems.

In one embodiment of the present invention, the server 10 may communicate with the clients 12 over a transport 14.

The transport 14 may be in accordance with an analog or digital broadcasting system. As one example, the transport 14 may be compliant with the Digital Video Broadcast (DVB); Network-independent Protocol, ETS 300802, dated November 1997 and available from the European Telecommunications Standards Institute (ETS), Valbonne, France. The transport 14 may be a satellite, cable or airwave broadcasting system as examples.

In accordance with embodiments of the present invention, the client 12 recognizes messages directed individually to that client 12 from the server 10 or in some embodiments, from other clients 12. Bandwidth may be conserved by addressing messages to a group of clients without the need to insert, within header, the individual identifiers of each of a large number of addressed clients.

In addition, the client 12 may include one or more addressable agents 44,46 and 48 that may be independently addressed by remote units such as the server 10. Moreover, by providing addressable agents 44,46 and 48 within a given client 12, messages that are specialized or which need specialized handling may be addressed to particular agents resident on the client 12 for appropriate handling.

The server 10 may include a software download and update server 16. The server 16 is responsible for transmitting software or software updates to the client 12.

The server 16 transmits messages which include a distinct service identifier (e. g., serviceid=0x01).

The server 10 may also include an instant messaging or short message service (SMS) server 18 that also transmits messages having a distinct service identifier (e. g., service-id=Ox02). The server 10 may also have any number of additional servers indicated collectively at 20 that may transmit messages, each having a unique service identifier (e. g., service_id=X).

In accordance with one embodiment of the present invention, the server 10 may implement a unidirectional messaging system. In a unidirectional messaging system, the server 10 may transmit messages to a plurality of clients that are unable to respond in any way. One example of such a network is a direct-to-home (DTH) broadcast network that may be compliant with the DVB protocol. The network may use a connection oriented communication protocol or a real time, connectionless communication protocol as two examples.

There are many applications of unidirectional messaging from server to client such as instant messaging, command and control and notification and signaling, as examples. In other cases, the network may be a bidirectional network, for example with an Internet Protocol (IP) multicast backbone.

In one embodiment of the invention, the server 10 may include a unidirectional messaging server (UMS) 22 that is coupled to the servers 16,18 and 20 to generate messages in an appropriate format. The messages transmitted by the UMS server 22 may include messages originally generated by one of the servers 16,18 or 20. The UMS server 22 may then be coupled to an Internet Protocol multicast module 24 that places the messages in an appropriate multicast protocol format. Finally, a DVB Multiprotocol Encapsulation (MPE) 26 is coupled to the Internet protocol multicast module 24.

The MPE is described in DVB Specification for Data Broadcasts (EN 301 192) and Specification for Service Information (SI) in DVB Systems (EN 300 468 Vl. 3.1 1998-02) both available from the ETS. The output of the DVB MPE 26 and a DVB-Service Information (SI) generator 28 are coupled to the transport 14. Service Information is digital data describing the delivery system, content and scheduling/timing of broadcast data streams.

In the client 12, the stream from the DVB-SI generator 28 is coupled to a DVB-SI receiver 40 and service acquisition module 38. The service acquisition module 38 extracts a program identifier (PID) and provides it to a DVB demultiplexer 32. A tuner 30 may tune the client 12 to the appropriate channel corresponding to the extracted program identifier.

The message from the DVB MPE 26 is provided to a DVB MPE receiver 42. The receiver 42 communicates with an IP multicast module 40 and a unidirectional messaging server 38. The server 38 breaks down the message to determine whether a service identifier was included in the data stream. If so, the message is forwarded to an appropriate agent designated to receive messages with particular service identifiers.

Thus, in one embodiment of the present invention, the software download and update server 16 may provide a specific message identifier that causes its message to be received by a software download agent 48 tuned to a particular service identifier. Similarly, messages from the instant messaging server 18 may include a service identifier that cause those messages to be forwarded to an instant messaging agent 46 in the client 12. Likewise, messages from other servers 20 may have appropriate identifiers that cause them to be shunted to particular agents 44 on the client 12.

The server 10 may include a storage 25 that stores software 70 for controlling the operation of the server 22.

Likewise, the server 38 on the client 12 may be coupled to a storage 45 that stores software 50 that controls the operation of the server 38. The servers 22 and 38 may also. be processor-based systems.

Turning next to Figure 2, the software 50 on the client 12 initially receives the unidirectional messaging server address and port from the server 10. The client 12 may also be assigned a client identifier as indicated in block 52.

Thus, an Internet Protocol multicast system may be established wherein each client has a UMS address and port as well as a unique client identifier, assigned by the server 10. In some embodiments, the server 10 may dynamically adjust addresses and ports as well as client identifiers to enable communication of particular messages, message groups or types of messages to particular clients in a dynamic and reconfigurable fashion.

Having received its address, port and client identifier, the client 12 receiver joins a multicast group and listens for messages addressed specifically to it or to any groups that the client 12 belongs to, as indicated in block 54.

A software download agent 48 registers its service identifier with the UMS server 38 as indicated in block 56.

When the UMS server 38 receives a packet with a UMS message, as indicated in block 58, a check determines whether the particular client 12 is the intended recipient as indicated in diamond 60. If not, the message is discarded as indicated in block 62.

However, if the particular client 12 is the intended recipient, the server 38 checks the message's service identifier and passes the message to the correct agent 44, 46 or 48, as indicated in block 64. The message is then delivered to the appropriate agent 44,46 or 48, as indicated in block 66. In the agent, the information is parsed and passed to an appropriate process for handling as indicated in block 68.

On the server side, shown in Figure 3, the network software 70 begins by assigning multicast addresses and ports for unidirectional messaging service to a plurality of clients 12 as indicated in block 72. The server 10 may also assign client identifiers in a dynamic and reconfigurable fashion. The address, port and client identifiers are then transmitted to the clients as indicated in block 74.

Thereafter, the software download and update server 16 may create a software version data structure and pass this data to the server 22 as indicated in block 76. The server 22 creates a unidirectional message and assigns a client value, sets a group flag, and copies private data in the private bytes of the message as indicated in block 78. More particularly, a unique client identifier may be assigned.

The client identifier may either be a particular preassigned client identifier or, as one example, may be zero when multiple clients are targeted. A group flag may be a Boolean value specifying whether the client identifier is a group mask or a particular identifier. A group mask is an identifier that identifies a subset of the clients 12 on the network. This subset may include a plurality of clients but less than the total number of addressable clients..

As one example of a undirectional message header, the message may include a number of variables including a group mask, a service, a version, a message, and a private data byte. The group-mask may, in one embodiment of the present invention, include 64 bits, the service_id may include eight bits, the version may include sixteen bits, the message_id may include eight bits and the private data byte may include eight bits. The group mask may be exclusive ORed with the client identifier of each unique client 12 to determine if the client 12 is the intended recipient. The version id is the version of the unidirectional messaging protocol and may initially be set to zero. The serviceid may be a service identifier that may be as two examples 0x01 for a software and download and update service or 0x02 for an instant messaging service.

Advantageously, the message size does not exceed 1,024 bytes in order to eliminate potential datagram fragmentation. The group filter may be used in conjunction with the clientid field to limit the size of the private data bytes required for an application. Each of header items may include an unsigned integer most significant bit first (uimsbf) identifier in accordance with the DVB specification except for the private data byte which may include a bit string, left bit first (bslbf) identifier.

As indicated in block 80, the message is then sent to all the clients 12 on the network. Each client then determines whether the message is intended for that client.

The client 12 determines whether it is the specific intended recipient by determining whether the message is addressed to the client identifier of the client 12. For example, using an AND logic operator between the message's identifier and the client's identifier, the client 12 may determine if the client 12 is within a group of clients jointly addressed by the server 10.

In one embodiment of the present invention, distinct groups of users may receive common client identifier elements. Thus, a plurality of clients whose owners have signed up for enhanced service may include a common code portion in their client identifier. When a message including that common code portion in the client identifier is received, each of those clients accepts the message.

Likewise, clients in particular geographic areas, having particular interests or otherwise identifiable clients may be given unique prefixes/suffixes or identifier code portions. The code portion may be logically ANDed with a group mask to determine whether a particular client is a member of the targeted group.

While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.

What is claimed is: