A
system and method for delivering and charging for data services over a netword
system. A hardware device called "network access controller" (NAC) can be configured by a
management system with information regarding data services available on a per-user, per-customer, or per-service basis. The access controller is able to read all data packets coming into the network and figure out whether they indicate the start of any premium service session like
video on demand or whether they are from a premium user who needs special treatment. The access controller is able to process incoming data packets without leading to any degradation in performance or
throughput. Once it detects the start of a specific type of data service session, then the access controller signals to the
management system that this data
service flow has started and supplies additional information extracted from the incoming data packet. Using this information and additional information on the capacity of the
transport network and
server resources, the number of service sessions already active and availability of credit, such as billing
authorization information from a
billing system, the
management system can determine whether to allow the start of this service or not. The management
system communicates this decision to the access controller and alters the
Access Control Lists (ACLs) in traffic shapers appropriately. If the data service request is admitted into the network, then additional bandwidth is opened in The traffic shapers so that the
end user receives the appropriate
quality level for the service. If the service request is denied access, then the
end user will not be able to
gain access to the premium service.