US20050283447A1 - Charging mechanism for multicasting - Google Patents

Charging mechanism for multicasting Download PDF

Info

Publication number
US20050283447A1
US20050283447A1 US11/208,759 US20875905A US2005283447A1 US 20050283447 A1 US20050283447 A1 US 20050283447A1 US 20875905 A US20875905 A US 20875905A US 2005283447 A1 US2005283447 A1 US 2005283447A1
Authority
US
United States
Prior art keywords
multicast
data
terminal
charging
time
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US11/208,759
Inventor
Lin Xu
Jarno Leinonen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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
Application filed by Individual filed Critical Individual
Priority to US11/208,759 priority Critical patent/US20050283447A1/en
Publication of US20050283447A1 publication Critical patent/US20050283447A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • G06Q30/0284Time or distance, e.g. usage of parking meters or taximeters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1439Metric aspects time-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/68Payment of value-added services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0196Payment of value-added services, mainly when their charges are added on the telephone bill, e.g. payment of non-telecom services, e-commerce, on-line banking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing

Definitions

  • the invention disclosed herein is a method, system, and computer program product for calculating a cost of receiving multicast data from a multicast session.
  • the method, system, and computer program product calculates the cost of receiving multicast data based on either the elapsed time that a user connects to a multicast session, or the volume of data received at a destination during the connection period.
  • a one-to-many or many-to-many Internet Protocol (IP) application involves one or multiple sources sending IP messages to multiple receivers.
  • Exemplary applications include the transmission of corporate messages to employees, communication of stock quotes to brokers, video and audio conferencing for remote meetings and telecommuting, and replicating databases and web site information.
  • the IP multicast protocol efficiently supports one-to-many or many-to-many applications by allowing a source to send a single copy of a message to any recipient who explicitly requests to receive the message.
  • IP multicast is more efficient than a point-to-point unicast protocol that requires the source to send an individual copy of a message to each requester thereby limiting the number of receivers by the bandwidth available to the sender.
  • IP multicast is also more efficient than a broadcast protocol that sends one copy of a message to every node on the network even though many of the nodes may not want the message and the broadcast protocol is limited to a single subnet.
  • the IP multicast protocol is applicable not only to wired networks, but also wireless networks. For example, in wireless network, link level multicasting allows several terminals to receive data sent over a single air interface.
  • IP Multicast is a receiver-based protocol.
  • a receiver subscribes to a multicast session group by sending a join message to the multicast session group. Since the network infrastructure delivers the traffic to each member of the multicast session group, the sender does not need to maintain a list of receivers.
  • the advantage is that only one copy of a multicast message passes over any link in the network.
  • IP Multicast only creates a copy of the message when the paths diverge at a router. Thus, IP multicast yields many performance improvements and conserves bandwidth throughout the system.
  • IP multicast is an extension to the standard IP network-level protocol.
  • RFC 1112 titled “Host Extensions for IP Multicasting” and authored by Steve Deering in 1989, describes IP multicasting as “the transmission of an IP datagram to a ‘host group’, a set of zero or more hosts identified by a single IP destination address. IP multicasting delivers a multicast datagram to every member of the destination host group with the same ‘best-efforts’ reliability as regular unicast IP datagrams.
  • the membership of a host group is dynamic; that is, hosts may join and leave groups at any time. There is no restriction on the location or number of members in a host group.
  • a host may be a member of more than one group at a time.”
  • a single group address may have multiple data streams on different port numbers, on different sockets, in one or more applications. Multiple applications may share a single group address on a host.
  • Multicast communications to establish host membership in a multicast group utilize a standard, such as the Internet Group Management Protocol (IGMP), that supports multicast communication at the Open System Interconnection (OSI) data link layer (layer 2).
  • IGMP Internet Group Management Protocol
  • OSI Open System Interconnection
  • IPsec Internet Protocol security
  • a provider determines a total charge to associate with a multicast service between a source and a user because the total charge comprises a content charge and a delivery charge.
  • the source determines the fee associated with the content charge based on the copyright of the content, the volume of data, or a digital right management (DRM) solution.
  • DRM digital right management
  • the resources consumed during the delivery of the content to a user such as a content provider dictate the delivery charge.
  • the resources consumed may include wireless radio resources.
  • the content provider is the owner of the multicast data source, however the actual data may be obtained from a third party who owns the copyright to the content.
  • the content charge and the delivery charge also differ because the content charge accrues against the user and the delivery charge can accrue against either the content provider or the user. If the delivery charge accrues against the content provider for sending the content over a physical network, the accrual of the charge can be on a program basis, a data volume basis, or a time basis. Accrual of the delivery charge against the content provider is suitable for delivering content such as an advertisement because the content delivery benefits the content. The disadvantage, however, is that accrual of the delivery charge against the content provider requires a service agreement between the content provider and the network operator. Thus, when the delivery charge accrues against the content provider, it is not possible to charge for delivery of multicast services originating from any content provider on Internet.
  • Flat rate charging requires the user to periodically pay a fixed price for using the service.
  • Program or file based charging requires the user to pay a fee for each request to receive a program or file.
  • the user receives an encryption key that will allow access to the program or file.
  • the program or file can include a software application, audio/video file, or graphic image.
  • the encryption scheme can include link level encryption or IPsec.
  • a charging scheme based on connection time will calculate a fee for a service based on the amount of time that a user connects to the service. For example, if a network operator determines that the rate for using a video service is $5.00 per hour, a user connecting to the video service to view a movie for thirty-minutes accrues a fee of $2.50.
  • a charging scheme based on the volume of data will calculate a fee for a service based on the volume of data that a user receives from the service. For example, if a network operator determines that the rate for using a video service is $0.25 per Megabyte of data received, the fee for a user to use the video service to view a movie consisting of 25 Megabytes is $6.25.
  • time based charging and data volume based charging mechanisms are not available for IP multicast deployed in a network with shared transport media. Since it is difficult to determine when a user has stopped using a shared transport media service, it is difficult for network to calculate the connection time or data volume received. For example, user may establish a multicast connection through a digital broadcast network, but when the battery in the user's terminal loses a charge, the connection is broken without any indication of disjoining the service. Thus, the charging will continue even though the multicast service is no longer in use. Furthermore, security is a problem because the user has the possibility to disjoin the service, but still receives the data from the shared transport media service.
  • This invention disclosed here is one possible solution to establish a secure billing system for multicast service in a network that is capable for link level multicasting.
  • the system, method, and computer program product will calculate the cost of receiving multicast data based on either the elapsed time that a user connects to a multicast session, or the volume of data received at a destination during the connection period.
  • the system, method, and computer program product disclosed herein establish a secure billing system for multicast services in a network that provides link level multicasting.
  • a method, system, and computer program product for calculating a cost of receiving multicast data from a multicast session includes at least one multicast service, each multicast service including at least one multicast session.
  • the method, system, and computer program product receives a request to establish a connection to the multicast session, the request including a start time for the connection and an end time for the connection.
  • the method, system, and computer program product stores the start time for the connection and the end time for the connection and, after termination of the connection, calculates the cost of receiving the multicast data.
  • the method, system, and computer program product can receive a subsequent request to extend the connection, the subsequent request specifying a new end time for the connection, and store the new end time for the connection.
  • the method, system, and computer program product can receive a subsequent request to terminate the connection, the subsequent request specifying a new end time that precedes the end time for the connection, and store the new end time for the connection.
  • the storing of the start time for the connection and the end time for the connection is to a database.
  • the method, system, and computer program product computes a charge for receiving the multicast data, stores the charge, and computes the cost by multiplying the charge by a fee for the multicast service associated with the multicast session.
  • the storing of the charge is to a database.
  • the method, system, and computer program product can compute an elapsed connection time by subtracting the start time for the connection from the end time for the connection.
  • the method, system, and computer program product can compute a volume of data received over the connection from the start time for the connection to the end time for the connection.
  • time is divided into evenly spaced time slots such that the start time for the connection the end time for the connection can only occur at the end of a time slot.
  • the end time for the connection in the request is specified as a discrete number of time slots.
  • the system for calculating a cost of receiving multicast data from a multicast session includes a collection device and an interface device.
  • the collection device is a general-purpose computer configured to receive a request to establish a connection to the multicast session, the request including a start time for the connection and an end time for the connection, store the start time for the connection and the end time for the connection, and after termination of the connection, calculate the cost of receiving the multicast data.
  • the interface device is a general-purpose computer configured to configure the collection device and display the cost of receiving the multicast data.
  • FIG. 1A is a network diagram that illustrates an operating environment of a secure billing system for multicast network services in a network that provides link level multicasting.
  • FIG. 1B is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1A .
  • FIG. 1C is a network diagram illustrating an embodiment of the secure billing system shown in FIG. 1A that accommodates an indirect connection between user terminal 110 and multicast data network 105 .
  • FIG. 1D is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1C .
  • FIG. 1E is a network diagram illustrating an embodiment of the secure billing system shown in FIG. 1A that distributes the security function to base station 140 and the charging function to charging server 150 .
  • FIG. 1F is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1E .
  • FIG. 1G is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1E .
  • FIGS. 2A and 2B illustrate a method of operation for the secure billing system shown in FIG. 1B .
  • FIGS. 2C and 2D illustrate a method of operation for the secure billing system shown in FIG. 1G .
  • FIG. 3A is an exemplary timeline for a charging scheme based on connection time that illustrates an explicit disjoin.
  • FIG. 3B is an exemplary timeline for a charging scheme based on connection time that illustrates an implicit disjoin.
  • FIG. 3C is an exemplary timeline for a charging scheme based on slotted connection time that illustrates an explicit disjoin.
  • FIG. 3D is an exemplary timeline for a charging scheme based on slotted connection time that illustrates an implicit disjoin.
  • FIG. 4A is an exemplary timeline for a charging scheme based on data volume that illustrates an explicit disjoin.
  • FIG. 4B is an exemplary timeline for a charging scheme based on data volume that illustrates an implicit disjoin.
  • FIG. 1A is a network diagram that illustrates an operating environment of a secure billing system for multicast network services in a network that provides link level multicasting.
  • Internet 100 and multicast data network 105 are public communication networks that support multicast delivery of data packets, in general, and multicast delivery of Internet protocol (IP) data packets, in particular.
  • IP Internet protocol
  • the invention disclosed herein contemplates network architectures comparable to Internet 100 and multicast data network 105 such as a cellular network, a satellite network, a digital video broadcasting (DVB) network, or a private network architecture.
  • Private network architectures include a local area network, a personal area network such as a Bluetooth network, an intranet, or an extranet.
  • An intranet is a private communication network that provides an organization, such as a corporation, with a secure means for trusted members of the organization to access the resources on the organization's network.
  • an extranet is a private communication network that provides an organization, such as a corporation, with a secure means for the organization to authorize non-members of the organization to access certain resources on the organization's network.
  • the invention disclosed herein also contemplates network protocols such as Ethernet, Token Ring, and proprietary network protocols comparable to the Internet protocol.
  • user terminal 110 includes an interface module that connects a user to the secure billing system for multicast network services.
  • user terminal 110 is a general-purpose computer.
  • User terminal 110 also includes a communication module to communicate with devices on multicast data network 105 to receive multicast session data from devices on Internet 100 .
  • a user operates user terminal 110 to receive multicast content 195 by sending join request 117 to last hop router 120 .
  • last hop router 120 attaches to the multicast tree using any existing multicast routing protocol.
  • last hop router 120 attaches to the multicast tree via border gateway 180 .
  • Last hop router 120 and border gateway 180 perform routing functions for multicast data network 105 .
  • Last hop router 120 is the last routing entity that handles data passing from multicast capable data network 105 to user terminal 110 .
  • last hop router 120 may be a general-purpose router in a wireless local area network (WLAN) or a Serving General Packet Radio Service (GPRS) Support Node (SGSN) in a GPRS or Universal Mobile Telecommunications System (UMTS) network.
  • Border gateway 180 is the routing entity that provides the interface between multicast data network 105 and an external network such as Internet 100 .
  • user terminal 110 receives decryption key 118 from multicast data network 105 .
  • last hop router 120 is responsible for sending decryption key 118 to user terminal 110 and encrypts the data sent by multicast server 190 prior to forwarding the data to user terminal 110 .
  • last hop router 120 monitors multicast communication messages that user terminal 110 sends and receives, stores charging data related to a subscription request, and forwards the charging data to billing server 170 , a general-purpose server computer.
  • Billing server 170 converts the charging data into billing data, stores the billing data, and notifies the user of the total charge for subscribing to multicast content 195 .
  • multicast data network 105 is a visiting wireless network for user terminal 110 . Since billing server 170 is not in the home network for user terminal 110 , billing server 170 forwards any billing data for user terminal 110 to the home billing server (not shown) in the home network (not shown) for user terminal 110 .
  • the home network (not shown) will connect to either multicast data network 105 or Internet 100 via a connecting border gateway (not shown).
  • the functions comprising collection of the charging data that last hop router 120 performs are distributed throughout multicast data network 105 to reduce the processing load imposed upon last hop router 120 .
  • the charging data includes connection time data and throughput volume data
  • last hop router 120 can be responsible for collecting the time data
  • an intermediate router (not shown) along the multicast tree in multicast data network 105 can be responsible for collecting the throughput volume data.
  • multicast server 190 is located in multicast data network 105 .
  • billing server 170 is located in another physical network such as Internet 100 and connects with multicast data network 105 via a Virtual Private Network (VPN).
  • VPN Virtual Private Network
  • last hop router 120 can also include the functionality performed by billing server 170 .
  • last hop router 120 will include a module that converts charging data into billing data, stores the billing data temporarily and periodically forwards the billing data to a billing center.
  • FIG. 1B is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1A .
  • User terminal 110 comprises service discovery 111 , multicast session management 112 , and multicast security client 113 .
  • Service discovery 111 enables the terminal to discover multicast sessions by providing the user with a list of available multicast sessions and the cost associated with each session.
  • Multicast session management 112 is responsible for establishing a multicast session, maintaining the session communication, and disconnecting the session when the communication is complete.
  • Multicast security client 113 manages the security associated with receiving multicast data from a network connection. For example, multicast security client 113 periodically receives decryption key 118 for decrypting the multicast session data.
  • Last hop router 120 is the last routing entity through which IP data destined for user terminal 110 passes.
  • Last hop router 120 comprises routing function 121 , group membership management 122 , multicast security unit 123 , multicast charging unit 124 , data volume meter 125 , and charging database 126 .
  • Routing function 121 performs traditional network routing and provides support for the IP multicast protocol.
  • Group membership management 122 maintains the group membership information for every terminal on the same multicast link and is responsible for determining the join status of each terminal.
  • Multicast security unit 123 is responsible for sending decryption key 118 to user terminal 110 .
  • multicast security unit 123 may encrypt the multicast data from multicast server 190 before it is sent to user terminal 110 .
  • Multicast security unit 123 sends decryption key 118 when the user initially joins a multicast session. Multicast security unit 123 updates decryption key 118 either when another multicast user terminates the session or at discrete time intervals. Multicast security unit 123 communicates decryption key 118 to multicast security client 113 either by a direct connection, via routing function 121 , or via routing function 121 and group membership management 122 . Multicast charging unit 124 maintains information related to multicast session charges for user terminal 110 . Multicast charging unit 124 creates a charging entry in charging database 126 when user terminal 110 joins a multicast session. Multicast charging unit 124 updates the charging entry when user terminal 110 updates the join status or terminates the session.
  • multicast charging unit 124 retrieves the relevant session charge information from charging database 126 and forwards the information to billing server 170 .
  • Data volume meter 125 measures, for a multicast session, the number of bytes or data volume transmitted to user terminal 110 .
  • Charging database 126 stores information related to multicast session charges.
  • the implementation of charging database 126 contemplates a flat-file architecture, relational database management system design, object-oriented database design, or the equivalent.
  • billing server 170 is a general-purpose server computer that includes a module to convert charging information such as connection time or data volume into billing data including the cost to receive the multicast session data.
  • Billing server 170 comprises billing unit 171 and billing database 172 .
  • Billing unit 171 converts the information related to multicast session charges into billing information.
  • Billing database 172 stores the billing information.
  • the implementation of billing database 172 contemplates a flat-file architecture, relational database management system design, object-oriented database design, or the equivalent.
  • FIG. 1C is a network diagram illustrating an embodiment of the secure billing system shown in FIG. 1 A that accommodates an indirect connection between user terminal 110 and multicast data network 105 .
  • Internet 100 and multicast data network 105 perform the same functions as described above in the discussion of FIG. 1A .
  • Bi-directional network 106 is a data network such as a General Packet Radio Service (GPRS) network that supports uplink connectivity and provides an interface between user terminal 110 and multicast data network 105 .
  • Uni-directional network 107 is a data network such as a DVB terrestrial (DVB-T) network that transmits multicast data to entities such as user terminal 110 .
  • the invention disclosed herein contemplates network architectures comparable to bi-directional network 106 and uni-directional network 107 such as a cellular network, a satellite network, a DVB network, or a private network architecture.
  • user terminal 110 includes an interface module that connects a user to the secure billing system for multicast network services.
  • user terminal 110 is a mobile device such as a cellular telephone.
  • User terminal 110 also includes a communication module to receive multicast data transmitted by multicast serving node 130 .
  • a user operates user terminal 110 to receive multicast content 195 by sending join request 117 to multicast serving node 130 via bi-directional network 106 .
  • multicast serving node 130 attaches to the multicast tree using any existing multicast routing protocol.
  • multicast serving node 130 attaches to the multicast tree via border gateway 180 .
  • Multicast serving node 130 and border gateway 180 perform routing functions for multicast data network 105 .
  • Multicast serving node 130 forwards the multicast data from multicast data network 105 to user terminal 110 via either bi-directional network 106 or uni-directional network 107 .
  • Border gateway 180 is the routing entity that provides the interface between multicast data network 105 and an external network such as Internet 100 .
  • user terminal 110 receives decryption key 118 from multicast serving node 130 via bi-directional network 106 .
  • multicast serving node 130 is responsible for sending decryption key 118 to user terminal 110 and encrypts the data sent by multicast server 190 prior to forwarding the data to user terminal 110 .
  • Multicast serving node 130 also forwards the multicast data comprising multicast content 195 to user terminal 110 via uni-directional network 107 .
  • multicast serving node 130 monitors multicast communication messages that user terminal 110 sends and receives, stores charging data related to a subscription request, and forwards the charging data to billing server 170 , a general-purpose server computer.
  • Billing server 170 converts the charging data into billing data, stores the billing data, and notifies the user of the total charge for subscribing to multicast content 195 .
  • An example of the embodiment shown in FIG. 1C includes delivering IP data from an Internet Service Provider (ISP) network owned by operator A via a DVB terrestrial (DVB-T) network owned by operator B to the mobile terminal operated by a user.
  • ISP Internet Service Provider
  • DVB-T DVB terrestrial
  • a service agreement between the user and operator A obligates the user to pay a fee for receiving multicast data that operator A delivers.
  • an agreement between operator A and operator B obligates operator A to pay a fee for sending data over the DVB-T network owned by operator B.
  • the user sends join request 117 to multicast serving node 130 via the data network owned by operator C.
  • Multicast serving node 130 delivers multicast session data to the mobile terminal via the DVB-T network owned by operator B, monitors multicast communication messages, stores charging data related to the subscription request, and forwards the charging data to billing server 170 .
  • FIG. 1D is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1C . Except for the differences described below, the function and structure of the components shown in FIG. 1D are identical to the components shown in FIG. 1B .
  • routing function 131 functions similar to routing function 121
  • group membership management 132 functions similar to group membership management 122
  • multicast security unit 133 functions similar to multicast security unit 123
  • multicast charging unit 134 functions similar to multicast charging unit 124
  • data volume meter 135 functions similar to data volume meter 125
  • charging database 136 functions similar to charging database 126 .
  • routing function 131 and multicast security unit 133 do not communicate with user terminal 110 directly, but via either bi-directional network 106 or uni-directional network 107 .
  • multicast session management 112 does not communicate with multicast serving node 130 directly, but via bi-directional network 106 .
  • FIG. 1E is a network diagram illustrating an embodiment of the secure billing system shown in FIG. 1A that distributes the security function to base station 140 and the charging function to charging server 150 .
  • user terminal 110 is a mobile device that communicates with wireless network 108 via base station 140 .
  • base station 140 is the base station subsystem in a GPRS network.
  • a user operates user terminal 110 to receive multicast content 195 by sending join request 117 to base station 140 .
  • base station 140 attaches to the multicast tree using any existing multicast routing protocol.
  • base station 140 attaches to the multicast tree via last hop router 120 and border gateway 180 .
  • Last hop router 120 and border gateway 180 perform routing functions for wireless network 108 .
  • user terminal 110 receives decryption key 118 from base station 140 .
  • base station 140 is responsible for sending decryption key 118 to user terminal 110 and encrypts the data sent by multicast server 190 prior to forwarding the data to user terminal 110 .
  • the connection between last hop router 120 and base station 140 allow last hop router 120 to monitor multicast communication messages that user terminal 110 sends to and receives from base station 140 .
  • Last hop router 120 also transfers charging data related to a subscription request to charging server 150 .
  • charging server 150 stores the charging data and periodically forwards the data via a direct connection to billing server 170 .
  • charging server 150 stores the charging data and periodically forwards the data to billing server 170 via a connection between last hop router 120 and billing server 170 .
  • Charging server 150 and billing server 170 are general-purpose server computers.
  • FIG. 1F is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1E . Except for the differences described below, the function and structure of the components shown in FIG. 1F are identical to the components shown in FIG. 1B .
  • FIG. 1F distributes the components of last hop router 120 , as shown in FIG. 1B , among last hop router 120 , base station 140 , and charging server 150 .
  • Last hop router 120 comprises routing function 121 , group membership management 122 , and data volume meter 125 .
  • Base station 140 comprises multicast security unit 123 , the communication interface between multicast security unit 123 and routing function 121 , and the communication interface between multicast security unit 123 and group membership management 122 .
  • Charging server 150 comprises multicast charging unit 124 , charging database 126 , the communication interface between multicast charging unit 124 and group membership management 122 , and the communication interface between multicast charging unit 124 and data volume meter 125 .
  • billing server 170 comprises billing unit 171 and billing database 172 and charging server 150 further comprises a communication interface between charging unit 124 and billing unit 171 .
  • FIG. 1G is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1E . Except for the differences described below, the function and structure of the components shown in FIG. 1G are identical to the components shown in FIG. 1F .
  • FIG. 1G illustrates a distributed architecture for group membership management 122 shown in FIG. 1F .
  • Last hop router 120 as shown in FIG. 1G , comprises routing function 121 , data volume meter 125 , and network layer group membership management 128 .
  • Base station 140 as shown in FIG.
  • FIG. 1G comprises multicast security unit 123 , link layer group membership management 127 , the communication interface between multicast security unit 123 and routing function 121 , and the communication interface between link layer group membership management 127 and network layer group membership management 128 .
  • Charging server 150 as shown in FIG. 1G , comprises multicast charging unit 124 , charging database 126 , the communication interface between multicast charging unit 124 and network layer group membership management 128 , and the communication interface between multicast charging unit 124 and data volume meter 125 .
  • Link layer group membership management 127 maintains the information of the join status of user terminal 110 within the cell and provides that information to multicast charging unit 124 .
  • link layer group membership management 127 informs network layer group membership management 128 to join the multicast tree.
  • Network layer group membership management 128 is responsible for keeping track of which base station needs multicast data and routes the multicast data to the appropriate base station.
  • FIGS. 2A and 2B illustrate a method of operation for the secure billing system shown in FIGS. 1A and 1B .
  • the method begins at step 202 with multicast server 190 announcing the available multicast sessions to user terminal 110 via multicast data network 105 .
  • service discovery 111 discovers the multicast sessions that are available.
  • Service discovery 111 provides an operator of user terminal 110 with a list of available multicast sessions and the relevant information for each session. The relevant information includes the starting time and cost associated with a multicast session.
  • the operator selects a multicast session from the list.
  • user terminal 110 activates the selected multicast session.
  • the activation of the multicast session occurs immediately. In another embodiment, the activation occurs at a predetermined time such as before the start of the multicast session.
  • multicast session management 112 sends join request 117 for the selected multicast session to group membership management 122 .
  • Group membership management 122 receives join request 117 at step 208 and records the join status of the user terminal at step 212 .
  • Group membership management 122 forwards the joined status information to multicast charging unit 124 and multicast security unit 123 .
  • Multicast charging unit 124 uses the joined status information to create a charging entry in charging database 126 at step 214 .
  • Multicast security unit 123 uses the joined status information to send a decryption key to user terminal 110 at step 216 which multicast security client 113 receives at step 218 before receiving multicast session data at step 220 .
  • multicast security unit 123 encrypts the message prior to sending the decryption key and multicast security client 113 decrypts the message after receiving the decryption key.
  • group membership management 122 After receiving join request 117 at step 208 , group membership management 122 also attaches to the multicast tree using any multicast routing protocol at step 210 . In one embodiment, group membership management 122 applies authentication and authorization procedures before attaching to the multicast tree.
  • multicast server 190 sends multicast session data to multicast security unit 123 .
  • the multicast session data is encrypted by multicast security unit 123 at step 224 and decrypted by multicast security client 113 at step 226 before receiving multicast session data at step 220 .
  • FIG. 2A illustrates user terminal 110 updating the join status, for example, to extend the duration of the multicast session connection.
  • Multicast session management 112 resends the join request to group membership management 122 .
  • Group membership management 122 updates the join status for user terminal 110 at step 230 and notifies multicast security unit 123 to send an updated decryption key at step 216 .
  • Multicast session management 112 is responsible for sending an updated join request to last hop router 120 on an on-going basis. As long as the user is receiving the session, multicast session management 113 must update the join status for the terminal before it expires.
  • group membership management 122 also forwards the status to multicast charging unit 124 to update the charging entry at step 232 .
  • group membership management 122 After updating the join status for user terminal 110 at step 230 , group membership management 122 notifies multicast charging unit 124 to update the charging entry in charging database 126 at step 232 .
  • FIG. 2B illustrates user terminal 110 terminating the multicast session, either explicitly or implicitly, by sending a disjoin request to last hop router 120 .
  • Group membership management 122 receives the disjoin request and, at step 236 , notifies multicast charging unit 124 to close the charging entry for user terminal 110 in charging database 126 .
  • Multicast charging unit 124 forwards the charging data to billing server 170 at step 238 .
  • Billing server 170 converts the charging data to billing data, at step 240 , and sends the billing data to the user at step 242 . If a data volume based charging mechanism is used, in order to generate and update the charging entry, data volume meter 125 forwards to multicast charging unit 124 the volume of data delivered to user terminal 110 .
  • group membership management 122 determines whether any receivers of the multicast data have an active join status. If no receivers have an active join status, at step 246 , group membership management 122 detaches user terminal 110 from the multicast tree. If there is at least one receiver with an active status, group membership management 122 proceeds to steps 230 and 216 where the terminal status is updated and multicast security unit 123 is notified to send an updated decryption key to multicast security client 113 .
  • FIGS. 2C and 2D illustrate a method of operation for the secure billing system shown in FIGS. 1E and 1G .
  • the method begins at step 202 with multicast server 190 announcing the available multicast sessions to user terminal 110 via wireless network 108 .
  • service discovery 111 discovers the multicast sessions that are available.
  • Service discovery 111 provides an operator of user terminal 110 with a list of available multicast sessions and the relevant information for each session. The relevant information includes the starting time and cost associated with a multicast session.
  • the operator selects a multicast session from the list.
  • user terminal 110 activates the selected multicast session.
  • the activation of the multicast session occurs immediately. In another embodiment, the activation occurs at a predetermined time such as before the start of the multicast session.
  • multicast session management 112 sends join request 117 for the selected multicast session to link layer group membership management 127 .
  • Link layer group membership management 127 receives join request 117 at step 208 and records the join status of the user terminal at step 212 .
  • Link layer group membership management 127 forwards the joined status information to multicast charging unit 124 and multicast security unit 123 .
  • Multicast charging unit 124 uses the joined status information to create a charging entry in charging database 126 at step 214 .
  • Multicast security unit 123 uses the joined status information to send a decryption key to user terminal 110 at step 216 which multicast security client 113 receives at step 218 before receiving multicast session data at step 220 .
  • multicast security unit 123 encrypts the message prior to sending the decryption key and multicast security client 113 decrypts the message after receiving the decryption key.
  • link layer group membership management 127 After receiving join request 117 at step 208 , link layer group membership management 127 also notifies network layer group membership management 128 to attach to the multicast tree using any multicast routing protocol at step 210 . In one embodiment, link layer group membership management 127 applies authentication and authorization procedures before attaching to the multicast tree.
  • multicast server 190 sends multicast session data to multicast security unit 123 .
  • the multicast session data is encrypted by multicast security unit 123 at step 224 and decrypted by multicast security client 113 at step 226 before receiving multicast session data at step 220 .
  • FIG. 2C illustrates user terminal 110 updating the join status, for example, to extend the duration of the multicast session connection.
  • Multicast session management 112 resends the join request to link layer group membership management 127 .
  • Link layer group membership management 127 updates the join status for user terminal 110 at step 230 and notifies multicast security unit 123 to send an updated decryption key at step 216 .
  • Multicast session management 112 is responsible for sending an updated join request to last hop router 120 on an on-going basis. As long as the user is receiving the session, multicast session management 113 must update the join status for the terminal before it expires.
  • link layer group membership management 127 Whenever the join status is updated, link layer group membership management 127 also forwards the status to multicast charging unit 124 to update the charging entry at step 232 . After updating the join status for user terminal 110 at step 230 , link layer group membership management 127 notifies multicast charging unit 124 to update the charging entry in charging database 126 at step 232 .
  • FIG. 2D illustrates user terminal 110 terminating the multicast session, either explicitly or implicitly, by sending a disjoin request to last hop router 120 .
  • Link layer group membership management 127 receives the disjoin request and, at step 236 , notifies multicast charging unit 124 to close the charging entry for user terminal 110 in charging database 126 .
  • Multicast charging unit 124 forwards the charging data to billing server 170 at step 238 .
  • Billing server 170 converts the charging data to billing data, at step 240 , and sends the billing data to the user at step 242 .
  • link layer group membership management 127 determines whether any receivers of the multicast data have an active join status. If no receivers have an active join status, link layer group membership management 127 notifies network layer group membership management 128 , at step 246 , to detach user terminal 110 from the multicast tree. If there is at least one receiver with an active status, link layer group membership management 127 proceeds to steps 230 and 216 where the terminal status is updated and multicast security unit 123 is notified to send an updated decryption key to multicast security client 113 .
  • a charging scheme based on connection time calculates a fee for a service from the elapsed time that a user connects to the service. For example, if a network operator determines that the rate for using a video service is $5.00 per hour, a user connecting to the video service to view a movie for thirty-minutes accrues a fee of $2.50.
  • a charging scheme based on connection time is most beneficial when an average multicast session has a fixed bandwidth. Determination of the connection time involves storing the time that the user terminates the multicast session connection, storing the time that the user initiates the multicast session connection, and calculating the difference between these times. Since a multicast session is dynamic, the challenge is to determine when the initiation and termination of the connection occurs.
  • service discovery 111 receives all the available multicast sessions from last hop router 120 .
  • multicast session management 112 explicitly requests to join a multicast group by sending join request 117 to group membership management 122 .
  • group membership management 122 notifies multicast charging unit 124 and multicast security unit 123 that user terminal 110 agrees to pay a fee based on the connection time to the multicast service.
  • Multicast charging unit 124 creates a charging entry for user terminal 110 and multicast content 195 .
  • Multicast security client 113 receives decryption key 118 from multicast security unit 123 that will decrypt the multicast session packet data.
  • Group membership management 122 receives every join request sent by a user of the multicast service associated with a multicast group.
  • a validated or authenticated join request activates the “joined” status for the user who sent the join request.
  • Multicast charging unit 124 creates and maintains an entry in charging database 126 for each validated join request.
  • the entry in charging database 126 comprises user identification data, session identification data, a cumulative connection time, and an expiration time for the “joined” status.
  • the join request sent by the user identifies the requested multicast session, the requested start time for the charging, and the requested stop time for the charging.
  • the join request obligates the user to pay the charges that accrue from the start time to the end time.
  • the multicast network is responsible for updating the user's “decryption key” whenever host membership in the multicast group changes. For a discussion of several methods for delivery of the decryption key see “Secure Group Communication using Key Graphs”, IEEE/ACM Transactions on Networking, February 2000.
  • the stop time specified in the join request is the initial stop time for the user's multicast session.
  • the user can extend the stop time by sending a second join request to specify a later stop time.
  • the stop time can only be extended if group membership management 122 receives the second join request prior to the initial stop time. If the second join request arrives after the first join status expires, the user will be disconnecting with the multicast session first as a result of the expired join status. When the second join request arrives, it will act as a new join request to connect user terminal 110 to the multicast session. Following the receipt of a second or subsequent join request, multicast charging unit 124 updates the entry for the user and multicast session in charging database 126 and notifies other group members of a membership change.
  • the interval between the start time and the stop time in each join request can be determined based on the configuration set by either the user or network operator. In another embodiment, the interval between the start time and the stop time can be calculated according to an environmental characteristic including the velocity of the terminal, the strength of the reception signal, and the quality of the reception signal.
  • Termination of the multicast session can happen either explicitly or implicitly. Explicit termination of the multicast session occurs when the user sends a disjoin request that specifies a stop time earlier than the pending stop time. A disjoin request is only effective, however, if group membership management 122 receives the disjoin request prior to the pending stop time. Following receipt of a disjoin request, multicast charging unit 124 updates and closes the entry in charging database 126 and forwards the charging data to billing unit 171 for conversion into billing data and storage in billing database 172 .
  • multicast charging unit 124 deletes the entry in charging database 126 and, if the second join request arrives after the first join status expires, multicast security unit 123 updates decryption key 118 for other group members of the same multicast session.
  • Implicit termination of the multicast session occurs when the user's “joined” status expires before the user sends a subsequent join request to extend the stop time.
  • An implicit termination may occur, for example, when the battery in the user's terminal loses power or some other reason that causes terminal to loose the network connection. Accounting for implicit termination of a multicast session ensures that an excessive charge does not accrue for the user.
  • multicast charging unit 124 calculates the total connection time.
  • the billing related information such as user identification data, session identification data, and connection time is transferred from multicast charging unit 124 to billing server 170 .
  • billing unit 171 converts the charging data into billing data and stores the billing data in billing database 172 .
  • multicast charging unit 124 periodically transfers billing data to billing server 170 .
  • FIGS. 3A and 3B are exemplary timelines for a charging scheme based on connection time that allows a user to join or leave a multicast session at any time.
  • determination of the connection time comprises:
  • multicast charging unit 124 adds an entry to charging database 126 to track connection time charges for user terminal 110 using multicast session p.
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino (t E1 ⁇ t S1 ) t E1 457286529 1453 172.10.20.212 If the user sets t S1 in the join request equal to null to indicate that the connection time charging will start immediately, t X0 will replace t S1 in the charging table because the join request was sent at time t X0 .
  • multicast charging unit 124 updates the entry in charging database 126 to track connection time charges for user terminal 110 using multicast session p.
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino (t E1 ⁇ t S1 ) + t E2 457286529 1453 (t E2 ⁇ t E1 ) 172.10.20.212
  • t X2 where t X2 ⁇ t E2 , user terminal 110 sends a disjoin request that specifies a stop time earlier than the pending stop time, t E2 . If the disjoin request takes the form leave(p, t E3 ), user terminal 110 is requesting to leave multicast session p at time t E3 . If user terminal 110 wants to leave multicast session p immediately, t E3 is set equal to null. Multicast charging unit 124 updates the entry in charging database 126 to track connection time charges for user terminal 110 using multicast session p.
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino (t E1 ⁇ t S1 ) + t E3 457286529 1453 (t E2 ⁇ t E1 ) + 172.10.20.212 (t E3 ⁇ t E2 ) If the user sets t E3 in the disjoin request equal to null to indicate that user terminal 110 wants to leave multicast session p immediately, t X2 will replace t E3 in the charging table because the join request was sent at time t X2 .
  • steps 1 through 7 are identical to steps 1 through 7 from the discussion of FIG. 3A and determination of the connection time comprises:
  • multicast charging unit 124 adds an entry to charging database 126 to track connection time charges for user terminal 110 using multicast session p.
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino (t E1 ⁇ t S1 ) t E1 457286529 1453 172.10.20.212 If the user sets t S1 in the join request equal to null to indicate that the connection time charging will start immediately, t X0 will replace t S1 in the charging table because the join request was sent at time t X0 .
  • multicast charging unit 124 updates the entry in charging database 126 to track connection time charges for user terminal 110 using multicast session p.
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino (t E1 ⁇ t S1 ) + t E2 457286529 1453 (t E2 ⁇ t E1 ) 172.10.20.212
  • Multicast charging unit 124 stops updating the entry for user terminal 110 using multicast session p in charging database 126 .
  • Multicast charging unit 124 communicates with billing server 170 to transfer the charging data for user terminal 110 using multicast session p from charging database 126 to billing database 172 .
  • Billing unit 171 converts the connection time, data volume, or other form of information for user terminal 110 using multicast session p to the entry of billing database 172 , which has information of total cost of multicast session for user terminal 110 .
  • the entry in charging database 126 is transferred periodically to billing server 170 .
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino (t E1 ⁇ t S1 ) + t E2 457286529 1453 (t E2 ⁇ t E1 ) 172.10.20.212 Handover
  • the system configuration is as shown in FIG. 1B and the handover is from one last hop router to another.
  • User terminal 110 needs to send a new join request to node B and a disjoin request to node A.
  • node B can inform node A of the handover and disjoin user terminal 110 from node A.
  • All of the components in node A (group membership management 122 , multicast charging unit 124 , multicast security unit 124 , etc.) will follow the disjoin procedure as described herein.
  • All of the components in node B (group membership management 122 , multicast charging unit 124 , multicast security unit 124 , etc.) will follow the join procedure as described herein.
  • the system configuration is as shown in FIG. 1B and nodes A and B are equipped with independent group membership management components or link layer group membership management components, but share the same multicast charging unit or charging server.
  • User terminal 110 joins the multicast session from node A and later performs a handover from node A to node B. Since node A and node B are both equipped with group membership management or link layer group membership management components, the nodes support charging in a handover situation if a column is added to the charging entry to identify which node is responsible for the charging entry.
  • node A in response to a join request, instructs multicast charging unit 124 to create a charging entry for user terminal 110 , the ID of node A (e.g., the IP address of node A) is recorded in the charging entry as the “node responsible for this charging entry”.
  • user terminal 110 performs a handover from node A to node B, user terminal 110 sends a join request to node B.
  • node B sends a request for creating charging entry to multicast charging unit 124 that is shared by node A and node B.
  • multicast charging unit 124 Upon receiving such a request, multicast charging unit 124 updates the relevant entry by changing the “node responsible for this charging entry” to node B and updating the “joined status expire time” to the new one indicated in the new join request. In addition, multicast charging unit 124 informs node A that node A is no longer responsible for the charging entry associated with user terminal 110 . Node a may perform the disjoin procedure described herein to disjoin user terminal 110 from node A.
  • user terminal 110 receives multicast data via node
  • the charging entry is: User Session Node Responsible Expiration Time Identification Identification for this Entry Connection Time of “Joined” Status 21323421 finnkino ID of node A (t E1 ⁇ t S1 ) + t E3 457286529 1453 (t E2 ⁇ t E1 ) + 172.10.20.212 (t E3 ⁇ t E2 )
  • node B with group membership management component receives the join request join(p, null, t E4 ) from user terminal 110 .
  • Node B informs multicast charging unit 124 to create a charging entry for user terminal 110 .
  • multicast charging unit 124 modifies the existing charging entry in the following manner.
  • FIGS. 3C and 3D are exemplary timelines for a charging scheme based on connection time that only allows a user to join or leave a multicast session at the end of a discrete point in time or time slot. Since the user can only join or leave the multicast session at slotted time intervals (i.e., discrete points in time), the network only needs to update to the decryption key at those discrete points in time. Thus, the network can synchronize the disjoin activity of multiple users and reduce the number of decryption keys delivered.
  • determination of the connection time comprises:
  • multicast charging unit 124 adds an entry to charging database 126 to track connection time charges for user terminal 110 using multicast session p.
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino [(t 0 + m ⁇ t S1 ) + t 3 457286529 1453 (2 ⁇ m)] 172.10.20.212
  • user terminal 110 extends the stop time by sending a second join request to specify a later stop time. If the second join request takes the form join(p, t 3 , 2), the user is requesting to extend the end time for the connection to multicast session p for 2 time slots after time t 3 .
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino [(t 0 + m ⁇ t S1 ) + t 5 457286529 1453 (2 ⁇ m) + (2 ⁇ m)] 172.10.20.212
  • the multicast network informs user terminal 110 that time t D2 is the deadline for extending the expiration of the connection to multicast session p.
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino (t 0 + m ⁇ t S1 ) + t 4 457286529 1453 (2 ⁇ m) + 172.10.20.212 (2 ⁇ m) ⁇ (t 5 ⁇ t 4 )
  • steps 1 through 6 are identical to steps 1 through 6 from the discussion of FIG. 3C and determination of the connection time comprises:
  • multicast charging unit 124 adds an entry to charging database 126 to track connection time charges for user terminal 110 using multicast session p.
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino [(t 0 + m ⁇ t S1 ) + t 3 457286529 1453 (2 ⁇ m)] 172.10.20.212
  • user terminal 110 extends the stop time by sending a second join request to specify a later stop time. If the second join request takes the form join(p, t 3 , 2), the user is requesting to extend the end time for the connection to multicast session p for 2 time slots after time t 3 .
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino [(t 0 + m ⁇ t S1 ) + t 5 457286529 1453 (2 ⁇ m) + (2 ⁇ m)] 172.10.20.212
  • the multicast network informs user terminal 110 that time t D2 is the deadline for extending the expiration of the connection to multicast session p.
  • multicast charging unit 124 closes the entry in charging database 126 for user terminal 110 using multicast session p, communicates the charging data to billing unit 171 for storage in billing database 172 , and deletes the entry in charging database 126 .
  • multicast charging unit 124 transfers the entry directly to billing server 170 .
  • the entry to charging database 126 appears as follows: User Session Connection Expiration Time Identification Identification Time of “Joined” Status 21323421 finnkino (t 0 + m ⁇ t S1 ) + t 5 457286529 1453 (2 ⁇ m) + (2 ⁇ m) 172.10.20.212 Data Volume Based Charging
  • a charging scheme based on the volume of data calculates a fee for a service from the volume of data that a user receives from the service. For example, if a network operator determines that the rate for using a video service is $0.25 for each Megabyte of data received, a user connecting to the video service to view a movie consisting of 25 Megabytes of data accrues a fee of $6.25.
  • a charging scheme based on the volume of data is most beneficial when the data rate varies. Similar to the charging scheme based on connection time discussed above, the connectivity and security is managed on time basis, however, determination of charge requires accounting for the number of bytes transferred during the connection time.
  • FIGS. 4A and 4B are exemplary timelines for a charging scheme based on data volume that only allows a user to join or leave a multicast session at the end of a discrete point in time or time slot.
  • determination of the data volume comprises:
  • data volume meter 125 signals multicast charging unit 124 to add an entry to charging database 126 to store the data volume start value, V 1 , for user terminal 110 using multicast session p.
  • the entry to charging database 126 appears as follows: Data Volume on Meter User Session Start End Expiration Time Identification Identification Value Value of “Joined” Status 21323421 finnkino V 1 Null t 3 457286529 1453 172.10.20.212
  • user terminal 110 extends the stop time by sending a second join request to specify a later stop time. If the second join request takes the form join(p, t 3 , 2), the user is requesting to extend the end time for the connection to multicast session p for 2 time slots after time t 3 .
  • the entry to charging database 126 appears as follows: Data Volume on Meter User Session Start End Expiration Time Identification Identification Value Value of “Joined” Status 21323421 finnkino V 1 Null t 5 457286529 1453 172.10.20.212
  • the multicast network informs user terminal 110 that time t D2 is the deadline for extending the expiration of the connection to multicast session p.
  • user terminal 110 sends a disjoin request that specifies to stop accruing a fee when the current time slot expires. If the disjoin request takes the form leave(p, 0), user terminal 110 is requesting to leave session p when the current time slot expires.
  • the entry to charging database 126 appears as follows: Data Volume on Meter User Session Start End Expiration Time Identification Identification Value Value of “Joined” Status 21323421 finnkino V 1 Null t 4 457286529 1453 172.10.20.212
  • Data volume meter 125 communicates the data volume end value, V 2 , for user terminal 110 using multicast session p to multicast charging unit 124 .
  • Multicast charging unit 124 updates the entry to charging database 126 .
  • the entry to charging database 126 appears as follows: Data Volume on Meter User Session Start End Expiration Time Identification Identification Value Value of “Joined” Status 21323421 finnkino V 1 V 2 t 4 457286529 1453 172.10.20.212 Since the collection of data volume charges has stopped, multicast charging unit 124 closes the entry in charging database 126 for user terminal 110 using multicast session p, communicates the charging data to billing unit 171 for storage in billing database 172 , and deletes the entry in charging database 126 . Since the charging data is summarized, the total volume of data for user terminal 110 using multicast session p is (V 2 ⁇ V 1 ). In another embodiment, data volume meter 125 communicates the charging data to billing server 170 directly, without storing the charging data in charging database 126 .
  • steps 1 through 7 are identical to steps 1 through 7 from the discussion of FIG. 4A and determination of the data volume comprises:
  • data volume meter 125 signals multicast charging unit 124 to add an entry to charging database 126 to store the data volume start value, V 1 , for user terminal 110 using multicast session p.
  • the entry to charging database 126 appears as follows: Data Volume on Meter User Session Start End Expiration Time Identification Identification Value Value of “Joined” Status 21323421 finnkino V 1 Null t 3 457286529 1453 172.10.20.212
  • user terminal 110 extends the stop time by sending a second join request to specify a later stop time. If the second join request takes the form join(p, t 3 , 2), the user is requesting to extend the end time for the connection to multicast session p for 2 time slots after time t 3 .
  • the entry to charging database 126 appears as follows: Data Volume on Meter User Session Start End Expiration Time Identification Identification Value Value of “Joined” Status 21323421 finnkino V 1 Null t 5 457286529 1453 172.10.20.212
  • the multicast network informs user terminal 110 that time t D2 is the deadline for extending the expiration of the connection to multicast session p.
  • Data volume meter 125 communicates the data volume end value, V 3 , for user terminal 110 using multicast session p to multicast charging unit 124 .
  • Multicast charging unit 124 updates the entry to charging database 126 .
  • the entry to charging database 126 appears as follows: Data Volume on Meter User Session Start End Expiration Time Identification Identification Value Value of “Joined” Status 21323421 finnkino V 1 V 3 t 4 457286529 1453 172.10.20.212 Since the collection of data volume charges has stopped, multicast charging unit 124 closes the entry in charging database 126 for user terminal 110 using multicast session p, communicates the charging data to billing unit 171 for storage in billing database 172 , and deletes the entry in charging database 126 . Since the charging data is summarized, the total volume of data for user terminal 110 using multicast session p is (V 3 ⁇ V 1 ). In another embodiment, data volume meter 125 communicates the charging data to billing server 170 directly, without storing the charging data in charging database 126 .

Abstract

An apparatus for calculating a cost of receiving multicast data from a multicast session. A multicast network includes at least one multicast service, each multicast service including at least one multicast session. The apparatus receives a request to establish a connection to the multicast session, stores a start time for the connection and an end time for the connection and, after termination of the connection, calculates the cost of receiving the multicast data. The apparatus can receive a subsequent request to extend the connection, the subsequent request specifying a new end time for the connection, and store the new end time for the connection. Alternatively, the apparatus can receive a subsequent request to terminate the connection, the subsequent request specifying a new end time that precedes the end time for the connection, and store the new end time for the connection.

Description

    CROSS-REFERENCE TO A RELATED APPLICATION
  • This application for letters patent is a continuation application and hereby incorporates by reference the parent application, U.S. patent application Ser. No. 10/077,780, titled “Charging Mechanism For Multicasting”, filed in the United States Patent and Trademark Office on Feb. 20, 2002.
  • This application for letters patent is related to and incorporates by reference U.S. patent application Ser. No. 10/008,334, titled “A System and Method for Efficient Distribution of Multicastable Services”, and filed in the United States Patent and Trademark Office on Dec. 6, 2001.
  • FIELD OF THE INVENTION
  • The invention disclosed herein is a method, system, and computer program product for calculating a cost of receiving multicast data from a multicast session. In particular, the method, system, and computer program product calculates the cost of receiving multicast data based on either the elapsed time that a user connects to a multicast session, or the volume of data received at a destination during the connection period.
  • BACKGROUND OF THE INVENTION
  • A one-to-many or many-to-many Internet Protocol (IP) application involves one or multiple sources sending IP messages to multiple receivers. Exemplary applications include the transmission of corporate messages to employees, communication of stock quotes to brokers, video and audio conferencing for remote meetings and telecommuting, and replicating databases and web site information. The IP multicast protocol efficiently supports one-to-many or many-to-many applications by allowing a source to send a single copy of a message to any recipient who explicitly requests to receive the message. IP multicast is more efficient than a point-to-point unicast protocol that requires the source to send an individual copy of a message to each requester thereby limiting the number of receivers by the bandwidth available to the sender. IP multicast is also more efficient than a broadcast protocol that sends one copy of a message to every node on the network even though many of the nodes may not want the message and the broadcast protocol is limited to a single subnet. Furthermore, the IP multicast protocol is applicable not only to wired networks, but also wireless networks. For example, in wireless network, link level multicasting allows several terminals to receive data sent over a single air interface.
  • IP Multicast is a receiver-based protocol. A receiver subscribes to a multicast session group by sending a join message to the multicast session group. Since the network infrastructure delivers the traffic to each member of the multicast session group, the sender does not need to maintain a list of receivers. The advantage is that only one copy of a multicast message passes over any link in the network. In addition, IP Multicast only creates a copy of the message when the paths diverge at a router. Thus, IP multicast yields many performance improvements and conserves bandwidth throughout the system.
  • IP multicast is an extension to the standard IP network-level protocol. RFC 1112, titled “Host Extensions for IP Multicasting” and authored by Steve Deering in 1989, describes IP multicasting as “the transmission of an IP datagram to a ‘host group’, a set of zero or more hosts identified by a single IP destination address. IP multicasting delivers a multicast datagram to every member of the destination host group with the same ‘best-efforts’ reliability as regular unicast IP datagrams. The membership of a host group is dynamic; that is, hosts may join and leave groups at any time. There is no restriction on the location or number of members in a host group. A host may be a member of more than one group at a time.” In addition, at the application level, a single group address may have multiple data streams on different port numbers, on different sockets, in one or more applications. Multiple applications may share a single group address on a host.
  • Multicast communications to establish host membership in a multicast group (e.g., a join message) utilize a standard, such as the Internet Group Management Protocol (IGMP), that supports multicast communication at the Open System Interconnection (OSI) data link layer (layer 2). W. Fenner, Internet Group Management Protocol, Version 2, Request for Comments (RFC) 2236, November, 1997, describe IGMP.
  • In a shared transport media network, encryption takes place at the Open Systems Initiative (OSI) link level (level 2) to prevent an unintended user on the same point-to-multipoint link to get the multicast packets. Alternatively, Internet Protocol security (IPsec) and tunneling can achieve the same result. In addition, in a shared transport network, it is difficult for a provider to determine a total charge to associate with a multicast service between a source and a user because the total charge comprises a content charge and a delivery charge. The source determines the fee associated with the content charge based on the copyright of the content, the volume of data, or a digital right management (DRM) solution. In contrast, the resources consumed during the delivery of the content to a user such as a content provider dictate the delivery charge. In a wireless network, for example, the resources consumed may include wireless radio resources. The content provider is the owner of the multicast data source, however the actual data may be obtained from a third party who owns the copyright to the content.
  • The content charge and the delivery charge also differ because the content charge accrues against the user and the delivery charge can accrue against either the content provider or the user. If the delivery charge accrues against the content provider for sending the content over a physical network, the accrual of the charge can be on a program basis, a data volume basis, or a time basis. Accrual of the delivery charge against the content provider is suitable for delivering content such as an advertisement because the content delivery benefits the content. The disadvantage, however, is that accrual of the delivery charge against the content provider requires a service agreement between the content provider and the network operator. Thus, when the delivery charge accrues against the content provider, it is not possible to charge for delivery of multicast services originating from any content provider on Internet. If the delivery charge accrues against the user for receiving the content over a physical network, it is difficult to track the volume of data that the user receives. Thus, only two types of charging mechanisms are possible, flat rate charging and program or file based charging. Flat rate charging requires the user to periodically pay a fixed price for using the service. Program or file based charging requires the user to pay a fee for each request to receive a program or file. In response to the payment, the user receives an encryption key that will allow access to the program or file. The program or file can include a software application, audio/video file, or graphic image. The encryption scheme can include link level encryption or IPsec.
  • Sophisticated and cost-effective charging mechanisms, such as time based charging and data volume based charging, have taken the place of flat rate charging and program or file based charging mechanisms. A charging scheme based on connection time will calculate a fee for a service based on the amount of time that a user connects to the service. For example, if a network operator determines that the rate for using a video service is $5.00 per hour, a user connecting to the video service to view a movie for thirty-minutes accrues a fee of $2.50. A charging scheme based on the volume of data will calculate a fee for a service based on the volume of data that a user receives from the service. For example, if a network operator determines that the rate for using a video service is $0.25 per Megabyte of data received, the fee for a user to use the video service to view a movie consisting of 25 Megabytes is $6.25.
  • Currently, time based charging and data volume based charging mechanisms are not available for IP multicast deployed in a network with shared transport media. Since it is difficult to determine when a user has stopped using a shared transport media service, it is difficult for network to calculate the connection time or data volume received. For example, user may establish a multicast connection through a digital broadcast network, but when the battery in the user's terminal loses a charge, the connection is broken without any indication of disjoining the service. Thus, the charging will continue even though the multicast service is no longer in use. Furthermore, security is a problem because the user has the possibility to disjoin the service, but still receives the data from the shared transport media service. This invention disclosed here is one possible solution to establish a secure billing system for multicast service in a network that is capable for link level multicasting.
  • Thus, there is a need for a system, method, and computer program product for calculating a cost of receiving multicast data from a multicast session. The system, method, and computer program product will calculate the cost of receiving multicast data based on either the elapsed time that a user connects to a multicast session, or the volume of data received at a destination during the connection period. The system, method, and computer program product disclosed herein establish a secure billing system for multicast services in a network that provides link level multicasting.
  • SUMMARY OF THE INVENTION
  • A method, system, and computer program product for calculating a cost of receiving multicast data from a multicast session. A multicast network includes at least one multicast service, each multicast service including at least one multicast session. The method, system, and computer program product receives a request to establish a connection to the multicast session, the request including a start time for the connection and an end time for the connection. The method, system, and computer program product stores the start time for the connection and the end time for the connection and, after termination of the connection, calculates the cost of receiving the multicast data.
  • The method, system, and computer program product can receive a subsequent request to extend the connection, the subsequent request specifying a new end time for the connection, and store the new end time for the connection. Alternatively, the method, system, and computer program product can receive a subsequent request to terminate the connection, the subsequent request specifying a new end time that precedes the end time for the connection, and store the new end time for the connection.
  • In one embodiment, the storing of the start time for the connection and the end time for the connection is to a database.
  • To calculate the cost, the method, system, and computer program product computes a charge for receiving the multicast data, stores the charge, and computes the cost by multiplying the charge by a fee for the multicast service associated with the multicast session. In one embodiment, the storing of the charge is to a database. The method, system, and computer program product can compute an elapsed connection time by subtracting the start time for the connection from the end time for the connection. Alternatively, the method, system, and computer program product can compute a volume of data received over the connection from the start time for the connection to the end time for the connection.
  • In another embodiment, time is divided into evenly spaced time slots such that the start time for the connection the end time for the connection can only occur at the end of a time slot. Alternatively, the end time for the connection in the request is specified as a discrete number of time slots.
  • In another embodiment, the system for calculating a cost of receiving multicast data from a multicast session includes a collection device and an interface device. The collection device is a general-purpose computer configured to receive a request to establish a connection to the multicast session, the request including a start time for the connection and an end time for the connection, store the start time for the connection and the end time for the connection, and after termination of the connection, calculate the cost of receiving the multicast data. The interface device is a general-purpose computer configured to configure the collection device and display the cost of receiving the multicast data.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying figures best illustrate the details of the system, method, and computer program product that establishes a secure billing system for multicast services in a network that provides link level multicasting, both as to its structure and operation. Like reference numbers and designations in the accompanying figures refer to like elements.
  • FIG. 1A is a network diagram that illustrates an operating environment of a secure billing system for multicast network services in a network that provides link level multicasting.
  • FIG. 1B is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1A.
  • FIG. 1C is a network diagram illustrating an embodiment of the secure billing system shown in FIG. 1A that accommodates an indirect connection between user terminal 110 and multicast data network 105.
  • FIG. 1D is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1C.
  • FIG. 1E is a network diagram illustrating an embodiment of the secure billing system shown in FIG. 1A that distributes the security function to base station 140 and the charging function to charging server 150.
  • FIG. 1F is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1E.
  • FIG. 1G is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1E.
  • FIGS. 2A and 2B illustrate a method of operation for the secure billing system shown in FIG. 1B.
  • FIGS. 2C and 2D illustrate a method of operation for the secure billing system shown in FIG. 1G.
  • FIG. 3A is an exemplary timeline for a charging scheme based on connection time that illustrates an explicit disjoin.
  • FIG. 3B is an exemplary timeline for a charging scheme based on connection time that illustrates an implicit disjoin.
  • FIG. 3C is an exemplary timeline for a charging scheme based on slotted connection time that illustrates an explicit disjoin.
  • FIG. 3D is an exemplary timeline for a charging scheme based on slotted connection time that illustrates an implicit disjoin.
  • FIG. 4A is an exemplary timeline for a charging scheme based on data volume that illustrates an explicit disjoin.
  • FIG. 4B is an exemplary timeline for a charging scheme based on data volume that illustrates an implicit disjoin.
  • DETAILED DESCRIPTION OF THE INVENTION
  • FIG. 1A is a network diagram that illustrates an operating environment of a secure billing system for multicast network services in a network that provides link level multicasting. Internet 100 and multicast data network 105, as shown in FIG. 1A, are public communication networks that support multicast delivery of data packets, in general, and multicast delivery of Internet protocol (IP) data packets, in particular. The invention disclosed herein contemplates network architectures comparable to Internet 100 and multicast data network 105 such as a cellular network, a satellite network, a digital video broadcasting (DVB) network, or a private network architecture. Private network architectures include a local area network, a personal area network such as a Bluetooth network, an intranet, or an extranet. An intranet is a private communication network that provides an organization, such as a corporation, with a secure means for trusted members of the organization to access the resources on the organization's network. In contrast, an extranet is a private communication network that provides an organization, such as a corporation, with a secure means for the organization to authorize non-members of the organization to access certain resources on the organization's network. The invention disclosed herein also contemplates network protocols such as Ethernet, Token Ring, and proprietary network protocols comparable to the Internet protocol.
  • As shown in FIG. 1A, user terminal 110 includes an interface module that connects a user to the secure billing system for multicast network services. In one embodiment, user terminal 110 is a general-purpose computer. User terminal 110 also includes a communication module to communicate with devices on multicast data network 105 to receive multicast session data from devices on Internet 100. A user operates user terminal 110 to receive multicast content 195 by sending join request 117 to last hop router 120. After receiving join request 117, last hop router 120 attaches to the multicast tree using any existing multicast routing protocol. In one embodiment, last hop router 120 attaches to the multicast tree via border gateway 180. Last hop router 120 and border gateway 180 perform routing functions for multicast data network 105. Last hop router 120 is the last routing entity that handles data passing from multicast capable data network 105 to user terminal 110. For example, last hop router 120 may be a general-purpose router in a wireless local area network (WLAN) or a Serving General Packet Radio Service (GPRS) Support Node (SGSN) in a GPRS or Universal Mobile Telecommunications System (UMTS) network. Border gateway 180 is the routing entity that provides the interface between multicast data network 105 and an external network such as Internet 100. In response to join request 117, user terminal 110 receives decryption key 118 from multicast data network 105. In one embodiment, last hop router 120 is responsible for sending decryption key 118 to user terminal 110 and encrypts the data sent by multicast server 190 prior to forwarding the data to user terminal 110. In addition to data routing, last hop router 120 monitors multicast communication messages that user terminal 110 sends and receives, stores charging data related to a subscription request, and forwards the charging data to billing server 170, a general-purpose server computer. Billing server 170 converts the charging data into billing data, stores the billing data, and notifies the user of the total charge for subscribing to multicast content 195.
  • In another embodiment of the secure billing system shown in FIG. 1A, multicast data network 105 is a visiting wireless network for user terminal 110. Since billing server 170 is not in the home network for user terminal 110, billing server 170 forwards any billing data for user terminal 110 to the home billing server (not shown) in the home network (not shown) for user terminal 110. The home network (not shown) will connect to either multicast data network 105 or Internet 100 via a connecting border gateway (not shown).
  • In another embodiment of the secure billing system shown in FIG. 1A, the functions comprising collection of the charging data that last hop router 120 performs are distributed throughout multicast data network 105 to reduce the processing load imposed upon last hop router 120. For example, if the charging data includes connection time data and throughput volume data, last hop router 120 can be responsible for collecting the time data and an intermediate router (not shown) along the multicast tree in multicast data network 105 can be responsible for collecting the throughput volume data.
  • In another embodiment of the secure billing system shown in FIG. 1A, the operator of multicast data network 105 provides the multicast service. Thus, multicast server 190 is located in multicast data network 105.
  • In another embodiment of the secure billing system shown in FIG. 1A, billing server 170 is located in another physical network such as Internet 100 and connects with multicast data network 105 via a Virtual Private Network (VPN). Alternatively, last hop router 120 can also include the functionality performed by billing server 170. Thus, last hop router 120 will include a module that converts charging data into billing data, stores the billing data temporarily and periodically forwards the billing data to a billing center.
  • FIG. 1B is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1A. User terminal 110 comprises service discovery 111, multicast session management 112, and multicast security client 113. Service discovery 111 enables the terminal to discover multicast sessions by providing the user with a list of available multicast sessions and the cost associated with each session. Multicast session management 112 is responsible for establishing a multicast session, maintaining the session communication, and disconnecting the session when the communication is complete. Multicast security client 113 manages the security associated with receiving multicast data from a network connection. For example, multicast security client 113 periodically receives decryption key 118 for decrypting the multicast session data.
  • Referring again to FIG. 1B, last hop router 120 is the last routing entity through which IP data destined for user terminal 110 passes. Last hop router 120 comprises routing function 121, group membership management 122, multicast security unit 123, multicast charging unit 124, data volume meter 125, and charging database 126. Routing function 121 performs traditional network routing and provides support for the IP multicast protocol. Group membership management 122 maintains the group membership information for every terminal on the same multicast link and is responsible for determining the join status of each terminal. Multicast security unit 123 is responsible for sending decryption key 118 to user terminal 110. Optionally, multicast security unit 123 may encrypt the multicast data from multicast server 190 before it is sent to user terminal 110. Multicast security unit 123 sends decryption key 118 when the user initially joins a multicast session. Multicast security unit 123 updates decryption key 118 either when another multicast user terminates the session or at discrete time intervals. Multicast security unit 123 communicates decryption key 118 to multicast security client 113 either by a direct connection, via routing function 121, or via routing function 121 and group membership management 122. Multicast charging unit 124 maintains information related to multicast session charges for user terminal 110. Multicast charging unit 124 creates a charging entry in charging database 126 when user terminal 110 joins a multicast session. Multicast charging unit 124 updates the charging entry when user terminal 110 updates the join status or terminates the session. When user terminal 110 terminates the session, multicast charging unit 124 retrieves the relevant session charge information from charging database 126 and forwards the information to billing server 170. Data volume meter 125 measures, for a multicast session, the number of bytes or data volume transmitted to user terminal 110. Charging database 126 stores information related to multicast session charges. The implementation of charging database 126 contemplates a flat-file architecture, relational database management system design, object-oriented database design, or the equivalent.
  • Referring again to FIG. 1B, billing server 170 is a general-purpose server computer that includes a module to convert charging information such as connection time or data volume into billing data including the cost to receive the multicast session data. Billing server 170 comprises billing unit 171 and billing database 172. Billing unit 171 converts the information related to multicast session charges into billing information. Billing database 172 stores the billing information. The implementation of billing database 172 contemplates a flat-file architecture, relational database management system design, object-oriented database design, or the equivalent.
  • FIG. 1C is a network diagram illustrating an embodiment of the secure billing system shown in FIG. 1 A that accommodates an indirect connection between user terminal 110 and multicast data network 105. Internet 100 and multicast data network 105 perform the same functions as described above in the discussion of FIG. 1A. Bi-directional network 106 is a data network such as a General Packet Radio Service (GPRS) network that supports uplink connectivity and provides an interface between user terminal 110 and multicast data network 105. Uni-directional network 107 is a data network such as a DVB terrestrial (DVB-T) network that transmits multicast data to entities such as user terminal 110. The invention disclosed herein contemplates network architectures comparable to bi-directional network 106 and uni-directional network 107 such as a cellular network, a satellite network, a DVB network, or a private network architecture.
  • As shown in FIG. 1C, user terminal 110 includes an interface module that connects a user to the secure billing system for multicast network services. In one embodiment, user terminal 110 is a mobile device such as a cellular telephone. User terminal 110 also includes a communication module to receive multicast data transmitted by multicast serving node 130. A user operates user terminal 110 to receive multicast content 195 by sending join request 117 to multicast serving node 130 via bi-directional network 106. After receiving join request 117, multicast serving node 130 attaches to the multicast tree using any existing multicast routing protocol. In one embodiment, multicast serving node 130 attaches to the multicast tree via border gateway 180. Multicast serving node 130 and border gateway 180 perform routing functions for multicast data network 105. Multicast serving node 130 forwards the multicast data from multicast data network 105 to user terminal 110 via either bi-directional network 106 or uni-directional network 107. Border gateway 180 is the routing entity that provides the interface between multicast data network 105 and an external network such as Internet 100. In response to join request 117, user terminal 110 receives decryption key 118 from multicast serving node 130 via bi-directional network 106. In one embodiment, multicast serving node 130 is responsible for sending decryption key 118 to user terminal 110 and encrypts the data sent by multicast server 190 prior to forwarding the data to user terminal 110. Multicast serving node 130 also forwards the multicast data comprising multicast content 195 to user terminal 110 via uni-directional network 107. In addition to data routing, multicast serving node 130 monitors multicast communication messages that user terminal 110 sends and receives, stores charging data related to a subscription request, and forwards the charging data to billing server 170, a general-purpose server computer. Billing server 170 converts the charging data into billing data, stores the billing data, and notifies the user of the total charge for subscribing to multicast content 195.
  • An example of the embodiment shown in FIG. 1C includes delivering IP data from an Internet Service Provider (ISP) network owned by operator A via a DVB terrestrial (DVB-T) network owned by operator B to the mobile terminal operated by a user. A service agreement between the user and operator A obligates the user to pay a fee for receiving multicast data that operator A delivers. Also, an agreement between operator A and operator B obligates operator A to pay a fee for sending data over the DVB-T network owned by operator B. To subscribe to a multicast session, the user sends join request 117 to multicast serving node 130 via the data network owned by operator C. Multicast serving node 130 delivers multicast session data to the mobile terminal via the DVB-T network owned by operator B, monitors multicast communication messages, stores charging data related to the subscription request, and forwards the charging data to billing server 170.
  • FIG. 1D is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1C. Except for the differences described below, the function and structure of the components shown in FIG. 1D are identical to the components shown in FIG. 1B. In addition, routing function 131 functions similar to routing function 121, group membership management 132 functions similar to group membership management 122, multicast security unit 133 functions similar to multicast security unit 123, multicast charging unit 134 functions similar to multicast charging unit 124, data volume meter 135 functions similar to data volume meter 125, and charging database 136 functions similar to charging database 126. In FIG. 1D, routing function 131 and multicast security unit 133 do not communicate with user terminal 110 directly, but via either bi-directional network 106 or uni-directional network 107. Similarly, multicast session management 112 does not communicate with multicast serving node 130 directly, but via bi-directional network 106.
  • FIG. 1E is a network diagram illustrating an embodiment of the secure billing system shown in FIG. 1A that distributes the security function to base station 140 and the charging function to charging server 150. As shown in FIG. 1E, user terminal 110 is a mobile device that communicates with wireless network 108 via base station 140. In one embodiment, base station 140 is the base station subsystem in a GPRS network. A user operates user terminal 110 to receive multicast content 195 by sending join request 117 to base station 140. After receiving join request 117, base station 140 attaches to the multicast tree using any existing multicast routing protocol. In one embodiment, base station 140 attaches to the multicast tree via last hop router 120 and border gateway 180. Last hop router 120 and border gateway 180 perform routing functions for wireless network 108. In response to join request 117, user terminal 110 receives decryption key 118 from base station 140. In one embodiment, base station 140 is responsible for sending decryption key 118 to user terminal 110 and encrypts the data sent by multicast server 190 prior to forwarding the data to user terminal 110. In addition to data routing, the connection between last hop router 120 and base station 140 allow last hop router 120 to monitor multicast communication messages that user terminal 110 sends to and receives from base station 140. Last hop router 120 also transfers charging data related to a subscription request to charging server 150. In one embodiment, charging server 150 stores the charging data and periodically forwards the data via a direct connection to billing server 170. In another embodiment, charging server 150 stores the charging data and periodically forwards the data to billing server 170 via a connection between last hop router 120 and billing server 170. Charging server 150 and billing server 170 are general-purpose server computers.
  • FIG. 1F is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1E. Except for the differences described below, the function and structure of the components shown in FIG. 1F are identical to the components shown in FIG. 1B. FIG. 1F distributes the components of last hop router 120, as shown in FIG. 1B, among last hop router 120, base station 140, and charging server 150. Last hop router 120 comprises routing function 121, group membership management 122, and data volume meter 125. Base station 140 comprises multicast security unit 123, the communication interface between multicast security unit 123 and routing function 121, and the communication interface between multicast security unit 123 and group membership management 122. Charging server 150 comprises multicast charging unit 124, charging database 126, the communication interface between multicast charging unit 124 and group membership management 122, and the communication interface between multicast charging unit 124 and data volume meter 125. In one embodiment, billing server 170 comprises billing unit 171 and billing database 172 and charging server 150 further comprises a communication interface between charging unit 124 and billing unit 171.
  • FIG. 1G is a network diagram that illustrates the components comprising the secure billing system shown in FIG. 1E. Except for the differences described below, the function and structure of the components shown in FIG. 1G are identical to the components shown in FIG. 1F. FIG. 1G illustrates a distributed architecture for group membership management 122 shown in FIG. 1F. Last hop router 120, as shown in FIG. 1G, comprises routing function 121, data volume meter 125, and network layer group membership management 128. Base station 140, as shown in FIG. 1G, comprises multicast security unit 123, link layer group membership management 127, the communication interface between multicast security unit 123 and routing function 121, and the communication interface between link layer group membership management 127 and network layer group membership management 128. Charging server 150, as shown in FIG. 1G, comprises multicast charging unit 124, charging database 126, the communication interface between multicast charging unit 124 and network layer group membership management 128, and the communication interface between multicast charging unit 124 and data volume meter 125. Link layer group membership management 127 maintains the information of the join status of user terminal 110 within the cell and provides that information to multicast charging unit 124. Whenever there are any multicast receivers within the cell, link layer group membership management 127 informs network layer group membership management 128 to join the multicast tree. Network layer group membership management 128 is responsible for keeping track of which base station needs multicast data and routes the multicast data to the appropriate base station.
  • FIGS. 2A and 2B illustrate a method of operation for the secure billing system shown in FIGS. 1A and 1B. Referring to FIGS. 1A, 1B, and 2A, the method begins at step 202 with multicast server 190 announcing the available multicast sessions to user terminal 110 via multicast data network 105. At step 204, service discovery 111 discovers the multicast sessions that are available. Service discovery 111 provides an operator of user terminal 110 with a list of available multicast sessions and the relevant information for each session. The relevant information includes the starting time and cost associated with a multicast session. The operator selects a multicast session from the list. In response to the operator's selection, user terminal 110 activates the selected multicast session. In one embodiment, the activation of the multicast session occurs immediately. In another embodiment, the activation occurs at a predetermined time such as before the start of the multicast session. At step 206, multicast session management 112 sends join request 117 for the selected multicast session to group membership management 122. Group membership management 122 receives join request 117 at step 208 and records the join status of the user terminal at step 212. Group membership management 122 forwards the joined status information to multicast charging unit 124 and multicast security unit 123. Multicast charging unit 124 uses the joined status information to create a charging entry in charging database 126 at step 214. Multicast security unit 123 uses the joined status information to send a decryption key to user terminal 110 at step 216 which multicast security client 113 receives at step 218 before receiving multicast session data at step 220. In one embodiment, multicast security unit 123 encrypts the message prior to sending the decryption key and multicast security client 113 decrypts the message after receiving the decryption key. After receiving join request 117 at step 208, group membership management 122 also attaches to the multicast tree using any multicast routing protocol at step 210. In one embodiment, group membership management 122 applies authentication and authorization procedures before attaching to the multicast tree. At step 222, multicast server 190 sends multicast session data to multicast security unit 123. The multicast session data is encrypted by multicast security unit 123 at step 224 and decrypted by multicast security client 113 at step 226 before receiving multicast session data at step 220.
  • At step 228, FIG. 2A illustrates user terminal 110 updating the join status, for example, to extend the duration of the multicast session connection. Multicast session management 112 resends the join request to group membership management 122. Group membership management 122 updates the join status for user terminal 110 at step 230 and notifies multicast security unit 123 to send an updated decryption key at step 216. Multicast session management 112 is responsible for sending an updated join request to last hop router 120 on an on-going basis. As long as the user is receiving the session, multicast session management 113 must update the join status for the terminal before it expires. Whenever the join status is updated, group membership management 122 also forwards the status to multicast charging unit 124 to update the charging entry at step 232. After updating the join status for user terminal 110 at step 230, group membership management 122 notifies multicast charging unit 124 to update the charging entry in charging database 126 at step 232.
  • At step 234, FIG. 2B illustrates user terminal 110 terminating the multicast session, either explicitly or implicitly, by sending a disjoin request to last hop router 120. Group membership management 122 receives the disjoin request and, at step 236, notifies multicast charging unit 124 to close the charging entry for user terminal 110 in charging database 126. Multicast charging unit 124 forwards the charging data to billing server 170 at step 238. Billing server 170 converts the charging data to billing data, at step 240, and sends the billing data to the user at step 242. If a data volume based charging mechanism is used, in order to generate and update the charging entry, data volume meter 125 forwards to multicast charging unit 124 the volume of data delivered to user terminal 110. At step 244, group membership management 122 determines whether any receivers of the multicast data have an active join status. If no receivers have an active join status, at step 246, group membership management 122 detaches user terminal 110 from the multicast tree. If there is at least one receiver with an active status, group membership management 122 proceeds to steps 230 and 216 where the terminal status is updated and multicast security unit 123 is notified to send an updated decryption key to multicast security client 113.
  • FIGS. 2C and 2D illustrate a method of operation for the secure billing system shown in FIGS. 1E and 1G. Referring to FIGS. 1E, 1G, and 2C, the method begins at step 202 with multicast server 190 announcing the available multicast sessions to user terminal 110 via wireless network 108. At step 204, service discovery 111 discovers the multicast sessions that are available. Service discovery 111 provides an operator of user terminal 110 with a list of available multicast sessions and the relevant information for each session. The relevant information includes the starting time and cost associated with a multicast session. The operator selects a multicast session from the list. In response to the operator's selection, user terminal 110 activates the selected multicast session. In one embodiment, the activation of the multicast session occurs immediately. In another embodiment, the activation occurs at a predetermined time such as before the start of the multicast session. At step 206, multicast session management 112 sends join request 117 for the selected multicast session to link layer group membership management 127. Link layer group membership management 127 receives join request 117 at step 208 and records the join status of the user terminal at step 212. Link layer group membership management 127 forwards the joined status information to multicast charging unit 124 and multicast security unit 123. Multicast charging unit 124 uses the joined status information to create a charging entry in charging database 126 at step 214. Multicast security unit 123 uses the joined status information to send a decryption key to user terminal 110 at step 216 which multicast security client 113 receives at step 218 before receiving multicast session data at step 220. In one embodiment, multicast security unit 123 encrypts the message prior to sending the decryption key and multicast security client 113 decrypts the message after receiving the decryption key. After receiving join request 117 at step 208, link layer group membership management 127 also notifies network layer group membership management 128 to attach to the multicast tree using any multicast routing protocol at step 210. In one embodiment, link layer group membership management 127 applies authentication and authorization procedures before attaching to the multicast tree. At step 222, multicast server 190 sends multicast session data to multicast security unit 123. The multicast session data is encrypted by multicast security unit 123 at step 224 and decrypted by multicast security client 113 at step 226 before receiving multicast session data at step 220.
  • At step 228, FIG. 2C illustrates user terminal 110 updating the join status, for example, to extend the duration of the multicast session connection. Multicast session management 112 resends the join request to link layer group membership management 127. Link layer group membership management 127 updates the join status for user terminal 110 at step 230 and notifies multicast security unit 123 to send an updated decryption key at step 216. Multicast session management 112 is responsible for sending an updated join request to last hop router 120 on an on-going basis. As long as the user is receiving the session, multicast session management 113 must update the join status for the terminal before it expires. Whenever the join status is updated, link layer group membership management 127 also forwards the status to multicast charging unit 124 to update the charging entry at step 232. After updating the join status for user terminal 110 at step 230, link layer group membership management 127 notifies multicast charging unit 124 to update the charging entry in charging database 126 at step 232.
  • At step 234, FIG. 2D illustrates user terminal 110 terminating the multicast session, either explicitly or implicitly, by sending a disjoin request to last hop router 120. Link layer group membership management 127 receives the disjoin request and, at step 236, notifies multicast charging unit 124 to close the charging entry for user terminal 110 in charging database 126. Multicast charging unit 124 forwards the charging data to billing server 170 at step 238. Billing server 170 converts the charging data to billing data, at step 240, and sends the billing data to the user at step 242. If a data volume based charging mechanism is used, in order to generate and update the charging entry, data volume meter 125 forwards to multicast charging unit 124 the volume of data delivered to user terminal 110. At step 244, link layer group membership management 127 determines whether any receivers of the multicast data have an active join status. If no receivers have an active join status, link layer group membership management 127 notifies network layer group membership management 128, at step 246, to detach user terminal 110 from the multicast tree. If there is at least one receiver with an active status, link layer group membership management 127 proceeds to steps 230 and 216 where the terminal status is updated and multicast security unit 123 is notified to send an updated decryption key to multicast security client 113.
  • Connection Time Charging
  • A charging scheme based on connection time calculates a fee for a service from the elapsed time that a user connects to the service. For example, if a network operator determines that the rate for using a video service is $5.00 per hour, a user connecting to the video service to view a movie for thirty-minutes accrues a fee of $2.50. In a multicast network, a charging scheme based on connection time is most beneficial when an average multicast session has a fixed bandwidth. Determination of the connection time involves storing the time that the user terminates the multicast session connection, storing the time that the user initiates the multicast session connection, and calculating the difference between these times. Since a multicast session is dynamic, the challenge is to determine when the initiation and termination of the connection occurs.
  • The packets that comprise a multicast session are encrypted. Thus, a user cannot receive the multicast session without explicitly requesting to join a multicast group and receiving a decryption key. Referring to FIG. 1B, service discovery 111 receives all the available multicast sessions from last hop router 120. When user terminal 110 selects and activates a multicast session, multicast session management 112 explicitly requests to join a multicast group by sending join request 117 to group membership management 122. In response, group membership management 122 notifies multicast charging unit 124 and multicast security unit 123 that user terminal 110 agrees to pay a fee based on the connection time to the multicast service. Multicast charging unit 124 creates a charging entry for user terminal 110 and multicast content 195. Multicast security client 113 receives decryption key 118 from multicast security unit 123 that will decrypt the multicast session packet data. Group membership management 122 receives every join request sent by a user of the multicast service associated with a multicast group. A validated or authenticated join request activates the “joined” status for the user who sent the join request. Multicast charging unit 124 creates and maintains an entry in charging database 126 for each validated join request. The entry in charging database 126 comprises user identification data, session identification data, a cumulative connection time, and an expiration time for the “joined” status.
  • The join request sent by the user identifies the requested multicast session, the requested start time for the charging, and the requested stop time for the charging. The join request obligates the user to pay the charges that accrue from the start time to the end time. When the user has “joined” status, the multicast network is responsible for updating the user's “decryption key” whenever host membership in the multicast group changes. For a discussion of several methods for delivery of the decryption key see “Secure Group Communication using Key Graphs”, IEEE/ACM Transactions on Networking, February 2000.
  • The stop time specified in the join request is the initial stop time for the user's multicast session. The user can extend the stop time by sending a second join request to specify a later stop time. The stop time can only be extended if group membership management 122 receives the second join request prior to the initial stop time. If the second join request arrives after the first join status expires, the user will be disconnecting with the multicast session first as a result of the expired join status. When the second join request arrives, it will act as a new join request to connect user terminal 110 to the multicast session. Following the receipt of a second or subsequent join request, multicast charging unit 124 updates the entry for the user and multicast session in charging database 126 and notifies other group members of a membership change.
  • In one embodiment, the interval between the start time and the stop time in each join request can be determined based on the configuration set by either the user or network operator. In another embodiment, the interval between the start time and the stop time can be calculated according to an environmental characteristic including the velocity of the terminal, the strength of the reception signal, and the quality of the reception signal.
  • Termination of the multicast session can happen either explicitly or implicitly. Explicit termination of the multicast session occurs when the user sends a disjoin request that specifies a stop time earlier than the pending stop time. A disjoin request is only effective, however, if group membership management 122 receives the disjoin request prior to the pending stop time. Following receipt of a disjoin request, multicast charging unit 124 updates and closes the entry in charging database 126 and forwards the charging data to billing unit 171 for conversion into billing data and storage in billing database 172. If the forwarding of the charging data is successful, multicast charging unit 124 deletes the entry in charging database 126 and, if the second join request arrives after the first join status expires, multicast security unit 123 updates decryption key 118 for other group members of the same multicast session. Implicit termination of the multicast session occurs when the user's “joined” status expires before the user sends a subsequent join request to extend the stop time. An implicit termination may occur, for example, when the battery in the user's terminal loses power or some other reason that causes terminal to loose the network connection. Accounting for implicit termination of a multicast session ensures that an excessive charge does not accrue for the user.
  • When the user status changes state from “joined” to “disjoined”, multicast charging unit 124 calculates the total connection time. The billing related information such as user identification data, session identification data, and connection time is transferred from multicast charging unit 124 to billing server 170. Then, billing unit 171 converts the charging data into billing data and stores the billing data in billing database 172. Alternatively, multicast charging unit 124 periodically transfers billing data to billing server 170.
  • Unrestricted Connection Time
  • FIGS. 3A and 3B are exemplary timelines for a charging scheme based on connection time that allows a user to join or leave a multicast session at any time. Referring to FIGS. 1B and 3A, if user terminal 110 explicitly requests termination of the multicast session connection, determination of the connection time comprises:
    • 1. User terminal 110 sending a join request to group membership management 122 at time tX0. If the join request takes the form join(p, tS1, tE1), the user is requesting to join multicast session p, start the connection time charging at time tS1, and end the connection time charging at time tE1. If the user wants to start the connection time charging immediately, tS1 is set equal to null.
    • 2. Multicast security client 113 receiving decryption key 118 from multicast security unit 123 before time tS1. Decryption key 118 functions to decrypt the packet data comprising multicast session p.
  • 3. At time tS1, multicast charging unit 124 adds an entry to charging database 126 to track connection time charges for user terminal 110 using multicast session p. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino (tE1 − tS1) tE1
    457286529 1453
    172.10.20.212

    If the user sets tS1 in the join request equal to null to indicate that the connection time charging will start immediately, tX0 will replace tS1 in the charging table because the join request was sent at time tX0.
    • 4. From time tS1 until time tE1, the multicast network is responsible for updating decryption key 118 for user terminal 110 whenever host membership in the multicast group changes.
    • 5. At time tX1, where tX1<tE1, user terminal 110 extends the stop time by sending a second join request to specify a later stop time. If the second join request takes the form join(p, tE1, tE2), the user is requesting to extend the end time for the connection to multicast session p from time tE1 to time tE2,
  • 6. At time tE1, multicast charging unit 124 updates the entry in charging database 126 to track connection time charges for user terminal 110 using multicast session p. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino (tE1 − tS1) + tE2
    457286529 1453 (tE2 − tE1)
    172.10.20.212
    • 7. From time tE1 until time tE2, the multicast network is responsible for updating the “decryption key” for user terminal 110 whenever host membership in the multicast group changes.
  • 8. At time tX2, where tX2<tE2, user terminal 110 sends a disjoin request that specifies a stop time earlier than the pending stop time, tE2. If the disjoin request takes the form leave(p, tE3), user terminal 110 is requesting to leave multicast session p at time tE3. If user terminal 110 wants to leave multicast session p immediately, tE3 is set equal to null. Multicast charging unit 124 updates the entry in charging database 126 to track connection time charges for user terminal 110 using multicast session p. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino (tE1 − tS1) + tE3
    457286529 1453 (tE2 − tE1) +
    172.10.20.212 (tE3 − tE2)

    If the user sets tE3 in the disjoin request equal to null to indicate that user terminal 110 wants to leave multicast session p immediately, tX2 will replace tE3 in the charging table because the join request was sent at time tX2.
    • 9. At time tE3, collection of connection time charges for user terminal 110 stops. The multicast network is responsible for updating the “decryption key” for the other group members because user terminal 110 disjoined the multicast group. Since the collection of connection time charges has stopped, multicast charging unit 124 closes the entry in charging database 126 for user terminal 110 using multicast session p, communicates the charging data to billing unit 171 for storage in billing database 172, and deletes the entry in charging database 126.
  • Referring to FIGS. 1B and 3B, if termination of the multicast session connection is implied from the passage of time, steps 1 through 7 are identical to steps 1 through 7 from the discussion of FIG. 3A and determination of the connection time comprises:
    • 1. User terminal 110 sending a join request to group membership management 122 at time tX0. If the join request takes the form join(p, tS1, tE1), the user is requesting to join multicast session p, start the connection time charging at time tS1, and end the connection time charging at time tE1. If the user wants to start the connection time charging immediately, tS1 is set equal to null.
    • 2. Multicast security client 113 receiving decryption key 118 from multicast security unit 123 before time tS1. Decryption key 118 functions to decrypt the packet data comprising multicast session p.
  • 3. At time tS1, multicast charging unit 124 adds an entry to charging database 126 to track connection time charges for user terminal 110 using multicast session p. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino (tE1 − tS1) tE1
    457286529 1453
    172.10.20.212

    If the user sets tS1 in the join request equal to null to indicate that the connection time charging will start immediately, tX0 will replace tS1 in the charging table because the join request was sent at time tX0.
    • 4. From time tS1 until time tE1, the multicast network is responsible for updating decryption key 118 for user terminal 110 whenever host membership in the multicast group changes.
    • 5. At time tX1, where tX1<tE1, user terminal 110 extends the stop time by sending a second join request to specify a later stop time. If the second join request takes the form join(p, tE1, tE2), the user is requesting to extend the end time for the connection to multicast session p from time tE1 to time tE2.
  • 6. At time tE1, multicast charging unit 124 updates the entry in charging database 126 to track connection time charges for user terminal 110 using multicast session p. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino (tE1 − tS1) + tE2
    457286529 1453 (tE2 − tE1)
    172.10.20.212
    • 7. From time tE1 until time tE2, the multicast network is responsible for updating the “decryption key” for user terminal 110 whenever host membership in the multicast group changes.
  • 8. At time tE2, the connection time charging for user terminal 110 expires. Multicast charging unit 124 stops updating the entry for user terminal 110 using multicast session p in charging database 126. Multicast charging unit 124 communicates with billing server 170 to transfer the charging data for user terminal 110 using multicast session p from charging database 126 to billing database 172. Billing unit 171 converts the connection time, data volume, or other form of information for user terminal 110 using multicast session p to the entry of billing database 172, which has information of total cost of multicast session for user terminal 110. Alternatively, the entry in charging database 126 is transferred periodically to billing server 170. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino (tE1 − tS1) + tE2
    457286529 1453 (tE2 − tE1)
    172.10.20.212

    Handover
  • The following examples describe how the system performs charging when a handover occurs from node A to node B. In the first example, the system configuration is as shown in FIG. 1B and the handover is from one last hop router to another. User terminal 110 needs to send a new join request to node B and a disjoin request to node A. Alternatively, node B can inform node A of the handover and disjoin user terminal 110 from node A. All of the components in node A (group membership management 122, multicast charging unit 124, multicast security unit 124, etc.) will follow the disjoin procedure as described herein. All of the components in node B (group membership management 122, multicast charging unit 124, multicast security unit 124, etc.) will follow the join procedure as described herein.
  • In the second example, the system configuration is as shown in FIG. 1B and nodes A and B are equipped with independent group membership management components or link layer group membership management components, but share the same multicast charging unit or charging server. User terminal 110 joins the multicast session from node A and later performs a handover from node A to node B. Since node A and node B are both equipped with group membership management or link layer group membership management components, the nodes support charging in a handover situation if a column is added to the charging entry to identify which node is responsible for the charging entry. When node A, in response to a join request, instructs multicast charging unit 124 to create a charging entry for user terminal 110, the ID of node A (e.g., the IP address of node A) is recorded in the charging entry as the “node responsible for this charging entry”. When user terminal 110 performs a handover from node A to node B, user terminal 110 sends a join request to node B. As a result, node B sends a request for creating charging entry to multicast charging unit 124 that is shared by node A and node B. Upon receiving such a request, multicast charging unit 124 updates the relevant entry by changing the “node responsible for this charging entry” to node B and updating the “joined status expire time” to the new one indicated in the new join request. In addition, multicast charging unit 124 informs node A that node A is no longer responsible for the charging entry associated with user terminal 110. Node a may perform the disjoin procedure described herein to disjoin user terminal 110 from node A.
  • For example, before handover, user terminal 110 receives multicast data via node
  • A. The charging entry is:
    User Session Node Responsible Expiration Time
    Identification Identification for this Entry Connection Time of “Joined” Status
    21323421 finnkino ID of node A (tE1 − tS1) + tE3
    457286529 1453 (tE2 − tE1) +
    172.10.20.212 (tE3 − tE2)
  • Then user terminal 110 begins to perform the handover. At time tH1, where tX2<tE3, node B with group membership management component receives the join request join(p, null, tE4) from user terminal 110. Node B informs multicast charging unit 124 to create a charging entry for user terminal 110. In response, multicast charging unit 124 modifies the existing charging entry in the following manner.
    User Session Node Responsible Expiration Time
    Identification Identification for this Entry Connection Time of “Joined” Status
    21323421 finnkino ID of node B (tE1 − tS1) + tE4
    457286529 1453 (tE2 − tE1) +
    172.10.20.212 (tE4 − tE2)

    Also, multicast charging unit 124 will inform node A that node A is no longer responsible for the charging entry associated with user terminal 110. Node A may perform disjoin procedures to disjoin user terminal 110 from node A.
    Slotted Connection Time
  • FIGS. 3C and 3D are exemplary timelines for a charging scheme based on connection time that only allows a user to join or leave a multicast session at the end of a discrete point in time or time slot. Since the user can only join or leave the multicast session at slotted time intervals (i.e., discrete points in time), the network only needs to update to the decryption key at those discrete points in time. Thus, the network can synchronize the disjoin activity of multiple users and reduce the number of decryption keys delivered. Referring to FIGS. 1B and 3C, if user terminal 110 explicitly requests termination of the multicast session connection, determination of the connection time comprises:
    • 1. User terminal 110 sending a join request to group membership management 122 at time tX0. If the join request takes the form join(p, tS1, 2) requesting to join multicast session p, start the connection time charging at time tS1, for the service from the start time until time t3=[(t0+m−tS1)+(2×m)] where m is the duration of a time slot and t0 is the start of a time slot.
    • 2. Multicast security client 113 receiving decryption key 118 from multicast security unit 123 before time tS1. The multicast network informs user terminal 110 that time tD1 is the deadline for extending the expiration of the connection to multicast session p. The offset w is defined by the network and represents the time interval between the deadline for receiving another join request and the end of a time slot.
  • 3. At time tS1, multicast charging unit 124 adds an entry to charging database 126 to track connection time charges for user terminal 110 using multicast session p. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino [(t0 + m − tS1) + t3
    457286529 1453 (2 × m)]
    172.10.20.212
    • 4. From time tS1 until time t3, the multicast network is responsible for updating decryption key 118 for user terminal 110 whenever host membership in the multicast group changes. The updates to decryption key 118 occur during the offset interval w for each time slot. During the offset interval w, if the network determines that the status for a user will change from “joined” to “disjoined”, the network updates decryption key 118.
  • 5. At time tX1, where tX1<tD1, user terminal 110 extends the stop time by sending a second join request to specify a later stop time. If the second join request takes the form join(p, t3, 2), the user is requesting to extend the end time for the connection to multicast session p for 2 time slots after time t3. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino [(t0 + m − tS1) + t5
    457286529 1453 (2 × m) + (2 × m)]
    172.10.20.212

    The multicast network informs user terminal 110 that time tD2 is the deadline for extending the expiration of the connection to multicast session p.
    • 6. From time t3 to time t5, the multicast network is responsible for updating decryption key 118 for user terminal 110 whenever host membership in the multicast group changes.
  • 7. At time tX2, where tX2<tD2, user terminal 110 sends a disjoin request that specifies to stop accruing a fee when the current time slot expires. If the disjoin request takes the form leave(p, 0), user terminal 110 is requesting to leave session p when the current time slot expires. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino (t0 + m − tS1) + t4
    457286529 1453 (2 × m) +
    172.10.20.212 (2 × m) − (t5 − t4)
    • 8. After time (t4−w), if the network determines that the status for a user will change from “joined” to “disjoined”, the network updates decryption key 118 and continues the multicast session for the user into the next time slot.
    • 9. At time t4, collection of connection time charges for user terminal 110 stops. The multicast network is responsible for updating the “decryption key” for the other group members because user terminal 110 disjoined the multicast group. Since the collection of connection time charges has stopped, multicast charging unit 124 closes the entry in charging database 126 for user terminal 110 using multicast session p, communicates the charging data to billing unit 171 for storage in billing database 172, and deletes the entry in charging database 126.
  • Referring to FIGS. 1B and 3D, if termination of the multicast session connection is implied from the passage of time, steps 1 through 6 are identical to steps 1 through 6 from the discussion of FIG. 3C and determination of the connection time comprises:
    • 1. User terminal 110 sending a join request to group membership management 122 at time tX0. If the join request takes the form join(p, tS1, 2), the user is requesting to join multicast session p, start the connection time charging at time tS1, and pay for the service from the start time until time t3=[(t0+m−tS1)+(2×m)] where m is the duration of a time slot and t0 is the start of a time slot.
    • 2. Multicast security client 113 receiving decryption key 118 from multicast security unit 123 before time tS1. The multicast network informs user terminal 110 that time tD1 is the deadline for extending the expiration of the connection to multicast session p. The offset w is defined by the network and represents the time interval between the deadline for receiving another join request and the end of a time slot.
  • 3. At time tS1, multicast charging unit 124 adds an entry to charging database 126 to track connection time charges for user terminal 110 using multicast session p. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino [(t0 + m − tS1) + t3
    457286529 1453 (2 × m)]
    172.10.20.212
    • 4. From time tS1 until time t3, the multicast network is responsible for updating decryption key 118 for user terminal 110 whenever host membership in the multicast group changes. The updates to decryption key 118 occur during the offset interval w for each time slot. During the offset interval w, if the network determines that the status for a user will change from “joined” to “disjoined”, the network updates decryption key 118.
  • 5. At time tX1, where tX1<tD1, user terminal 110 extends the stop time by sending a second join request to specify a later stop time. If the second join request takes the form join(p, t3, 2), the user is requesting to extend the end time for the connection to multicast session p for 2 time slots after time t3. In one embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino [(t0 + m − tS1) + t5
    457286529 1453 (2 × m) + (2 × m)]
    172.10.20.212

    The multicast network informs user terminal 110 that time tD2 is the deadline for extending the expiration of the connection to multicast session p.
    • 6. From time t3 to time t5, the multicast network is responsible for updating decryption key 118 for user terminal 110 whenever host membership in the multicast group changes.
    • 7. After time tD2, if the network determines that the status for a user will change from “joined” to “disjoined”, the network updates decryption key 118 and continues the multicast session for the user into the next time slot.
  • 8. At time t5, collection of connection time charges for user terminal 110 stops. The multicast network is responsible for updating the “decryption key” for the other group members because user terminal 110 disjoined the multicast group. Since the collection of connection time charges has stopped, multicast charging unit 124 closes the entry in charging database 126 for user terminal 110 using multicast session p, communicates the charging data to billing unit 171 for storage in billing database 172, and deletes the entry in charging database 126. Alternatively, multicast charging unit 124 transfers the entry directly to billing server 170. In another embodiment, the entry to charging database 126 appears as follows:
    User Session Connection Expiration Time
    Identification Identification Time of “Joined” Status
    21323421 finnkino (t0 + m − tS1) + t5
    457286529 1453 (2 × m) + (2 × m)
    172.10.20.212

    Data Volume Based Charging
  • A charging scheme based on the volume of data calculates a fee for a service from the volume of data that a user receives from the service. For example, if a network operator determines that the rate for using a video service is $0.25 for each Megabyte of data received, a user connecting to the video service to view a movie consisting of 25 Megabytes of data accrues a fee of $6.25. In a multicast network, a charging scheme based on the volume of data is most beneficial when the data rate varies. Similar to the charging scheme based on connection time discussed above, the connectivity and security is managed on time basis, however, determination of charge requires accounting for the number of bytes transferred during the connection time.
  • FIGS. 4A and 4B are exemplary timelines for a charging scheme based on data volume that only allows a user to join or leave a multicast session at the end of a discrete point in time or time slot. Referring to FIGS. 1B and 4A, if user terminal 110 explicitly requests termination of the multicast session connection, determination of the data volume comprises:
    • 1. Data volume meter 125 examining IP multicast data packets and maintaining a tally of the number of bytes of data received, for a given destination address and multicast session. Data volume meter 125 can either be co-located with multicast charging unit 124 or located on an upper layer of the multicast tree (e.g., on the gateway router where the multicast data enters the multicast network). In one embodiment, each last hop router may include a meter for measuring the multicast session routed to the last hop router. In another embodiment, the meter can be distributed across several access routers in the multicast network.
    • 2. User terminal 110 sending a join request to group membership management 122 at time tX0. If the join request takes the form join(p, tS1, 2), the user is requesting to join multicast session p, start the connection time charging at time tS1, and pay for the service from the start time until time t3=[(t0+m−tS1)+(2×m)] where m is the duration of a time slot and to is the start of a time slot. Calculation of the fee depends on the volume of data received by a given destination and multicast session between time tS1 and t3.
    • 3. Multicast security client 113 receiving decryption key 118 from multicast security unit 123 before time tS1. The multicast network informs user terminal 110 that time tD1 is the deadline for sending another join request. The offset w is defined by the network and represents the time interval between the deadline for receiving another join request and the end of a time slot.
  • 4. At time tS1, data volume meter 125 signals multicast charging unit 124 to add an entry to charging database 126 to store the data volume start value, V1, for user terminal 110 using multicast session p. In one embodiment, the entry to charging database 126 appears as follows:
    Data Volume on
    Meter
    User Session Start End Expiration Time
    Identification Identification Value Value of “Joined” Status
    21323421 finnkino V1 Null t3
    457286529 1453
    172.10.20.212
    • 5. From time tS1 until time t3, the multicast network is responsible for updating decryption key 118 for user terminal 110 whenever host membership in the multicast group changes. The updates to decryption key 118 occur during the offset interval w for each time slot. During the offset interval w, if the network determines that the status for a user will change from “joined” to “disjoined”, the network updates decryption key 118.
  • 6. At time tX1, where tX1<tD1, user terminal 110 extends the stop time by sending a second join request to specify a later stop time. If the second join request takes the form join(p, t3, 2), the user is requesting to extend the end time for the connection to multicast session p for 2 time slots after time t3. In one embodiment, the entry to charging database 126 appears as follows:
    Data Volume on
    Meter
    User Session Start End Expiration Time
    Identification Identification Value Value of “Joined” Status
    21323421 finnkino V1 Null t5
    457286529 1453
    172.10.20.212

    The multicast network informs user terminal 110 that time tD2 is the deadline for extending the expiration of the connection to multicast session p.
    • 7. From time t3 to time t5, the multicast network is responsible for updating decryption key 118 for user terminal 110 whenever host membership in the multicast group changes.
  • 8. At time X2, where tX2<tD2, user terminal 110 sends a disjoin request that specifies to stop accruing a fee when the current time slot expires. If the disjoin request takes the form leave(p, 0), user terminal 110 is requesting to leave session p when the current time slot expires. In one embodiment, the entry to charging database 126 appears as follows:
    Data Volume on
    Meter
    User Session Start End Expiration Time
    Identification Identification Value Value of “Joined” Status
    21323421 finnkino V1 Null t4
    457286529 1453
    172.10.20.212
    • 9. After time (t4−w), if the network determines that the status for a user will change from “joined” to “disjoined”, the network updates decryption key 118 and continues the multicast session for the user into the next time slot.
  • 10. At time t4, collection of the data volume charges for user terminal 110 stops. Data volume meter 125 communicates the data volume end value, V2, for user terminal 110 using multicast session p to multicast charging unit 124. Multicast charging unit 124 updates the entry to charging database 126. In one embodiment, the entry to charging database 126 appears as follows:
    Data Volume on
    Meter
    User Session Start End Expiration Time
    Identification Identification Value Value of “Joined” Status
    21323421 finnkino V1 V2 t4
    457286529 1453
    172.10.20.212

    Since the collection of data volume charges has stopped, multicast charging unit 124 closes the entry in charging database 126 for user terminal 110 using multicast session p, communicates the charging data to billing unit 171 for storage in billing database 172, and deletes the entry in charging database 126. Since the charging data is summarized, the total volume of data for user terminal 110 using multicast session p is (V2−V1). In another embodiment, data volume meter 125 communicates the charging data to billing server 170 directly, without storing the charging data in charging database 126.
  • Referring to FIGS. 1B and 4B, if termination of the multicast session connection is implied from the passage of time, steps 1 through 7 are identical to steps 1 through 7 from the discussion of FIG. 4A and determination of the data volume comprises:
    • 1. Data volume meter 125 examining IP multicast data packets and maintaining a tally of the number of bytes of data received, for a given destination address and multicast session. Data volume meter 125 can either be co-located with multicast charging unit 124 or located on an upper layer of the multicast tree (e.g., on the gateway router where the multicast data enters the multicast network). In one embodiment, each last hop router may include a meter for measuring the multicast session routed to the last hop router. In another embodiment, the meter can be distributed across several access routers in the multicast network.
    • 2. User terminal 110 sending a join request to group membership management 122 at time tX0. If the join request takes the form join(p, tS1, 2), the user is requesting to join multicast session p, start the connection time charging at time tS1, and pay for the service from the start time until time t3=[(t0+m−tS1)+(2×m)] where m is the duration of a time slot and to is the start of a time slot. Calculation of the fee depends on the volume of data received by a given destination and multicast session between time tS1 and t3.
    • 3. Multicast security client 113 receiving decryption key 118 from multicast security unit 123 before time tS1. The multicast network informs user terminal 110 that time tD1 is the deadline for sending another join request. The offset w is defined by the network and represents the time interval between the deadline for receiving another join request and the end of a time slot.
  • 4. At time tS1, data volume meter 125 signals multicast charging unit 124 to add an entry to charging database 126 to store the data volume start value, V1, for user terminal 110 using multicast session p. In one embodiment, the entry to charging database 126 appears as follows:
    Data Volume on
    Meter
    User Session Start End Expiration Time
    Identification Identification Value Value of “Joined” Status
    21323421 finnkino V1 Null t3
    457286529 1453
    172.10.20.212
    • 5. From time tS1 until time t3, the multicast network is responsible for updating decryption key 118 for user terminal 110 whenever host membership in the multicast group changes. The updates to decryption key 118 occur during the offset interval w for each time slot. During the offset interval w, if the network determines that the status for a user will change from “joined” to “disjoined”, the network updates decryption key 118.
  • 6. At time tX1, where tX1<tD1, user terminal 110 extends the stop time by sending a second join request to specify a later stop time. If the second join request takes the form join(p, t3, 2), the user is requesting to extend the end time for the connection to multicast session p for 2 time slots after time t3. In one embodiment, the entry to charging database 126 appears as follows:
    Data Volume on
    Meter
    User Session Start End Expiration Time
    Identification Identification Value Value of “Joined” Status
    21323421 finnkino V1 Null t5
    457286529 1453
    172.10.20.212

    The multicast network informs user terminal 110 that time tD2 is the deadline for extending the expiration of the connection to multicast session p.
    • 7. From time t3 to time t5, the multicast network is responsible for updating decryption key 118 for user terminal 110 whenever host membership in the multicast group changes.
    • 8. After time tD2, if the network determines that the status for a user will change from “joined” to “disjoined”, the network updates decryption key 118 and continues the multicast session for the user into the next time slot.
  • 9. At time t5, collection of the data volume charges for user terminal 110 stops. Data volume meter 125 communicates the data volume end value, V3, for user terminal 110 using multicast session p to multicast charging unit 124. Multicast charging unit 124 updates the entry to charging database 126. In one embodiment, the entry to charging database 126 appears as follows:
    Data Volume on
    Meter
    User Session Start End Expiration Time
    Identification Identification Value Value of “Joined” Status
    21323421 finnkino V1 V3 t4
    457286529 1453
    172.10.20.212

    Since the collection of data volume charges has stopped, multicast charging unit 124 closes the entry in charging database 126 for user terminal 110 using multicast session p, communicates the charging data to billing unit 171 for storage in billing database 172, and deletes the entry in charging database 126. Since the charging data is summarized, the total volume of data for user terminal 110 using multicast session p is (V3−V1). In another embodiment, data volume meter 125 communicates the charging data to billing server 170 directly, without storing the charging data in charging database 126.
  • Although the embodiments disclosed herein describe a fully functioning system, method, and computer program product for calculating a cost of receiving multicast data from a multicast session, the reader should understand that other equivalent embodiments exist. Since numerous modifications and variations will occur to those who review this disclosure, the system, method, and computer program product for calculating a cost of receiving multicast data from a multicast session is not limited to the exact construction and operation illustrated and disclosed herein. Accordingly, this disclosure intends all suitable modifications and equivalents to fall within the scope of the claims.

Claims (19)

1-42. (canceled)
43. A system for calculating a cost of receiving multicast data at a mobile terminal from a service provider via a digital video broadcast network, comprising:
a first multicast serving node in a first coverage area of a digital video broadcast network, coupled to a service provider, for serving multicast data from the service provider to a mobile terminal when in the first coverage area and accumulating charging data as the terminal receives the multicast data;
a first multicast routing function coupled over the digital video broadcast network to the terminal, for providing first multicast data in a multicast session to the terminal in response to a join request by the terminal to join the multicast session;
a first multicast charging unit coupled to the first multicast routing function, for accumulating information related to a first charge for providing the first data to the terminal; and
a billing server coupled to the multicast serving node, for receiving information related to the charging data after the terminal no longer receives multicast data and preparing billing information based on said charging data.
44. The system of claim 43, which further comprises:
a second multicast serving node in a second coverage area of the digital video broadcast network, coupled to the service provider, for serving multicast data from the service provider to the mobile terminal when in the second coverage area and accumulating charging data as the terminal receives the multicast data from the second multicast serving node;
a second multicast routing function in the second multicast serving node coupled over the multicast data network to the terminal, for providing second data in the multicast session to the terminal in response to a handover operation when the terminal is in the second coverage area;
a second multicast charging unit coupled to the second multicast routing function, for accumulating information related to a second charge for providing the second data to the terminal; and
said billing unit coupled to the first and second multicast charging units for receiving information related to said first and second charges and preparing billing information based on said first and second charges.
45. The system of claim 43, wherein said first multicast serving node further comprises:
a first multicast security unit coupled to the terminal, for sending a first decryption key to the terminal in response to the join request, to enable the terminal to decrypt encrypted data it receives in the multicast session.
46. The system of claim 44, wherein said second multicast serving node further comprises:
a second multicast security unit coupled to the terminal, for sending a second decryption key to the terminal in response to the handover operation, to enable the terminal to decrypt encrypted data it receives in the multicast session from the second multicast serving node.
47. The system of claim 45, wherein said second multicast serving node further comprises:
a second multicast security unit coupled to the terminal, for sending a second decryption key to the terminal in response to the handover operation, to enable the terminal to decrypt encrypted data it receives in the multicast session from the second multicast serving node.
48. The system of claim 43, which further comprises:
a second multicast serving node in a second coverage area of the digital video broadcast network, coupled to the service provider, for serving multicast data from the service provider to the mobile terminal when in the second coverage area and accumulating charging data as the terminal receives the multicast data from the second multicast serving node;
a second multicast routing function in the second multicast serving node coupled over the multicast data network to the terminal, for providing second data in the multicast session to the terminal in response to a handover operation when the terminal is in the second coverage area;
said first multicast charging unit coupled to the second multicast routing function, for accumulating information related to a second charge for providing the second data to the terminal; and
said billing unit coupled to the first multicast charging unit for receiving information related to said first and second charges and preparing billing information based on said first and second charges.
49. The system of claim 43, which further comprises:
said first multicast serving node receiving said join request from the terminal to establish a connection to the multicast session, the join request establishing a start time for the connection; and
said first multicast charging unit calculating the cost of receiving the multicast data after termination of the connection with the first multicast serving node.
50. The system of claim 49, which further comprises:
said first multicast charging unit calculating the cost of receiving the multicast data as an elapsed time of the connection with the first multicast serving node.
51. The system of claim 44, which further comprises:
said second multicast serving node handover operation establishing a connection to the multicast session, the handover operation establishing a start time for the connection; and
said second multicast charging unit calculating the cost of receiving the multicast data after termination of the connection with the second multicast serving node.
52. The system of claim 51, which further comprises:
said second multicast charging unit calculating the cost of receiving the multicast data as an elapsed time of the connection with the second multicast serving node.
53. A method for calculating a cost of receiving multicast data at a mobile terminal from a service provider via a digital video broadcast network, comprising:
providing first multicast data in a multicast session to a mobile terminal when in a first coverage area of a digital video broadcast network in response to a join request by the terminal to join the multicast session;
accumulating information related to a first charge for providing the first data to the terminal;
providing second multicast data in the multicast session to the mobile terminal when in a second coverage area of the digital video broadcast network in response to a handover operation;
accumulating information related to a second charge for providing the second data to the terminal; and
preparing billing information based on said first and second charges.
54. The method of claim 53, which further comprises:
sending a first decryption key to the terminal in response to the join request, to enable the terminal to decrypt the first data; and
sending a second decryption key to the terminal in response to the handover operation, to enable the terminal to decrypt the second data.
55. The method of claim 53, which further comprises:
said join request establishing a start time for providing the first multicast data; and
calculating the cost of receiving the first multicast data after the terminal ceases receiving the first multicast data, as an elapsed time of receiving the first multicast data.
56. The method of claim 55, which further comprises:
said handover operation establishing a start time for providing the second multicast data; and
calculating the cost of receiving the second multicast data after the terminal ceases receiving the first multicast data, as an elapsed time of receiving the first multicast data.
57. A computer program product comprising a computer readable medium containing computer program logic recorded thereon for execution by a processor in communication with said computer readable medium for calculating a cost of receiving multicast data at a mobile terminal from a service provider via a digital video broadcast network, the computer program product comprising:
program code for providing first multicast data in a multicast session to a mobile terminal when in a first coverage area of a digital video broadcast network in response to a join request by the terminal to join the multicast session;
program code for accumulating information related to a first charge for providing the first data to the terminal;
program code for providing second multicast data in the multicast session to the mobile terminal when in a second coverage area of the digital video broadcast network in response to a handover operation;
program code for accumulating information related to a second charge for providing the second data to the terminal; and
program code for preparing billing information based on said first and second charges.
58. The computer program product of claim 57, which further comprises:
program code for sending a first decryption key to the terminal in response to the join request, to enable the terminal to decrypt the first data; and
program code for sending a second decryption key to the terminal in response to the handover operation, to enable the terminal to decrypt the second data.
59. The computer program product of claim 57, which further comprises:
said join request establishing a start time for providing the first multicast data; and
program code for calculating the cost of receiving the first multicast data after the terminal ceases receiving the first multicast data, as an elapsed time of receiving the first multicast data.
60. The computer program product of claim 59, which further comprises:
said handover operation establishing a start time for providing the second multicast data; and
program code for calculating the cost of receiving the second multicast data after the terminal ceases receiving the first multicast data, as an elapsed time of receiving the first multicast data.
US11/208,759 2002-02-20 2005-08-23 Charging mechanism for multicasting Abandoned US20050283447A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/208,759 US20050283447A1 (en) 2002-02-20 2005-08-23 Charging mechanism for multicasting

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/077,780 US6965883B2 (en) 2002-02-20 2002-02-20 Charging mechanism for multicasting
US11/208,759 US20050283447A1 (en) 2002-02-20 2005-08-23 Charging mechanism for multicasting

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/077,780 Continuation US6965883B2 (en) 2002-02-20 2002-02-20 Charging mechanism for multicasting

Publications (1)

Publication Number Publication Date
US20050283447A1 true US20050283447A1 (en) 2005-12-22

Family

ID=27752704

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/077,780 Expired - Lifetime US6965883B2 (en) 2002-02-20 2002-02-20 Charging mechanism for multicasting
US11/208,759 Abandoned US20050283447A1 (en) 2002-02-20 2005-08-23 Charging mechanism for multicasting

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/077,780 Expired - Lifetime US6965883B2 (en) 2002-02-20 2002-02-20 Charging mechanism for multicasting

Country Status (6)

Country Link
US (2) US6965883B2 (en)
EP (2) EP1341341B1 (en)
CN (1) CN1606751B (en)
AT (1) ATE326093T1 (en)
DE (1) DE60305085T2 (en)
WO (1) WO2003071392A2 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148421A1 (en) * 2003-01-23 2004-07-29 International Business Machines Corporation Systems and methods for the distribution of bulk data using multicast routing
US20040170188A1 (en) * 2001-09-07 2004-09-02 Toni Paila Implementing multicasting
US20050232418A1 (en) * 2002-07-24 2005-10-20 Philippe Bordes Method of distributing encrypted portions of an audiovisual programme
US20060050659A1 (en) * 2004-08-16 2006-03-09 Corson M S Methods and apparatus for managing group membership for group communications
US20070076680A1 (en) * 2003-03-04 2007-04-05 Bamboo Mediacasting Ltd Segmented data delivery over non-reliable link
US20070097886A1 (en) * 2004-11-05 2007-05-03 Infineon Technologies Ag Method for authomatically setting up and/or controlling a telecommunication conference
US20070211720A1 (en) * 2003-09-29 2007-09-13 Bamboo Media Casting Ltd. Distribution Of Multicast Data To Users
US20080080408A1 (en) * 2005-03-26 2008-04-03 Huawei Technologies Co., Ltd. Method for implementing broadcast/multicast area management in a wireless communication system
US20080130577A1 (en) * 2006-12-05 2008-06-05 Electronics And Telecommunications Research Institute Wireless multicasting service method using relayed transmission scheme
US20080288592A1 (en) * 2005-11-21 2008-11-20 Soo-Jeon Lee Method for Transmitting File Based on Multiplex Forwarder
US20090191857A1 (en) * 2008-01-30 2009-07-30 Nokia Siemens Networks Oy Universal subscriber identity module provisioning for machine-to-machine communications
US20090296578A1 (en) * 2008-06-03 2009-12-03 Bernard Marc R Optimal path selection for media content delivery
US20100153536A1 (en) * 2008-12-11 2010-06-17 Microsoft Corporation Participating with and accessing a connectivity exchange
US7831896B2 (en) 2003-09-11 2010-11-09 Runcom Technologies, Ltd. Iterative forward error correction
US20110096754A1 (en) * 2009-10-27 2011-04-28 Clear Wireless Llc Multi-frequency real-time data stream handoff
US20130201961A1 (en) * 2010-10-05 2013-08-08 Lg Electronics Inc. Method and apparatus for providing flow mobility in radio access system supporting multi-rat
US20140164646A1 (en) * 2009-10-29 2014-06-12 At&T Intellectual Property I, L.P. Synchronization of clients to maximize multicast opportunities
US9049595B2 (en) 2008-12-11 2015-06-02 Microsoft Technology Licensing, Llc Providing ubiquitous wireless connectivity and a marketplace for exchanging wireless connectivity using a connectivity exchange
US9251535B1 (en) * 2012-01-05 2016-02-02 Juniper Networks, Inc. Offload of data transfer statistics from a mobile access gateway

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996537B2 (en) 2001-08-13 2006-02-07 Qualcomm Incorporated System and method for providing subscribed applications on wireless devices over a wireless network
US9203923B2 (en) 2001-08-15 2015-12-01 Qualcomm Incorporated Data synchronization interface
US6965883B2 (en) * 2002-02-20 2005-11-15 Nokia Corporation Charging mechanism for multicasting
JP2003258841A (en) * 2002-03-06 2003-09-12 Nec Commun Syst Ltd System and method for returning charge, and gateway device
US8060598B1 (en) * 2002-07-01 2011-11-15 Sprint Communications Company L.P. Computer network multicasting traffic monitoring and compensation
US20040044623A1 (en) * 2002-08-28 2004-03-04 Wake Susan L. Billing system for wireless device activity
US20040043753A1 (en) * 2002-08-30 2004-03-04 Wake Susan L. System and method for third party application sales and services to wireless devices
US8010688B2 (en) * 2003-01-15 2011-08-30 Panasonic Corporation Content use management system, content use management method, and client device
US9232077B2 (en) * 2003-03-12 2016-01-05 Qualcomm Incorporated Automatic subscription system for applications and services provided to wireless devices
US7574196B2 (en) * 2003-06-30 2009-08-11 Nokia Corporation Method and a system for charging a streaming connection in a mobile packet radio system
GB2406462A (en) 2003-09-25 2005-03-30 Nokia Corp Multicasting apparatus
US20050070256A1 (en) * 2003-09-29 2005-03-31 Teck Hu Method of dynamic rate splitting
US20050070277A1 (en) * 2003-09-30 2005-03-31 Teck Hu Method of initiating multimedia broadcast multicast services
US20050086532A1 (en) * 2003-10-21 2005-04-21 International Business Machines Corporation System and method for securely removing content or a device from a content-protected home network
US7587591B2 (en) * 2003-10-31 2009-09-08 Juniper Networks, Inc. Secure transport of multicast traffic
US20050129017A1 (en) * 2003-12-11 2005-06-16 Alcatel Multicast flow accounting
US7792086B2 (en) * 2003-12-23 2010-09-07 Redknee Inc. Method for implementing an intelligent content rating middleware platform and gateway system
EP1730973A4 (en) 2004-01-21 2009-12-16 Qualcomm Inc Application-based value billing in a wireless subscriber network
US20050198126A1 (en) * 2004-02-06 2005-09-08 Verbestel Willy M. System and method of providing content in a multicast system
US7693938B2 (en) 2004-02-13 2010-04-06 Envisionit Llc Message broadcasting admission control system and method
JP4589343B2 (en) 2004-02-13 2010-12-01 エンビジョンアイティー・エルエルシー Public service message broadcasting system and method
US7801538B2 (en) 2004-02-13 2010-09-21 Envisionit Llc Message broadcasting geo-fencing system and method
US7949666B2 (en) 2004-07-09 2011-05-24 Ricoh, Ltd. Synchronizing distributed work through document logs
MX2007001408A (en) * 2004-08-04 2007-04-16 Lg Electronics Inc Broadcast/multicast service system and method providing inter-network roaming.
HUE051432T2 (en) * 2004-10-05 2021-03-01 Vectormax Corp System and method for identifying and processing data within a data stream
DE602004029265D1 (en) * 2004-12-06 2010-11-04 Alcatel Lucent Sequence control for a base station in a communication network and method for their operation
JP2008532351A (en) * 2005-02-15 2008-08-14 株式会社エヌ・ティ・ティ・ドコモ Method and apparatus for managing multicast transmission costs
DE602005020854D1 (en) * 2005-02-15 2010-06-02 Ntt Docomo Inc METHOD AND DEVICE FOR ADMINISTERING MULTICAST TRANSMISSION COSTS
CN1838766B (en) * 2005-03-22 2010-08-25 华为技术有限公司 IP broadband video service words list generating method
US8533750B2 (en) 2005-03-22 2013-09-10 Huawei Technologies Co., Ltd. Method and access device for generating IP broadband video service bill
US8102846B2 (en) * 2005-03-31 2012-01-24 Alcatel Lucent Method and apparatus for managing a multicast tree using a multicast tree manager and a content server
US9350875B2 (en) 2005-05-31 2016-05-24 Qualcomm Incorporated Wireless subscriber billing and distribution
US9185538B2 (en) 2005-05-31 2015-11-10 Qualcomm Incorporated Wireless subscriber application and content distribution and differentiated pricing
CN1794867A (en) * 2005-06-30 2006-06-28 华为技术有限公司 Method of stopping user conversation in multibroadcast service
FR2889390A1 (en) * 2005-07-29 2007-02-02 France Telecom IP MULTICAST FLUX HEARING MEASUREMENT
US8503446B2 (en) * 2005-08-29 2013-08-06 Alcatel Lucent Multicast host authorization tracking, and accounting
CN100442774C (en) * 2005-11-02 2008-12-10 华为技术有限公司 Method and system for providing multicast service in microwave access global intercommunication system
WO2007062017A2 (en) 2005-11-23 2007-05-31 Envisionit Llc Message broadcasting billing system and method
US20070117540A1 (en) * 2005-11-23 2007-05-24 Ekdahl Thomas J Electronic equipment for a wireless communication system and method for operating an electronic equipment for a wireless communication system
CA2631098C (en) 2005-11-23 2013-06-25 Envisionit Llc Message broadcasting admission control system and method
US8015194B2 (en) 2005-12-29 2011-09-06 Ricoh Co., Ltd. Refining based on log content
US8095537B2 (en) 2005-12-29 2012-01-10 Ricoh Co., Ltd. Log integrity verification
US7849053B2 (en) 2005-12-29 2010-12-07 Ricoh Co. Ltd. Coordination and tracking of workflows
US7970738B2 (en) * 2005-12-29 2011-06-28 Ricoh Co., Ltd. Always on and updated operation for document logs
US7756072B1 (en) 2005-12-30 2010-07-13 At&T Intellectual Property Ii, L.P. System and method for passively monitoring customer control messages in a multicast VPN
JP4487948B2 (en) * 2006-02-17 2010-06-23 パナソニック株式会社 Packet transmission method, relay node, and reception node
US9143622B2 (en) 2006-02-17 2015-09-22 Qualcomm Incorporated Prepay accounts for applications, services and content for communication devices
JP2007221715A (en) * 2006-02-20 2007-08-30 Fujitsu Ltd Network management apparatus, reception terminal device, content distribution system, network management method, and content reception method
US9185234B2 (en) 2006-02-22 2015-11-10 Qualcomm Incorporated Automated account mapping in a wireless subscriber billing system
JP4823717B2 (en) * 2006-02-28 2011-11-24 株式会社日立製作所 Encryption communication system, terminal state management server, encryption communication method, and terminal state management method
US7809685B2 (en) 2006-04-21 2010-10-05 Ricoh Co., Ltd. Secure and efficient methods for logging and synchronizing data exchanges
US9680880B2 (en) * 2006-07-11 2017-06-13 Alcatel-Lucent Usa Inc. Method and apparatus for supporting IP multicast
DE102006060416A1 (en) * 2006-12-20 2008-06-26 Siemens Ag Method for charging communication service in communication network, involves determining and providing tariff rate information with help of terminal identification assigned to terminal equipment
KR100885057B1 (en) 2007-03-27 2009-02-24 삼성전자주식회사 APPARATUS AND FOR METHOD ACCOUNTING MULTICAST SERVICE OF HPi
US8996483B2 (en) 2007-03-28 2015-03-31 Ricoh Co., Ltd. Method and apparatus for recording associations with logs
CN101340301B (en) * 2007-07-03 2016-04-06 华为技术有限公司 The method and system of media data are obtained in application layer multicasting network
US20100064309A1 (en) * 2007-07-31 2010-03-11 Gennady Klemeshev Broadcast Signal Transmitting Device
EP2215771A1 (en) * 2007-11-28 2010-08-11 Telefonaktiebolaget LM Ericsson (publ) Multicast source mobility
KR101569037B1 (en) * 2009-12-03 2015-11-16 삼성전자주식회사 Contorl point image forming apparatus and method for controling print
US20140119267A1 (en) * 2010-01-25 2014-05-01 Qualcomm Incorporated Application-layer handoff of an access terminal from a first system of an access network to a second system of the access network during a communication session within a wireless communications system
US9792649B1 (en) 2010-11-24 2017-10-17 Nyse Arca Llc Methods and apparatus for performing risk checking
US9197428B1 (en) 2010-11-24 2015-11-24 Nyse Arca Llc Methods and apparatus for requesting message gap fill requests and responding to message gap fill requests
US8873760B2 (en) * 2010-12-21 2014-10-28 Motorola Mobility Llc Service key delivery system
EP2475144A1 (en) * 2011-01-05 2012-07-11 Gemalto SA Method for communicating between a server and a client and corresponding client, server and system
WO2012178084A1 (en) * 2011-06-22 2012-12-27 Huawei Technologies Co., Ltd. Protocol independent multicast last hop router discovery
US20140310735A1 (en) * 2013-04-12 2014-10-16 Codemate A/S Flat rate billing of content distribution
TW201526344A (en) * 2013-12-18 2015-07-01 ming-xiu Wu Charger, charging method and charging system
CN106357791A (en) * 2016-09-30 2017-01-25 华为技术有限公司 Method, device and system for processing services
TWI610265B (en) * 2017-04-05 2018-01-01 微程式資訊股份有限公司 Cloud management system for mobile device wireless charging seat
US10917760B1 (en) 2020-06-02 2021-02-09 Envisionit Llc Point-to-multipoint non-addressed message processing system
US20230246946A1 (en) * 2022-01-28 2023-08-03 Comcast Cable Communications, Llc Methods and systems for multicast communication session management

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606497A (en) * 1994-03-30 1997-02-25 Cramer; Milton L. Method and apparatus for recording billable time and services
US5633933A (en) * 1994-06-10 1997-05-27 Sun Microsystems, Inc. Method and apparatus for a key-management scheme for internet protocols
US5757784A (en) * 1996-01-04 1998-05-26 Orion Atlantic, L.P. Usage-based billing system for full mesh multimedia satellite network
US5905871A (en) * 1996-10-10 1999-05-18 Lucent Technologies Inc. Method of multicasting
US6011841A (en) * 1993-05-18 2000-01-04 Fujitsu Limited Communication service method and exchange system for notifying a terminating subscriber of an originating subscriber
US6122263A (en) * 1997-06-10 2000-09-19 Telefonaktiebolaget Lm Ericsson Internet access for cellular networks
US6243450B1 (en) * 1997-09-12 2001-06-05 Nortel Networks Corporation Pay-per use for data-network-based public access services
US20010025308A1 (en) * 2000-02-18 2001-09-27 Kotaro Jinushi Data transmission management apparatus and data transmission system, and methods thereof
US20020002470A1 (en) * 2000-06-30 2002-01-03 Kabushiki Kaisha Toshiba Charging control system and terminal
US6363137B1 (en) * 1998-04-01 2002-03-26 Sharp Kabushiki Kaisha Information terminal apparatus
US20020062289A1 (en) * 2000-11-17 2002-05-23 Nec Corporation Method and system for completing a transaction about an access providing and fee-charging
US20020077981A1 (en) * 2000-11-13 2002-06-20 Yozan, Inc. Communication terminal device and billing device
US6424704B1 (en) * 1998-11-14 2002-07-23 Samsung Electronics Co Ltd Method of charging a subscriber for communication service according to the usage time in a telecommunication switching system
US6453438B1 (en) * 1995-01-19 2002-09-17 The Fantastic Corporation System and method for automatically rescheduling a data transmission to members of a group
US20020146102A1 (en) * 2001-03-22 2002-10-10 Lang Alexander C. Method and system for multi-provider competitive telecommunications services
US6473411B1 (en) * 1997-05-12 2002-10-29 Kabushiki Kaisha Toshiba Router device, datagram transfer method and communication system realizing handoff control for mobile terminals
US20030100325A1 (en) * 2001-11-19 2003-05-29 Nokia Corporation Multicast session handover
US6636888B1 (en) * 1999-06-15 2003-10-21 Microsoft Corporation Scheduling presentation broadcasts in an integrated network environment
US6965883B2 (en) * 2002-02-20 2005-11-15 Nokia Corporation Charging mechanism for multicasting
US7092398B2 (en) * 2000-06-12 2006-08-15 Amdocs (Israel) Ltd. System, method and computer program product for charging for competitive IP-over-wireless service
US7100188B2 (en) * 1999-05-26 2006-08-29 Enounce, Inc. Method and apparatus for controlling time-scale modification during multi-media broadcasts
US7269728B1 (en) * 1999-09-21 2007-09-11 Nortel Networks Limited Apparatus and method for distributing management keys in a multicast domain
US7313107B1 (en) * 2001-11-16 2007-12-25 Sprint Spectrum L.P. Method and system for multicasting messages to wireless terminals
US7403994B1 (en) * 2000-08-29 2008-07-22 International Business Machines Corporation Method of doing business over a network by transmission and retransmission of digital information on a network during time slots

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717938B1 (en) 1999-04-15 2004-04-06 J2 Global Communications, Inc. System controlling use of a communication channel
DE4331432A1 (en) * 1993-09-13 1995-03-16 Michael Laudahn Arrangement for calculating accrued telephone charges
US5606494A (en) * 1993-11-25 1997-02-25 Casio Computer Co., Ltd. Switching apparatus
US6023499A (en) * 1997-11-26 2000-02-08 International Business Machines Corporation Real time billing via the internet for advanced intelligent network services
JP2001160960A (en) 1999-12-02 2001-06-12 Nec Corp Digital broadcast charging system and digital broadcast system
JP2001237886A (en) 2000-02-18 2001-08-31 Sony Corp Data transmission system and method, data transmission management system and method
US6862684B1 (en) * 2000-07-28 2005-03-01 Sun Microsystems, Inc. Method and apparatus for securely providing billable multicast data

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011841A (en) * 1993-05-18 2000-01-04 Fujitsu Limited Communication service method and exchange system for notifying a terminating subscriber of an originating subscriber
US5606497A (en) * 1994-03-30 1997-02-25 Cramer; Milton L. Method and apparatus for recording billable time and services
US5633933A (en) * 1994-06-10 1997-05-27 Sun Microsystems, Inc. Method and apparatus for a key-management scheme for internet protocols
US6453438B1 (en) * 1995-01-19 2002-09-17 The Fantastic Corporation System and method for automatically rescheduling a data transmission to members of a group
US5757784A (en) * 1996-01-04 1998-05-26 Orion Atlantic, L.P. Usage-based billing system for full mesh multimedia satellite network
US5905871A (en) * 1996-10-10 1999-05-18 Lucent Technologies Inc. Method of multicasting
US6473411B1 (en) * 1997-05-12 2002-10-29 Kabushiki Kaisha Toshiba Router device, datagram transfer method and communication system realizing handoff control for mobile terminals
US6122263A (en) * 1997-06-10 2000-09-19 Telefonaktiebolaget Lm Ericsson Internet access for cellular networks
US6243450B1 (en) * 1997-09-12 2001-06-05 Nortel Networks Corporation Pay-per use for data-network-based public access services
US6363137B1 (en) * 1998-04-01 2002-03-26 Sharp Kabushiki Kaisha Information terminal apparatus
US6424704B1 (en) * 1998-11-14 2002-07-23 Samsung Electronics Co Ltd Method of charging a subscriber for communication service according to the usage time in a telecommunication switching system
US7100188B2 (en) * 1999-05-26 2006-08-29 Enounce, Inc. Method and apparatus for controlling time-scale modification during multi-media broadcasts
US6636888B1 (en) * 1999-06-15 2003-10-21 Microsoft Corporation Scheduling presentation broadcasts in an integrated network environment
US7269728B1 (en) * 1999-09-21 2007-09-11 Nortel Networks Limited Apparatus and method for distributing management keys in a multicast domain
US20010025308A1 (en) * 2000-02-18 2001-09-27 Kotaro Jinushi Data transmission management apparatus and data transmission system, and methods thereof
US7092398B2 (en) * 2000-06-12 2006-08-15 Amdocs (Israel) Ltd. System, method and computer program product for charging for competitive IP-over-wireless service
US20020002470A1 (en) * 2000-06-30 2002-01-03 Kabushiki Kaisha Toshiba Charging control system and terminal
US7403994B1 (en) * 2000-08-29 2008-07-22 International Business Machines Corporation Method of doing business over a network by transmission and retransmission of digital information on a network during time slots
US20020077981A1 (en) * 2000-11-13 2002-06-20 Yozan, Inc. Communication terminal device and billing device
US20020062289A1 (en) * 2000-11-17 2002-05-23 Nec Corporation Method and system for completing a transaction about an access providing and fee-charging
US20020146102A1 (en) * 2001-03-22 2002-10-10 Lang Alexander C. Method and system for multi-provider competitive telecommunications services
US7313107B1 (en) * 2001-11-16 2007-12-25 Sprint Spectrum L.P. Method and system for multicasting messages to wireless terminals
US20030100325A1 (en) * 2001-11-19 2003-05-29 Nokia Corporation Multicast session handover
US6965883B2 (en) * 2002-02-20 2005-11-15 Nokia Corporation Charging mechanism for multicasting

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040170188A1 (en) * 2001-09-07 2004-09-02 Toni Paila Implementing multicasting
US8218545B2 (en) * 2001-09-07 2012-07-10 Nokia Siemens Networks Oy Implementing multicasting
US20050232418A1 (en) * 2002-07-24 2005-10-20 Philippe Bordes Method of distributing encrypted portions of an audiovisual programme
US20040148421A1 (en) * 2003-01-23 2004-07-29 International Business Machines Corporation Systems and methods for the distribution of bulk data using multicast routing
US7792984B2 (en) * 2003-01-23 2010-09-07 International Business Machines Corporation Systems and methods for the distribution of bulk data using multicast routing that mitigates network traffic on subnets
US20070076680A1 (en) * 2003-03-04 2007-04-05 Bamboo Mediacasting Ltd Segmented data delivery over non-reliable link
US7831896B2 (en) 2003-09-11 2010-11-09 Runcom Technologies, Ltd. Iterative forward error correction
US20070211720A1 (en) * 2003-09-29 2007-09-13 Bamboo Media Casting Ltd. Distribution Of Multicast Data To Users
US7969979B2 (en) * 2003-09-29 2011-06-28 Runcom Technologies Ltd. Distribution of multicast data to users
US9503866B2 (en) 2004-08-16 2016-11-22 Qualcomm Incorporated Methods and apparatus for managing group membership for group communications
US8565801B2 (en) * 2004-08-16 2013-10-22 Qualcomm Incorporated Methods and apparatus for managing group membership for group communications
US20060050659A1 (en) * 2004-08-16 2006-03-09 Corson M S Methods and apparatus for managing group membership for group communications
US20070097886A1 (en) * 2004-11-05 2007-05-03 Infineon Technologies Ag Method for authomatically setting up and/or controlling a telecommunication conference
US8428634B2 (en) * 2004-11-05 2013-04-23 Intel Mobile Communications GmbH Method for automatically setting up and/or controlling a telecommunication conference
US20080080408A1 (en) * 2005-03-26 2008-04-03 Huawei Technologies Co., Ltd. Method for implementing broadcast/multicast area management in a wireless communication system
US7995510B2 (en) * 2005-03-26 2011-08-09 Huawei Technologies Co., Ltd. Method for implementing broadcast/multicast area management in a wireless communication system
US20080288592A1 (en) * 2005-11-21 2008-11-20 Soo-Jeon Lee Method for Transmitting File Based on Multiplex Forwarder
US7827243B2 (en) * 2005-11-21 2010-11-02 Electronics And Telecommunications Research Institute Method for transmitting file based on multiplex forwarder
US8036174B2 (en) * 2006-12-05 2011-10-11 Electronics And Telecommunications Research Institute Wireless multicasting service method using relayed transmission scheme
US20080130577A1 (en) * 2006-12-05 2008-06-05 Electronics And Telecommunications Research Institute Wireless multicasting service method using relayed transmission scheme
US20090191857A1 (en) * 2008-01-30 2009-07-30 Nokia Siemens Networks Oy Universal subscriber identity module provisioning for machine-to-machine communications
US20090296578A1 (en) * 2008-06-03 2009-12-03 Bernard Marc R Optimal path selection for media content delivery
US9049595B2 (en) 2008-12-11 2015-06-02 Microsoft Technology Licensing, Llc Providing ubiquitous wireless connectivity and a marketplace for exchanging wireless connectivity using a connectivity exchange
US20100153536A1 (en) * 2008-12-11 2010-06-17 Microsoft Corporation Participating with and accessing a connectivity exchange
US8683073B2 (en) 2008-12-11 2014-03-25 Microsoft Corporation Participating with and accessing a connectivity exchange
US20110096754A1 (en) * 2009-10-27 2011-04-28 Clear Wireless Llc Multi-frequency real-time data stream handoff
US9137719B2 (en) * 2009-10-27 2015-09-15 Clearwire Ip Holdings Llc Multi-frequency real-time data stream handoff
US20140164646A1 (en) * 2009-10-29 2014-06-12 At&T Intellectual Property I, L.P. Synchronization of clients to maximize multicast opportunities
US8990420B2 (en) * 2009-10-29 2015-03-24 At&T Intellectual Property I, L.P. Synchronization of clients to maximize multicast opportunities
US9438661B2 (en) 2009-10-29 2016-09-06 At&T Intellectual Property I, L.P. Synchronization of clients to maximize multicast opportunities
US20160337411A1 (en) * 2009-10-29 2016-11-17 At&T Intellectual Property I, L.P. Synchronization of clients to maximize multicast opportunities
US9800624B2 (en) * 2009-10-29 2017-10-24 At&T Intellectual Property I, L.P. Synchronization of clients to maximize multicast opportunities
US20130201961A1 (en) * 2010-10-05 2013-08-08 Lg Electronics Inc. Method and apparatus for providing flow mobility in radio access system supporting multi-rat
US9661565B2 (en) * 2010-10-05 2017-05-23 Lg Electronics Inc. Method and apparatus for providing flow mobility in radio access system supporting multi-rat
US9251535B1 (en) * 2012-01-05 2016-02-02 Juniper Networks, Inc. Offload of data transfer statistics from a mobile access gateway
US9813345B1 (en) * 2012-01-05 2017-11-07 Juniper Networks, Inc. Offload of data transfer statistics from a mobile access gateway

Also Published As

Publication number Publication date
DE60305085D1 (en) 2006-06-14
EP1341341A3 (en) 2004-07-07
EP1341341B1 (en) 2006-05-10
EP1670173A2 (en) 2006-06-14
WO2003071392A2 (en) 2003-08-28
DE60305085T2 (en) 2006-10-05
US20030172165A1 (en) 2003-09-11
EP1341341A2 (en) 2003-09-03
CN1606751B (en) 2010-10-06
WO2003071392A3 (en) 2004-03-25
CN1606751A (en) 2005-04-13
ATE326093T1 (en) 2006-06-15
US6965883B2 (en) 2005-11-15
EP1670173A3 (en) 2006-07-05

Similar Documents

Publication Publication Date Title
US6965883B2 (en) Charging mechanism for multicasting
US7564817B2 (en) Multicast communication method, home agent, and mobile node
US8363840B2 (en) Method and apparatus for providing broadcast service using encryption key in a communication system
TWI223532B (en) Method and apparatus for data packet transport in a wireless communication system using an Internet Protocol
US7995510B2 (en) Method for implementing broadcast/multicast area management in a wireless communication system
Bruschi et al. Secure multicast in wireless networks of mobile hosts: protocols and issues
KR100956040B1 (en) Method and apparatus for data packet transport in a wireless communications system using an internet protocol
EP1739876B1 (en) Method, device, and system for terminating user session in a multicast service
WO2007112650A1 (en) System, method and bm-sc for mbms service
US20080253322A1 (en) WiMAX Multicast Broadcast Network System Architecture
EP1547304A1 (en) Secure broadcast/multicast service
US20040098448A1 (en) Data distribution system
US8060598B1 (en) Computer network multicasting traffic monitoring and compensation
WO2008040244A1 (en) Multicast/broadcast system and method for transferring multicast/broadcast service
WO2009043238A1 (en) Method, device and system for multimedia service management
KR20050008081A (en) The Registration method in High Rate Packet Data System
Han et al. Secure multicast software delivery
CN101938700B (en) Method and system for data flow transmission in broadcast-multicast service system
KR101036710B1 (en) System and method for supporting multicast and broadcast service in a wireless network
KR100987231B1 (en) Method for Accounting Broadcast Service in a Mobile Communication System
Shankaran et al. A secure multicast support framework for Mobile IP
Hanna et al. The Java Reliable Multicast Service™: A Reliable Multicast Library
Fouliras et al. A Novel Security Protocol Enhancement on Distributed Multicasting for Video on Demand
Shankaran et al. Information and Networked System Security Research Macquarie University, Sydney, Australia {rshankar, vijay, michaelh@ ics. mq. edu. au}
Mosharraf Facilitating secure multicasting for mobile networks using Trusted Multicast Agents

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION