专利摘要:
COMPUTER-READABLE, NON- TRANSIENTIAL STORAGE MEDIA FOR STORING MACHINE-EXECUTE INSTRUCTIONS AND END USER WIRELESS DEVICE COMPRISING THE SAME. Device Assisted Services (DAS) to protect network capacity are provided. In some embodiments, DAS to protect network capacity include monitoring a communications device's network service usage activity in network communication; classify network service usage activity for differential network access control to protect network capacity; and associating network service usage activity with a network service usage control policy based on a classification of network service usage activity to facilitate differential network access control to protect network capacity.
公开号:BR112012029716B1
申请号:R112012029716-3
申请日:2011-05-25
公开日:2021-06-22
发明作者:Gregory G. Raleigh;Ali Raissinia;James Lavine
申请人:Headwater Research Llc;
IPC主号:
专利说明:

CROSS REFERENCE TO RELATED ORDERS
[001] This application is a continuation in part of and incorporates by reference the following US published pending non-provisional patent applications: Publication No. US 2010/0188975, filed March 2, 2009, entitled “Verifiable Device Assisted Service Policy Implementation”, publication No. US 2010/0192170, filed March 2, 2009, entitled “Device Assisted Service Profile Management with User Preference, Adaptive Policy, Network Neutrality, and User Privacy” publication No. US 2010/0191612 , filed March 2, 2009, entitled “Verifiable Device Assisted Service Usage Monitoring with Reporting, Synchronization, and Notification”, publication No. US 2010/0191576, filed March 2, 2009, entitled “Verifiable Device Assisted Service Usage Billing with Integrated Accounting, Mediation Accounting, and Multi-Account”, publication No. US 2010/0188991, filed March 2, 2009, entitled “Network Based Service Policy Implementat ion with Network Neutrality and User Privac”, publication no. US 2010/0188990, filed March 2, 2009, entitled “Network Based Service Profile Management with User Preference, Adaptive Policy, Network Neutrality and User Privacy”, publication no. 2010/0192212, filed March 2, 2009, entitled “Automated Device Provisioning and Activation”, publication no. US 2010/0191604, filed March 2, 2009, entitled “Device Assisted Ambient Services”, publication no. /0191575, filed March 2, 2009, entitled “Network Based Ambient Services”, publication no. US 2010/0188993, filed March 2, 2009, entitled “Network Tools for Analysis, Design, Testing, and Production of Services ”publication No. US 2010/0190470, deposited March 2, 2009, entitled “Roaming Services Network and Overlay Networks”, publication No. US 2010/0192120, deposited March 2, 2009, entitled “Open Development System for Access Service Providers”, publishes Application No. US 2010/0192207, filed March 2, 2009, entitled "Virtual Service Provider Systems", application Serial No. US 12/380,757, filed March 2, 2009 and entitled "Service Activation Tracking System", Publication No. US 2010/0191613, filed March 2, 2009, entitled "Open Transaction Central Billing System", Publication No. US 2010/0188995, filed March 2, 2009, entitled "Verifiable and Accurate Service Usage Monitoring for Intermediate Networking Devices”, publication No. US 2010/0188994, filed March 2, 2009, entitled “Verifiable Service Billing for Intermediate Networking Devices”, publication No. US 2010/0191846, deposited March 2, 2009, entitled “ Verifiable Service Policy Implementation for Intermediate Networking Devices”, publication No. US 2010/0188992, filed March 2, 2009, entitled “Service Profile Management with User Preference, Adaptive Policy, Network Neutrality and User Privacy for Intermediate Networking Devices”, publication No. US 2010/0191847, deposited March 2, 2009, entitled “Simplified Service Network Architecture”, publication No. US 2010/0197266, deposited January 27, 2012, entitled “Device Assisted CDR Creation, Aggregation, Mediation, and Billing", publication no. US 2010/0198698, filed January 27, 2012, entitled "Adaptive Ambient Services", publication no. US 2010/0199325, filed January 27, 2012 , entitled "Security Techniques for Device Assisted Services", publication no. US 2010/0197267, filed January 27, 2012, entitled "Device Group Partitions and Settlement Platform", publication no. US 2010/0198939, filed January 27 of 2012, entitled "Device Assisted Services Install", publication no. US 2010/0195503, filed January 27, 2012, entitled "Quality of Service for Device Assisted Services", publication no. US 2010/0197268, filed 28 janei 2010 entitled "Enhanced Roaming Services and Converged Carrier Networks with Device Assisted Services and a Proxy" and Patent Serial No. 13/, filed May 25, 2011 and entitled "System and Method for Wireless Network Offloading."
[002] This application seeks priority and incorporates by reference the following pending provisional patent applications US Provisional Patent Application Serial No. US 61/348,022, filed May 25, 2010, entitled “Device Assisted Services for Protecting Network Capacity", Provisional Patent Application Serial No. US 61/381,159, filed September 9, 2010, entitled "Device Assisted Services for Protecting Network Capacity", Provisional Patent Application Serial No. US 61/381,162, filed on September 9, 2010, entitled "Service Controller Interfaces and Workflows", Provisional Patent Application Serial No. US 61/384,456, filed September 20, 2010, entitled "Securing Service Processor with Sponsored SIMs", patent application Provisional Patent Serial No. US 61/389,547, filed October 4, 2010, entitled "User Notifications for Device Assisted Services", Provisional Patent Application Serial No. US 61/385,020, Filed 2 September 1, 2010, entitled “Service Usage Reconciliation System Overview”, Provisional Patent Application Serial No. US 61/387,243, filed September 28, 2010, entitled “Enterprise and Consumer Billing Allocation for Wireless Communication Device Service Usage Activities ”, Provisional Patent Application Serial No. US 61/387,247, filed September 28, 2010, entitled "Secured Device Data Records", Provisional Patent Application Serial No. US 61/407,358, Filed October 27, 2010, entitled "Service Controller and Service Processor Architecture", Provisional Patent Application Serial No. US 61/418,507, filed December 1, 2010, entitled "Application Service Provider Interface System", Provisional Patent Application No. Serial US 61/418,509, filed December 1, 2010, entitled "Service Usage Reporting Reconciliation and Fraud Detection for Device Assisted Services", Provisional Patent Application Serial No. US 61/42 0,727, filed December 7, 2010, entitled "Secure Device Data Records", Provisional Patent Application Serial No. US 61/422,565, filed December 13, 2010, entitled "Service Design Center for Device Assisted Services", Provisional Patent Application Serial No. US 61/422,572, filed December 13, 2010, entitled "System Interfaces and Workflows for Device Assisted Services", Provisional Patent Application Serial No. US 61/422,574, Filed 13 December 2010, entitled "Security and Fraud Detection for Device Assisted Services", Provisional Patent Application Serial No. US 61/435,564, filed January 24, 2011, entitled "Framework for Device Assisted Services" and Provisional Patent Application Serial No. US 61/472,606, filed April 6, 2011, entitled "Managing Service User Discovery and Service Launch Object Placement on a Device".
[003] In addition, this application incorporates by reference the following US provisional patent applications: Provisional Patent Application Serial No. US 61/206,354, filed January 28, 2009, entitled "Services Policy Communication System and Method" , Provisional Patent Application Serial No. US 61/206,944, filed February 4, 2009, entitled "Services Policy Communication System and Method", Provisional Patent Application Serial No. US 61/207,393 filed February 10 of 2009, entitled "Services Policy Communication System and Method", Provisional Patent Application Serial No. US 61/20739, filed February 13, 2009, entitled "Services Policy Communication System and Method", Provisional Patent Application No. US Serial No. 61/270,353, filed July 6, 2009, entitled "Device Assisted CDR Creation, Aggregation, Mediation and Billing", Provisional Patent Application Serial No. US 61/275,208, Filed Aug. 25 and 2009, entitled "Adaptive Ambient Services", Provisional Patent Application Serial No. US 61/237,753, filed August 28, 2009, entitled "Adaptive Ambient Services", Provisional Patent Application Serial No. US 61/252,151 , filed October 15, 2009, entitled "Security Techniques for Device Assisted Services", Provisional Patent Application Serial No. US 61/252,153, filed October 15, 2009, entitled "Device Group Partitions and Settlement Platform", Provisional Patent Application Serial No. US 61/264,120, filed November 24, 2009, entitled "Device Assisted Services Install" and Provisional Patent Application Serial No. US 61/264,126, Filed November 24, 2009, titled “Device Assisted Services Activity Map”.
[004] BACKGROUND
[005] With the advent of mass market digital communications, applications and content delivery, many access networks such as wireless networks, cable networks and Digital Subscriber Line (DSL) networks are under pressure for user capacity, with, for example, Optimized Data Evolution (EVDO), High Speed Packet Access (HSPA), Long Term Evolution (LTE), Worldwide Interoperability for Microwave Access (WiMax), DOCSIS, DSL and Wireless Fidelity (Wi-Fi) which make user capacity restricted. In the wireless case, although network capacity increases with new higher capacity wireless radio access technologies such as Multiple Input and Multiple Output (MIMO) and with more frequency spectrum and cell division being employed in the In the future, these capacity gains are likely to be less than what is needed to meet growing digital network demand.
[006] Similarly, although wired-line access networks, such as cable and DSL, may have higher average capacity per user compared to wireless, wired-line user service consumption habits tend to very high bandwidth applications and content that can quickly consume available capacity and detract from the overall network service experience. Due to the fact that service provider component costs increase with increasing bandwidth, this trend will also negatively impact the service provider's profits.
[007] The previous example of trends and problems is intended to be illustrative and not exclusive. Other limitations of the technique will become apparent to those skilled in the relevant technique upon reading the descriptive report and studying the designs.
[008] BRIEF DESCRIPTION OF THE DRAWINGS
[009] FIGURE 1 illustrates a functional diagram of a network architecture to provide quality of service (QoS) for device-assisted services (DAS) and/or to provide DAS to protect network capacity in accordance with some modalities.
[0010] FIGURE 2 illustrates another functional diagram of another network architecture to provide quality of service (QoS) for device assisted services (DAS) and/or to provide DAS to protect network capacity in accordance with some modalities.
[0011] FIGURE 3 illustrates a functional diagram of an architecture that includes a device-based service processor and a service controller to provide quality of service (QoS) for device-assisted services (DAS) and/or to provide DAS for protect the network capacity in accordance with some modalities.
[0012] FIGURES 4A to 4C illustrate a functional diagram for providing quality of service (QoS) for device assisted services (DAS) in accordance with some embodiments.
[0013] FIGURE 5 illustrates a functional diagram to generate a QoS activity map for quality of service (QoS) for device assisted services (DAS) in accordance with some modalities.
[0014] FIGURE 6 illustrates a functional diagram for quality of service (QoS) for device-assisted services (DAS) for an end-to-end coordinated QoS service channel in accordance with some embodiments.
[0015] FIGURE 7 illustrates a flowchart for quality of service (QoS) for device-assisted services (DAS) in accordance with some embodiments.
[0016] FIGURES 8A to 8C each illustrate another flowchart for quality of service (QoS) for device assisted services (DAS) in accordance with some embodiments.
[0017] FIGURE 9 illustrates another flowchart for quality of service (QoS) for device-assisted services (DAS) in accordance with some modalities.
[0018] FIGURE 10 illustrates another flowchart for quality of service (QoS) for device-assisted services (DAS) in accordance with some modalities.
[0019] FIGURE 11 illustrates another flowchart for quality of service (QoS) for device-assisted services (DAS) in accordance with some modalities.
[0020] FIGURE 12 illustrates a device stack to provide various service usage measurement techniques in accordance with some embodiments.
[0021] FIGURE 13 illustrates another device stack to provide various service usage measurement techniques in accordance with some embodiments.
[0022] FIGURE 14 illustrates a flowchart for quality of service (QoS) to protect network capacity in accordance with some modalities.
[0023] FIGURE 15 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity in accordance with some arrangements.
[0024] FIGURE 16 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity in accordance with some arrangements.
[0025] FIGURE 17 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity in accordance with some arrangements.
[0026] FIGURE 18 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity in accordance with some arrangements.
[0027] FIGURE 19 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity in accordance with some arrangements.
[0028] FIGURE 20 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity in accordance with some arrangements.
[0029] FIGURE 21 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity in accordance with some arrangements.
[0030] FIGURE 22 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity in accordance with some arrangements.
[0031] FIGURE 23 illustrates a network capacity-controlled services priority level graph for device-assisted services (DAS) to protect network capacity in accordance with some arrangements.
[0032] FIGURE 24 represents a diagram of a network capacity protection system that uses device-assisted services (DAS).
[0033] FIGURE 25 represents a diagram of an example of a differential access control notification system.
[0034] FIGURE 26 represents an example of a computer system in which the techniques described in this document can be implemented.
[0035] FIGURE 27 represents a diagram of an example of an application-specific differential network access control system.
[0036] DETAILED DESCRIPTION
[0037] The invention can be implemented in numerous ways, including a process; an apparatus; a system; a composition of matter; a computer program product embedded in a computer-readable storage medium; and/or a processor, such as a processor configured to execute instructions stored in and/or provided by memory coupled to the processor. In this descriptive report, these implementations, or any other form that the invention may form, may be referred to as techniques. In general, the order of the disclosed process steps can be changed within the scope of the invention. Unless otherwise stated, a component such as a processor or memory described as being configured to perform a task may be deployed as a general component that is temporarily configured to perform the task at a given time or a specific component that it is manufactured to perform the task. As used in the present invention, the term "processor" refers to one or more devices, circuits and/or processing cores configured to process data such as computer program instructions.
[0038] A detailed description of one or more embodiments of the invention is provided below together with the accompanying figures which illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any one embodiment. The scope of the invention is limited to the claims only and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are presented in the description below in order to provide a complete understanding of the invention. These details are provided for the purpose of example and the invention may be practiced in accordance with the claims without some or all of these specific details. For the purpose of clarification, the technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
[0039] As network capacity gains are less than what is needed to meet the growing digital network demand, the network capacity crisis is developing due to increasing network congestion in various wireless networks such as networks furniture. The growing popularity of smartphone devices, netbook devices, tablet-type computing devices and various other wireless mobile computing devices, which are becoming increasingly popular in 3G, 4G and other advanced wireless networks, is contributing to the crisis of network capability. Some network carriers have indicated that a relatively small number of users on such devices demand a disproportionately significant amount of their network capacity. For example, AT&T has recently indicated that about 3 percent of its smartphone-type device users (eg Apple iPhone® users) are generating approximately 40 percent of the carrier's data traffic.
[0040] For example, in wireless networks, managing wireless access connection capacity and network access connection resources is important to maintain network performance as demand on network resources/capacity increases. Many measures of network performance can be advantageously maintained or improved as network load increases if capacity management and/or network resource management are employed. For example, these performance measures include network availability; the possibility of delivering connections to all devices, users and/or applications seeking connections and enabled for service on the network; access attempt success rate; the transmission speed experienced by one or more devices, users or applications; the average transmission speed experienced by all devices, users and/or applications; network bit error rate or packet error rate; network access request time delay for delivered access connection; the one-way delay or round-trip delay for a transmission; delay timing instability for a transmission; the time variation in transmission speed for one or more connections; the ability of the network to deliver various requested/needed levels of Quality of Service (QoS) to devices, users or applications that need differentiated connection QoS classes; the ability of the network to maintain effectiveness (eg, aggregate service throughput measured across all devices, users and/or applications); the ability of the network to share or distribute a performance measure (for example, the performance measures listed above) uniformly or reasonably across multiple devices, users and/or applications that all have the same quality of service class or the same quality of service parameters. service plan performance.
[0041] For example, if there is a limited amount of shared bandwidth for a set of user devices (for example, a set of devices on a wireless network, such as a given base station or base station controller or cell femto or pico cell; or a set of devices in cable modem networks, etc.) and if multiple and/or all devices allow all applications to indiscriminately access or attempt network resources or transmit/receive traffic, then the network can in general become overloaded. As a result, a subset of users/devices or in some cases most or all users/devices experience poor network performance. As another example, if one or more devices that form a subset of devices on the network allow multiple and/or all applications to indiscriminately access or attempt to access network resources or transmit/receive traffic, then the network may become overloaded. . As a result, a subset of users/devices or in some cases most or all users/devices experience poor network performance.
[0042] Traditionally, mobile devices typically have specialized designs that are optimized to preserve network capacity and protect network resources from being overcharged. For example, wireless devices surfing the Internet typically use specialized protocols such as WAP and data traffic compression or low-resolution techniques instead of standard HTTP protocols and traffic used in wired Internet devices.
[0043] However, wireless devices that implement specialized methods to access the Internet and/or other networks typically implement complex specifications provided by one or more wireless carriers that have networks that the device is designed to connect to. Such complex specifications often require time-consuming design, testing, and certification processes. These processes in part have the effect of narrowing the device vendor base to those skilled and willing to provide the necessary specialized design work, slowing the time to market new devices, increasing the costs of developing new devices, and reducing the types of devices. applications that are supported.
[0044] Device OEMs have recently created wireless devices that are designed more similar to standard Internet devices and not completely optimized to preserve network capacity and resources. Many wireless service customers want this type of device and OEMs in generation want to reduce the complexity and time to market and deliver such devices. Additionally, new market needs and new government requirements sometimes require carriers to offer a more open process for placing new devices on their network, where the process does not require all of the specialized design and certification described above. These and several other factors are driving a growing need for wireless device certification projects and processes that are less time consuming and less complex.
[0045] This trend has led many carriers to start selling devices that are designed more like standard Internet service devices that connect to the Internet and other data networks over wireless carrier networks. As the cellular network is open to more and more new devices, applications and markets, there is an increasing demand to allow general purpose Internet devices and applications to gain access to wireless networks without necessarily going through design requirements and certification process specialized to produce the effective and authorized devices and applications for accessing such wireless networks.
[0046] However, general purpose Internet devices are not as simple or pervasive as wireless network bandwidth. Furthermore, the usual advent of wide area network connections to the Internet has led to popular Internet services and applications that typically assume very unimpressive access and generally pay no attention to, for example, the network's busy state. As more general purpose Internet devices are provided over various wireless networks (eg mobile wireless networks), a high efficiency of inefficient wireless network access continues to rise, which can sometimes reduce network capacity. at levels that prevent access to the service for that device (eg, user demand, device, software) and/or other devices on that wireless network and/or that wireless network segment. As discussed above, judicious use of wireless network bandwidth, capacity, and resources generally results in better service for all users, but at present, device manufacturers and wireless network providers (eg, network carriers wireless or carriers) did not provide or implement smarter bandwidth usage techniques. These factors often result in lower carrier control of device design, which poses a long-term threat to the preservation of network capacity and performance as the volume of devices with less optimized wireless designs continues to grow.
[0047] There are many network performance and user performance factors that are affected by network effectiveness, including, for example, general network congestion; the access network performance experienced by one or more groups of users, devices, applications, network service sources, communication protocols and/or operating system functions; and/or the performance experienced by a given user, device, application, network service source, communication protocol and/or operating system function. Under a relatively low capacity demand of a wireless network, network performance as experienced by a group of devices, applications, network service sources, communication protocols, operating system functions, and/or users or by a single device, application, network service source, communication protocol, operating system function, and/or user may somehow degrade proportionally (for example, aggregate traffic delivered by the network may be roughly proportional to the available network traffic from peak) with incremental increases in network harassment and/or traffic demand from one or more groups of users, devices, applications, network service sources, communication protocols and/or operating system functions. However, as the demand on network resources/network capacity increases (eg, more wireless network data traffic is demanded in aggregate; more devices are served over the network; more users are served over the network; more applications are served over the network by the network; more network service sources are served by the network; more operating system functions are served by the network; and/or more differentiated QoS sessions are served by the network), network availability/performance may decrease and/or the network may not adequately serve one or more users, devices, applications, network service sources, communication protocols, and/or operating system functions, or may not serve one or more groups of users, devices, applications, sources network service, communication protocols and/or operating system functions.
[0048] There are many examples of how increasing demand for network capacity can decrease network performance, including, for example, a decrease in the average bandwidth provided per device (for example, one or more users on a device, application, network service source, communication protocol and/or operating system function performed/deployed in the device); an increase in traffic delivery latency; an increase in traffic delivery latency instability; insufficient guaranteed and differentiated bandwidth for one or more differentiated QoS and/or dynamic QoS services (for example, as described in the present invention) to one or more devices, users, applications, network service sources, communication protocols, and/or operating system functions; increased latency for bandwidth reservation services; increased latency for QoS reservation services; performance issues with one or more communication protocols; unacceptable delays in the user experience and/or various other similar consequences and device or user impacts that result from reduced network availability and/or reduced network capacity. Examples of network communication protocols that may have degraded performance with excessive network loading or degraded network performance include, for example, Internet protocol (IP), HTML protocols, voice communication protocols including VOIP protocols, Internet protocols. real-time video communication, streaming media protocols (eg audio, video, etc.), gaming protocols, VPN protocols, file download protocols, background service protocols, software update protocols, and /or various other network communication protocols. Thus, it is important to preserve/protect network capacity.
[0049] It is also important to control the number of transactions demanded of a given network resource (for example, edge network segment, base station, base station controller, MAC resources, peak cell, femto cell, etc.) in a given period of time so that demand does not exceed the transaction service capacity of that network resource. For example, network resources that must be subjected to excess transaction demand may include base station or base station controller resources, media access control (MAC) resources, traffic transport resources, AAA resources, security or authentication resources, home agent (HA) resources, DNS resources, resources that play a role in network disclosure, communication port or router resources, data session reservation, or establishment resources (eg resources necessary to manage, configure, conduct and/or close service sessions, PPP sessions, communication flows, communication streams, QoS flows, radio access bearer reserve resources, tunnels, VPNs, APNs, routing services, etc.), bandwidth reservation resources, QoS reservation or coordination resources, QoS transport resources, service load resources, traffic analysis resources, network security and/or various other network or similar features. In some networks, network performance degradation due to a given measure of incremental increase in network resource/capacity demand can become relatively large as multiple network resources become increasingly taxed due to either limited transaction processing capacity or limited traffic bandwidth for one or more of the network resources that participate in establishing, servicing, conducting, maintaining and/or closing the necessary network service connections and/or exchanges of information necessary to conduct a service activity. For example, if the equipment needed to establish a PPP session can only handle a certain number of PPP session opens and/or closes for a given period of time and if the device's behavior is such that PPP sessions are normally open and/or closed, so the rate of PPP session transactions (eg opens and/or closes) may exceed the transaction capacity of the PPP session management features. This is sometimes referred to as “flooding” or “overloading” a network resource with too much demand or too many connections, and in such cases, the network resource may start to fall behind in service transaction demand in one way. well controlled (for example, the network resource may continue to process transactions at or near the maximum rate for that network resource), or in some cases, the resource may lag behind in transaction demand in a less controlled manner ( for example, the network resource can become overloaded so that its processing rate does not fall below the aggregate transaction demand, but the transaction rate processing capacity decreases under overload as well). In the PPP session establishment feature example, once the requested transaction rate exceeds the maximum resource transaction rate, then the unanswered device demand can grow to a point where one or more devices experience connection delay a and/or communication (eg sending/receiving data) with the network.
[0050] As another example, in any type of random access bandwidth reservation protocol, MAC protocol or bandwidth delivery protocol, in a network without proper management and/or control of traffic access reservations and/or transmissions, as network demand increases, there are more collisions between reservation requests, traffic transmissions, application demands, network service source demands, communication protocol demands and/or system function demands. operation that cause a decreasing network effectiveness that can degrade user, device, application and/or network service performance so that performance drops below acceptable levels. As another example, on systems where there is a QoS service session reservation system, uncontrolled and/or unmanaged QoS reservation requests and/or reservation grants can lead to a situation where QoS reservation resources and/or QoS service delivery capabilities are surcharged to the point where QoS service performance drops below desired levels. As another example, in networks that need some form of minimal resource allocation for network resource transmissions, reservations or transactions, the network can become inefficient if one or more devices, applications, network service sources, system functions operating and/or communication protocols have a relatively high attempt rate of network resource access, network accesses or data transmissions for small transmission payloads (eg minimum MAC reservation factors, overhead factors of minimum security, minimum QoS reservation factors, minimum time responses to establish a base station connection, minimum time responses to establish the close/release of a session, etc.). Even if the data packet comprising the access event is small, the network resources needed to complete the access event are normally occupied serving the access event for much longer periods of time than are required for data transmission real.
[0051] Another example of device service activity behavior that can have an impact on network performance is the way that device, device subsystem and/or cycling or subsystem power transitions from a power-saving state to other. For example, establishing a basic connection from a device to a wireless base station consumes base station resources for a period of time and in some cases may also consume other network resources such as AAA, HLR, HA, communication port, billing and/or charging communication port capabilities. If a device terminates the connection to the base station when the modem system (for example, or some other portion of the device) transitions from the active connection state to a power-saving state, then every time the device enters the power-saving state of power and then exits the power-saving state, network resources are consumed, sometimes for periods of time measured in the order of seconds or in extreme cases even minutes. If such a device has an aggressive power-saving algorithm that enters the power-saving state after a short period of idleness, then the device's behavior can consume a proportionately large amount of resources so that the network's ability to support multiple devices be diminished or so that the network cannot support many similar devices on the network. Another similar example is establishing network sessions once the base station connection is established (for example, establishing a PPP session between the device and a Home Agent (HA) or other communication port), where resources necessary to open and/or close the network session are ignorantly consumed if a device exhibits aggressive power-save state cycling or frequently terminates the data session for other reasons.
[0052] Another example of device service activity behavior that can impact network performance are applications that maintain persistent network communication that generates a relatively high frequency of network data packets. Some applications have persistent beacon that falls into this category. Specific examples include frequent device cue sequences for updating widgets in a workspace; synchronize user data such as calendars, contacts, email and/or other information/content; check or update email or RSS feeds; access web sites or social networking tools; online text, voice and video chat tools; update information in real time; and conduct other repetitive actions. Additional application behavior that can significantly clog network resources and capacity include, for example, conference meeting services, video stream, content update, software update and/or other application behavior or the like. For example, even when the user is not directly interacting with or benefiting from this type of application, the application can run in the background and continue to consume potentially significant network resources.
[0053] For example, the types of service activities and/or device behavior that can reduce network capacity and/or network resource availability include software updates for OS and applications, frequent OS and network accesses and signaling application background, frequent network disclosure and/or signaling (eg EtherType messages, ARP messages and/or other messaging related to network access), cloud synchronization services, RSS feeds and/or other information feeds background, application (eg web browser) or device behavior reporting, background email downloads, updates and content subscription service downloads (eg music/video downloads, news feed, etc.), text/voice/video chat clients, virus updates, peer-to-peer network applications, inefficient network access sequences during frequent power cycling or power state cycling energy savings, large downloads or other high-bandwidth access and/or voracious application programs that continually and/or frequently access the network with small transmissions requests for information. Several examples will now be apparent to one skilled in the art.
[0054] Thus, not only network capacity, network performance and/or network resource availability can be degraded by high demand on device transmission bandwidth, but other types of persistent or frequent traffic that result from requests of network resource, network data accesses or other network interaction may also degrade network capacity, network performance and/or network resource whether or not aggregate bandwidth demand as measured by high total data throughput or no. Thus, techniques are needed to preserve network capacity by, for example, differential control of these types of network service usage activities in various ways depending on the type of service activity that requests network access and/or that requests transactions with network resources.
[0055] Smartphone-type devices and the like are compounding the problem by making frequent queries of the wireless network as such devices move between mobile sites and in transit, for example, sending email, accessing social networking tools and/or conducting others repetitive actions. Although data traffic is also increasing, signaling traffic is catching up with current mobile data traffic by 30 percent to 50 percent by some estimates. For example, a Yahoo IM user can send a message, but then wait a few seconds between messages. To preserve battery life, the smartphone typically moves into an idle mode. When the user sends another message seconds later, the device has to set up a signaling trajectory again and even when the signaling feature is released by the smartphone, the network typically does not react fast enough to allow the next station to use resources up to several seconds and sometimes minutes. As a result, the base controller in this example is spending a lot of its resources trying to process the signal so it cannot perform other tasks such as allocating additional resources to use data networks and such inefficiencies add to the data network capacity crisis and calls that fall into such wireless networks.
[0056] One approach used by smartphone vendors to solve this problem and save battery life on their devices is to deploy a fast sleep feature, which allows the mobile device to quickly query the radio network controller to release connection so that it can return to the idle state faster. In other words, the device is relaying the fact that the phone is going dormant to save device resources (eg signaling channel) rather than network resources. However, the fast dormancy feature can increase this problem by prematurely requesting a network release only to continue with a request to connect back to the network or by a request to re-establish a connection to the network.
[0057] Network bearers have typically attempted to manage the network capacity of using various purely core/core network based approaches. For example, some carriers have indicated a robust capacity planning process and sufficient investment is needed to alleviate this growing capacity crisis. Purely centralized network solutions without any assistance from a device-based software agent (or service processor) can have several limitations. For example, for some device applications, OS functions or other service usage activities, if the activity is blocked somewhere on the network behind the base station after the over-the-air (OTA) spectrum bandwidth is consumed to open or start to open a communication socket, then there may still be an appreciable amount of resources or network capacity consumed even though the data transfer cannot be completed. Additionally, if service usage activity is aggressive in trying to establish the network connection to transfer the data and the network continues to allow the OTA portion of the connection establishment, but blocks the connection somewhere in the network, then a quantity A large amount of capacity can be consumed by many devices that exhibit such behavior even if no useful services are being allowed. Thus, some modalities to protect network capacity include controlling network service usage activities at the source of demand - the device. Also, in some embodiments, service usage is controlled in a way that delays, prevents, or reduces the frequency of attempts to retry service usage activity to connect to the network.
[0058] In some cases, an additional disadvantage of purely centralized network solutions to protect network capacity increases when service usage activities are controlled, blocked, suppressed and/or delayed by core network equipment without any mechanism or support of binding to a device user interface (UI) to inform the user what is happening and why it is happening. This can lead to a frustrating user experience and reduced carrier customer satisfaction. Thus, in some embodiments, a device-based UI is provided to the user with real-time or near real-time information as to why a service usage activity is being controlled, blocked, suppressed and/or otherwise controlled in order to protect the network capacity. In some embodiments, a UI is provided that also informs the user when there are options to set, control, cancel or modify service usage controls for the purpose of protecting network capacity. In some embodiments, such user preference entries also correspond to a change in service usage billing. In some embodiments, such changes in service usage billing due to the user's sparse service control changes of capacity are communicated to the user via a UI notification string. In some embodiments, techniques to protect network capacity employ user warnings when service usage activity classified by differential user notification policies is likely to cause the user to experience service plan captions (eg, service plan captions use of total data byte accounting).
[0059] What is needed is intelligent network monitoring to provide real-time traffic monitoring network service usage (for example, at packet layer/layer, network stack application layer/level and/or or application level/layer) of the wireless network (eg, radio access networks and/or core networks) and to effectively manage network service usage to protect network capacity (eg, while still maintaining an acceptable user experience). With the use of Device Assisted Service (DAS) techniques and, in some cases, network-based/assisted techniques, to provide monitoring of device network service usage, network carriers/operators would be provided with greater insight into which devices , which users and which applications and when and where network congestion issues occur, enabling operators to intelligently add additional features to certain areas when needed (for example, offloading data traffic into femto cells or WiFi hotspots and adding more network resources), to differentially control network service usage and/or to differentially charge for network service usage based on, for example, a network busy state, to protect network capacity.
[0060] Wireless network intelligent network monitoring to effectively manage network service usage to protect network capacity may include providing Device Assisted Services (DAS) to protect network capacity in accordance with various modalities described in the present invention. For example, wireless network intelligent network monitoring to effectively manage network service usage to protect network capacity may include differentially monitoring over-the-air software updates and/or performing software updates through wired connections only. As another example, intelligent wireless network monitoring to effectively manage network service usage to protect network capacity can include differentially controlling various applications that demand significant network resources or network capacity. As another example, wireless network intelligent network monitoring to effectively manage network service usage to protect network capacity may include managing network access connection requests that result from repeated shutdown modes on the modem, which can cause resource intensive reconnection and/or reauthentication processes. As another example, wireless network intelligent network monitoring to effectively manage network service usage to protect network capacity can include techniques to keep PPP sessions active to avoid the need to consume network resources to re-establish PPP sessions (for example, unless application behavior analysis predicts that an average access time is long enough for the PPP session to go down and still not cause overall network resource limitations).
[0061] Unlike traditional QoS techniques, which are used to establish a single end or end-to-end guaranteed service level(s) in a network, the techniques disclosed in the present invention to protect network capacity facilitate the deployment of services on a network to facilitate differential control of certain services to protect network capacity (eg, to reduce network congestion, network capacity demand, network resource demand; and/or to increase network availability). As also disclosed in the present invention, the techniques disclosed in the present invention to protect network capacity facilitate the deployment of services in a network to facilitate the control of certain services to protect network capacity can also facilitate QoS deployments by maintaining the required levels of network capacity/availability to facilitate the delivery of certain levels/classes of QoS. For example, the techniques disclosed in the present invention to protect network capacity can aggregate across multiple services and/or devices to facilitate differential control certain services to protect network capacity. As another example, the techniques disclosed in the present invention to protect network capacity can be used to provide dynamic QoS classifications (eg, dynamically assign/sort and reassign/re-sort (based on various criteria, events and/or measures) network service usage activities at various QoS levels/classes, as described in the present invention) to facilitate differential control of certain services to protect network capacity.
[0062] In this way, Device Assisted Services (DAS) to protect network capacity are provided. In some embodiments, DAS to protect network capacity provides network capacity protection (eg, network congestion and/or network access/resource demand and/or network availability at a network edge element, such as in the Radio Access Network (RAN) of a wireless network and/or from a device to a base station/base station controller), such as by controlling network service activity usage activities of a communicating device wirelessly with the network to reduce demands on the network. For example, controlling network service usage activities may include classifying and/or controlling network access requests (eg IP address requests), network access reservation requests (eg a reservation/string of QoS), network capacity/resource usage (eg bandwidth usage) and/or any other network service usage activities. In some embodiments, applications, OS functions and/or other network service usage activities that request IP addresses from network address server resources are classified and/or controlled so that IP address requests are withheld, delayed, in time windows, reduced in frequency, aggregated or otherwise controlled. In some modalities, such "IP address request control policies" for one or more applications, OS functions and/or other network service usage activities are configured, updated and/or modified before communicating the same by a network connection to a network element (eg a service controller or other network element/function). In some modalities, network service usage activities are generated/requested by applications, operating system (OS) functions and/or other software/functions performed on a device communicating with the network. In some embodiments, it is desirable to apply a service usage control policy to network service usage activities to protect network capacity (eg, reduce network capacity demand). For example, some applications and/or OS functions have limited capabilities to defer certain types of traffic based on fixed application settings and such applications and/or OS applications typically cannot optimize network service usage activities based on in a current network busy state (for example, based on changed levels of network capacity and/or network performance available to the device). In some embodiments, the network busy state (eg, or conversely, network availability state) is a characterization of the congestion (eg, or otherwise, available capacity) of the network for one or more network connections. device. For example, network busy state can provide a measure of how busy or congested the network or a network segment (eg, network edge element) is for one or more device connections. As another example, network availability state can provide a measure of what network connection resources are available for one or more device connections. Thus, the network busy state and the network availability state can be seen as opposite ways of providing similar information and, as described in the present invention with respect to various embodiments, these terms can be used interchangeably.
[0063] In some embodiments, techniques are provided to assign a priority to a network service usage activity and control the traffic associated with the network service usage activity based on the assigned priority. In some embodiments, techniques are provided for an implementation of a differentiated and dynamic classification of background services, for example, as a function of network availability state and/or network busy state.
[0064] In some embodiments, a service usage control policy is used to assist in network access control from network service usage activities (for example, deferring part or all of the network capacity demand from these activities. source). In some modalities, part or all of the demand for network capacity is satisfied at a point where network resources or capacity are more available or less occupied. In some embodiments, techniques are provided to classify network service activities associated with one or more applications or OS functions to a background service class and differentially control background service class traffic. In some embodiments, techniques are provided to classify one or more network service activities associated with an application or OS function to a background service class, while other network service activities associated with that application or OS function are classified to other classes of service (for example, or at different background class of service priority levels).
[0065] In some embodiments, techniques are provided to determine a network busy state (for example, for a network edge element connection to a device, such as for a RAN for the device's current wireless network access and/or or to the current base station/base station controller in wireless communication with the device). In some embodiments, techniques are provided to implement a service usage control policy to differentially control network service traffic based on a network busy state for an activity, a group of activities, or a class of service.
[0066] In some embodiments, DAS to protect network capability includes monitoring a network service usage activity of the communications device in network communication; classify network service usage activity for differential network access control to protect network capacity; and associating network service usage activity with a network service usage control policy based on a classification of network service usage activity to facilitate differential network access control to protect network capacity.
[0067] In some embodiments, a network service usage activity is any activity by the device that includes wireless network communication. In some embodiments, an application, operating system (OS) and/or other device function generates network service usage activity. In some embodiments, an application, operating system (OS) and/or other device function generates one or more network service usage activities. Examples of a network service usage activity include the following: a voice connection (for example, encrypted voice connection or voice over IP (VOIP) connection), an application application or widget connection, a device OS function, an email text connection, an email download transfer connection, a file download transfer connection, a streaming media connection, a location service connection, a map services connection, a software update (eg, application, operating system, and/or antimalware software update) or firmware update connection, a device backup connection, an RSS feed connection, a website connection, a connection to a server, a web browser connection, an Internet connection for a device-based service activity, establish a synchronization service accounting, a data synchronization service s, a device data synchronization service, a network connection stream or stream, a socket connection, a TCP connection, a destination/port-assigned connection, an IP connection, a UDP connection , an HTTP or HTTPS connection, a TLS connection, an SSL connection, a VPN connection, a general network services connection (eg establishing a PPP session, authenticating to the network, obtaining an IP address, DNS service) and various other types of connections via wireless network communication as will be apparent to a person skilled in the art.
[0068] In some embodiments, a network service usage activity is classified, associated and/or assigned to a background class (for example, a background service or QoS class) to facilitate control of service usage. differential network to protect network capacity. In some embodiments, differential network service usage control includes one or more of the following: monitoring network service usage activity; count for network service usage activity; report network service usage activity; generate a user notification for a network service usage activity; request a user preference to control network service usage activity; accept a user preference for network service usage activity; implementation of a network service usage activity policy (eg, block/allow; traffic control techniques such as suppression, delay, priority queue, time window, suspend, quarantine, kill, remove and other techniques of known traffic control systems); implementation of UI intercept procedures; generate a network busy state notification; generate a background class notification; generate a user notification for differential network service usage control of a network service usage activity; and various other techniques as described in the present invention.
[0069] In some embodiments, a network availability state includes a state or measure of availability/capacity of a segment of a network (for example, an element of last edge of a wireless network). In some embodiments, a network busy state includes a state or measure of the level of network usage or network congestion of a segment of a network (for example, an edge element of a wireless network). In some modalities, network availability status and network busy status are inverse measures. As used in the present invention with respect to certain embodiments, network availability state and network busy state can be used interchangeably based on, for example, a design choice (eg design to assign background policies based on a network busy state or a network availability state yields similar results, but they are different ways of characterizing network performance and/or capacity and/or congestion). In some embodiments, network availability state and network busy state are measured as the states change based on network usage activities (eg based on a time of day, availability/capacity level, level congestion and/or performance level). In some embodiments, the differential network service usage control of a network service usage activity is based on a network busy state or a network availability state.
[0070] In some embodiments, certain network service usage activities are classified as background services. In some embodiments, lowest priority and/or least critical network service usage activities (and/or based on various other criteria/measures) are classified as background services based on a network busy and controlled state. differentially based on a network busy state to protect network capacity. In some embodiments, differential network service usage control policies are based on a time of day, a network busy state, background services and/or QoS class changes based on a time of day and/or a network busy state, a random backoff for access for certain network service usage activities, a deterministic schedule for certain network service usage activities, a time window in which network service usage control policies for one or more service activities or background/QoS classes it changes based on time of day, network busy state, a service plan and various other criteria, measures and/or techniques as described in the present invention.
[0071] In some embodiments, a network capacity-controlled service or class of network-capacity-controlled services includes one or more network services (for example, background download services and/or various other types or categories of services as described in the present invention) selected for differential network service usage control to protect network capacity. In some embodiments, a network capacity controlled service classification includes one or more network services associated with a network capacity controlled class/service priority setting for differential network service usage control to protect network capacity . In some embodiments, a network capacity controlled service or class of service controlled by network capacity includes one or more network services associated with a class of QoS for differential network service usage control to protect network capacity. In some embodiments, a network capacity controlled service or network capacity controlled class of services includes one or more network services associated with a dynamic QoS class for differential network service usage control to protect network capacity.
[0072] For example, differentially controlling network service usage activities based on services controlled by network capacity or dynamic QoS or QoS ratings can protect network capacity by, for example, improving network performance , increase network availability, reduce demand on network resources and/or reduce demand on network capacity (eg, based on an individual device, aggregate devices connected to an edge element, and/or aggregate devices connected to many border elements). In some embodiments, differentially controlling network service usage activities based on services controlled by network capacity or dynamic QoS or QoS ratings can protect network capacity while maintaining proper device operation. In some embodiments, differentially tracking network service usage activities based on services controlled by network capacity or dynamic QoS or QoS ratings can protect network capacity while maintaining an acceptable user experience (eg, operation of appropriate and/or expected device, proper operation and/or software/application/OS/function, avoiding (where possible) significant adverse impact on adverse device functions and/or user notifications to keep the user informed of various controls. differential implanted in the device).
[0073] In some embodiments, dynamic QoS ratings include QoS ratings that can be dynamically modified (for example, reclassified, reprioritized, enhanced and/or downloaded) based on various criteria, measures, settings, and/or input from user as described in the present invention (for example, based on a time of day and/or day of the week, based on a network busy state, based on a user preference and/or based on a service plan ). In some embodiments, the various DAS-related techniques described in the present invention for providing network capacity and/or QoS for DAS are applied to techniques related to dynamic QoS.
[0074] As wireless networks, such as mobile networks, evolve into higher bandwidth services, which may include or require, for example, various levels of Quality of Service (QoS) (eg conversational, interactive data, stream data and/or various real-time (end-to-end) services that can benefit from QoS), demands will increase for converged network services to facilitate such services for end-to-end services across networks (eg , to allow control and/or support for such services, for example, QoS support, cross-network boundaries, such as between wireless networks (such as various service provider networks) and IP networks (such as the Internet) and/or other networks). Although several efforts have attempted to address such QoS needs, such as policy management frameworks to facilitate end-to-end QoS solutions, there is a need to facilitate various QoS requirements using Device Assisted Services (DAS).
[0075] In this way, Quality of Service (QoS) for Device Assisted Services (DAS) is provided. In some modalities, QoS for DAS is provided.
[0076] To establish a QoS channel, differentiated services are typically available, where one class/level of service has a higher priority than another to provide differentiated services in a network, such as a wireless network. For example, in the wireless network, various network elements/functions can be provided and controlled to establish a single-end or end-to-end QoS channel. In some embodiments, a centralized QoS policy decision and coordination function using DAS techniques to assist in coordinating and controlling the QoS channel configuration between the various elements of a wireless network is provided.
[0077] In some embodiments, the QoS channel refers to the logical communication channel connected to a device that provides a desired level of QoS service level. For example, the QoS channel can be created with one or more links QoS, where each link represents a QoS enabled connection that elapses a portion of the total end-to-end communication path from a near-end device to a far-end device. For example, the far-end device may be on the same network or a different network, potentially with different access technology and/or a different access network bearer. In some embodiments, the QoS channel includes one or more QoS links where each link on the channel is QoS enabled, or one or more of the links on the channel is QoS enabled and the others are not. As an example, a QoS channel may include the following links: a first device path link, a first device for accessing the network equipment link (eg 2G/3G/4G wireless base station, access point WiFi, cable headend, DSLAM, fiber aggregation node, satellite aggregation node or other network access point/node), a first carrier core network, a long-range IPX network, a second carrier core network, a second device for accessing network equipment element link, and a second device traffic path link as similarly described in the present invention with respect to various embodiments.
[0078] In some modalities, each of the links described above has the possibility to provide QoS services for that segment of a general QoS channel. In some embodiments, the device traffic path link and/or the device to access network equipment element link are QoS enabled, but the carrier core network and/or IPX network links are not QoS enabled. QoS. In some embodiments, the core network and/or the IPX network is over-provided with sufficient bandwidth that QoS is not limited by these network elements and, for example, may be limited by the device traffic link and /or the device to access network equipment element link does not have enough excess bandwidth making it desirable to enable QoS on these QoS channel links. A common example is a 2G/3G/4G wireless network and that a link device traffic path and the device to access network element link (eg, Radio Access Bearer (RAB)) are QoS enabled while IPX and carrier core network links are not (eg, they are forn better effort service level or other service levels).
[0079] In some modalities, a QoS session refers to the QoS enabled traffic for a given device that flows over a QoS channel or QoS link. This QoS traffic supports a QoS service activity. , a QoS service activity includes a device service usage that is requested, configured, or preferentially served with a given level of QoS. In some embodiments, a device QoS activity is a combination of one or more of the following: application , destination, source, socket (eg IP address, protocol and/or port), socket address (eg port number), URL or other similar service identifier, service provider, type of network, type of traffic, content type, network protocol, session type, QoS identifier, time of day, network capacity (eg network busy state), user service plan authorization or permanence, roaming/network situation domestic and/or others criteria/measures as similarly described in the present invention. For example, QoS service activities that are supported by QoS sessions can include VOIP traffic, stream video traffic, differentiated access bandwidth during busy network periods, real-time interactive traffic such as encounters. network-connected multimedia (eg, shared presentations, graphics, video, voice and/or other such applications/services), interactive best effort, such as Internet browsing, time-sensitive services, such as email body delivery. email, near real-time interactive services such as SMS or push to talk, background download transfer services such as email download transfers and other file transfers (eg FTP), and/or actually background download services, such as software updates (eg OS or application software updates and/or anti-malware updates including content updates /signature).
[0080] In some modalities, several levels or classes of QoS are supported. For example, a conversation class can provide real-time traffic, which is typically very delay-sensitive, but can tolerate bit errors and packet loss. The conversational class is typically used for Voice IP (VOIP) and video telephony, where users of such services benefit from the short delay features of the conversational class. A stream class is similar to a conversational class except that the stream class typically can tolerate more delay than the conversational class. The stream class is generally used for when one end of the connection is a user (eg human user) and the other end is a machine/computer (eg for stream content applications such as video stream, such as movies or other video content). An interactive class is generally intended for traffic that allows for delay variation while requiring reasonably low response time (eg web browsing or other applications where the channel may be unused for long periods of time, but when a user does a request for a new page/data, the response time should be reasonably low). A background class is generally used for lower priority service uses (eg typically used for email with or without download transfers/attachments, application software updates, OS software update and/or others similar applications/functions). In some modalities, several classes of QoS or services are applicable to the conversational class. In some modalities, several classes of QoS or services are also applicable to the current class. In some modalities, various classes of QoS or services are also applicable to the interactive class, but typically not applicable to the background class. As will now be apparent to a person skilled in the art, several other classes can be provided with lower or higher granularity based on usage/channel requirements and/or network architectures.
[0081] In some embodiments, a QoS link or a QoS channel supports one QoS session. In some embodiments, a QoS link or a QoS channel supports multiple QoS sessions. QoS is provided to configure the level of QoS traffic for a given QoS session or group of QoS sessions.
[0082] In some embodiments, a QoS channel is a single-end QoS channel or an end-to-end QoS channel. For example, if a QoS channel is end-to-end, then QoS channel provisioning is performed in a coordinated manner for each QoS enabled link on the QoS channel. If a QoS channel is single-end, then the network elements and/or device participate in providing as much of one end of the QoS channel as possible, taking the provision of QoS to the other end of the channel as the responsibility of the device and/or network elements that handle traffic on the other end of the QoS channel. In some embodiments, a single-ended QoS channel includes another single-ended QoS channel at the other end. In some embodiments, only one end has a single-end QoS channel while the other end of the channel is a best-effort level of service, which, for example, can be used where one end of the QoS channel has tighter capacity constraints of traffic or quality than the other end (for example, a VOIP call with one end that is QoS enabled on a 3G wireless network that has relatively narrow bandwidth compared to a lightly loaded cable modem network device on the other end it may not need to be QoS enabled in order to achieve proper voice quality).
[0083] In some embodiments, a QoS request (for example, a QoS channel request or QoS service request) is a request for a QoS provisioning event to enable a QoS channel for one or more activities QoS service. In some modalities, QoS availability assessment includes determining whether one or more of the links in a potential QoS channel are available (for example, based on network capacity and transmission quality) to provide the required level from QoS to a requested QoS channel. In some embodiments, a QoS request is initiated by a device, a user, an application and/or a network element/function as similarly described in the present invention.
[0084] In some embodiments, a service plan refers to the collection of service access capabilities, QoS capabilities and/or services controlled by network capability that are associated with a communications device. In some embodiments, service access capabilities, QoS capabilities, and/or network capability controlled services are determined by the collection of service access control policies for the device. In some embodiments, these service control policies are implemented on network equipment. In some embodiments, these service access control policies are implemented on both the device and network equipment. In some embodiments, these service access control policies are implemented on the device. In some embodiments, there are different levels of service control capabilities (eg, policies) based on different levels of service plan payments or device permanence or user permanence. In some embodiments, there are different levels of service control policies based on network type, time of day, network busy status and/or other criteria/measures as similarly described in the present invention with respect to various embodiments. In some embodiments, access control and QoS control policies are based on the type of service activity that is sought. In some modalities, the level of QoS and level of access available for a given service activity for a given device or user is determined by the policies associated with the service plan. In some embodiments, a QoS authorization assessment is performed to determine whether a device or user has sufficient service plan permanence to allow the requested level of QoS.
[0085] In some embodiments, before a QoS channel or link is provided (or before a QoS request is answered or serviced), a QoS availability assessment is performed to determine whether sufficient communication channel resources are available to provide the required level of QoS for the channel or QoS link. In some embodiments, this assessment of QoS availability is determined by assessing the QoS capacity available for one or more required QoS links on the channel. For example, the available QoS link capacity can be evaluated for one or more of a device traffic path, a device to access a network equipment element link, a core network link and/or a network link of IPX. If the QoS assessment shows that the required channel quality and capacity is available for the desired QoS level for one or more desired QoS service activities, then a QoS channel request or QoS service request can be granted. In some modalities, a QoS link reservation process or QoS channel is provided to reserve QoS capacity and quality before link or channel provision to ensure that available QoS resources are not allocated between the availability evaluation time of QoS and the provision of QoS channel.
[0086] In some modalities, the QoS availability evaluation is performed after the QoS authorization evaluation. This prevents the unnecessary activity of network elements when the device or user does not have sufficient service plan permanence to receive the desired level of QoS even if it is available. This can be an important triage function performed on the device in the service processor or by a centralized network function such as the service controller (eg, or interchangeably, the home agent; Home Location Record (HLR); server /communication port/Authentication, Authorization and Accounting (AAA) function; base station; one of the communication ports, policy and charging rules function (PCRF) or other network element/function). In some modalities, QoS availability is assessed without conducting a QoS authorization assessment or before receiving the response to a QoS authorization assessment.
[0087] In some embodiments, a QoS channel is provided to create the QoS channel to support a QoS session (for example, a QoS service activity). In some embodiments, QoS channel provision includes assigning, routing and/or otherwise causing QoS session traffic to flow over one or more QoS links on the assigned QoS channel.
[0088] In some modalities, device-assisted service traffic control and QoS apply immediately and directly to the problems of managing a QoS device link for QoS channel provision. Likewise, in some modalities, a provider service is provided to assist in providing the device portion of the QoS channel. In some embodiments, the service processor provides the device link portion of the QoS channel by placing a higher priority on more QoS level traffic. high. In some modalities, this QoS priority is implemented in a number of ways, including routing the highest priority QoS traffic to the first priority in the downstream and/or upstream traffic queues. The upstream traffic queue is directly performed some modalities by transmitting the first guaranteed bit rate at the highest available suppression rates, second differentiated QoS traffic with a controlled suppression rate, third best effort traffic with possibly more controlled suppression rates low and/or fourth background traffic when/if bandwidth is not required by higher levels of QoS traffic and at lower controlled suppression rates. For example, downstream traffic can be handled by traffic queuing and delaying or preventing TCP acknowledgments to be returned to the lower QoS priority levels, while immediately passing TCP traffic and acknowledgments to the higher levels of QoS priority. The device link portion of the QoS channel is thus provided by assigning policies for TCP queue priority, delay, suppression rate, and TCP acknowledge back rate for device traffic in accordance with the width of bandwidth that is available at any point in time to the device. In some embodiments, various device service processor traffic control capabilities regulate or partially regulate the QoS in accordance with a set of network policy instructions, including, in some embodiments, a service plan policy set.
[0089] In some embodiments, the device service processor establishes multiple QoS channels across the device traffic path with each QoS channel having traffic control policies as described in the present invention, with each QoS channel policy configured creating a different class of QoS. In some embodiments, employing this approach of multiple QoS channels, QoS for a given service activity is provided by routing the traffic for that QoS activity to the appropriate QoS channel with the QoS policy settings appropriate. Routing to the appropriate QoS channel can be provided using various techniques. For example, routing can be provided by applying a common service traffic control policy set to traffic associated with all QoS service activities that require or request the QoS provided by the common traffic control policy set. The application of the set of service traffic control policies can be performed in a number of ways using the modalities described for the policy deployment agent and the policy control agent described in the present invention. In such embodiments, the problem of assigning a QoS channel to a number of QoS service activities is reduced to apply a predetermined set of service traffic control policies to each of the QoS service activities, with each predetermined set of service traffic control policies that represent a different QoS class. The device can then manage the overall QoS for all traffic based on the available traffic capacity and quality, the total aggregate traffic demand for each QoS traffic class, and the policy rules that determine how each traffic class is rate-rated. bit differential and traffic quality compared to other traffic classes for a given level of available traffic quality and capacity.
[0090] Based on the aggregate demand for each traffic QoS class and the level of traffic capacity and quality available to the device, the service processor can adjust the total available bit rate or percentage of traffic capacity available for each QoS class. For example, in some modes, the aggregate demand for real-time interactive traffic control class (for example, services such as VOIP, emergency communication services or high-performance real-time competitive gaming) can be determined and the QoS routing function on the device (eg a QoS agent/router function) can first allocate sufficient constant bit rate traffic capacity from the available traffic capacity to satisfy these services, with each activity of QoS service that requires this class of QoS to be assigned to this QoS channel. As more QoS service activities require this class of traffic, ac the capacity allocated on the QoS channel outside the available device capacity is increased and when less QoS service activities require this class of traffic, the capacity for that QoS channel is released. In the event that the device does not have any more capacity available with guaranteed bit rate QoS level, then additional QoS service activities that desire, require or request that level of QoS will not be provided at that level of QoS and instead Furthermore, they will either be provided with a lower QoS level or will not be allowed to connect to the access network. In some embodiments, there may be a hierarchy between the possible QoS service activities so that if there is no more capacity available at a given level of service QoS, then the capacity available for that class of QoS is provided for the service activities which requires that QoS from highest to lowest priority, until available QoS class capacity is consumed and then one or more QoS service activities that are far down the priority list to get service with that QoS class are taken to a lower QoS class or denied access. In some embodiments, since the capacity needed to satisfy real-time constant rate traffic needs to be satisfied, the remaining capacity available to the device is then divided among the other QoS channel classes in accordance with a priority policy, with the priority policy being based on the relative priority of each class of service, the relative priority of each QoS service activity, or a combination of the relative priority of each QoS service class and each QoS service activity. this relative priority may vary from device to device based on service plan selection, device type, user stay, user group, device location, device network connection, network type, time of day, busy state network and/or other criteria/measures.
[0091] In some embodiments, a QoS link is established between the device and an access network equipment element. For example, such equipment element modalities may include a 2G/3G/4G wireless base station, a wireless access point, a cable headend, a DSLAM network, a wireless device traffic aggregator. fiber network, a satellite network device traffic aggregator, a frame relay aggregation node, an ATM aggregation node, and/or other network equipment. In some embodiments, a logical communication channel is created between the device and the network equipment element, with the logical communication channel supporting a given QoS level or set of QoS class traffic policies. logical channel can include a RAB formed between a 2G/3G/4G base station and a wireless endpoint device. The RAB can be formed by controlling the media access control (MAC) parameters of the base station radio channel so that a given level of QoS class policies can be implemented. For example, the RAB can support constant bit rate, low latency communication traffic for guaranteed bit rate real-time traffic, or a differentiated high priority access channel for current traffic, or a best effort random access channel for best effort traffic or an unused capacity traffic available for background traffic. The QoS channel link created in this way can be dedicated to a single device or shared with a subset of devices or available to all devices. The QoS channel link created in this way can be used by the device to support a single QoS activity as described in the present invention or a group of QoS activities as described in the present invention. It will now be apparent to those skilled in the art that similar configurations for cable headend and cable modem MAC can yield similar QoS classes for QoS links to the cable modem case and that similar techniques can be applied to a cable modem point. wireless access or a satellite system MAC to achieve similar QoS classes for QoS links. It will also be apparent to one skilled in the art that by creating multiple logical channels on the device link and/or adjusting network quality and capacity of available access for each logical device communication channel in DSLAM or fiber aggregator, similar QoS class QoS links can be established for DSL and fiber distribution network cases.
[0092] In some embodiments, the device service processor serves to route QoS service activities to the appropriate logical communication channel established for the desired QoS class supported by a QoS link between the device and the network equipment element of access. In some modalities, device service processor elements (for example, policy deployment agent and/or policy control agent) can be used in some modalities to assign the same QoS traffic control policies to one or more QoS service activities that require the same level of QoS. Similarly, in some embodiments, device service processor elements can be used to assign or route service activity traffic for a given class of QoS for the correct logical communication channel between the device and the access network element (for example, a 2G/3G/4G base station) that supports the traffic control policies for the desired QoS class. For example, a QoS service link that supports guaranteed bit rate and latency can be established with one or more RABs from a base station to the device and a second QoS service link can be established that supports differentiated preferential access to content using one or more differential access RABs and a third best-effort RAB can be used to support best-effort traffic. Each of the required RABs is first ordered and then provided as described in the present invention based on the required capacity and quality aggregated for one or more QoS service activities that require or desire a QoS service class associated with the logical channel policy parameters of RAB. Once the logical QoS channel set is thus established, the service processor (eg, QoS agent/router role) routes the traffic associated with each QoS service activity to the appropriate RAB. In some embodiments, the service processor can detect increases or decreases in aggregate QoS class demand for each QoS class as QoS activities are initiated or terminated for that QoS class and the service processor can report the increases or decreases required in the RAB assignments needed to support this logical QoS channel.
[0093] In some embodiments, the access QoS link is established by direct device communication in which the device requests the QoS link or channel from the access network equipment element or the device requests the link or channel. QoS from an intermediary network device, such as a service controller (eg, or a device easily replaced by similar resources, such as a home agent, an HLR, a mobile switching center, a base station, a gateway system, a AAA, PCRF or a billing system). In some embodiments, the device service processor relies on the QoS link or channel request on an association that the device performs to match a QoS service activity with a desired or required QoS class or set of control policies For example, this QoS class association or QoS traffic control policy set with QoS service activity can be determined by a predefined policy mapping that is stored on the device and used by the service processor . In some embodiments, this policy mapping store is popularized and/or updated by a service controller (e.g., or similar function as described in the present invention). In some embodiments, the mapping is determined by a service controller (e.g., or similar function as described in the present invention) based on a device report of the QoS service activity that needs the QoS link or channel.
[0094] In some embodiments, the required or desired QoS level for one or more QoS service activities is determined by a set of QoS service traffic control policies that are pre-assigned to various QoS service activities For example, a given application can be pre-assigned to a QoS class. As another example, a web service destination such as a VOIP service site can be assigned to a QoS class. application can have a QoS assignment level for general Internet traffic, but have a QoS assignment for real-time game traffic. As another example, a real-time broadcast website might have a best effort QoS level assigned to general browsing and scheduling information and have a differentiated stream QoS level for broadcast traffic content. In some modalities, QoS need detection or QoS assignment request for a given activity can be assigned by a device service processor according to a pre-defined QoS policy rules table (eg table of QoS activity) or it can be predetermined by a service controller based on information reported by the device or it can be requested by an application through a QoS application interface (eg QoS API), or it can be determined by nature incoming traffic.
[0095] In embodiments, where both endpoints on the QoS channel participate in establishing an end-to-end QoS channel, the required QoS level is determined and/or communicated by the original endpoint. In some embodiments, the level of QoS required is determined and/or communicated by the receiving endpoint. In some embodiments, the QoS level is determined and/or communicated by the original endpoint service controller (e.g., or the access network element (such as a base station), the HLR, home agent, call center. mobile switching, AAA, communication port or other network element/function). In some embodiments, the QoS level is determined and/or communicated by the receiving endpoint service controller (e.g., or alternatively, the access network element (such as a base station), the HLR, home agent, mobile switching center, AAA, communication port or other network element/function). In some embodiments, the receiving endpoint service controller (e.g., or the network access element (such as the base station), the HLR, home agent, mobile switching center, AAA, communications gateway, or other network function) and the original endpoint service controller (eg, or other similar function) communicate with each other to coordinate the establishment of the QoS channel between the endpoints.
[0096] In some embodiments, the original or near-end device service processor contacts the far-end or endpoint device service processor to initiate a QoS channel. Near-end or original device QoS is automatically performed by the far-end device when its service processor detects that a given level of QoS is required for communication between the two devices. In some embodiments, the original or near-end device service processor detects the need for a QoS channel to the far-end device or endpoint and contacts core network resources such as the service controller (by example, or another piece of equipment with similar function for that purpose) and the service controller provides the far end of the QoS channel, either by direct communication with the far end device or by communication with the service controller of the end device distant (eg, or another piece of equipment with similar function for that purpose). In some embodiments, where the far-end device service controller is contacted to assist in providing the QoS channel, there is a search function to determine the address of the far-end service controller based on a formed search index of some aspect of far-end device credentials (eg phone number, SIM ID, MEID, IMSI, IP address, username and/or other device credentials).
[0097] In some embodiments, the mapping of QoS service activity to the desired level of QoS class or QoS traffic control policies is determined by providing a QoS API in the device service processor that applications use to request a QoS class or QoS channel connection. In some embodiments, an API is provided so that application developers can create application software that uses standard interface commands to request and configure QoS channels. In some modalities, the API does one or more of the following: accepts QoS requests from an application, formats the QoS channel request into an appropriate protocol for transmission to the network equipment responsible for evaluating the QoS availability channel (for example , possibly including the device traffic control system), coordinates with other network elements (for example, possibly including the traffic control system). device lock) to reserve a QoS channel, coordinate with other network elements (for example, possibly including the device traffic control system) to provide a QoS channel, inform the application that the desired QoS channel can be created or not and/or coordinates with other network elements (eg, possibly including the device traffic control system) to connect the application with the desired QoS channel class. In some embodiments, the QoS API accepts the application QoS request and communicates and possibly coordinates with one or more elements of QoS network equipment, such as a base station, cable headend or access point. In some embodiments, the QoS API accepts the application's QoS request and communicates and possibly coordinates with an intermediary network element, such as a service processor (e.g., or other similar function as described in the present invention). In some modalities, the QoS API evaluates the permanence of the QoS service plan for the device or user before sending the QoS channel requests to other network elements and only starts the QoS request sequence if the plan authorization required service is in place. In this way, the potentially complex process of establishing a QoS channel with all equipment-specific communication protocols that typically need to be supported to assess the QoS availability channel and provide the QoS channel are simplified into a limited set of APIs that are easy for an application development community to learn about and use for differentiated QoS services and applications.
[0098] In some embodiments, local traffic control on the device service processor is combined with traffic control on the link between the device and the access network equipment element. In this way, both the device traffic control path QoS link and the device to access network element QoS link can be coordinated for better device QoS performance results given the available quality capacity of the network traffic access to the device. In some embodiments, the policies for how the device manages local traffic control, establishes access network element logical channels (for example, RABs), and routes traffic to and from the access network element logical channels are all determined by predefined policy rules loaded on the device by the service controller (or other equivalent network element). In some modalities, these policies are determined in the service controller itself.
[0099] In some embodiments, a QoS user interface (eg QoS UI) is presented to the device user. In some embodiments, the QoS UI notifies the user what level of QoS services the device is authorized to receive based on the service plan selection. In some embodiments, the QoS UI notifies the user about what levels of QoS services are available on the current network the device is currently connected to. In some embodiments, the QoS UI notifies the user when a QoS service level that is higher than that authorized by the user's service plan is required or desirable for a particular service activity that the device has initiated. In some embodiments, the QoS UI provides the user with a set of one or more upgrade options to update the service plan to include a higher level of QoS for one or more service activities. In some embodiments, the QoS UI provides the user with an opportunity to specify which level of QoS the user would like to employ for one or more service usage activities. In some modalities, the QoS UI allows the user to specify a service plan setting that provides differentiated QoS during times when the network is busy. In some modalities, the QoS UI allows the user to purchase one or more grades of QoS service with a later payment for a predefined service period and one or more predefined service usage limits by the QoS class, one payment above for one or more service usage limits predefined by the QoS class, or another payment system for differentiated QoS services. In some embodiments, the QoS UI provides the user with an opportunity to enable or pay for QoS for QoS services for a connection that is initiated by an incoming connection to the device.
[00100] In some embodiments, QoS for DAS techniques include verifying that the device is properly implementing QoS traffic control policies, for example, according to a service plan. This ensures that errors, hacking, user device software settings, manipulations or other malware events do not result in inappropriate levels of QoS for a particular device or group of devices. consequently, in some embodiments, the traffic control and QoS verification techniques described in the present invention are employed to verify that the appropriate level of QoS is applied for a given service usage activity according to a QoS priority policy. For example, QoS channel request policy rules behavior checking can be implemented in a variety of ways including, as an example, monitoring device QoS channel requests and comparing the requested QoS level with the requested QoS level. QoS that the device is authorized to receive in the service plan in effect for the device. Verification of proper QoS channel usage behavior by a device can be implemented in a variety of ways including, for example, monitoring network-based QoS service usage reports and comparing network-based reports with rules of service policy that must be given into effect for the device service plan. Appropriate device traffic control verification to implement a QoS service policy that is in effect can be accomplished in a variety of ways by verifying that traffic control policy rules are being properly implemented as described in the present invention . In some embodiments, DAS to protect network capacity techniques include various verification techniques (e.g., verification, monitoring, traffic control, reporting and/or other functions implemented or performed by the device) as described in the present invention.
[00101] In some arrangements, the QoS router prioritizes traffic on the device. In some modalities, the QoS router connects the QoS enabled session to the RAB that has the appropriate QoS level. In some modalities, a session is routed to the RAB. In some modalities, more than one session can be routed to a RAB. In some embodiments, multiple RABs that provide multiple levels of QoS are created for the device, and the QoS router routes each service activity to the RAB dictated by the QoS policy rules in effect on the device.
[00102] In some modalities, the network collects service usage loads for different QoS classes. In some modalities, there is a differentiated service load for different QoS service usage classes. The guaranteed bit rate consumes network resources whether or not traffic capacity is used, there may be an element of time involved in the load calculations. As a more detailed example, guaranteed bit rate services can be loaded by the total bandwidth supplied to the device at any given time multiplied by the amount of time the bandwidth becomes available. In some embodiments, differentiated access traffic that has a higher QoS than the best effort traffic but is not guaranteed bit rate may be loaded at a higher rate than the best effort traffic but less than the guaranteed bit rate. In some embodiments, such traffic can be loaded based on the time the QoS channel becomes available and the total amount of data transmitted over the channel, or it can only be based on the total amount of data transmitted over the channel. Best effort traffic is loaded in some modalities based only on the total amount of data used, with data loads being less than streaming access services. Past data services in some embodiments are loaded at the lowest rate, possibly with only certain times of the day or periods of low network traffic demand being available for such services, and with the service being based on data transmitted in total. In some embodiments, all QoS service levels can be charged based on a fixed price for a fixed charging period, possibly with service usage coverage with additional changes if service coverage is exceeded. In such fixed-price scenario modalities, the charged price is again higher for higher QoS levels. In some modalities, the network collects service usage loads for different classes of service controlled by network capacity. In some modalities, there is differentiated service loading for the different service usage classes controlled by network capacity, as described in the present invention.
[00103] In some embodiments, the network equipment (e.g., access network element, communication ports, AAA, service usage storage systems, home agent, HLR, mobile data center, and/or storage systems billing) records and reports service usage for one or more of the QoS classes of service used by the device. In some embodiments, the device service processor logs and reports service usage for one or more of the QoS service classes used by the device and reports QoS service class usage to the service controller (for example, or another surrogate network element). In some modalities, where the device is logging reporting usage for one or more classes of QoS service, it is important to check the device's service usage reports to ensure that the device usage reports are not skewed, busy, and /or otherwise erroneous. In some modalities, verification of service usage reports against service usage that must be taking place in view of on-site service control policies on the device, verification of service processor agent functional operation, service usage events tests, agent query response sequences, device service processor software protection techniques, device service processor software environment checks, and various other techniques are provided as described in the present invention. For example, the use of one or more of these verification techniques can provide a verifiable device-assisted QoS service usage loading system. as another example, the use of one or more of these verification techniques can provide a verifiable network capacity-controlled service usage loading system. In some embodiments, network equipment (eg, access network element, gateways, AAA, service usage storage systems, home agent, HLR, mobile data center, and/or billing systems) register and reports service usage for one or more of the network capacity-controlled classes of service used by the device, as described in the present invention.
[00104] In some embodiments, device assisted traffic control is provided to manage network congestion as follows. For example, when a given base station or group of base stations experiences traffic demand that is high in relation to the available capacity and/or quality of service that can be provided, and such a condition is determined (eg detected or reported) with based on a network busy state assessment as described below and further in the present invention, then a service controller (e.g. or another network function) may issue, send and/or implement control flow regulation policies of traffic to the devices as a measure of the excess traffic demand that the one or more base stations are experiencing. For example, device service processors connected to an overly busy base station can be instructed to reduce traffic control priority to one or more QoS traffic classes, reducing queuing priority, rate of flow regulation, permission delay and/or access for some or all of the one or more traffic classes. As another example, device service processors connected to an overly busy base station can be instructed to reduce traffic control priority to one or more classes of network capacity-controlled service traffic, reduce queuing priority, rate of flow regulation, delay allowance and/or access for some or all of one or more classes of such traffic. As another example, one or more classes of service traffic controlled by network capacity, such as previous download download processes, which may include, for example, software updates may be turned off completely or have the flow regulated back significantly . As another example, best effort traffic such as Internet browsing can be down-regulated or reduced for a group of devices connected to base stations that experience excessive traffic demand. As another example, a policy can be implemented on devices connected to busy base stations where the device is allowed to navigate or conduct other best effort service activities at a relatively high flow regulation rate for a period of time, but if the device uses more than a certain amount of service (eg total data downloaded and/or uploaded) in a certain period of time, then the device can be traffic controlled according to a policy of adaptive flow regulation as described in the present invention. In some modalities, higher QoS level traffic cannot be flow-regulated in such circumstances, such as VOIP traffic where the guaranteed real-time bit rate is important to satisfy user service needs or expectations, while lower priority traffic such as interactive browsing and/or previous download is throttled and/or blocked. In some embodiments, the QoS availability evaluation processes described in the present invention are adjusted so that higher QoS channels are not provided and supplied at times or places where a particular base station or group of base stations experiences excess demand or demand above a certain threshold.
[00105] In some modalities, users or devices that have service plans with higher QoS levels, or service plans with higher priority during busy network periods have different traffic control policies (for example, for QoS and/or services or network capacity controlled services) applied to the term that result in a higher level of traffic performance and/or a higher level of QoS service availability. For example, emergency service workers may be given access control policies traffic volumes that result in differentiated services during peak busy times on the network or a portion of the network. In some modalities, users can obtain a special service plan for differentiated access during periods of peak occupancy times or may use higher levels of QoS service settings and/or service plans to achieve differentiated service during periods of peak occupancy . as another example, services that demand high levels of QoS classes, such as real-time voice services, instant messaging, push to talk, differentiated continuous video transmission and/or interactive gaming, do not have traffic controlled at the same point in that other lower priority services or lower class service plans have traffic controlled during peak busy times. For example, this type of service differentiation can also be applied based on device type, user group, user permanence, user reward zone points and/or other criteria/measures as similarly described in the present invention.
[00106] In some embodiments, the decision to control (e.g., reduce, increase and/or otherwise control in some way) the access traffic control settings as described above is made by the device service processor with based on the device's assessment of network capacity, which can be determined using various techniques as described in the present invention. In some embodiments, the decision to control the access traffic control settings as described above is made by a service controller (e.g., or other interchangeable network element or element equipment as described in the present invention) connected to the device that provides instructions for the device to adjust access policy settings. For example, the service controller may obtain the network capacity information of access equipment elements, from device traffic capacity and/or quality reports as described in the present invention, or from reports on capacity of access. traffic and/or quality obtained from dedicated devices used for the purpose of evaluating network capacity. In some embodiments, the decision to control access traffic control settings as described above is based on time of day, day of week, or both to accommodate cyclical patterns in network capacity and traffic demand.
[00107] In some embodiments, a service controller (for example, or another network element or element equipment, as described in the present invention) evaluates network occupancy status and then controls the device traffic demand through the reduction of the capacity offered for one or more classes of service (for example, for QoS services and/or services controlled by network capacity) supported by access network element equipment, such as a wireless base station. In such embodiments, the service controller (e.g., or similar function) gathers the network capacity information with one of the techniques described in the present invention and instructs one or more of the access network element equipments to reduce the capacity offered for one or more levels of QoS classes and/or classes of service controlled by network capability, for one or more of the devices connected to the access network element equipment. For example, determining which devices regulate backflow can be done based on an equal flow regulation of all devices of a given service plan status, or based on past device traffic usage patterns. recent as described in the present invention or based on a combination of service plan status and recent traffic usage patterns.
[00108] In some modalities, the device is enabled with environment services that have differentiated QoS services and/or services controlled by network capacity as part of the environment service offer. For example, environment QoS techniques can be provided using the pre-assigned QoS policies for a certain service activity defined within the environment service, or using an environment service application that requests QoS through the QoS API. Other modalities for providing differentiated QoS service activities within environment service offerings will now be evident to an element of common knowledge in the art. As another example, ambient network capacity controlled service techniques can be provided using pre-assigned network capacity controlled policies for a given service activity defined within the environment service, monitoring or dynamically assigned techniques and /or with the use of an environment service application that uses API or emulated API techniques, and/or other techniques as described in the present invention.
[00109] In some embodiments, a QoS service control policy is adapted as a function of the type of network the device is connected to. For example, QoS traffic control policies and/or QoS service loading policies may be different when the device is connected to a wireless network (eg a 3G/4G network where there is generally less traffic capacity enabled for available QoS) than when the device is connected to a wired network (for example, a cable or DSL network where there is generally a higher level of QoS capability available). In such embodiments, the device service processor and the service controller can coordinate to adapt the QoS service control policies and/or QoS service load policies to be different depending on which network the device is connected to. Similarly, the device's QoS service control policy and/or QoS service charge policy can also be adapted based on whether the device is connected to a wireless home network or an external wireless network. In some embodiments, the network capacity-controlled service control policy and/or the network-capacity-controlled loading policy is adapted as a function of the type of network the device is connected to, as similarly described herein. invention.
[00110] In some embodiments, several of the techniques related to QoS and/or network capacity-controlled service techniques described in the present invention are performed on the device using DAS techniques and/or on the service controller in secure communication with a verified service processor performed on the device using DAS techniques. In some embodiments, various QoS-related techniques and/or network capacity-controlled service techniques described in the present invention are performed by/in coordination/communication with one or more intermediary network elements/functions to assist in various techniques (e.g. , functions) for QoS controlled techniques and/or services by network capability techniques as described in the present invention.
[00111] Figure 1 illustrates a functional diagram of a network architecture to provide quality of service (QoS) for device assisted services (DAS) and/or to provide DAS to protect network capacity according to some modalities. In some embodiments, QoS for DAS techniques described in the present invention are deployed using the network architecture shown in Figure 1. In some embodiments, DAS to protect the network capacity techniques described in the present invention are deployed using the network architecture shown in Figure 1.
[00112] As shown, Figure 1 includes a 4G/3G/2G wireless network operated, for example, by a central provider. As shown, several wireless devices 100 are in communication with base stations 125 for wireless network communication with the wireless network (for example, through a firewall 124) and other devices 100 are in communication with the Wi-Fi Access Points. Fi (APs) or Mesh 702 for wireless communication to Wi-Fi Access CPE 704 in communication with central provider access network 109. In some embodiments, one or more of the devices 100 are in communication with another element(s) (s)/network equipment(s) providing an access point, such as a cable network terminal, a DSLAM network, a fiber network aggregation node and/or a satellite network aggregation node . In some embodiments, each of the wireless devices 100 includes a service processor 115 (as shown) (e.g., running on a processor of wireless device 100), and each service processor connects through a service plan link. secure control to a 122 service controller (for example, using encrypted communications).
[00113] In some embodiments, service usage information includes network-based service usage information (for example, network-based service usage measurements or charge data records (CDRs), which may , for example, be generated through the service usage measurement apparatus in the network equipment), which is obtained from one or more network elements (eg, BTS/BSCs 125, RAN Communication Ports (not shown) , Transport Communication Ports (not shown), Wireless Mobile Center/HLRs 132, AAA 121, Service Usage History/CDR Aggregation, Mediation, Power 118, or other network equipment). In some embodiments, service usage information includes micro-CDRs. In some embodiments, micro-CDRs are used for CDR mediation or reconciliation that provides service usage consideration on any device activity that is desired. In some embodiments, each device activity that is desired to be associated with a billing event is assigned a micro-CDR transaction code, and service processor 115 is programmed to consider that activity associated with that transaction code. In some embodiments, the service processor 115 periodically reports (for example, during each heartbeat or based on any other periodic technique, pulling and/or pushing) measurements of micro-CDR usage to, for example, the service controller. 122 or some other network element. In some embodiments, the service controller 122 reformats the heartbeat micro-CDR usage information into a valid CDR format (eg, a CDR format that is used and can be processed by an SGSN or GGSN or other elements/equipment used/authorized to generate or process CDRs) and then pass this on to a network element/function for CDR mediation (eg Storage, Aggregation, Mediation, CDR Feed 118).
[00114] In some embodiments, CDR mediation is used to account for micro-CDR service usage information by depositing it into an appropriate service usage account and deducting this from the micro-CDR service usage account. user device volume. For example, this technique provides a flexible service usage billing solution that uses pre-existing solutions, infrastructures, and/or techniques for mediation by CDR and billing. For example, the billing system (eg billing system 123 or billing interface 127) processes the mediated CDR feed from the CDR mediation, applies the appropriate account billing codes to the aggregated micro-CDR information that have been generated by the device, and then generate billing events in a way that does not require changes to existing billing systems (for example, using new transaction codes to label the new device-assisted billing capabilities). In some embodiments, the network provision system 160 provides various network elements/functions for authorization in the network, such as for authorizing certain network elements/functions (e.g., storage, aggregation, mediation, CDR 118 feed or other elements /network functions) to provide micro-CDRs, reformatted micro-CDRs and/or aggregated or reconciled CDRs.
[00115] As shown in Figure 1, a storage, aggregation, mediation, feed of CDR 118 is provided. In some embodiments, the storage, aggregation, mediation, feed of CDR 118 receives, stores, aggregates and mediates micro-CDRs received from mobile devices 100. In some embodiments, the storage, aggregation, mediation, feed of CDR 118 also provides a platform of nesting using the mediated micro-CDRs as described in the present invention. In some embodiments, another network element provides the nesting platform with the use of mediated and/or aggregated micro-CDRs (eg, central billing interface 127 and/or another network element/function).
[00116] In some embodiments, various techniques to split device groups are used to split 100 mobile devices (for example, allocating a subset of 100 mobile devices to a distributor, an OEM, an MVNO and/or another partner or entity). As shown in Figure 1, an MVNO 210 core network includes a storage, aggregation, mediation, CDR feed MVNO 118, an MVNO 122 billing interface, and an MVNO 123 billing system (and other network elements as shown in Figure 1). In some embodiments, the storage, aggregation, mediation, CDR feed MVNO 118 receives, stores, aggregates and mediates micro-CDRs received from mobile devices 100 (e.g., devices divided by MVNO group).
[00117] Those elements of common skill in the art will note that several other network architectures can be used to provide device group divisions and a nesting platform, and Figure 1 is illustrative of just one example network architecture for the which laying platform and device group splitting techniques described in the present invention can be provided.
[00118] In some modalities, storage, aggregation, mediation, CDR 118 feed (for example, service usage 118, including a rules engine and billing aggregation data storage) is a functional descriptor for, in some modalities , function of collecting, aggregating, mediating and reporting device/network level service usage information located in one or more of the networked equipment systems/appliance attached to one or more of the subnets shown in Figure 1 (by example, central provider access network 109 and/or central provider core network 110), which is in communication with the service controller 122 and a central billing interface 127. As shown in Figure 1, the use of service 118 provides a function in communication with the central provider core network 110. In some embodiments, the CDR storage, aggregation, mediation, power 118 function is located anywhere on the network or partially located anywhere or integrated with/as part of other network elements. In some embodiments, the CDR storage, aggregation, mediation, feed functionality 118 is located or partially located in the AAA server 121 and/or the mobile wireless center/Home Location Recorder (HLR) 132 (as shown, in communication with a DNS/DHCP server 126). In some embodiments, the service usage feature 118 is located or partially located in the base station, base station controller, and/or base station aggregator, collectively referred to as base station 125 in Figure 1. In some embodiments, the storage feature , aggregation, mediation, CDR feed 118 is located or partially located in a networked component in the central provider access network 109, a networked component in the core network 110, in the central billing system 123, in the central billing interface 127, and/or in another network component or function. This discussion of possible locations for the device-based or network-based service usage information collection, aggregation, mediation, and reporting function (eg, storage, aggregation, mediation, CDR 118 feed) can be easily generalized as described in the present invention and as shown in the other figures and embodiments described in the present invention by an element of common knowledge in the art. Furthermore, as shown in Figure 1, the service controller 122 is in communication with the central billing interface 127 (e.g., sometimes called the external billing management interface or billing communication interface), which is in communication with the central billing system 123. As shown in Figure 1, an order management 180 and a subscriber management 182 are also in communication with the central provider core network 110 to facilitate subscriber management and service order for the devices. 100 according to some modalities.
[00119] In some embodiments, a download transfer from service processor 170 is provided which provides periodic downloads/updates of service processors (eg, service processor 115). In some embodiments, verification techniques include periodically updating, replacing and/or updating an obfuscated version of the service processor, or performing any of these techniques in response to an indication of a compromise or potential occupancy of any service processor functionality. service (eg, QoS functionality and/or network capability controlled service functionality) performed or deployed in device 100.
[00120] In some embodiments, storing, aggregating, mediating, feeding CDR 118 (and/or other network elements or combinations of network elements) provides a function of collecting, aggregating, mediating, and reporting service usage information device/network level. In some embodiments, the storage, aggregation, mediation, feeding of 118 CDRs (and/or other network elements or combinations of network elements) collects device-generated/assisted service usage information (eg, micro-CDRs) to one or more devices on the wireless network (for example, 100 devices); and provides the device-generated service usage information in a syntax and communication protocol that can be used by the wireless network to augment or replace network-generated usage information for the one or more devices on the wireless network. In some embodiments, the syntax is a charge data record (CDR), and the communication protocol is selected from one or more of the following: 3GPP, 3GPP2 or other communication protocols. In some embodiments, as described in the present invention, CDR storage, aggregation, mediation, feed 118 collects/receives micro-CDRs for one or more devices on the wireless network (e.g., devices 100). In some embodiments, the storage, aggregation, mediation, feeding of CDR 118 (e.g., or other network elements and/or various combinations of network elements) includes a service usage data store (e.g., an aggregator of billing) and a rules engine for aggregating the collected device-generated service usage information. In some embodiments, the network device is a CDR feed aggregator, and the storage, aggregation, mediation, CDR 118 feed (and/or other network elements or combinations of network elements) also aggregates (network-based) CDRs and/or micro-CDRs for the one or more devices on the wireless network; applies a set of rules to aggregated CDRs and/or micro-CDRs using a rules engine (eg per account billing, transaction billing, revenue sharing model and/or any other billing or other rules for collection , aggregation, mediation, and reporting of service usage information), and communicates a new set of CDRs to the one or more devices on the wireless network to a billing interface or a billing system (for example, providing a CDR with a billing deviation by account/service). In some embodiments, a recipe sharing platform is provided using the various techniques described in the present invention. In some embodiments, loading/accounting of QoS usage and/or loading/accounting of usage of services controlled by network capacity is provided using various techniques described in the present invention.
[00121] In some embodiments, the storage, aggregation, mediation, feeding of CDR 118 (and/or other network elements or combinations of network elements) communicates a new set of CDRs (for example, CDRs and/or micro-CDRs aggregates and mediated which are then transformed into standard CDRs for a given wireless network) for the one or more devices on the wireless network to a billing interface (eg, central billing interface 127) or a billing system ( eg central billing system 123). In some embodiments, the storage, aggregation, mediation, CDR 118 feed (and/or other network elements or combinations of network elements) communicates with a service controller (eg, service controller 122) to collect the information device-generated service usage (eg, micro-CDRs) for the one or more devices on the wireless network. In some embodiments, the storage, aggregation, mediation, CDR 118 feed (and/or other network elements or combinations of network elements) communicates with a service controller, where the service controller is in communication with an interface billing or a billing system. In some embodiments, the storage, aggregation, mediation, CDR 118 feed (and/or other network elements or combinations of network elements) communicates device-generated service usage information to a billing interface or a billing system. revenues. In some embodiments, the storage, aggregation, mediation, CDR 118 feed (and/or other network elements or combinations of network elements) communicates with a transport communication port and/or an Access Network communication port by Radio (RAN) to collect the generated/network-based service usage information for the one or more devices on the wireless network. In some embodiments, the service controller 122 communicates device-assisted service usage information (e.g., micro-CDRs) to the storage, aggregation, mediation, feeding of CDR 118 (e.g., or other network elements and/or or various combinations of network elements).
[00122] In some embodiments, storage, aggregation, mediation, CDR 118 feed (for example, or other network elements and/or various combinations of network elements) execute rules to perform a billing by aggregation and mediation function of account. In some embodiments, storage, aggregation, mediation, CDR 118 feed (and/or other network elements or combinations of network elements) executes rules to perform a service billing function as described in the present invention, and/or to perform a service/transaction revenue sharing function as described in the present invention. In some embodiments, the service controller 122 in communication with the storage, aggregation, mediation, CDR feed 118 (and/or other network elements or combinations of network elements) executes a rules engine to aggregate and mediate the information of use of device assisted service (eg micro-CDRs). In some embodiments, a device rule engine in communication with the CDR 118 storage, aggregation, mediation, feed (e.g., or other network elements and/or various combinations of network elements) performs a rules engine to aggregate and mediate device-assisted service usage information (eg, QoS service usage information and/or network capacity-controlled service usage information).
[00123] In some embodiments, the rules engine is included (eg integrated to/part of) in the storage, aggregation, mediation, CDR 118 feed. In some embodiments, the rules engine and associated functions as described in present invention, is a separate function/device. In some embodiments, service controller 122 performs some or all of the rules engine-based functions as described in the present invention and communicates with central billing interface 127. In some embodiments, service controller 122 performs some or all such rules engine-based functions as described in the present invention and communicates with the central billing system 123.
[00124] In some embodiments, a nesting platform service is provided. For example, micro-CDRs can be aggregated and mediated to associate service usage with one or more services used by a communications device (eg, a user of the communications device). A rules engine or another function may determine a revenue sharing allocation for service use for a particular service to determine the settlement for such service use to the revenue sharing allocation/model and to distribute the settlement information and accounting for one or more of vehicles, distribution partners, MVNOs, wholesale partners and/or other partners or entities. In some embodiments, the service is a transaction service.
[00125] In some embodiments, duplicate CDRs are sent from the network equipment to the billing system 123 which is used to generate service billing. In some embodiments, duplicate CDRs are filtered to send only those CDRs/records to devices controlled by the service controller and/or service processor (eg managed devices). For example, this approach can provide the same reporting level, lower reporting level, and/or higher reporting level compared to the reporting required by the central billing system 123.
[00126] In some arrangements, an account invoicing deviation by general ledger is provided. For example, accounting account billing deviation information can be reported to the central billing system 123 by providing a CDR aggregator feed that aggregates the device-assisted service usage data feed to provide a new set of CDRs for the managed devices to the central billing interface 127 and/or the central billing system 123. In some embodiments, transaction billing is provided using similar techniques. For example, transaction billing record information can be provided to central billing interface 127 and/or central billing system 123.
[00127] In some embodiments, the rules engine (for example, executed by using service 118 or another network element as described in the present invention) provides an account billing deviation by accounting. For example, device-assisted service usage information (eg, micro-CDRs) includes a transaction type field or transaction code (eg, indicating a service type for the associated service usage information). For example, the rule engine can apply a rule or set of rules based on the identified service associated with device-generated service usage information to determine an account billing deviation by accounting (for example, a new CDR can be generated to provide the account invoicing deviation by given accounting). In some examples, the account billing variance by accounting determined may be provided as a credit to the user service usage account (for example, a new CDR may be generated with a negative deviation to the user service usage account. user, such as for web chat service usage or transaction service usage, or for any other purposes based on one or more rules executed by the rules engine).
[00128] As another example, for a transaction service, a first new CDR may be generated with a negative offset to the user service usage account for that transaction service-related usage, and a second new CDR may be generated with a positive service usage value to charge the same service usage to the transaction service provider (eg Amazon, eBay or another transaction service provider). In some embodiments, service controller 122 generates these two new CDRs, and service usage 118 stores, aggregates, and communicates these two new CDRs to central billing interface 127. In some embodiments, service controller 122 generates these two new CDRs, and service usage 118 stores, aggregates, and communicates these two new CDRs to central billing interface 127, where central billing interface 127 applies rules (e.g., runs the rules engine to determine deviation from account billing by accounting).
[00129] In some embodiments, the service controller 122 sends the device-generated CDRs to the rules engine (for example, a service usage data store and a rules engine such as storage, aggregation, mediation, feed of CDR 118), and the rules engine applies one or more rules, such as those described in the present invention and/or any other rules related to billing/service usage as would be evident to one of the common knowledge elements in the art. In some embodiments, the service controller 122 generates CDRs similar to other network elements, and rules (e.g., account by accounting) are executed at the central billing interface 127. For example, for the service controller 122 to generate CDRs Similar to other network elements, in some embodiments, service controller 122 is provided on the wireless network (e.g., by network provisioning system 160) and acts substantially similarly to other CDR generators on the network).
[00130] In some embodiments, the service controller 122 is provided as a new type of network function that is recognized as a valid, authorized and secure source for CDRs by the other necessary elements in the network (e.g., storage, aggregation, mediation , CDR feed 118). In some embodiments, if the network apparatus only needs to recognize CDRs from certain types of network equipment (e.g., a RAN communication port or a transport communication port), then the service controller 122 provides authentication credentials. for other networked equipment that indicates it is one of the approved types of equipment to provide CDRs. In some embodiments, the link between the service controller 122 and the CDR aggregation and mediation equipment is secured, authenticated, encrypted, and/or signed.
[00131] In some embodiments, storage, aggregation, mediation, CDR 118 feed discards network-based service usage information (eg, network-based CDRs) received from one or more network elements. In these embodiments, the service controller 122 provides the device assisted service usage information (e.g., device-based CDRs or micro-CDRs) for the storage, aggregation, mediation, feeding of CDR 118 (e.g., the storage , aggregation, mediation, CDR 118 feed can only provide a storage, aggregation and communication function, as is not required to mediate network-based CDRs and device assisted CDRs), and service-based service usage information. device are provided for the central billing interface 127 or the central billing system 123.
[00132] In some embodiments, device-based CDRs (eg micro-CDRs) and/or new CDRs generated based on the execution of a rules engine as described in the present invention are provided only for devices that are managed and /or based on device group, service plan or any other criteria, categorization and/or grouping, such as based on environment service or environment service provider or transaction service or transaction service provider.
[00133] In some embodiments, QoS for DAS includes a service processor (eg, any device-assisted element/function) that facilitates the coordination and/or provisions of radio/wireless access carriers (eg, RABs). In some embodiments, the service processor determines whether a request for QoS is authorized (for example, according to QoS service level, user permanence, available LAN capacity (for example, as reported by other device(s) (s) and/or network)). In some modalities, Device QoS Capacity Demand reports provide and/or augment the Network Capacity Demand reports.
[00134] In some embodiments, QoS for DAS includes a service controller (e.g., any network device-based service control element/function) that facilitates coordination and/or provisions bearing radio access/access wireless (for example, RABs) in a device (for example, a communications device, such as a mobile wireless communications device and/or an intermediary networked device), in a network, and/or in a device plus network. In some embodiments, the service controller provides device QoS capacity demand reports for other network equipment/elements/functions, and then also provides the RAB channel based on various criteria and determinations.
[00135] In some embodiments, QoS for DAS provides device-assisted monitoring, information and/or functionality to facilitate QoS without and/or to assist network-based monitoring, information and/or functionality (eg, Packet Inspection Deep (DPI) and/or provides such monitoring, information and/or functionality that may not be available through network-based monitoring, information and/or functionality (eg encrypted activity on the device may not be accessible by DPI or otherwise network-based techniques.) For example, QoS for DAS can assist with QoS configuration to facilitate QoS configuration and provide such information that may otherwise not be available using network-only techniques. For example, device-assisted activity and/or service monitoring techniques can assist in classifying the QoS for the monitored activity and/or service using, for example, a QoS activity map (for example, as described in the present invention or other similar techniques). For example, the use of such device-assisted techniques eliminates and/or minimizes DPI or other network-based techniques that may generate privacy considerations/issues, net neutrality considerations/issues and/or otherwise may not be capable of providing similar or equivalent granular service/activity monitoring, as discussed above, and/or also load processing from the network (eg network elements/devices/functionality) to the communications devices (eg. at least for such communications devices that can perform such functions, based on their processing and/or memory capabilities, as would be evident to an element of common knowledge in the art). In some embodiments, QoS for DAS includes the service provider to provide an initial authorization/release for a QoS request (for example, using various techniques described in the present invention), and the service controller determines whether the request QoS must be authorized (eg based on various QoS authorization/release/approval criteria (eg QoS activity maps and/or QoS request rule) and/or network capacity as described in present invention). In some embodiments, QoS for DAS includes the service provider to provide a QoS request including a class of QoS to the service controller, and the service controller determines whether the QoS request should be authorized, as described in the present invention . In some embodiments, DAS to protect network capacity provides device-assisted monitoring, information and/or functionality to facilitate protection of network capacity without and/or to assist network-based monitoring, information, and/or functionality (eg Deep Packet Inspection (DPI) and/or provides such monitoring, information and/or functionality that may not be available through network-based monitoring, information and/or functionality (eg encrypted activities on the device may not be accessible by DPI or other network-based techniques). In some embodiments, DAS to protect network capacity provides device-assisted monitoring, information, and/or functionality to facilitate the protection of network capacity without simply relying on of DPI and/or without any use or any significant use of DPI wireless network, which maintains network resources and network capacity through control of c. device network access behavior on the device rather than depth on the core network on a DPI communication port (for example, DPI-based techniques consume above over-the-air wireless network capacity even if the conversation device behavior is blocked on a DPI communication port, adversely, DAS to protect network capacity techniques that do not use DPI-based techniques to control device service usage can, for example, provide a usage-based notification device and service selection UI that does not consume above the overhead wireless network capacity).
[00136] In some embodiments, QoS for DAS and/or DAS to protect network capacity includes providing or facilitating reports to base station (BTS) for network capacity (e.g., sector, channel, occupancy status information or network capacity usage/availability and/or expected network capacity demand) based, for example, on one or more of the following: monitored application usage on the communications device, monitored user activity on the communications device, location of communications, other available networks, and/or other monitored or determined activity, service usage measurement and/or metrics. In some embodiments, during or after running an application that is determined to require network service usage (for example, it may require increased wireless network bandwidth, such as based on a service usage activity map ), QoS for DAS sends information to the network (eg a network controller or other network device element/function) whose capacity demand is approaching the communications device (eg potentially initiating a provision of a QoS radio access carrier (RAB) or other type of RAB).
[00137] In some embodiments, network capacity (eg occupancy status information) is collected from one or more communications devices communicating with a wireless network (eg usage/capacity information) network measured from each respective communications device perspective are determined and stored by the service processor in each respective communications device) and reported to the service controller, and the service controller (e.g., or another element/function network) uses this information to determine which resources are available for allocation at various QoS levels (eg to respond/facilitate multiple QoS requests) and/or to balance the workload across multiple base stations and/or networks (eg wired, cellular, Wi-Fi and/or other wireless networks).
[00138] In some embodiments, the service processor running in the communications device sends a QoS request (for example, a wireless network bearer channel reservation request or Radio Access Bearer (RAB) request) to the service controller. The service controller verifies the request using various verification techniques as described in the present invention. In some embodiments, the service controller facilitates coordination of multiple device QoS requests with one or more base stations (BTSs) in communication with the communications device to provide the requested QoS reservation to facilitate the new QoS session. In some embodiments, the service controller provides a QoS routing function, for example, by providing various QoS routing instructions to a device service processor (eg, aggregate, prioritize, queue, authorize, allocate reservations/ RABs, deny, reroute (such as to other BTSs and/or other networks) and/or otherwise manage QoS requests), where the BTS may or may not be QoS aware. For example, QoS priority may be based on activity (eg service and/or application usage), service level, user permanence, network capacity, time of day and/or QoS priority can be acquired on a transaction basis, basis session, previous pay basis, or plan basis. As another example, QoS priority can also vary by device type, user within a group, group, application type, content type or any other criteria or measures and/or any combination thereof. In some embodiments, the service controller also facilitates coordinating multiple device QoS requests with other network elements/functions for QoS deployment and management to provide an end-to-end QoS solution.
[00139] In some modalities, QoS can be symmetric for two mobile devices or asymmetric. In some modalities, QoS resource availability can be from communications devices, BTS(s), other network functions (eg service control, service controller and/or any other network elements/functions) or any combination thereof. In some embodiments, the service controller provides QoS demand information to another network element/function. In some embodiments, the service controller provides the central aggregator and policy decision point (PDP). In some embodiments, the controller services control (eg, at least in part) QoS-related functions for communications devices, BTS(s) and/or a combination of both.
[00140] In some modalities, loading (eg, monitoring and/or determination of loading or billing in association) for service use/QoS transactions and/or transactions/use of services controlled by network capacity is determined with the use of various techniques described in the present invention. For example, the service processor can assist in loading for activities controlled by network capacity and/or QoS. In some embodiments, the service processor uses Device Assisted Loading Data Records (CDRs) or micro-CDRs to assist in charging for activities controlled by network capacity and/or QoS (for example, with the use of class of transaction codes related to QoS and/or transaction codes controlled by network capacity), as described in the present invention in relation to various modalities. In some embodiments, the loading for QoS and/or services controlled by network capacity is performed as a whole or in part by one or more network elements/functions (eg service controller, SGSN/GGSN/other communication ports , and/or interface/billing servers).
[00141] In some embodiments, service usage information includes network-based service usage information. In some embodiments, network-based service usage information includes network-based CDRs. In some embodiments, service usage information includes device-based service usage information. In some embodiments, device-based service usage information includes device-assisted CDRs, also referred to herein as micro-CDRs, as described herein. In some embodiments, micro-CDRs are used for CDR mediation or reconciliation that provides service usage accounting on any device activity that is desired (for example, provides granular service usage information such as layer-based application that uses service monitoring, transaction service monitoring usage, QoS activities/sessions/transactions, activities/sessions/transactions controlled by network capacity and/or other types of service usage information). In some embodiments, each device includes a service processor (for example, a service processor running on a processor of a communications device, such as a mobile device or an intermediate network device that can communicate with a wireless network) .
[00142] In some embodiments, each device activity that is desired to be associated with a billing event (for example, for a QoS-related billing event) is assigned a micro-CDR transaction code, and the processor service is programmed to account for that activity associated with that transaction code (for example, multiple transaction codes may be associated with service usage associated with certain services, applications and/or based on QoSe classes or priorities, respectively, which may be used to provide granular service usage for these various internet/network based services/sites/transactions and/or any other internet/network based services/sites which may include transaction based services). For example, with the use of these techniques, as described in the present invention, essentially any type of device activity (for example, including QoS classes and prioritization and/or classes and prioritization controlled by network capacity) can be individually accounted for and/ or controlled (for example, having the flow regulated, restricted and/or otherwise controlled as desired). In some embodiments, the service processor periodically reports (for example, during each heartbeat or based on any other periodic communication, pulling and/or pushing techniques) micro-CDR usage measurements, for example, to a controller service or some other network element/function. In some embodiments, the service controller reformats heartbeat micro-CDR usage information into a valid CDR format (for example, a CDR format that is used and can be processed by an SGSN or GGSN or some other element /network role authorized for CDRs) and then transmits the reformatted micro-CDRs to a network element/role to perform CDR mediation.
[00143] In some embodiments, CDR mediation is used to properly account for micro-CDR service usage information by depositing it into an appropriate service usage account and deducting this from the volume service usage account of user device. For example, this technique provides a flexible service billing usage solution that uses pre-existing solutions for CDR mediation and billing. For example, the billing system can process the CDR mediation mediated CDR feed, apply the appropriate account billing codes to the aggregated micro-CDR information that was generated by the device, and then generate billing events for in a way that does not require changes to existing billing systems, infrastructures and techniques (for example, using new transaction codes to label the new device-assisted billing capabilities).
[00144] In some embodiments, the various QoS techniques performed by the communications device (for example, with the use of a service processor to provide or assist in providing QoS session provision, QoS policy management, enforcement of QoS policy, and/or QoS loading/accounting such as QoS loading logs and reports) are verified (for example, using various verification techniques described in the present invention). In some embodiments, the various network capacity-controlled services techniques performed on or by the communications device (for example, with the use of a service processor to provide or assist in providing policy management of network capacity-controlled services , policy enforcement of network capacity-controlled services, and/or loading of network-capacity-controlled services, such as network-capacity-controlled service loading logs and reports) are verified (for example, with the use of various verification techniques described in the present invention).
[00145] For example, a QoS request, QoS related policy rules (eg QoS activity map, QoS related service plan and/or service policy settings) and deployment, QoS policy enforcement , and QoS loading are checked (eg periodically, by transaction and/or based on some other criteria/metric). In some embodiments, verification techniques include one or more of the following: comparing a network-based service usage measurement with a first service policy associated with the communications device, comparing a device-assisted service usage measurement with the first service policy, compare the network-based service usage metering with the device-assisted service usage metering, run a test and confirm a device-assisted service usage metering based on the test, run a notification of user interface (UI) (for example, which may include user authentication, password challenge question/answer and/or other authentication techniques), and/or other similar verification techniques as will now be evident to an element of knowledge common in the technique. Consequently, in some modalities, QoS for DAS “closes the loop” for checking various QoS-related techniques, such as QoS requests, QoS grants, QoS usage and/or QoS loading. In some modalities, the processor The service controller and the service controller serve a verifiable QoS management/coordination system for other QoS elements/functions in the network. In some modalities, if such or other verification techniques determine or assist in determining that a QoS request, QoS report and/or QoS policy behavior (for example, or similarly, services controlled by network capacity monitoring, report and/or policy behavior) does not match the expected requests, reports and/or policy, so responsive actions can be taken, for example, the communications device (eg and/or suspect services) can be suspended, quarantined, terminated/completed and/or marked for further analysis/detailed examination to determine if the device is malfunctioning, needs updating, has been busy with or compromised, is infected with malware and/or if any other issues exist.
[00146] In some embodiments, the communications device (for example, the service processor) maintains a QoS flow table that associates or maps device activity to the QoS level/class to RAB/QoS channel, and in some embodiments, the communications device also informs a QoS management function/network element of the relative priority of the QoS flows to the communications device (for example, based on or using the QoS flow table) . In some embodiments, the service controller receives or collects information from the communications device and maintains such a QoS flow table for the communications device, and in some embodiments, the service controller also informs a management function/network element. QoS of the relative priority of the QoS flows to the communications device (for example, based on or using the QoS flow table). In some modalities, flows can be assigned to activities originating on the communications device in a transparent way, or simply through the activity class or user preference, or using other techniques.
[00147] In some embodiments, the communications device maintains a table of QoS billing rates, scheduled transmission times and/other QoS-related information to deploy a network data-level overlay MAC to manage QoS in networks legacy devices that are not supported with QoS MAC and/or do not have the various functionality to support QoS controls (for example, and such techniques can also be used to provide QoS functionality across different networks). In some embodiments, QoS-related policies are exchanged between domestic and external service controllers to facilitate support of QoS as viewed in a non-home network.
[00148] In some embodiments, the communications device serves as a (eg, which collects network capability information for a local cell and communicates or reports that network capability information to the service controller). For example, permanent local cell communications devices can be placed in local cell areas to augment legacy equipment for such network capacity indicator/report functions. Various other techniques for determining network capacity and/or network availability are described in the present invention.
[00149] In some modalities, service partners and/or service provider may subsidize as a whole or in part to upgrade a particular user or group of users to better class/service level agreement related to QoS (SLA) for a preferred destination. In some modalities, based on monitored service usage and/or other monitored behavior of the communications device, such subsidized QoS offers/updates may be presented to a communications device user (for example, as an incentive/reward for behavior preferred or desired user or for other reasons). Similarly, in some modalities, these techniques are also applied to services controlled by network capacity.
[00150] In some embodiments, QoS loading is based on QoS/reserve channel, service stream or RAB loading (eg single stream per RAB, multiple stream per RAB, multi-RAB per stream). In some modalities, loading (eg for QoS and/or for services controlled by network capacity) is based on one or more of the following: network occupancy status, time criteria, user class of service request, traffic volume and class, time and class, network capacity (eg network occupancy state) and class, time of day and class, location, traffic type, application type, application class, destination, type of destination, partner service and/or other criteria/measures. In some embodiments, QoS loading is verified using the various verification techniques described in the present invention (e.g., test loading events). In some embodiments, services controlled by network load capacity are verified using the various verification techniques described in the present invention (e.g., test load events). In some modalities, QoS loading is by data usage (for example, by Megabyte (MB)), service flow by time by QoS class, speed by time, network occupancy status, time of day/day of week, service plan, current network and/or other criteria/measures. In some modalities, services controlled by network capacity loading is by data usage (for example, per Megabyte (MB)), service flow by time by services controlled by class of network capacity, speed by time, state of occupancy network, time of day/day of week, service plan, current network, and/or other criteria/measures.
[00151] In some modalities, QoS for DAS includes coordinating functions with one or more of the following: DAS elements/functions, Radio Access Network (RAN), Transport Network, Core Network, GRX network, IPX network and/or other networks/elements/functions.
[00152] Figure 2 illustrates another functional diagram of another network architecture to provide quality of service (QoS) for device assisted services (DAS) and/or to provide DAS to protect network capacity according to some modalities . In some embodiments, the QoS for DAS techniques described in the present invention is implemented using the network architecture shown in Figure 2. In some embodiments, the DAS to protect the network capacity techniques described in the present invention is deployed with the use of the network architecture shown in Figure 2.
[00153] As shown, Figure 2 includes several devices 100 including service processors 115. For example, devices 100 may include various types of mobile devices, such as cell phones, PDAs, computing devices, laptops, netbooks, tablets, cameras, music/media players, GPS devices, networked devices and any other networked devices; and/or devices 100 may include various types of intermediate networking devices as described in the present invention. Devices 100 are in communication with service control 210 and central provider access and core networks 220. Service accounting and policy functions 230 are also provided in communication with central provider access and core networks 220. For example, devices 100 can communicate through core networks and central provider access 220 with the Internet 120 to access various Internet sites/services 240 (eg Google sites/services, Yahoo sites/services, services from Blackberry, Apple iTunes and AppStore, Amazon.com, FaceBook and/or any other Internet service or other service facilitated by the network).
[00154] In some embodiments, Figure 2 provides a wireless network architecture that supports various DAS techniques to protect technical network capacity as described in the present invention. Those elements of common knowledge in the art will note that various other network architectures can be used to provide various DAS techniques to protect network capacity as described in the present invention, and Figure 2 is illustrative only of another example of a network architecture. network for which DAS techniques to protect network capacity as described in the present invention can be provided.
[00155] Figure 3 illustrates another functional diagram of an architecture 300 including a device-based service processor 115 and a service controller 122 to provide quality of service (QoS) for device assisted services (DAS) and/or to provide DAS to protect the network capacity according to some arrangements. In some embodiments, the QoS for DAS techniques described in the present invention is implemented using the functions/elements shown in Figure 3. In some embodiments, the DAS techniques to protect network capacity described in the present invention are implemented with the use of the functions/elements shown in Figure 3.
[00156] For example, architecture 300 provides a relatively complete device-based service processor deployment and service controller deployment. As shown, this corresponds to a network configuration where the service controller 122 is connected to the Internet 120 and not directly to the access network 1610. As shown, a data plane communication path (e.g., traffic plane service) is shown on solid line connections and the control plane communication path (eg service control plane) is shown on dashed line connections. As will be evident from an element of common knowledge in the art, the division in functionality between one device agent and another is based, for example, on design choices, networked environments, devices and/or services/applications, and several different combinations can be used in many different deployments. For example, functional lines can be redrawn in any way that product designers see fit. As shown, this includes certain functional splits and breaks for device agents as an illustrative deployment, although other potentially more complex modalities might include different functional splits and breaks for device agent functionality specifications, for example in order to manage the specification development and testing complexity and workflow. In addition, the placement of agents operating, interacting with, or monitoring the data trajectory can be moved or reordered in various modalities. For example, the functional elements shown in Figure 3 are described below in relation to, for example, Figures 4, 12 and 13 as well as Figures 5 to 11 (eg QoS for DAS related modalities) and Figures 14 to 23 ( eg DAS-related modalities to protect network capacity).
[00157] As shown in Figure 3, service processor 115 includes a 1691 service control link device. For example, as device-based service control techniques involve supervision across an entire network, they become more sophisticated. , it becomes increasingly important to have an efficient and flexible control plane communication link between device agents and the network elements that communicate, control, monitor or verify service policy. In some embodiments, service control link device 1691 provides the device side of a system for service agent transmission and reception to/from network function elements. In some embodiments, the traffic efficiency of this link is enhanced by temporary storage and framed transmission of multiple agent messages in transmissions. In some embodiments, traffic efficiency is further improved by controlling the transmission frequency or linking the transmission frequency to the service usage or traffic usage rate. In some embodiments, one or more levels of security or encryption are used to make the link difficult to discover, eavesdrop, or compromise. In some embodiments, the service control link device 1691 also provides the communications link and heartbeat timing for the agent heartbeat function. As discussed below, various embodiments disclosed in the present invention for the service control link device 1691 provide a secure and efficient solution for transmitting and receiving service policy implementation, control, monitoring and verification information with other network elements.
[00158] As shown in Figure 3, service controller 122 includes a service control server link 1638. In some embodiments, device-based service control techniques involve supervision over an entire network (for example, , in the control plane) are more sophisticated, and for this it is increasingly important to have an efficient and flexible control plane communication link between device agents (eg, service processor 115) and network elements (by example, of the service controller 122) which communicates, controls, monitors or checks the service policy. For example, the communication link between the service control server link 1638 of the service controller 122 and the service control link device 1691 of the service processor 115 can provide an efficient and flexible control plane communication link. , a 1653 service control link as shown in Figure 3, and, in some embodiments, that control plane communication link provides a secure (e.g., encrypted) communications link to provide secure bi-directional communications between the service processor. 115 and the service controller 122. In some embodiments, the service control server bus 1638 provides the network side of a system for transmitting and receiving service agent to/from network function elements. In some embodiments, the traffic efficiency of this link is enhanced by temporary storage and framed transmission of multiple agent messages in transmissions (eg, thereby reducing network conversation). In some embodiments, traffic efficiency is further improved by controlling the transmission frequency and/or linking the transmission frequency to the service usage or traffic usage fee. In some embodiments, one or more levels of security and/or encryption are used to secure the link against discovery, eavesdropping, or potential compromise of communications on the link. In some embodiments, the service control server link 1638 also provides the communications link and heartbeat timing for the agent heartbeat function.
[00159] In some embodiments, the service control server link 1638 provides assurance, signature, encryption, and/or otherwise protection of communications prior to sending such communications over the service control link 1653. For example, the service control link service control server 1638 can send to the transport layer or directly to the data link layer for transmission. In another example, service control server link 1638 additionally secures communications with transport layer encryption, such as TCP TLS or another transport layer escrow protocol. As another example, the service control server link 1638 may encrypt at the data link layer, such as with the use of IPSEC, various possible VPN services, other forms of IP layer encryption, and/or another encryption technique. link-layer encryption.
[00160] As shown in Figure 3, the service controller 122 includes an access control integrity server 1654 (e.g., service policy security server). In some embodiments, the access control integrity server 1654 collects device information about service policy, service usage, agent configuration, and/or agent behavior. For example, Access Control Integrity Server 1654 can cross-check this information to identify integrity gaps in the service policy and control system implementation. In another example, the access control integrity server 1654 may initiate action when a service policy violation (eg, QoS policy violation and/or a network capacity controlled services policy violation) or a system integrity breach is suspect.
[00161] In some embodiments, the 1654 Access Control Integrity Server (and/or some other Service Controller Agent 122) acts on the 1694 Access Control Integrity Agent reports (for example, Policy Security Agent service) and error conditions. Many checks of the 1654 Access Control Integrity Agent can be performed by the server. For example, the 1654 Access Control Health Agent checks include one or more of the following: metering service usage against policy-consistent usage range (eg, metering network and/or device usage); agent configuration; operation of agents; and/or dynamic agent download transfer.
[00162] In some embodiments, the Access Control Integrity Server 1654 (and/or some other service controller agent 122) verifies service policy deployments by comparing various service usage metrics (for example , based on information monitored by network, such as through the use of IPDRs or CDRs, and/or service monitoring usage site information) against expected service usage behavior in view of the policies that are intended to be in place (for example, a QoS policy and/or a network capacity controlled services policy). For example, device service policy implementations may include measuring past total QoS data, past QoS data over a period of time, IP addresses, data by IP address and/or other measures such as location, downloads, email accessed, URLs and comparison of such measures of expected service usage behavior in view of the policies that are intended to be in place.
[00163] In some embodiments, the access control integrity server 1654 (for example, and/or some other service controller agent 122) checks the device service policy, and verification error conditions that may indicate a mismatch in QoS service measurement and QoS service policy includes one or more of the following: unauthorized network access (eg, access beyond environment service policy boundaries); unauthorized network speed (for example, average speed beyond service policy limit); the amount of data on the network does not match the QoS policy threshold (for example, the device does not stop at the threshold without reviewing the service policy); unauthorized network address; use of unauthorized service (eg, VOIP, email and/or web browsing); unauthorized application use (eg email, VOIP, email and/or web); service usage rate too high for plan, and policy controller not controlling/regulating flow; and/or any other mismatch in service measurement and service policy. Consequently, in some embodiments, the access control integrity server 1654 (and/or some other service controller agent 122) provides a service policy/control integrity service to check continuously (e.g., periodically and/or based on trigger events) that the device service control has not been compromised and/or is not behaving outside of policy (eg a QoS policy and/or a network capacity controlled services policy).
[00164] As shown in Figure 3, the service controller 122 includes a service history server 1650 (e.g., load server). In some embodiments, the 1650 service history server collects and records reports of service usage or service activity from the 1621 Access Network AAA Server and the 1696 Service Monitor Agent. network elements may, in certain embodiments, be less detailed than the device service history, the network service history can provide a valuable source for device service policy deployment verification, due to the fact that, for For example, it is extremely difficult for a device compromise or device error event to compromise network-based equipment and software. For example, device service history reports can include various service tracking information, as similarly described above. In some embodiments, service history server 1650 provides service history on request to other servers and/or one or more agents. In some embodiments, service history server 1650 provides service usage history to device service history 1618 (e.g., CDR feed and CDR mediation). In some embodiments, for purposes of facilitating activation tracking service functions (described below), the service history server 1650 maintains a history of which networks the device has connected to. For example, this network activity summary might include a summary of accessed networks, activity versus time per connection, and/or traffic versus time per connection. As another example, this activity summary can be further analyzed or reported to estimate the type of service plan associated with the traffic activity for the purpose of bill sharing reconciliation.
[00165] As shown in Figure 3, service controller 122 includes a policy management server 1652 (for example, policy decision point server (PDP)) to manage service usage policies, such as service usage policies. QoS and/or service policies controlled by network capacity. In some embodiments, policy management server 1652 transmits policies to service processor 115 over service control link 1653. In some embodiments, policy management server 1652 manages policy settings on the device (for example, , various policy settings as described in the present invention in relation to various embodiments) according to a device service profile. In some embodiments, the 1652 policy management server sets instant policies on policy deployment agents (for example, 1690 policy deployment agent). For example, the 1652 Policy Management Server can issue policy settings, monitor service usage, and, if necessary, modify policy settings. For example, in the case of a user who prefers the network to manage their service usage costs, or in the case of any adaptive policy management needs, the 1652 policy management server can maintain a relatively high frequency of communication with the device to collect traffic and/or service measurements and issue new policy settings. In this example, monitored service measures by device and any other user service policy preference changes are reported, periodically and/or based on various triggers/events/requests, to the 1652 policy management server. , user privacy settings generally require secure communication with the network (for example, a 1653 secure service control link), such as with the 1652 policy management server, to ensure that various aspects of user privacy are properly maintained during such configuration requests/policy settings transmitted over the network. For example, information can be confined to service policy management and not communicated to other databases used for CRM in order to maintain user privacy.
[00166] In some embodiments, the 1652 Policy Management Server provides adaptive policy management on the device. For example, policy management server 1652 may expedite policy settings and objectives and rely on device-based policy management (eg, service processor 115) for some or all policy adaptation. This approach may require less interaction with the device, thereby reducing network conversation on the 1653 service control link for device policy management purposes (for example, network conversation is reduced relative to various approaches to server- and network-based policy management described above). This approach can also provide robust user privacy modalities by allowing the user to configure device policy for user privacy preferences/settings so that, for example, sensitive information (eg geolocation data, history of website and/or other sensitive information) are not communicated to the network without user approval. In some embodiments, the 1652 Policy Management Server adjusts the service policy based on the time of day. In some embodiments, policy management server 1652 receives, requests and/or otherwise obtains a measure of network availability/capacity and adjusts traffic shaping policy and/or other policy settings based on availability/capacity available network (for example, a network occupancy state).
[00167] As shown in Figure 3, the service controller 122 includes a network traffic analysis server 1656. In some embodiments, the network traffic analysis server 1656 collects/receives service usage history for devices and/ or groups of devices and analyzes service usage. In some embodiments, the 1656 network traffic analysis server presents service usage statistics in various formats to identify improvements in network quality of service and/or profit of service. In some embodiments, the network traffic analysis server 1656 estimates the quality of service and/or service usage for the network under varying settings about potential service policies. In some embodiments, network traffic analysis server 1656 identifies actual or potential service behaviors by one or more devices that are causing problems for the quality of service or cost of service of the network as a whole. In some embodiments, network traffic analysis server 1656 estimates network availability/capacity for the network under varying configurations about potential service policies. In some embodiments, network traffic analysis server 1656 identifies actual or potential service behaviors across one or more devices that are impacting and/or causing problems for overall network availability/capacity.
[00168] As shown in Figure 3, Service Analysis, Test & Download 122B includes a 1658 beta test server (eg policy creation point and beta test server). In some embodiments, the 1658 beta test server publishes the candidate service policy settings plan for one or more devices. In some embodiments, the 1658 beta test server provides network service usage summary reports or user feedback information for one or more candidate service policy settings plan. In some embodiments, the 1658 beta test server provides a mechanism to compare beta test results for different candidate service policy settings plans or select optimal candidates for further policy setting optimization, such as to protect the ability to network.
[00169] As shown in Figure 3, the service controller 122 includes a service download control server 1660 (e.g., a service software download control server). In some embodiments, service download control server 1660 provides a download function to install and/or update service software elements (e.g., service processor 115 and/or service processor 115 agents/components) in the device as described in the present invention.
[00170] As shown in Figure 3, the service controller 122 includes a billing event server 1662 (e.g. micro-CDR server). In some embodiments, billing event server 1662 collects billing events, provides service plan information to service processor 115, provides service usage updates to service processor 115, serves as an interface between the device and the central billing server 1619, and/or provides true third-party function for certain e-commerce billing transactions.
[00171] As shown in Figure 3, the Access Network AAA HLR server 1621 is in communication with the access network 1610. In some embodiments, the Access Network AAA server 1621 provides the necessary Access Network AAA services (for example, authorization and access control functions for the device access layer) to allow devices over the central provider access network and the service provider network. In some embodiments, another layer of access control is required for the device to gain access to other networks, such as the Internet, an enterprise network and/or a machine-to-machine network. This additional layer of access control can be implemented, for example, by service processor 115 in the device. In some embodiments, the Inside Out Network AAA server 1621 also provides the ability to suspend service for a device and restart service for a device based on communications received from the service controller 122. In some embodiments, the Network AAA server Access Control 1621 also provides the ability to direct routing for device traffic to a quarantine network or to restrict or limit network access when a device quarantine condition is requested. In some embodiments, Access Network AAA server 1621 also logs and reports device network service usage (for example, device network service usage may be reported to device service history 1618).
[00172] As shown in Figure 3, device service history 1618 is in network communication with access network 1610. In some embodiments, device service history 1618 provides service usage data records used for various purposes in various modalities. In some embodiments, 1618 device service history is used to assist in verification of service policy implementation. In some embodiments, device service history 1618 is used to verify service monitoring. In some embodiments, the 1618 device service history is used to verify billing records and/or billing policy implementation (for example, to verify service usage charging). In some embodiments, device service history 1618 is used to synchronize and/or verify the local service usage counter (e.g., to verify service usage accounting).
[00173] As shown in Figure 3, central billing 1619 (e.g., central provider billing server) is in network communication with access network 1610. In some embodiments, central provider billing server 1619 provides a mediation function for central provider billing events. For example, central provider billing server 1619 can accept service plan changes. In some embodiments, central provider billing server 1619 provides updates on device service usage, service plan limits, and/or service policies. In some embodiments, central provider billing server 1619 collects billing events, formulates bills, bills service users, provides certain billing event data and service plan information to service controller 122 and/or device 100.
[00174] As shown in Figure 3, in some embodiments, modem control and selection 1811 (eg in communication with connection manager 1804 as shown) selects the access network connection and is in communication with the modem firewall 1655, and modem units 1831, 1815, 1814, 1813, 1812 convert data traffic to modem bus traffic for one or more modems and are in communication with modem control and select 1811. In some embodiments, different profiles are selected based on the selected network connection (eg different profiles/service policies for WWAN, WLAN, WPAN, Ethernet and/or DSL network connections), which is also called in the present invention multiple profile configuration modes. For example, service profile settings may be based on the actual access network (eg work network or home DSL/cable) versus Wi-Fi, not the fact that it is Wi-Fi (eg or any other network, such as DSL/cable, satellite, or T-1), which is viewed as different from accessing a Wi-Fi network in the cafeteria. For example, in a Wi-Fi point situation where there are a significant number of users in a DSL or T-1 data pool, the service controller might be sitting in a service provider cloud or an MVNO cloud, service control may be provided by a VSP capability offered by the service provider or the service controller may be owned by the peer service provider using the service controller by itself without any association with a network service provider. access. For example, the service processor can be controlled by the service controller to divide the available bandwidth at the point according to QoS or user sharing rules (eg with some users with higher differentiated priority (eg potentially to higher service payments) compared to other users). As another example, environment services (for example, as similarly described in the present invention) can be provided to the point to verified service processor.
[00175] In some embodiments, the service processor 115 and the service controller 122 are capable of assigning multiple service profiles associated with multiple service plans that the user chooses individually or in combination as a bundle. For example, a device 100 starts with environment services that include free transaction services where the user pays for transactions or events instead of the basic service (eg, new service, eReader, PND service, Internet session from pay-per-use) where each service is supported with a per-account billing capability to correctly account for any subsidized partner billing to provide the transaction services (eg Barnes and Noble can pay for the eReader service and offer a share of revenue to the service provider for any book or magazine transactions purchased with the device 100). In some embodiments, billing per service account may also track transactions and, in some embodiments, advertisements for the purpose of revenue sharing, all using the service tracking capabilities disclosed in the present invention. After starting the services with the free environment service discussed above, the user can later choose an Internet, email and SMS service for monthly payment afterwards. In that case, the service controller 122 would obtain from the billing system 123 in the case of network-based billing (for example, or the billing event server 1622 of the service controller 122 in the case of device-based billing) , the billing plan code for the new Internet, email and SMS service. In some embodiments, this code is cross-referenced to a database (for example, policy management server 1652) to find the appropriate service profile for the new service in combination with the initial environment service. The new superset service profile is then applied so that the user maintains free access to environment services, and billing partners continue to subsidize those services, the user also gets access to Internet services and can choose the profile of service control (for example, from one of the modalities disclosed in the present invention). The superpool profile is the profile that provides the combined capabilities of two or more service profiles when the profiles are applied to the same service processor of device 100. In some embodiments, device 100 (service processor 115) may determine the profile superset instead of service controller 122 when more than one “stackable” service is selected by the user or otherwise applied to the device. The flexibility of the service processor 115 and service controller 122 modalities described in the present invention allows a wide variety of service profiles to be defined and applied individually or as a superset to achieve desired device 100 service capabilities.
[00176] As shown in Figure 3, an agent communication bus 1630 represents a functional description for providing communication for the various agents and service processor functions 115. In some embodiments, as represented in the functional diagram illustrated in Figure 3, the Bus architecture is generally multipoint to multipoint so that any agent can communicate with any other agent, the service controller or in some cases other device components, such as 1697 user interface and/or modem components. As described below, the architecture can also be point-to-point for certain agents or communication transactions, or point-to-multipoint within the agent framework so that all agent communication can be concentrated, guaranteed, controlled, constrained, logged, or reported. In some embodiments, the agent communication bus is secured, signed, encrypted, hidden, split and/or otherwise protected from unauthorized monitoring or use. In some embodiments, an application interface agent (not shown) is used to literally or virtually tag application layer traffic so that the 1690 policy deployment agent has the information it needs to deploy traffic shaping solutions selected. In some embodiments, an application interface agent (not shown) is in communication with multiple applications, including a TCP 1604 application, an IP 1605 application, and a 1602 voice application.
[00177] As shown in Figure 3, service processor 115 includes an API and OS 1693 stack interface. In some embodiments, the OS 1693 and API stack interface provides QoS API functionality as described similarly in present invention in relation to various embodiments. In some embodiments, a QoS API is used to re-report QoS availability to applications. In some embodiments, the API stack interface and OS 1693 provide network-controlled API capability and/or emulated API functionality as described similarly in the present invention with respect to various embodiments. As shown, service processor 115 also includes a router 1698 (e.g., a QoS agent/function router and/or network capability controlled services agent/router function) and a policy decision point agent (PDP) 1692. In some embodiments, router 1698 provides router QoS functionality as described similarly in the present invention with respect to various embodiments. In some embodiments, router 1698 provides network capability controlled services router functionality as described similarly in the present invention with respect to various embodiments. In some embodiments, the QoS router supports multiple QoS channels (eg, one or more provided/allocated QoS links that form a QoS channel between the device and the desired endpoint, such as an access point/BTS/ communication port/network for a single-end QoS channel or other communication device for an end-to-end QoS channel, depending on connection/network support/availability/QoS etc.). In some modalities, the QoS router supports multiple QoS channels, which can have different classes/levels of QoSes. In some embodiments, the QoS router routes application/service usage traffic to an appropriate QoS channel. In some embodiments, the QoS router determines routing/mapping based, for example, on one or more of the following: a QoS API request, a QoS activity map, a user request, a service plan, a service profile, service policy settings, network capacity, service controller or other intermediary QoS network element/function/device and/or any other criterion/measure, as similarly described in the present invention in relation to various modalities. In some embodiments, multiple different applications/services are routed to a particular QoS channel using various techniques described in the present invention. In some embodiments, different applications/services are routed to different QoS channels using various techniques described in the present invention. In some modalities, the QoS router helps in managing and/or optimizing the use of QoS for the communications device. In some embodiments, the QoS router assists in managing and/or optimizing QoS usage across multiple communications devices (eg, based on network capacity for a particular cell area/base station or other access point ). In some embodiments, the PDP agent 1692 provides PDP agent functionality as similarly described in the present invention with respect to various embodiments. As shown, architecture 300 also includes a resume suspend interface 320, network QoS provision interfaces 330 (e.g., to provide the various QoS techniques described in the present invention) and a wake/suspend resume server 340 and a billing interface server 350 on service controller 122A.
[00178] In some embodiments, Device Aided Services (DAS) techniques to provide an activity map to classify or categorize service usage activities to associate various monitored activities (eg, by URL, by network domain, by site web traffic, by network traffic type, by application or application type, and/or any other classification/categorization of service usage activity) with associated IP addresses are provided. In some embodiments, a policy control agent (not shown), service monitor agent 1696 (e.g., loader), or other agent or function (or combinations thereof) of service processor 115 provides a map of DAS activity. In some embodiments, a policy control agent (not shown), service monitor agent, or other service processor agent or function (or combinations thereof) provides an activity map to classify or categorize service usage activities to associate various monitored activities (eg, by Uniform Resource Locator (URL), by network domain, by website, by type of network traffic, by socket (such as by IP address, protocol, and/or port), by socket id (such as port number/address), by port number, by content type, by application or application type, and/or any other categorization/classification of service usage activity) with associated IP addresses and/or other measures and criteria. In some embodiments, a policy control agent, service monitor agent, or other service processor agent or function (or combinations thereof) determines the associated IP addresses for monitored service usage activities using various techniques for tracing the DNS request(s) (for example, by performing such tracing techniques on device 100, the associated IP addresses can be determined without the need for a network request for a reverse DNS lookup) . In some embodiments, a policy control agent, service monitor agent, or other service processor agent or function (or combinations thereof) records and reports IP addresses or includes a DNS lookup function to report IP addresses. IP or IP addresses and associated URLs for monitored service usage activities. For example, a policy control agent, service monitor agent, or other service processor agent or role (or combinations thereof) may determine the associated IP addresses for monitored service usage activities using various techniques for performing a DNS lookup function (eg using a local DNS cache on the monitored device 100). In some embodiments, one or more of these techniques are used to dynamically maintain and build a DAS activity map that maps, for example, URLs to IP addresses, applications to IP addresses, content types to IP addresses, and/ or any other classification/categorization for IP addresses as applicable. In some embodiments, DAS activity map is used for various DAS traffic limiting and/or control techniques as described in this document in relation to various modalities to provide QoS for DAS and/or to provide DAS to protect capacity network. In some modalities, the DAS activity map is used to provide the user with various UI related information and notification techniques related to service usage as described in this document for various modalities. In some embodiments, the DAS activity map is used to provide service usage monitoring, estimating/predicting future service usage, service usage billing (eg billing per account and/or any other data categorization techniques). billing/service usage), DAS techniques to monitor usage of environmental services, DAS techniques to generate micro-CDRs, and/or any of the various other DAS-related techniques as described herein in relation to various modalities .
[00179] In some embodiments, all or a portion of the service processor functions 115 disclosed herein are implemented in software. In some embodiments, all or a portion of service processor functions 115 are implemented in hardware. In some embodiments, all or substantially all service processor functionality (eg, as discussed herein) is deployed and stored in software that can be performed on (eg, performed by) various components in device 100. In some embodiments. , it is advantageous to store certain or all portions of service processor 115 in protected and secure memory so that other unwanted programs (e.g., and/or unauthorized users) have difficulty accessing functions or software in service processor 115. in some embodiments, the service processor 115, at least in part, is implanted in and/or stored in secure nonvolatile memory (e.g., nonvolatile memory may be secure nonvolatile memory) that is not accessible without access keys and/ or other security mechanisms (eg security credentials). In some embodiments, the ability to load at least a portion of the service processor 115 software into protected nonvolatile memory also requires a signature and/or secure key and/or requires that the service processor 115 software components be loaded into nonvolatile memory is also securely encrypted and properly signed by an authority that is trusted by a secure software download transfer function, such as download service 1663 as shown in Figure 3. In some embodiments, a Secure software download transfer mode also uses secure non-volatile memory. Those of ordinary skill in the technique will also appreciate that all memory can be on-chip, off-chip, on-board, and/or off-board.
[00180] Figures 4A to 4C illustrate a functional diagram to provide quality of service (QoS) for device-assisted services (DAS) according to some modalities. In some embodiments, QoS for DAS techniques described in this document are implemented using the network architecture shown in Figures 4A through 4C.
[00181] Referring to Figure 4A, in some embodiments, the QoS functionality is performed in the communications device 100 using the service processor 115 as similarly described herein. For example, service processor 115 determines whether a QoS request is authorized or not (for example, based on the associated service plan and/or other measures and criteria). If the QoS request is authorized, then the service processor 115 communicates with the base station (BTS) 125 to send the QoS request (e.g., a RAB reservation request or multiple RABs) to the local BTS. The BTS determines whether to accept or deny the QoS request (for example, based on network capacity, such as using a network bandwidth/service QoS first come first or best effort access policy or other techniques, and/or other measures and criteria). BTS responds to the QoS request accordingly. If the QoS request is guaranteed, the QoS session can be initiated as described similarly in this document. In some embodiments, service processor 115 also performs various QoS loading functions using various techniques described herein, and service processor 115 periodically sends QoS loading records or reports to service controller 122 (per example, and/or another function/network element). In some embodiments, service processor 115 and QoS-related functions performed by service processor 115 are periodically checked using the various techniques described herein.
[00182] Referring to Figure 4B, Figure 4B is similar to Figure 4A except that the service controller 122 is also shown to be in communication with the service processor 115 of the communications device 100, which can provide handover by periodic download and update of QoS rules and/or other policy/profile/service plan information which may include QoS related information. In some embodiments, service processor 115 also performs various QoS loading functions using QoS. various techniques are described herein, and the service processor 115 periodically sends QoS load records or reports to the service controller 122 (e.g., and/or other network function/element). In some embodiments, service processor 115 and QoS-related functions performed by service processor 115 are periodically checked using the various techniques described herein.
[00183] Referring to Figure 4C, at 410, the service processor 115 sends a QoS request to the service controller 122 (e.g., the service processor can also (at least in part) determine whether the QoS request is authorized as similarly described in relation to Figure 4A). At 420, the service controller 122 sends the QoS request to the BTS 125 if it is determined that the QoS request is authorized using various techniques described herein and/or if the BTS 125 has network capability for the request. of QoS. For example, the service controller can provide a central policy decision point function for QoS-related activities (eg, based on QoS prioritization, network capacity, and/or other measures and criteria/policies ). At 430, the service controller 122 communicates the response to the QoS request accordingly. At 440, if the QoS request passes, device 100 initiates the QoS session (for example, using a reservation of RAB or multiple RABs) via BTS 125. In some embodiments, service processor 115 it also performs various QoS loading functions using various techniques described in this document, and service processor 115 periodically sends QoS loading records or reports to service controller 122 (e.g., and/or other function/element network). In some embodiments, service processor 115 and QoS-related functions performed by service processor 115 are periodically checked using the various techniques described herein.
[00184] In some embodiments, QoS techniques, as described in this document, are implemented in the device (for example, using service processor 115) and one or more other network elements/functions, such as the BTS 125, service controller 125, RAN, SGSN/GGSN/other gateways and/or other network elements/functions, in which various of the QoS-related functions can be distributed or allocated to such network elements/functions based on various approaches network design/architecture as will now become apparent to a person of ordinary skill in the art, in which QoS related activities and/or functions in device 100 are verified using the various verification techniques described in this document.
[00185] In some modalities, the device determines QoS availability by directly querying QoS link reservation equipment in the network (for example, an access point, such as the BTS 125). In some embodiments, the device determines QoS availability based on an intermediary network function that coordinates QoS requests with one or more network QoS link resources. In some embodiments, the device requests a QoS reservation prior to establishing a QoS link with one or more QoS network link resources. In some embodiments, in response to a QoS request, a QoS channel is reported as available only if /after it is determined that the one or more necessary QoS links required to create the QoS channel are available, and, for example, the QoS channel can then be reserved based on an acknowledgment or if reserved automatically in response to QoS request.
[00186] Figure 5 illustrates a functional diagram to generate a QoS activity map for quality of service (QoS) for device-assisted services (DAS) according to some modalities. In particular, Figure 5 illustrates techniques for mapping a Serbian plan or service plan policy/rules set for QoS 510 to a QoS activity rule set 530. As shown, a QoS rule set/information 510 QoS-related device status (for example, a set of associated service plan, service plan usage, other status such as network capacity or forecast demand or time of day/weekday, activity usage, level of QoS, and/or user preferences) are mapped using a QoS mapping function to a set of QoS activity rules 530 using various techniques described in this document. In 530, activity rules (eg, activity policy rules instructions) 530 are determined using the 520 mapping function. similar with using the techniques described in relation to Figure 5 (for example, to generate and deploy an activity map of controlled network capacity services).
[00187] In some embodiments, the service plan includes a list of activity policies, and each activity policy in the service plan specifies how the activity policy is modified by rule state information. In some embodiments, each activity policy then becomes the instruction for the engine which (eg QoS mapping function 520) maps the activity policy to 530 QoS activity rules. In some embodiments, the service controller 122 downloads QoS mapping function 520, which is implemented by service processor 115.
[00188] In some embodiments, the service processor determines (for example, and classifies) demand from service/application usage activity with or without granular service/application usage activity (for example, depending on multiple user/application plan service/service provider/network/legal and/or other privacy restrictions and/or any other related requirements or settings). For example, policies (eg service policy settings and/or service profile settings) can be downloaded to provide such service/application usage activity monitoring rules and a QoS activity map to designate such activities monitored at various QoS classes or priorities, and, in some modalities, such monitoring and the QoS activity map can also be implemented using the various verification techniques described in this document (eg periodically audited, tested , compared with network service usage information). In some embodiments, the QoS activity map is based on a service plan, service profile, and/or service policy settings associated with the communications device. In some embodiments, the QoS activity map is based on a user group and/or device group. In some embodiments, the QoS activity map is based on user input (eg a communications device user may identify service levels/QoS classes for various service activities and/or applications in response to requests for user input, based on user settings, user-defined rules (eg to eliminate or mitigate net neutrality and/or privacy issues/concerns), and/or preferences or patterns related to monitored user attitude QoS confirmed). In some embodiments, the QoS activity map includes mappings/associations based on one or more of the following: a user preference for a given target, target class, application, application class (eg by application class instead of in relation to a specific application can also eliminate or mitigate issues/concerns of net neutrality and/or privacy), flow, traffic or flow class, time period, time of day, location, network busy state (for example , provide QoS when it can, then charge more when busy, notify user of busy state), device type, user type, user plan, user group, user position, partnership service, tokens, service type, and/or other criteria and measures.
[00189] In some embodiments, various techniques described in this document are managed by device 100 for outgoing and/or incoming QoS requests. In some embodiments, as shown in Figure 6, QoS for DAS includes establishing an end-to-end coordinated QoS service channel control.
[00190] Figure 6 illustrates a functional diagram for quality of service (QoS) for device-assisted services for an end-to-end coordinated QoS service channel control according to some modalities. As shown in Figure 6, a wireless communications device 100A includes a service processor 115A in secure communication with service controller 122A. A wireless communications device 100B includes a service processor 115B in secure communication with service controller 122B. In some embodiments, when, for example, device 100A initiates a QoS request for a QoS class session in communication with device 100B (for example, a VOIP call or other application service that requires or possibly uses a session level/class QoS, such as a conversational or other type of class/level QoS), as a sequence of actions performed using the 122A service controller and 122B service controller to facilitate/configure a channel control of end-to-end coordinated QoS service. In some embodiments, as similarly described herein, assuming that service processor 115A and service controller 122A determine that the QoS request of device 100A is authorized for that device, then service controller 122A goes into contact 650 registry (for example, a device registry, such as an HLR, mobile service center, or other database or central registry that includes, for example, service controller mappings by device/IP address/other ) to determine the service controller associated with /responsible for managing QoS/service control for device 100B. Register 650 provides the 122B service controller information (eg IP address/other address) based on this lookup determination. In some embodiments, service controller 122A then initiates the QoS request with service controller 122B to determine if device 100B is authorized and/or available for the QoS session requested by device 100A. In some embodiments, the service controller 122A/B communicates with BTSs 125A/B to determine whether the QoS request can be facilitated (e.g., based on network capacity) as described similarly herein. In some embodiments, service controllers 122A and 122B provide the central QoS coordination function and may request appropriate QoS channels directly from the respective local BTSs. In some embodiments, service controllers 122A and 122B also communicate with one or more of the following network elements/functions as shown in Figure 6 in order to facilitate an end-to-end coordinated QoS service channel control: RAN 610 /670, Core Network 620/660, and IPX network 630. In some embodiments, the 122A and 122B service controllers communicate with various network elements needed for provisioning in order to facilitate session provisioning over the core network. carrier as discussed similarly above. In some embodiments, service controllers 122A and 122B communicate with various network elements required for provisioning in order to facilitate session provisioning over the IPX network as discussed similarly above. As will be apparent to a person of ordinary skill in the art, QoS for DAS techniques as described in this document can be similarly deployed using these or similar techniques for various other network architectures.
[00191] Figure 7 illustrates a flowchart for quality of service (QoS) for device-assisted services (DAS) according to some modalities. At 702, the process starts. At 704, QoS rules are received or determined (for example, a service processor receives or requests QoS rules, which may be included in the service plan, service profile, and/or associated service policy settings with the communications device). In some modalities, QoS rules are verified using various techniques as described in this document (for example, tested, obfuscated, downloaded, replaced and/or periodically updated using a service controller and/or using other verification techniques). In some embodiments, a QoS API is also used by multiple applications to initiate a QoS request, as described in this document for multiple modalities. In some modalities, QoS rules are implemented in the form of a QoS activity map according to several modalities described in this document. At 706, the position of the communications device for QoS is determined using various techniques described in this document (for example, based on service plan, service profile, service policy settings, QoS rules, based on in the QoS class, current service usage, current billing position, and/or any other criteria/measure). In some modalities, in addition to verifying the user/device position for QoS request, whether the device is following or in compliance with a designated QoS reservation request policy is also verified using various techniques described in this document . If the device is determined not to be eligible for QoS, then at 708, the device user interface (UI) provides information regarding ineligibility/deny for QoS session(s) (eg explanation of ineligibility/deny and/ or options to provide one or more QoS options, such as a service plan upgrade or payment for a given/set of/time period for accessing QoS session(s). If the device is determined to be eligible for QoS, then at 710, the availability of QoS is determined (for example, based on network capacity, which can be determined on the device, through communication with the service controller, by means of communication with BTS, and/or any combination thereof, using the various techniques described in this document). If QoS is determined not to be available, then at 712, the UI provides information and/or options regarding the availability of QoS (for example, explanation of unavailability and/or options to provide one or more QoS options, such as an update of service plan or payment for a given/set of/time period for accessing QoS session(s). If QoS is determined to be available, then at 714, a request for network resources for the QoS session is sent to one or more network resources (eg, service controller, BTS, gateway, transport/core network, networks IPX/GRX, and/or other network elements/functions/resources). At 716, an approved QoS session acknowledgment is received to close the loop for QoS for DAS (for example, a QoS schedule is received that provides the QoS session acknowledgment information, such as a scheduled RAB/multiple RAB and/or other network resources reserved by schedule/other criteria). At 718, one or more verification techniques are performed to verify QoS for DAS deployment on the device using various verification techniques described in this document (eg, compare QoS service usage reports from a network source with the associated device policy; compare QoS service usage reports from a network source with the device's QoS service usage reports, and/or use other verification techniques as similarly described in this document). At 720, the process is complete.
[00192] Figures 8A to 8C each illustrate another flowchart for quality of service (QoS) for device-assisted services (DAS) according to some modalities. Figure 8A illustrates another flowchart for quality of service (QoS) for device-assisted services (DAS) according to some modalities. At 802, the process starts. In some modalities, QoS policies are implemented on the device (eg service processor collects/receives an associated service plan that defines/specifies basic QoS policies, which may include a QoS activity map, which, for example, maps QoS classes based on application, service usage, flow type, destination, time of day, network capacity, and/or other metrics and criteria, as similarly described in this document). In some embodiments, a QoS API is also used by multiple applications to initiate a QoS request, as described in this document for multiple modalities. In some modalities, QoS rules are implemented in the form of a verified QoS activity map according to various modalities described in this document. In 804, a QoS request is determined (eg by QoS class for an associated service/particular application). In some embodiments, the QoS request is determined at least in part by using the QoS activity map using various techniques described in this document, for example, based on monitoring application/service usage on the device (by example, by the service processor service usage monitoring agent). In some modalities, the QoS request is determined based on the QoS API. In some modalities, the QoS request is determined to be associated with an outbound connection or an inbound connection. In 806, whether the QoS request is authorized is determined (for example, if the QoS request is supported by the service plan, sufficient load credit exists for that QoS request, and/or other measures and criteria). If not, then at 808, the UI provides a responsive notification and/or option as similarly described herein. If the QoS request passes, then at 810, a request for network resources for the QoS session is sent to one or more network resources (eg service controller, BTS, gateway, transport network/core, IPX/GRX networks, a/another service controller in communication with another communications device such as to configure a conversational class QoS connection with the other communications device, and/or other network elements/functions/resources). If the device is determined to be eligible for QoS, then at 810, the availability of QoS is determined (for example, based on network capacity, which can be determined on the device, through communication with the service controller, by means of communication with the BTS or other function/network element, and/or any combination thereof, using the various techniques described in this document). If QoS is determined not to be available, then at 812, the UI provides information and/or options regarding the availability of QoS (for example, explanation of unavailability and/or options to provide one or more QoS options, such as an update of service plan or payment for a given/set of/time period for accessing QoS session(s). If QoS is determined to be available, then at 814, a request for network resources for the QoS session is sent to one or more network resources (eg service controller, BTS, gateway, transport/core network, networks of IPX/GRX, and/or other network elements/functions/resources, to configure, for example an end-to-end QoS connection - coordinate all end-to-end resources for the verified and approved QoS flow). At 816, an approved QoS session acknowledgment is received to close the loop for QoS to DAS (for example, a QoS schedule is received that provides the QoS session acknowledgment information, such as a scheduled RAB/multiple RAB and/or other network resources reserved by schedule/other criteria). At 818, a QoS router is run/performed on the communications device to assist in QoS deployment for DAS using various verification techniques described in this document (for example, to perform QoS query, throttling, and/or other QoS router related functions as described in this document). At 820, verified QoS loading is performed (eg, at least in part) on the device using various techniques described in this document (eg, using the service processor, such as loading/monitoring of use of service and/or other agents as described in this document). In some embodiments, QoS charging records and/or reporting are provided to one or more network elements to manage QoS charging and/or other service control functions related to QoS charging/management (eg to the controller of service and/or the billing interface or billing server). In some embodiments, QoS for DAS also facilitates re-establishing the QoS transmission/channel/connection/session if the QoS transmission/channel/connection/session is lost or dropped, using techniques similar to those described in this document as it would be. apparent to a person of ordinary skill in the technique. In 822, the process is completed. In some modalities, the QoS provisioning channel is closed when the device session is over to, for example, free up various resources.
[00193] Figure 8B illustrates another flowchart for quality of service (QoS) for device-assisted services (DAS) according to some modalities. In some modalities, QoS for DAS includes identifying the QoS requirements (eg QoS level or QoS class) for a service activity. At 824, the process starts. In some modalities, QoS policies are implemented on the device (eg service processor collects/receives an associated service plan that defines/specifies basic QoS policies, which may include a QoS activity map, which, for example, maps QoS classes based on application, service usage, flow type, destination, time of day, network capacity, and/or other metrics and criteria, as similarly described in this document). In some modalities, QoS rules are implemented in the form of a verified QoS activity map according to various modalities described in this document. At 826, the device monitors device activity, such as application/service usage activities. In some embodiments, the device detects relevant activities based on the various service usage monitoring techniques described in this document. At 828, a QoS request is determined, for example, using various techniques described in this document. In 830, a QoS level is determined based on the monitored application and/or device application/service usage activities associated with the QoS request using various techniques described in this document. For example, the QoS level can be determined using the QoS activity map, which provides a QoS policy defined by a table that associates various QoS levels with a variety of activities that include application/use activities. device monitored service. In some embodiments, the QoS activity map includes QoS level mappings to one or more of the following: application, destination/source, traffic type, connection type, content type, time of day/weekday, capacity network, activity usage, service plan selection, current location, user class, device class, home/mobility, network capabilities, and/or other measures and criteria as similarly described in this document. In some modalities, in 832, if the QoS level cannot be determined and/or in order to confirm a QoS level or selection among multiple potential approved/appropriate QoS levels, the UI presents options for a user to select the level of QoS. In 834, the QoS request is initiated for the given QoS level (eg QoS class and/or priorities). At 836, the process is completed.
[00194] Figure 8C illustrates another flowchart for quality of service (QoS) for device-assisted services (DAS) according to some modalities. In some modalities, QoS for DAS includes determining whether the network should grant the QoS request for a particular device activity. At 842, the process starts. At 844, the QoS request is determined. At 846, the position of the communications device for QoS is determined using various techniques described in this document (for example, a service processor in combination with a service controller or based on communication for authorization of the sent QoS request to the service controller determines whether the QoS request is authorized, which can be based on service plan, service profile, service policy settings, QoS rules, based on QoS class, current service usage, position current billing, and/or any other criteria/measure). If the device is determined not to be eligible for QoS, then at 848, the Device User Interface (UI) provides information regarding ineligibility/deny for QoS session(s) (eg explanation of ineligibility/deny and/ or options to provide one or more QoS options, such as a service plan upgrade or payment for a given/set of/time period for accessing QoS session(s). If the device is determined to be eligible for QoS, then at 850, the availability of QoS is determined (for example, based on network capacity, which can be determined on the device, through communication with the service controller, by means of communication with the BTS or other function/network element, and/or any combination thereof, using the various techniques described in this document). If QoS is determined not to be available, then at 852, the UI provides information and/or options regarding the availability of QoS (eg, explanation of unavailability and/or options to provide one or more QoS options, such as an update of service plan or payment for a given/set of/time period for accessing QoS session(s). If QoS is determined to be available, then at 854, a request for network resources for the QoS session is sent to one or more network resources (eg service controller, BTS, gateway, transport/core network, networks IPX/GRX, and/or other network elements/functions/resources can be consulted directly and/or a database/network element/function/centralized QoS resource can be consulted to determine such network resources and coordinate such scheduling). At 856, an approved QoS session acknowledgment is received to close the loop for QoS to DAS (for example, a QoS schedule is received that provides the QoS session acknowledgment information, such as a scheduled RAB/multiple RAB and/or other network resources reserved by schedule/other criteria). In 858, a QoS router is realized. In some embodiments, the QoS router is performed on the device (eg, service processor), a function/network element (eg, service controller), and/or combinations thereof. In some embodiments, the QoS router prioritizes multiple QoS requests by a given communications device. In some embodiments, the QoS router prioritizes multiple QoS requests across multiple communications devices and/or across multiple BTSs. In some embodiments, the QoS router performs various promotion techniques, QoS class degradation, and/or other limiting-related techniques as described similarly in this document (for example, based on session priority, network capacity , workload balancing, QoS priority rules, and/or other measures and criteria/rules). At 860, the process is completed.
[00195] Figure 9 illustrates another flowchart for quality of service (QoS) for device-assisted services (DAS) according to some modalities. In some modalities, QoS for DAS includes QoS session provisioning for a service activity. At 902, the process starts. At 904, a new QoS session is granted and/or acknowledged. In 906, a device service processor (for example, policy decision point agent (PDP), also referred to herein as a policy control agent) maps the granted QoS session to a QoS monitoring policy (for example, based on a QoS-related policy provided by service controller, based on a service plan associated with the device, user, device/user group, and/or other measures and criteria as described above similar in this document). In 908, the QoS monitoring policy provides commands/instructions to a policy enforcement point (PEP) (eg PEP agent, also referred to in this document as a policy deployment agent) to manage/enforce the new QoS sessions/priorities. In 910, the PEP determines whether to allow, block, limit, and/or query priority (eg, and/or otherwise control using techniques related to traffic control) a policy-based session of QoS monitoring. In 912, the process is completed.
[00196] Figure 10 illustrates another flowchart for quality of service (QoS) for device-assisted services (DAS) according to some modalities. In some modalities, Radio Access Bearer (RAB) support is available, and the following process is performed according to some modalities. At 1002, the process starts. At 1004, the device service processor detects a QoS request or QoS need (for example, a QoS API request, a QoS request or QoS session need/benefit based on monitoring service usage, such as by application and/or other service usage activity/measure). At 1006, the service processor and/or service processor in communication with the service controller determines whether the service plan allows/supports the requested QoS. If not, then in 1008, a UI event is generated (eg notify the device user that such QoS/class/QoS level is not available, and potentially offers a QoS/service plan update/purchase for that QoS/class/QoS level). At 1010, the service processor communicates the QoS request to the service controller (for example, using a secure service control link or secure communication channel, as described similarly in this document) to request the class /QoS level. At 1012, the service controller determines whether network resources are available using various techniques as described in this document. In some embodiments, network capacity is determined using various techniques, such as local device measurements; dedicated local device measurement reports; BTS reports; other network element reports; when evaluating, for example, a combination of one or more of available bandwidth, traffic latency or delay, level of available QoS, variability in available bandwidth, variability in latency, and/or variability in level of available QoS; and/or other techniques as described herein. At 1014, the service controller responds to the QoS request (for example, grants or denies the QoS request). In some embodiments, another UI event is generated if the QoS request is denied as described similarly in this document. At 1016 (assuming the QoS request is granted), the device requests a QoS channel from the BTS. In some embodiments, the request includes a QoS request authorization code received from the service controller. In some modalities, the service controller provides notification of the QoS request approval for the communications device to the BTS so that the BTS can verify the approval of the QoS request. In some modalities, the BTS confirms the channel request of device QoS directly with the service controller. For example, various other techniques for verifying the QoS channel request can also be used as similarly described herein and as would be apparent to a person of ordinary skill in the art. In some embodiments, the device service processor and/or service controller provides QoS-related reports that inform the BTS of how many QoS channels (eg, RABs) to provision and how many best effort resources to provision based on demand projections of device. At 1018 (assuming the QoS channel request is verified), the QoS session is initiated based on an allocated RAB reservation or multiple RABs received from the BTS (eg, and/or other network elements as described above similar in this document). In 1020, the process is completed.
[00197] Figure 11 illustrates another flowchart for quality of service (QoS) for device-assisted services (DAS) according to some modalities. In some modalities, RAB support is not available, and the following process is performed according to some modalities. At 1102, the process starts. At 1104, the device service processor detects a QoS request or QoS need (for example, a QoS API request, a QoS request or QoS session need/benefit based on service usage monitoring, such as by application and/or other service usage activity/measure). At 1106, the service processor and/or service processor in communication with the service controller determines whether the service plan allows/supports the requested QoS. If not, then at 1108, a UI event is generated (eg notify the device user that such QoS/class/QoS level is not available, and potentially offers a QoS/service plan update/purchase for that QoS/class/QoS level). At 1110, the service processor communicates the QoS request to the service controller (for example, using a secure service control link or secure communication channel, as described similarly in this document) to request the class /QoS level. At 1112, the service controller determines whether network resources are available using various techniques as described in this document. In some embodiments, network capacity is determined using various techniques, such as local device measurements, BTS reporting, other network element reporting, and/or other techniques as described herein. In some embodiments, the service controller limits other devices on the link so that the requested QoS level can be achieved (for example, as RAB support is not available). In some embodiments, the device service controller time slot traffic ends in synchronization with a BTS clock or absolute clock to facilitate the requested QoS level and to achieve the network capacity needed to support/facilitate the QoS level requested (eg, minimize phase drift/inter-packet delay drift) based on current/anticipated network capacity on the link. At 1114, the service controller responds to the QoS request (for example, grant or deny the QoS request). In some embodiments, another UI event is generated if the QoS request is denied as described similarly in this document. At 1116 (assuming the QoS request is granted), the device requests the QoS session. At 1118, the device service processor and/or the device service processor in secure communication with the service controller monitors and verifies the QoS session using the various monitoring and verification techniques described in this document (eg, checking CDRs to determine if the QoS channel is properly deployed by the device). In some embodiments, a UI event is generated to notify the device user if there are potential issues with QoS session deployment, to periodically inform the user of QoS loading, and/or other events/information related to QoS activities In 1120, the process is completed.
[00198] Figure 12 illustrates a device stack to provide various service usage measurement techniques according to some modalities. Figure 12 illustrates a device stack that provides various service usage metrics from various points in the network stack for a service monitor agent (for example, to monitor QoS-related activities and/or to monitor capacity-controlled services. network as described in this document), a billing agent, and an access control integrity agent to assist in verifying service usage measurements, QoS-related activities and functions, and billing reporting under certain modalities. As shown in Figure 12, several service agents participate in data path operations to achieve various data path enhancements, and for example, several other service agents can manage policy settings for the data path service, deploy charge for data path service, manage one or more modem selection and access network connection settings, user interface and/or provide service policy implementation verification. Additionally, in some modalities, multiple agents perform functions to assist in verifying that the service monitoring or control policies intended to be in place are properly implemented, the service monitoring or control policies are being adhered appropriately, that the service or one or more service agents are operating properly, to prevent unintended errors in policy control or implementation, and/or to prevent/detect tampering with service or control policies. As shown, service measurement points labeled I through VI represent multiple service measurement points for service monitor agent 1696 and/or other agents to perform various service monitoring activities. Each of these measurement points can serve a useful purpose in several modalities described in this document. For example, each of the traffic measurement points that is employed in a given project can be used by a monitoring agent to track application layer traffic through the communication stack to aid policy implementation functions such as the agent /1690 policy deployment unit (eg agent/policy enforcement point unit), or in some embodiments the 1655 modem firewall agent or the application interface agent, when making a determination regarding parameters or traffic type Since the traffic is further down the communication stack it is sometimes difficult or impossible to make a complete determination of traffic parameters. The particular locations for measurement points provided in these figures are intended as instructional examples, and other measurement points may be used for different modalities, as will be apparent to a person of ordinary skill in the art in view of the modalities described herein. Generally, in some embodiments, one or more measurement points within the device can be used to aid in service control verification and/or service or device troubleshooting.
[00199] In some embodiments, the service monitor agent and/or other agents implement virtual traffic tagging by tracking or fetching packet flows through the various steps of encryption, processing and formatting of the communication stack, and providing the information of virtual tag to the various agents that monitor, control, shape, limit, or otherwise observe, manipulate, or modify traffic. This tagging approach is referred to in this document as virtual tagging, because there is no literal data flow, traffic flow, or packet tag that is attached to flows or packets, and accounting for tagging the packet is done through tracking or fetch the stream or packet through or instead through the stack. In some embodiments, the application interface and/or other agents identify a traffic flow, associate it with a service usage activity, and cause a literal tag to be attached to the traffic or packets associated with the activity. This tagging approach is referred to in this document as literal tagging. There are several advantages to both virtual tagging and literal tagging approaches. For example, it may be preferable in some embodiments to reduce the inter-agent communication required to track or fetch a packet through stack processing by designating a literal label so that each stream or packet has its own association built into the data. As another example, it may be preferable in some embodiments to reuse portions of standard communication stack components or software, improve the verifiable traffic control or service control capability of the standard stack by inserting additional processing steps associated with the various service agents and monitoring points rather than rewriting the entire stack to correctly process literal tagging information, and in such cases, a virtual tagging scheme may be desired. As yet another example, some standard communication stacks provide unused, unspecified, or otherwise available bit fields in a packet stream or frame, and these unused, unspecified, or otherwise available bit fields can be used to literally label traffic without the need to rewrite all the standard communication stack software, with only the portions of the stack that are added to improve the verifiable traffic control or service control capability of the standard stack that needs to decode and use the information of literal tagging encapsulated in the available bit fields. In the case of literal tagging, in some embodiments the tags are removed before passing the packets or streams to the network or applications that use the stack. In some embodiments, the way in which literal or virtual tagging is implemented can be developed into a standard communication specification so that multiple service product or device developers can independently develop the communication stack and/or software and/or hardware of service processor in a form that is compatible with service controller specifications and the products of other service product or device developers.
[00200] It will be appreciated that, while the deployment/use of any or all of the measurement points illustrated in Figure 12 is not required to have effective deployment, as has been similarly shown in relation to the various modalities described in this document, various modalities can benefit from these and/or similar measurement points. It will also be appreciated that exact measurement points can be moved to different locations in the traffic processing stack, just as the various modalities described in this document can have agents that affect policy deployment moved to different points in the traffic processing stack while still maintaining effective operation. In some embodiments, one or more measurement points are provided deeper in the modem stack where, for example, it is harder to bypass and may be harder to access for tampering purposes if the modem is designed with software security and/or adequate hardware to protect the integrity of the modem stack and measurement point(s).
[00201] Referring to Figure 12, which depicts the device communications stack from the bottom to the top of the stack as shown, the device communications stack provides a communication layer for each of the device's modems at the bottom of the device communications stack. The example measurement point VI resides within or just above the modem unit layer. For example, the movem unit performs modem bus communications, data protocol translations, to interface network stack traffic to the modem. As shown, measurement point VI is common to all modem and modem units, and it is advantageous for certain arrangements to differential the traffic or service activity that happens through one modem to that over one or more of the other modems. In some embodiments, the measuring point VI, or other measuring point, is located above, inside or below one or more of the individual modem units. The respective modem buses for each modem reside between example measuring points V and VI. In the next higher layer, a control & modem selection layer for multi-mode device-based communication is provided. In some modalities, this layer is controlled by a network decision policy that selects the most desirable network modem for some or all data traffic, and when the most desirable network is not available the policy reverts to the next most desirable network until a connection is established as long as one of the networks is available. In some modalities, certain network traffic, such as verification, control, secure or redundant traffic, is routed to one of the networks even if some or all of the data traffic is routed to another network. This dual routing capability provides a variety of devices, services or applications for improved security, improved reliability, and improved manageability. At the next higher layer, a modem firewall is provided. For example, modem firewall provides traditional firewall functions, but different from traditional firewalls, in order to rely on the firewall to control verifiable service usage, such as security protection and access control of unwanted applications or network traffic, the various service verification techniques and agents described in this document are added to the firewall function to verify service policy compliance and prevent/detect tampering with service controls. In some embodiments, the modem firewall is deployed further up the stack, possibly in combination with other layers as indicated in other Figures and described in this document. In some embodiments, a dedicated firewall layer or function is provided that is independent of other processing layers, such as the policy deployment layer, the packet forwarding layer, and/or the application layer. In some embodiments, the modem firewall is deployed further down the stack, such as inside the modem units, below the modem units, or in the modem itself. The example measurement point IV resides between the modem firewall layer and an IP routing and query layer (eg, IP query and QoS routing layer and/or a capability controlled services routing and query layer network). As shown, an IP routing and query layer is separate from the policy deployment layer where the policy deployment agent deploys a portion of the traffic control and/or service usage control policies. As described in this document, in some embodiments these functions are separated so that a standard network stack function can be used for QoS IP routing and inquiry and/or for routing and inquiry of network capacity controlled services, and the modifications needed to deploy policy deployment agent roles can be provided in a new layer inserted into the default stack. In some modalities, the IP routing and query layer is combined with the service or traffic usage control layer. For example, a combined routing and policy deployment layer modality can also be used with the other modalities, as shown in Figure 12. Measurement point III resides between the IP routing and query layer and an agent layer of policy implementation. The measurement point II resides between the policy deployment agent layer and the transport layer, which includes TCP, UDP, and other IP as shown. The session layer resides above the transport layer, which is shown as a layer of session management and socket lease (eg basic TCP configuration, TLS/SSL). The network services API (eg HTTP, HTTPS, FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), POP3, DNS) resides above the session layer. The measurement point I resides between the network services API layer and an application layer, shown as the application service interface agent in the device communications stack of Figure 12.
[00202] As shown in Figure 12, the application service interface layer (for example, QoS application service interface layer and/or network capability controlled services interface layer) is above the stack API standard network and, in some modalities, its function is to monitor and in some cases intercept and process traffic between applications and the standard network stack API. In some embodiments, the application service interface layer identifies application traffic flows before application traffic flows are more difficult or virtually impossible to identify further down the stack. In some embodiments, the application service interface layer in this way aids application layer tagging in both literal and virtual tagging cases. In the case of upstream traffic, application layer tagging is straight forward because the traffic originates at the application layer. In some downstream modalities, where the classification of service activity or traffic depends on traffic attributes that are readily obtainable, such as source address or URL, application socket address, IP destination address, time of day or any other parameter readily obtained, the type of traffic can be identified and tagged for processing by the firewall agent or other agent as it initially arrives. In other modalities, as described in this document, in the downstream case, the solution is generally more sophisticated when a traffic parameter that is needed to classify the way in which the traffic flow is to be controlled or limited is not readily available at the levels stack, such as association with an aspect of an application, content type, something contained within TLS, IPSEC or other secure format, or other information associated with traffic. Consequently, in some embodiments the network stack identifies the traffic flow before it is fully characterized, categorized or associated with a service activity, and then passes the traffic to the application layer interface where the final classification is completed. In such embodiments, the application layer interface then communicates the traffic flow ID with the appropriate classification so that after an initial short traffic burst or period of time the policy deployment agent can properly control the traffic. In some embodiments, there is also a policy for tagging and setting service control policies for traffic that cannot be fully identified with all tagging sources that includes application layer tagging.
[00203] As shown in Figure 12, a service monitor agent, which is also in communication with the agent communication bus 1630, communicates with various layers of the device communications stack. For example, the service monitor agent performs monitoring at each of the measurement points I through VI, receiving information that includes application information, service usage and other service-related information, and assignment information. An access control health agent is in communication with the service monitor agent through agent communication bus 1630, as also shown.
[00204] Figure 13 illustrates another device stack to provide various service usage measurement techniques according to some embodiments. Figure 13 illustrates an embodiment similar to Figure 12 in which some of the service processors are deployed in the modem and some of the service processors are deployed in the device application processor according to some embodiments. In some embodiments, a portion of the service processor is implemented in the modem (for example, in the modem module hardware or modem chipset) and a portion of the service processor is implemented in the device application processor subsystem. It will be apparent to a person of ordinary skill in the art that variations in the embodiment depicted in Figure 13 are possible when more or less of the service processor functionality is moved into the modem subsystem or device application processor subsystem. For example, such arrangements similar to those depicted in Figure 13 may be motivated by the advantages of including some or all of the service processor network communication stack processing and/or some or all of the other service agent functions in the modem subsystem. (for example, and such an approach that can be applied to one or more modems). For example, the service processor can be distributed as a standard feature set contained in a software package modem chip set hardware or a software package modem module hardware, and such configuration can provide further adoption or development. easy by device OEMs, a superior level of differentiation for the modem module or chipset manufacturer, superior levels of performance or service usage control implementation integrity or security, interoperability or specification standardization, and/or others benefits.
[00205] Referring to Figure 13, which depicts the device communications stack from the bottom to the top of the stack as shown, the device communications stack provides a communication layer for modem MAC/PHY layer at the bottom of device communications stack. The IV measurement point resides above the modem MAC/PHY layer. The modem firewall layer resides between measurement points IV and III. At the next higher layer, the policy deployment agent is provided, where the policy deployment agent is deployed to the modem (for example, to modem hardware). Measurement point II resides between the policy deployment agent and the modem unit layer, which is then shown below a modem bus layer. The next higher layer is shown as the IP routing and query layer, followed by the transport layer, which includes TCP, UDP, and other IP as shown. The session layer resides above the transport layer, which is shown as a layer of session management and socket lease (eg basic TCP configuration, TLS/SSL). The network services API (eg HTTP, HTTPS, FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), POP3, DNS) resides above the session layer. The measurement point I resides between the network services API layer and an application layer, shown as the application service interface agent in the device communications stack of Figure 13.
[00206] Additional DAS Modalities to Protect Network Capacity
[00207] In some embodiments, the DAS to protect network capacity includes classifying a service activity as a network capacity controlled service and implementing a network capacity controlled service policy. In some embodiments, DAS to protect network capacity includes device-based/device-assisted techniques to classify a service activity as a network capacity controlled service and/or implement a network capacity controlled service policy. In some embodiments, DAS to protect network capacity includes network-based/assisted techniques (eg, deployed in a network function/element such as a service controller, a DPI pass, a BTS/BTSC, etc.). , or a combination of network elements) to classify a service activity as a network capacity controlled service and/or implement a network capacity controlled service policy. In some embodiments, DAS to protect network capacity includes providing a network access API or a virtual or emulated network access API (for example, just as an API can provide network busy state information and/or other measures and criteria and/or provide a mechanism to allow, deny, delay, and/or otherwise control network access). In some embodiments, the DAS to protect network capacity includes implementing a service plan that includes a network capacity controlled services policy (for example, for differential network access control and/or differential charging for capacity controlled services. which can also be based on a network busy state and/or other measures and criteria).
[00208] In some embodiments, DAS to protect network capacity techniques also provides enhanced user privacy and facilitates net neutrality requirement. In contrast, network-based techniques (eg, DPI-based techniques) can raise user privacy and net neutrality issues and concerns as discussed above. In some embodiments, DAS to protect network capability techniques include allowing a user to specify (eg, allow or disallow) whether the network is aware of the user's internet behavior (eg, using UI input). In some embodiments, DAS to protect network capacity techniques include allowing a user to select how they want their traffic usage and service plan costs to be managed.
[00209] Figure 14 illustrates a flowchart for Device Assisted Services (DAS) to protect network capacity according to some modalities. In 1402, the process begins. In 1404, monitoring of a network service usage activity of a device in network communication (for example, wireless network communication) is performed. In 1406, it is determined whether the monitored network service usage activity is a network capacity controlled service. In 1408 (it was determined that monitored network service usage activity is not a network capacity controlled service), network service usage activity is not classified for differential network access control. In 1410, (it was determined that monitored network service usage activity is a network capacity controlled service), network service usage activity is classified (for example, into one or more controlled network capacity services ) for differential network access control to protect network capacity. In some embodiments, classification of network service usage activity includes classifying network service usage activity into one or more of a plurality of classification categories for differential network access control to protect network capacity (by example, one or more network capacity controlled service ratings and/or a priority state rating such as a background service rating and/or a background priority state rating). At 1412, the association of network service usage activity to a network capacity controlled services control policy is performed based on a classification of network service usage activity to facilitate differential network access control for protect network capacity. In 1414, the implementation of differential network access control is performed to protect network capacity by implementing different traffic controls for all or some of the network service usage activities (for example, based on a busy state of network or other criterion/measure). In 1416, the process is completed.
[00210] Figure 15 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity according to some modalities. In 1502, the process begins. In 1504, monitoring of network service usage activities of a device in network communication is performed. In 1506, the device's monitored network service usage activity is reported (eg for a network element/function). At 1508, a statistical analysis of network service usage activities reported across a plurality of devices (e.g., by a network element/function) is performed. At 1510, the device receives a ranking list of network service usage activity (for example, a list of controlled network capacity services, which can be generated, for example, based on network service usage activities monitored and statistical analysis, as well as other criteria/measures, including, for example, a service plan and/or a network busy state) from the network element. In 1512, the deployment of differential network access control based on the network service usage activity rank list is performed to protect network capacity. In 1514, the process is completed. In some embodiments, DAS to protect network capacity additionally includes associating network service usage activity with a network service usage control policy (eg, a network capacity controlled services policy) with based on a classification of network service usage activity to facilitate differential network access control to protect network capacity. In some embodiments, DAS to protect network capacity additionally includes differential mode control of network service usage activity (eg, service controlled network capacity) based on service usage activity ranking list .
[00211] Figure 16 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity according to some arrangements. In 1622, the process begins. At 1624, a first network service usage activity report of a first device is received (e.g., in a network element/function) from the first device. At 1626, a second network service usage activity report of a second device (eg, in a network element/function) from the second device is received. At 1628, a statistical analysis of a plurality of service usage activities reported across a plurality of devices, including the first device and the second device (e.g., by a network element/function) is performed. At 1630, a network service usage activity ranking list (eg a network capability controlled services ranking list) is sent to the first device (eg from a network element/function ) for the classification of network service usage activities (for example, network capacity controlled services) based on the network service usage activity classification list for differential network access control to protect the capacity of network. In 1632, a network service usage activity ranking list is sent to the second device (eg from a network element/function) for ranking network service usage activities based on the list. from network service usage activity classification for differential network access control to protect network capacity. In 1634, the process is completed. In some embodiments, DAS to protect network capacity additionally includes associating network service usage activity with a service usage control policy (for example, a network capacity controlled services policy) based on a classification of network service usage activity to facilitate differential network access control to protect network capacity. In some embodiments, DAS to protect network capacity additionally includes differential mode control of network service usage activity (eg, service controlled network capacity) based on service usage activity ranking list (eg Network Capacity Controlled Services Ranking List). In some modalities, the classification of network service usage activities is based on which network the device is connected to. In some embodiments, the network service usage control policy is based on which network the device is connected to.
[00212] Figure 17 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity according to some modalities. In 1702, the process begins. In 1704, monitoring of a network service usage activity of a plurality of devices in network communication using network-based techniques is performed. In 1706, a statistical analysis of network service usage activities monitored across the plurality of devices is performed. In 1708, a network service usage activity ranking list (for example, a network capacity controlled services ranking list) is sent to each of a plurality of devices for ranking network service usage activities. network (for example, network capacity controlled services) based on service usage activity classification list for differential network access control to protect network capacity. In 1710, the process is completed.
[00213] Figure 18 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity according to some modalities. In 1802, the process begins. In 1804, monitoring of network service usage activities of a device in network communication is performed. In 1806, the association of a network service usage activity (eg, network capacity controlled service) to a service usage control policy (eg, network capacity controlled services policy) is performed. ) based on a classification of network service usage activity (for example, a network capacity controlled services classification list) for differential network access control to protect network capacity. In 1808, a user notification based on the service usage control policy is generated. In 1810, the process is completed.
[00214] In some embodiments, the service usage control policy includes a service usage notification policy. In some embodiments, the user notification includes one or more of the following: a notification that the application to be downloaded and/or launched is a network-capable controlled service; a list of one or more service activities (eg, applications, OS/other software functions/utilities, and/or other functions/utilities as described in this document) that have a network capability controlled services classification; type of service policy in effect for one or more network capacity controlled services; notification that a service activity belongs to a class of controlled network capability services; notification that a service activity that is classified as a network capability controlled service may have its class of service changed; notification that if class of service is changed for a service activity, service charges will change; notification that one or more networks are available (eg one or more alternative networks and/or network busy state information and/or rate information and/or incentives associated with such networks), an offer/option to improve/ downgrade the service plan; and an offer for a service plan that rewards a user who responds to notification that a service plan is lower cost/discounted for responding to the notification to use or not use service activity based on the notification of notice of level of use. In some embodiments, the user notification includes a user preference selection, including one or more of the following: a provision to associate an access policy control to the application (eg allow/block, notify usage, notify the use at a given threshold, traffic control settings, allow during certain times, allow when the network is not busy, and/or other policy controls as described in this document), an override option for control policy selection of service usage; a modification option for the service usage control policy selection; a selection option to select a new service plan (eg an option to review and select alternative/new service plan upgrade/downgrade options), and an acknowledgment request (eg to confirm/acknowledge receipt of the notification, wherein the acknowledgment can be transmitted to a network element/function and/or stored locally for later reference/transmission).
[00215] In some embodiments, before a given device application, process, function, OS service or other service activity is allowed to start, the intention to start is intercepted by a boot manager, the second service policy Established plan or established network protection service policy for the service activity is obtained, and any required user notification or service startup control policies are implemented before allowing the service activity to start. In such modalities, a boot intercept manager can be used to implement this functionality. In some embodiments, this boot intercept manager is provided with a list that identifies service activities (for example, application identifiers, OS role identifiers, aggregate service activity identifiers, and/or service activity identifiers components) that have a startup control policy in effect. In some embodiments, the list of startup control policies includes blocking or delaying the startup of one or more service activities. In some embodiments, the startup control policy includes a user notification before, during, or after service activity is started. In some embodiments, the user is informed that a service activity that has a background service control policy in effect or a network protection service control policy in effect is trying to initialize, is about to initialize, or has been initialized . In an additional set of modalities, initialization is held until the user is notified and allowed to decide if they would like to initiate service activity. In some embodiments, the user notification includes a message that the service activity that tries to initialize consumes a large amount of service usage and asks the user if they would like to continue (for example, “This application consumes a large amount of data, would you like to continue ”, “This application consumes data even when you are not using it, would you like to continue ” “This application consumes data while you are roaming which adds cost to your usage bill, would you like to continue ”, etc.). In some modalities, the decision to initiate or not a service activity is pre-programmed in the list that identifies the service activities (for example, application identifiers, OS function identifiers, aggregated service activity identifiers, and/or component service activity identifiers) that have a startup control policy in effect. In some modalities a portion of the list is pre-programmed by the user according to the user's preference to control the use of service activities. In some embodiments, a portion of the list is preprogrammed by a network element (eg, a service controller) in accordance with network background service or network protection service policies specified by a network management system. service policy project operated by a service provider as described in this document. In some modalities, the policy implementation defined by the list that identifies the service activities (for example, application identifiers, OS role identifiers, aggregate service activity identifiers, and/or component service activity identifiers) that have a startup control policy in place is checked to ensure that the malicious user or software has not defeated the policy enforcement specified in the list. In some embodiments, the list that identifies service activities that have a startup control policy in effect includes startup policies that are a function of one or more of: background service state, network busy state (or state of performance or QoS state), type of network the device is connected to, home or roaming connection, time of day or day of the week.
[00216] In some embodiments, the various design techniques described in this document that allow intercepting a service activity intent to initialize, and applying an established background service policy or protection service policy established network can be designed in the OS itself. For example, policy intercept and deployment functions can be designed into activity manager, broadcast intent manager, media service manager, service manager, or other application or service activity management function in Android OS. A person of ordinary skill in the art will similarly recognize the various design techniques described in this document that allow intercepting a service activity intent to initialize, and enforcing an established background service policy or a policy of Established network protection service can be designed into application startup management functions in OS for iPhone, Windows OS for mobile, Windows OS for PC, Blackberry OS, OS for Palm, and other OS projects.
[00217] In some embodiments, pre-boot user notification information indicates one or more of: typical service usage or cost, or projected service usage or cost for the service activity attempting to initialize. In some modalities, the user sets limitations on accessing one or more service activities and once this limit is reached, then when service activities with limits exceeded tries to initialize, the user is notified. In some embodiments, the user chooses from a set of service restrictions rather than simply blocking or allowing the initiation of service activity, for example, service restrictions that include, but are not limited to: a set of pre-restriction policies. -configured from which to choose (eg full access, limited access, highly restricted access or block access), block, suppression, delay, aggregate and retention, limit amount of use per unit of time, limit usage, limit set for additional notification, specify network type, specify busy state (performance, QoS) or background state, or choose from preconfigured setting options.
[00218] In some embodiments, user notification occurs after the user attempts to download or load an application on the device (for example, an application downloaded from the web or an online application store to a smart phone or other wireless/network computing device such as Apple iPhone or iPad, or Google Android/Chrome based Device). In some embodiments, user notification occurs after the user attempts to perform service activity or initiates use of a cloud-based service/application (eg Google or Microsoft cloud service-based applications). In some embodiments, user notification occurs after one or more of the following: service usage activity reaches a usage threshold event, service usage activity attempts a network service usage that satisfies a precondition , an update of a network capacity protection service activity classification list or policy set, and a network message is sent to the device enabling the notification. In some embodiments, user notification provides information about service usage activity that is possible, typical, or likely for service usage activity. In some embodiments, the user notification includes a user option to obtain more information about service usage from the service activity (for example, a message that service usage activity may result in high service usage and /or that service usage activity may or will result in high service usage when compared in any way to a current service plan threshold) to produce informed user preference adjustments.
[00219] In some embodiments, a user notification includes displaying (for example, and where applicable, allowing the user to provide UI input) one or more of the following: list of current network service usage activity and/or past/historical/recorded, current and/or past/historic/recorded network capacity controlled service usage activities, current activity policy settings, current or available networks, service plan options (eg. for how to handle one or more types of network capacity controlled service traffic), option or selection options to assign a network capacity controlled service activity in a traffic control of different priority and/or billing term, usage of network service by activity (for example, network capacity controlled services and other services), network busy state (for example, and with resulting policies in place), service activity policy adjustment. service versus busy state and hour/day/week, network service activity priority, network service activity usage statistics (eg, versus network busy state and/or service usage control policy state network).
[00220] In some embodiments, a UI notification is displayed when the user attempts a network capacity controlled service activity during a network busy state (eg modifying a network capacity controlled service policy). In some embodiments, the UI notification includes information about a service plan choice and a network capacity controlled service policy override option (eg, once, time window, amount of usage, permanent by activity, and/or all), rate information based on a user selection, and/or service plan update information and options.
[00221] In some embodiments, a UI notification is displayed for user input for preferences/settings for multiple users (eg WiFi, 4G, 3G, and/or other wired or wireless access networks) including the policy charge. In some embodiments, a UI notification is displayed when a network traffic service usage activity (for example, based on network capacity controlled services classification, QoS classification, priority classification, time-based criteria , network capacity, service plan, billing criteria, and/or other criteria/measures) is attempted or occurs and provides options (eg, allow, block, delay, suppress, and/or other options).
[00222] In some embodiments, a UI fuel gauge is displayed (for example, to depict current and/or historical network service usage, for example, relating to a service plan for the device, by network, relating to the network busy state, time-based criteria, and/or other criteria/measures). In some embodiments, a user notification includes a communication sent to the user (eg, an email, SMS or other text message, voice message/call, and/or other electronic form of communication). In some embodiments, the communication sent to the user includes network service usage information, information related to the use of controlled service of network capacity and/or an instruction to log in to a web page or send a communication for more information ( for example, concerning an update of information and/or alert or warning message, such as related to network service usage and/or network service usage charge).
[00223] In some embodiments, a notification (for example, a user or network service cloud notification) is generated based on a use of aggregated service activity reports (for example, allowing the network provider to generate notifications and/or to notify application provider/service activity provider). In some embodiments, a notification (for example, a user or network service cloud notification) is generated based on a publication of a list of updated/new network capacity controlled services based on aggregated monitored activity (by example, based on a service plan, speed, socket open frequency/rate (eg message layer behavior), total data usage, peak busy time usage to formulate or update a blacklist for monitoring , notification and/or control, which can be applied to one, multiple, group, or all devices). In some embodiments, a notification (eg, a user or network service cloud notification) is generated based on data usage trends for a particular device relative to an associated service plan and/or other comparable devices or data usage measures based on data usage thresholds/statistics.
[00224] In some embodiments, an application is actually composed of several applications, processes or component functions. Examples of this include, but are not limited to: the components of a Java application JAR file; applications that use OS functions; applications that use a proxy service function; applications, functions, or processes that coordinate with one another to implement a composite process, function, or application; and OS process functions that support a general OS application or function. In such modalities, it is important to be able to categorize all applications, functions and processes on a device that contribute to the service usage of a service activity so that the service activity can be monitored for service usage, have usage of service activity, deploying appropriate user notification when one or more service activity components attempt to start or use the network, deploying appropriate user notification when one or more service activity components reaches a pre-service usage level. determined to require a user notification, and implement the appropriate background service or network protection service usage controls as specified herein (including, but not limited to, for example: block network access, block network access, restricted network, suppression network access, delay network access, aggregate and hold network access, select by time of day access restrictions o network, select network type restrictions, select roaming network access restrictions, select service usage restrictions as a usage limit, select service cost restrictions as a cost limit, or otherwise put another way background service status restriction or network usage as described in this document). In the case of service activity components that belong exclusively to an aggregated service activity (eg an application, application JAR file or OS function), this can be achieved by including each of the component service activities in a list that identifies the service activity components that belong to the aggregate service activity, and then monitor, possibly control, and provide user notifications based on the aggregate or component behavior of each service activity according to the policies specified for aggregate service activity. For example, it is necessary to group all, application startup behavior and/or network access behavior under monitoring, startup, notification, accounting and background service controls or network protection service controls (or other policies). network protection service or background as specified in this document) according to the background service or network protection service policies for the aggregate application that the JAR file supports. As another example, if an OS network synchronization or update function uses multiple software processes or components to implement the network synchronization or update function, each of the software process or components must be monitored and aggregated under the policies background service or network protection service policies for OS synchronization or update function.
[00225] In some embodiments, this ability to group usage for a related set of service activity components dedicated to an aggregated service activity as described in this document is used to improve service activity usage reporting for a service activity controller. service for the purpose of statistically identifying service activities that are candidates for background service policy controls or network protections service policy controls.
[00226] In some cases, multiple applications, processes, functions, OS services or other service activities may utilize a common set of component software OS applications, processes, functions or services. In such cases, in order to implement background service policies and/or network protection service policies for service activity monitoring and accounting, service activity startup control, user notification, or user access control network as described in this document, it is necessary to associate data flows or specific network access information to and from applications, common component software processes or functions, which belong to the initiated application, process, function or other service activity which is to be managed according to a set of background service or network protection service policy. The following is a set of specific examples on how to map a common component service activity to a set of common OS roles referred to as proxy service roles for an application, process, function, OS service, or other service activity. specific for the purpose of implementing an established background service policy or an established network protection service policy as described in this document. Once these examples are reviewed, it will be obvious to a person of ordinary skill in the art how to apply similar service activity mapping to a common set of components for a service activity that is to be managed according to the service policy of established background or an established network protection service policy as described in this document.
[00227] In some embodiments, this ability to group usage for a common set of service activity components as described in this document is used to improve service activity usage reporting for a service controller for the purpose of statistically identifying activities that are candidates for background service policy controls or network protections service policy controls.
[00228] In some embodiments, a proxy network service manager refers to an intermediary data flow function in a device operating system that rests on a data path between a device application and a stack interface. device networks to provide a level of network service abstraction from the network stack interface, a higher-level service function above the network stack interface, enhanced or special traffic processing functions, transfer management media service, file download transfer service, HTTP proxy service functions, QoS differencing, or other similar or related higher level traffic processing. Examples of Proxy Service Manager include the following: media service manager (eg Android media service library function), email service manager, DNS function, download software transfer service manager, download media transfer manager (eg audio player, streaming media player, download movie transferr, media service OS function, etc.), download data transfer service manager, Android “media” library function, Android.net library function, Jave.net library function, Apache library function, other services or software/function of libraries or in other device operating system, SMTP/IMAP/POP proxy , HTTP proxy, IM proxy, VPN service manager, SSL proxy, etc. In this document such alternative network access data streams that are initiated by an application are referred to as application proxy service streams. In such embodiments, an application can sometimes simply request network access service activity from an OS component as a proxy service component, rather than directly accessing the network. In such arrangements, in order to implement background service controls or user notification of application service usage, it is necessary to monitor the application proxy service flows, classify them as being started by or belonging to an application or service activity in particular, and implement the appropriate background service classifications, user notifications, application process startup interception, background service accounting, and background service usage restrictions as described in this document according to the policies intended for the application or service activity initiated. This is achieved by inserting service usage monitors that allow a mapping of (i) application initiated identifier (eg application name, application fingerprint, application identification tag, application process number, application credential application, or other secure or insecure application or process identifier) to (ii) the request to the proxy service and subsequently to (iii) the network service flows between the proxy service and the network elements serving the communications of information. Once this mapping is achieved, the proxy service service usage flows can then be counted back to the initiated application, device software process or other service activity, the appropriate policies can then be applied to each usage flow. service activity is user notification, service activity initiation control, service activity background accounting (including variable billing rate dependent on background service status and/or sponsored service billing), service control controls. service activity background or network usage restrictions as described in this document (including, but not limited to, for example: block network access, restricted network access, suppression network access, delay network access , aggregate and retain network access, select by time of day network access restrictions, select network type restrictions, select restrictions roaming network access restrictions, select service usage restrictions as a usage limit, select service cost restrictions as a cost limit, or otherwise place another form of background service status or usage restriction. network as described in this document).
[00229] In some embodiments, this ability to track service usage for a service activity through a proxy service as described in this document is used to improve service activity usage reporting for a service controller for the purpose of statistically identify service activities that are candidates for background service policy controls or network protections service policy controls.
[00230] In some embodiments, the various design techniques described in this document that allow monitoring, accounting and/or service policy implementation for component service activities that belong to an aggregated service activity can be designed in the OS itself. For example, in certain mobile OS deployments (eg Android, iPhone, Blackberry, etc.) there are some applications available on the market that allow a user to get an estimate of how much data a certain subset of applications consumes on a network wireless service provider, but it is not possible for the user or application to get an indication of service usage for certain OS functions, whereas the modalities disclosed in this document will allow for this. As another example, in certain current cellular OS deployments, it is not possible to associate proxy service usage (eg, download media transfer and streaming media proxy library software functions) with the specific applications that use the proxy service, so although the user can be informed about common OS functions or generic proxy services (eg in the case of Android: “media service”, “media”, “gallery”, “Google service board” and other common OS software library functions or generic proxy services), there is no way for the user to determine which application widgets or other service activities actually generate such common service function usage, whereas the invention described in this document allows the user full visibility into such usage monitoring examples. Also, if the OS is adapted with interception and policy deployment functions can be designed into activity manager, broadcast intent manager, media service manager, service manager, or other application or activity management function of service on Android OS. A person of ordinary skill in the art will similarly recognize the various design techniques described in this document that allow intercepting a service activity intent to initiate, and enforcing an established background service policy or service policy Established network protection can be designed into application startup management functions in OS for iPhone, Windows OS for mobile, Windows OS for PC, Blackberry OS, OS for Palm, and other OS projects.
[00231] Figure 19 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity according to some modalities. In 1902, the process begins. In 1904, the determination of a network busy state of one or more networks is performed. In some embodiments, the one or more networks are selected from an access network, a wired network, and a wireless network. In 1906, classification of a network service usage activity (eg, a network capacity controlled service) of a device is performed based on the determination of network busy state to facilitate differential network access control for protect the network capacity of one or more networks. In some embodiments, network busy state is based on one or more of the following: network performance, network congestion, network availability, availability of network resources, network capacity, or any other measure of service usage. network, and one or more time windows (eg time-based criteria). In some embodiments, protecting the network capacity of one or more networks includes protecting the network capacity of a last edge segment of a wireless network (eg, RAN, BTS, BTSC, and/or other network elements ). In some modalities, determination and classification are performed using device-based/assisted techniques. In some modalities, determination and classification are performed using network-based/assisted techniques (for example, deployed in a network element/function, such as a service controller, a DPI communication port, a BTS/BTSC, etc., or a combination of network elements). In some embodiments, determination and classification are performed using a combination of device based/assisted techniques and network based/assisted techniques. In 1908, implementation of differential traffic controls based on service usage activity classification is performed to protect network capacity. In 1910, the process is completed. In some embodiments, a network busy state is determined based on one or more of the following: a time of day, a reported network busy state, and/or a device determined/reported network busy state (eg, proximal end and/or distal end). In some embodiments, a network busy state is determined using one or more of the following: a network probe, a device lookup, a network probe report (eg including a BTS and/or BTSC), a network probe analysis, a device analysis based on probeless native traffic performance like TCP timeout, UDP retransmissions, a multiple network test, a device monitored network congestion based on usage activity. network service (eg, application-based network access performance data) performed for a network to which the device is connected and/or one or more alternative networks. In some embodiments, a network congestion state is associated with a network busy state (eg, a network busy state setting/level). For example, a network congestion level of 40% network usage can be associated with a network busy state setting of 4, a network congestion level of 80% network usage can be associated with a setting of network busy state of 8, and so on.
[00232] Figure 20 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity according to some modalities. In 2002, the process begins. In 2004, the monitoring of a network service usage activity of a device in network communication is performed. In 2006, classification of network service usage activity is performed (for example, based on a classification of network service usage activity to protect network capacity, for example, as a controlled service of network capacity ) to protect network capacity. In 2008, accounting for controlled network capacity services is performed (for example, accounting for network service usage activity based on a classification of network service usage activity to protect network capacity). In 2010, the charge for controlled services of network capacity is carried out. In 2012, the process is completed. In some embodiments, DAS to protect network capacity additionally includes classifying network service usage activity as a network capacity controlled service. In some embodiments, DAS to protect network capacity includes differential mode accounting and/or differential mode charging for network capacity controlled services and foreground services. In some embodiments, the network service usage control policy includes policies for differentially controlling, accounting, and/or charging for controlled services of network capacity (for example, based on a network busy state, criteria with on a time basis, a service plan, network to which the device or network service usage activity gains access, and/or other criteria/measures). In some embodiments, accounting for network capacity controlled services includes obtaining differential mode of service usage for one or more classes of network capacity controlled service in which accounting is modified/varies (e.g., dynamically) on the basis of in one or more of the following: network busy state (eg modify/credit accounting during network congestion that does not satisfy user preference), network service activity, access network (eg network to which device/service activity is currently connected), user preference selection, time-based criteria (eg time of day/day of week/current month), associated service plan, time window option. In some embodiments, billing for controlled network capacity services includes mapping an accounting to a billing report. In some embodiments, billing for network capacity controlled services includes sending a billing report to a network element (eg, a service controller, a service cloud, an interface/billing server, and/or other network element/function). In some modalities, charging for controlled network capacity services includes the mediation or arbitration of CDRs/IPDRs for controlled service of network capacity(s) versus other network service usage activities or network service usage activities in pasta. In some embodiments, billing for controlled network capacity services includes converting a billing report to a billing record or billing action. In some embodiments, charging for network capacity controlled services includes generating a service controlled user notification of network capacity charges upon request or based on a criterion/measure (eg, a threshold charge level and/or a threshold network service usage level). In some modalities, charging for controlled network capacity services includes charging per application based on a billing policy (for example, billing per application according to billing policy rules, such as for billing a user or a sponsored service provider, carrier, and/or other entity).
[00233] Figure 21 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity according to some modalities. In some embodiments, DAS to protect network capability includes providing a device service access API that provides an interface to applications, OS functions, and/or other service usage activities for a network access connection ( or stack, for example) for providing differential network access to protect network capacity. In some embodiments, differential network access is determined by one or more of the following: a service priority of service usage activity and a network busy state. In 2102, the process begins. At 2104, a device service access API request is received. In 2106, the device service access API request is responded to. In some modalities, differential network access (for example, for controlled network capacity services and/or based on network busy state and/or other criteria/measures) is implemented by one or more of the following: provision of network busy state information for service usage activity, receiving network busy state information, receiving network capacity requirements for service usage activity, receiving a scheduled time requirement/time allocation to from the activity of service use, receiving and/or providing network location and/or physical location information (for example, base station, communication channel, cell sector, roaming or non-roaming network to which the device is connected , and/or GPS or other physical location data), providing information for service usage activity that informs you when the network is available for access, providing information for the service usage activity that informs you that traffic controls have to be applied/implemented, providing information for service usage activity that informs you when the network is available for access, and providing information for service usage activity. service your scheduled access time/time allocation (for example, based on one or more of the following: priority, network busy state, and time of day) (for example, with a performance level or service level specific, such as data transfer size, speed, network capacity controlled service priority level, QoS level, data transfer type, time schedule and/or network connection parameters), and device instruction and /or service usage activity to transition to a different state (eg, power-saving state, idle state, disabled, standby state, and/or an awake state). In 2108, differential network access is implemented. In 2110, the process is completed. In some embodiments, the Device Service Access API is a program interface, a virtual interface, and/or an emulated interface that provides instructions for differential access to a network to protect network capacity, as described herein.
[00234] In some embodiments, the API is served or located on the device, in a network element (for example, using a secure communication between the device and the network element for API communication, such as HTTPS, TLS, SSL , an encrypted data connection or SS7 control channel, and/or other well-known secure communication techniques), and/or both/partially both. In some embodiments, an API-based network is an API that facilitates an API or other interface communication (eg, secure communication as discussed above) between an application running on the device and a network element and/or cloud service. to protect network capacity. For example, a network API can provide an interface for an application to communicate with a service cloud (eg, web server) to obtain network access control information (eg, network busy state, multiple network information based on available networks and/or network busy state information of available networks, network capacity controlled service priorities and availability, scheduled time/time allocations for network access based on network busy state, service plan, network capacity controlled service, and/or other criteria/measures). As another example, a network API can facilitate an application provider, network core/service provider, and/or a third party with access to communicate with the application to provide and/or require information (eg, physical location of the application , network location of the application, network service usage information for the application, network busy state information provided to the application, and/or other criteria/measures). As yet another example, a network API can facilitate a broadcast to one or more applications, OS roles, and/or devices (eg, partitioned based on geography, network, application, OS role, and/or any other criterion/measure) with information related to network capacity (eg, network busy state, availability based on network capacity controlled service classification and/or priority level, scheduled time/time allocations for certain service classification controlled network capacity and/or priority level, software update/antimalware/emergency/high priority vulnerability and scheduled time/time allocations for such software updates, and/or other criteria/measures). In some embodiments, the network access API to secure network capacity is an open API or standard/required API (eg required or standardized for applications for a certain network service provider, such as to be provided through the Store Verizon application or Apple's AppStore) published for application and OS developer so that applications and OS functions are designed to understand and implement the network access API to protect network capacity. For example, a certification program can be established to provide application and OS developer test specifications, working deployments, and/or criteria to ensure that the network access API is properly deployed and works in accordance with the specified requirements. In some embodiments, the network access API is an interface for communicating with a service controller (eg, service controller 122) or other network element/function (eg, a service usage API for communicating with a service usage server or billing interface/server or other network element/function that facilitates secure communication for sending/receiving or otherwise for communicating information related to network access to protect network capacity). In some modalities, the Network API provides sponsored billing (eg, reverse billing) of everything, classified, and/or a subset of network service usage fees to a sponsored partner associated with network service usage activity ( eg application) that accesses the network API. In some embodiments, the Network API provides a sponsored service where the network service usage activity (eg, application) that accesses the Network API provides a sponsored service partner credential to the Network API, the credential is used as a billing mechanism to bill the sponsored partner, the user account is mediated to remove the sponsored partner fee, and the network API provides access service and/or information service (eg location information, local information, content information, network information, and/or any other information).
[00235] Figure 22 illustrates another flowchart for Device Assisted Services (DAS) to protect network capacity according to some modalities. In 2202, the process begins. In 2204, a device's network service usage activities are monitored (eg using a verified/verifiable service processor). In 2206, a network busy state (for example, a measure of network capacity, availability, and/or performance) is determined based on monitored network service usage activities (for example, using various techniques as described in this document). In some embodiments, a service processor on the device is used to determine (eg, measure and/or characterize) a network busy state experienced by the device (eg, which can be used to determine network access control policy for one or more controlled network capability services). At 2208, a network busy status report is sent to a network element/function (e.g., a service controller and/or other network element/function as described herein). In 2210, the process is completed. In some embodiments, the service processor is verified using various techniques described in this document. In some embodiments, the network busy state report includes one or more of the following: data rate, latency, jitter, bit error rate, packet error rate, number of access attempts, number of access successes , number of access failures, QoS level availability, QoS level performance and availability in any of the preceding parameters. In some embodiments, the network busy state report includes one or more of the following: base station ID, cell sector ID, CDMA ID, FDMA channel ID, TDMA channel ID, GPS location, and/or physical location to identify the edge network element that is associated with the network busy state report for a network element. In some embodiments, monitoring network service usage activities includes network performance measurement to determine the traffic the device transmits/receives and/or generates network performance testing traffic. In some embodiments, network busy state is obtained (for example, and/or used to watch, supplement, and/or verify the device based on network busy state measurements) by one or more network elements that can measure and/or report network busy state (eg, BTS, BTSC, base station monitor, and/or airwave monitor). For example, airwave monitors and/or base station monitors can be provided to facilitate a reliable characterization of network busy state in a coverage area of one or more base stations and/or base station sectors, such as cellular terminals. affixed (for example, trusted terminals which may include additional network monitoring and/or reporting functionality busy state) installed (for example, temporarily or permanently) in the coverage area of one or more base stations and/or base station sectors ( for example, where a sector is a combination of a directional antenna and a frequency channel) so that the affixed cellular terminals perform monitoring network busy state monitoring and reporting to the service controller, the local base station, and/or other network element(s)/function(s) as similarly described herein. In some embodiments, permanently affixed cellular terminals provide network monitors to report, for example, the network busy state to a central network element, such as the service controller, which can, for example, aggregate such busy state information. to determine the network busy state for one or more network coverage areas. In some embodiments, permanently affixed mobile terminals are always present in those locations where they are installed and always activated (for example, performing network monitoring), and can be trusted (for example, permanently affixed mobile terminals can be loaded with various hardware and/or software credentials). For example, with use of permanently affixed cellular terminals, a reliable network busy state characterization can be provided, which can then be reported to a central network element and aggregated to perform various techniques related to network busy state as described in this document in relation to various modalities. In some embodiments, the network element/function uses the network busy state report (for example, and other network busy state reports from other devices connected to the same network edge element) to determine the busy state of network to a network edge element connected to the device. In some embodiments, the network element/function sends a busy state report to the network edge element to the device (for example, and to other devices connected to the same network edge element), which the device can then use to implement differential network access control policies (eg for network capacity controlled services) based on network busy state. In some embodiments, a network busy state is provided by a network element (e.g., service controller or service cloud) and broadcasts to the device (e.g., securely communicated to the service processor).
[00236] Figure 23 illustrates a network capacity controlled services priority level table for device assisted services (DAS) to protect network capacity according to some modalities. In some embodiments, various applications, OS functions, and/or other utilities/tools installed/loaded and/or started/running/active on a communications device (eg, device 100) are classified as controlled services of capability. network to protect network capacity. In some embodiments, one or more of network capacity controlled services are assigned or classified with network capacity controlled service levels or priority levels to protect network capacity. In some embodiments, one or more of the network capacity controlled services are dynamically assigned or classified with network capacity controlled service levels or priority levels based on one or more criteria/measures (eg dynamic criteria/measures ), such as network busy state, current access network, time-based criteria, an associated service plan, and/or other criteria/measures. In some embodiments, a higher priority level means that the application or utility/function is guaranteed highest relative priority for network access (for example, a priority level of 10 may provide guaranteed network access and a priority level of 0 may provide a blocked network access, although priority levels between 1 to 9 can provide relatively increased prioritized network access potentially relative to allocated network access and other services that require network access).
[00237] As shown in Figure 23, network capacity controlled services are dynamically assigned or classified with network capacity controlled service levels or priority levels based on the network busy state of the current access network. For example, an email application, Microsoft Outlook, is assigned different priority levels to protect network capacity based on network busy state, as shown: a priority level 6 for a network busy state level (NBS) of 10% (for example, up to about 10% of the network capacity is used based on network capacity usage/current resources or recently/last measured/detected/determined using various techniques as described herein document), a priority level 5 for a network busy state (NBS) level of 25%, a priority level 4 for a network busy state (NBS) level of 50%, a priority level 3 for a level network busy state (NBS) of 75%, and a priority level 2 is a network busy state (NBS) level of 90%. As also shown, an anti-virus (AV) software update application/utility/function is assigned with different priority levels to protect network capacity based on network busy state: a priority level 9 for a busy state level a network (NBS) level of 10%, a priority level 7 for a network busy state level (NBS) of 25%, a priority level 5 for a network busy state level (NBS) of 50%, a priority level 3 for a network busy state (NBS) level of 75%, and a priority level 1 for a network busy state (NBS) level of 90%. Various other applications and utilities/functions with various priority level assignments/ratings based on the network busy state levels shown in the Network Capacity Controlled Services Priority Level table in Figure 23. As will be apparent to a person of common skill in the art, various assignments and/or techniques to dynamically assign priority levels for network access based on network busy state levels can be applied to protect network capacity (eg based on user preferences , service plans, access network, a device power state, a device usage state, time-based criteria, and various other factors such as highest priority for urgent software and/or security updates, such as a fix or high-priority security or vulnerability software update and/or urgent or high-priority emails or other communications, such as a call. to VOIP 911).
[00238] Referring again to Figures 1 to 3, DAS to protect network capacity is deployed using a service processor (eg a service processor 115) of the device (eg a device 100) with usage of various DAS techniques as described in this document to facilitate differential network service access control (eg for network capacity controlled services) to assist in protecting network capacity under some modalities. In some embodiments, the service processor and/or one or more agents of the service processor are verified using one or more of the following verification techniques (for example, and/or to specifically verify monitoring of usage activity of network service, classify one or more service activities into one or more network capacity controlled service classes, associate the one or more network capacity controlled service classes with one or more differential service activity policies, and/ or determine a network busy state): compare a network based on the service usage measure with a service policy and/or service plan associated with the device, compare a device assisted service usage measure with the service policy and/or service plan associated with the device, compare the network based on the service usage measure with the device-assisted service usage measure, compare a service usage measure assisted by the first device to a measure of service usage assisted by the second device, verify the presence of the service processor and/or one or more agents of the service processor, verify the configuration of the service processor, verify the usage activities of service are reported appropriately (eg using test service usages to generate service usage events/reports for analysis and confirmation), check that billing events are reported properly, compare a network with based on service usage measurement with reported device billing data, check test billing event report, check communications device reports billing events report from a transaction server, check the presence of a activation tracking system, check device configuration or operation, check device status or plan status the service processor, verify proper service processor operation, verify service processor heartbeat response reports, verify monitoring of a test service event, download a new service processor (eg, and/ or one or more agents or new service processor configuration settings) and perform health checks, verify a service processor code configuration with agent self-diagnostic checks, verify that the communications device uses the first service only after authorized, check user status, check a network busy state (for example, compare and/or statistically process network busy state measurements from more than one device on which the network busy state monitoring device , for example, is located in a secure execution environment on the device), check multiple access control deployments Differential network services (eg controlled network capacity services are monitored/determined/detected, controlled, accounted for and/or billed appropriately), check multiple QoS Deployments (eg as discussed above), and check a log of agent communications. Various other verification techniques are described in this document and similar, and other verification techniques for provisioning DAS to protect network capacity using device-based deployments (eg, service processors and/or other agents or techniques). device-based software/hardware) will be apparent to a person of ordinary skill in the art in view of the various modalities described herein.
[00239] In some embodiments, the service processor is secure using various hardware and software techniques described in this document, including, for example, deploying all and/or portions of the service processor in a secure virtual machine environment of secure execution, secure storage (eg, secure memory), secure modem, and/or other secure deployment techniques as described herein and/or other or similar techniques as will now be apparent to a person of ordinary skill in the art in view of the various modalities described in this document. For example, the service processor can be deployed in software and run in a protected area of an OS running on the device and/or run in protected execution partitions (eg, on CPU, APU, SIM chip set, modem, partition modem, SIM, other hardware function in the device, and/or any combination of the above).
[00240] In some embodiments, a network service usage counter is embedded in a secure execution environment (for example, a program stores in secure non-volatile memory located on a modem card and/or an inaccessible modem chip by device applications, safe CPU environment to execute program and/or safe program operation for data path monitoring and/or control that cannot be bypassed by device applications to achieve modem connection to the network) in a modem device (for example, using measurement points V, VI, and/or other measurement points in Figure 12). In some modalities, the service usage counter counts data traffic (for example, bytes and/or any other measure of service usage, such as file transactions, message transactions, connection time, connection time or duration of connection, and/or past traffic or past transactions for a given QoS or service priority level controlled by network capacity), traffic as a function of time, traffic according to a classification of network service activity (eg by application, destination/source, port, traffic type, content type, time of day, network busy state, and/or any other criteria/measure). In some embodiments, the service usage counter accounts for data traffic (for example, as discussed above) while coordinating with an established VPN layer, for example, for both layer-III (for example, IPSEC) and for the layer-II (eg L2TP tunnel) so that accuracy on the measurement of air service usage is counted towards the mediation of billing and/or network service usage charging (eg customer billing, sponsored service bill per service and/or any other charges or billing). In some embodiments, the service usage counter accounts for data traffic (eg, as discussed above) while coordinating with accelerator software (eg, a compression/decompression mechanism) that makes frames more efficient over air transmission. . As similarly discussed above, coordination of service processor with the accelerator layer facilitates accuracy on air service usage measurement for mediating billing and/or network service usage charges. In some embodiments, the service usage counter accounts for data traffic (eg, as discussed above) while coordinating with both the VPN layer and the software accelerator layer to facilitate accuracy in the service usage measurement for the mediation of billing and/or charging for network service usage.
[00241] In some embodiments, the service usage reporting counter reports service usage to a network element (for example, a service controller, billing communication port, PCRF, AAA, HA, billing system, mediation system, traffic accounting database, base station or base station controller, and/or other central network element/function or network element/function). In some embodiments, information reported to the network element is encrypted or signed with a corresponding key known by the network element. In some embodiments, the communication link for the network element to pass service usage accounting is carried over a specific wireless network channel such as SMS, MMS, SS-7, or other specialized control channel. In some embodiments, the communications link for the network element to pass service usage accounting is conducted over a network channel (eg, via IP, TCP, UDP, HTTP, HTTPS, TLS, SSL, flagged variants TLS or SSL point-to-point, or another data network channel through the network control channel connection to the device). In some embodiments, data network control channel traffic is injected into the PPP stream in the modem. In some embodiments, data network control channel traffic is passed to the device network stack for connection to the network. In some embodiments, a signed or encrypted service usage accounting from the modem subsystem is coordinated to provide a service usage accounting for a period of time that also corresponds to a similar period of time for a heart rate report. service processor that includes a measurement or accounting of service usage. For example, this provides the service controller or other network element with a secondary set of information that can be used to verify and/or ensure service usage measurements reported by the service processor. Various techniques can be used to synchronize the time period for modem service usage accounting and service processor service usage accounting. For example, the service processor might request a latest accounting message from the modem, where the modem accounts for all service usage from the previous request to the latest accounting to the present request to the latest accounting, encrypts the message. most recent accounting so that the service processor or other application software or OS software on the device cannot decode and/or tamper with the message, and the modem service usage counter then passes the encrypted message to the service processor. The service processor can then pass the encrypted service usage accounting message from the modem to the service controller along with the service processor service usage accounting message(s) for the same or similar period of time. The service controller can then decode both the service accounting messages from the secure modem subsystem and the service processor and correlate the two measures to check the service usage report by, for example, looking for discrepancies that would indicate usage control errors or device service processor tampering or billing errors. In some embodiments, the secure modem subsystem records byte accounting for streams (eg, and/or streams, socket connections, or destination/source/IP ports combinations), potentially along with the time of day, network busy state, QoS level, and/or other criteria/measures, and reports those accounts for each stream that had traffic activity during the current reporting interval. For example, the service controller can then correlate the current service usage information with the service usage information provided by the service processor heartbeat service usage report to verify that the service processor usage report of service is consistent with the independent measurement made in the modem subsystem. In some embodiments, service usage reports (eg certified service usage report) are correlated on the device and/or network (eg with the use of one or more network elements/functions such as the controller of service).
[00242] In some embodiments, a deeper analysis of traffic can be conducted in accounting for modem subsystem service usage. For example, a layer 7 analysis of service usage can be conducted for HTTP or HTTPS traffic flowing through the modem where the modem service usage counter subsystem performs an HTTP level analysis of the traffic to associate with obtaining web traffic and other transfers with a given higher level service rating (eg, ad server, content server, proxy server, and/or traffic that is referred to by the local host serving a webpage). In some embodiments, the modem service usage accounting subsystem can be augmented for HTTPS, SSL or TLS traffic by including a reliable proxy server built into the modem system. For example, the Proxy server can be trusted by the device stack so that encryption keys for HTTPS, TLS, or SSL are known by the Proxy server enabling the modem-based Proxy server, located, for example, in a network environment. For safe execution, perform layer 7 analysis of encrypted traffic in a manner similar to that described above. In some embodiments, the built-in Proxy server generates SSL server certificates for each connection to a specific remote host in real time based on a root certificate trusted by the device (eg and/or network service usage activity, as per application) and also trusted by the built-in Proxy server, and the Proxy server then becomes an intermediary that emulates remote SSL hosting on one side and emulates the device (eg and/or network service usage activity, as an application) on the other hand, decrypting the traffic, analyzing it and re-encrypting it before forwarding to and from the remote hosting. Similarly, as in the case of layer 3 and 4 traffic analysis performed by the modem service usage accounting subsystem, the layer 7 service usage accounting messages can be encrypted and passed to the service controller through of multiple channels. In some embodiments, a layer 7 modem subsystem service usage accounting system records service usage accounting for a reporting time period that is similar to the reporting time period used by the service processor so that the service controller can correlate service processor accounting messages against modem accounting messages with layer 7 information.
[00243] In some embodiments, the secure service usage reporting system elements are located in a secure execution environment that includes a modem trigger. In some embodiments, all traffic arriving at the modem for network traffic that is controlled or recorded is required to flow through the secure modem driver so that an independent accounting can be generated and reported to the service controller as described above without the need to embed secure service usage accounting and reporting elements in the modem.
[00244] In some embodiments, the secure service usage reporting system elements are located in a secure execution environment that includes the modem driver and modem hardware interface controller driver (eg, USB controller for 2 /3/4G and SDIO controller for WiFi). In some embodiments, all traffic arriving at the modem for network traffic that is controlled or recorded is required to flow through the secure modem driver and modem hardware interface controller driver (eg, USB controller for 2/ 3/4G and SDIO for WiFi) so that accurate accounting can be generated either by the modem driver and/or by the modem hardware interface controller driver (eg USB controller for 2/3/4G and SDIO controller for WiFi) and passed to the secure service usage reporting element to send it to the service controller for customer billing/billing. This scheme provides flexibility (eg most device and operating system software and your need for services/applications is not located/run in the secure execution environment) while ensuring usage accounting occurs securely in the refers to customer accounting and billing.
[00245] In some embodiments, Layer 7 Proxy server traffic accounting and reporting techniques used to process HTTPS, TLS, and SSL traffic, as discussed above, are also used in the service processor itself to allow for detailed accounting 7 traffic code encrypts by the device. In some embodiments, the information then obtained is filtered so that private user information is not transmitted to the network (eg service controller, PCRF, and/or any other network element/function), but only usage information to allow service plan usage accounting, to verify service control policy implementation, or to verify service charge policy implementation that is transmitted to the network (eg, service controller, PCRF, and /or any other network element/function). In some embodiments, the layer 7 proxy server for secure processing or in clear device service usage accounting messages is located in secure hardware execution environments in the device application processor or in secure software partitions in the operating system.
[00246] Various techniques can be used to verify and/or ensure service usage controls or service usage billing reports. For example, if secondary service usage reports indicate that service usage is outside the service usage policy limits that are intended to be in action (for example, based on a service plan and/or service policy service associated with the device), then the service controller can indicate an error flag for further analysis and action (eg, deploy various check and response actions as described in this document, such as block activity, speed up activity, execute quarantine the device, upgrade/replace the service processor, and/or monitor the device using various additional DAS and/or network assisted monitoring techniques). As another example, if the service processor's service usage reports do not match the secondary service usage reports, then the service controller can indicate an error flag for further analysis action. For example, the correlation can be based on bulky measures of service usage (eg, total bytes over a given period of time), or with the use of finer-grained measures of service usage (eg, check accounting between a group of service usage activities such as application, destination/source, port, content type, time of day, network busy state, QoS level, and/or other criteria/measures) charged to a billing record of service plan against accounting for another group of billed service usage activities to another service plan billing record. In some embodiments, the correlation process between the two service usage accounting reports is performed continuously across all device traffic in real-time or near real-time as usage accounting reports are received. In some embodiments, usage accounting reports are later stored and analyzed or correlated (for example, periodically, based on a request or audit, and/or based on certain events, such as network service usage events, thresholds and /or any other events based on various criteria/measures). In some embodiments, only a one-time audit is used to correlate the two usage accounting reports, which, for example, can reduce network traffic and/or network processing load on the service controller.
[00247] In some embodiments, correlation techniques are applied by the service controller to compare two different service usage measures as described above based on one or more of the following: total amount of data (eg bytes for transfers of file, sessions, and/or other measures), amount of data per unit of time, total number of accesses, number of accesses per unit of time or frequency of accesses, accesses during a time interval (for example, peak time) , accesses during a busy network state, access requests, and individual versus group transmissions at a point in time (eg, one for each given set of destinations or types of destinations and traffic).
[00248] In some modalities, service usage monitoring includes characterizing service usage activities by streams, flows, destination/port, packet inspection, and/or other criteria/measures using the various techniques as described herein document and/or other or similar techniques as will be apparent to persons skilled in the art. In some modalities, service usage monitoring includes characterizing service usage activities by streams, flows, destination/port, packet inspection, and/or other criteria/measures and then performing the correlation to find behavior patterns of network service usage that identify likely association of behavior with one or more service activities that are managed.
[00249] In some embodiments, DAS for network capacity control includes classifying traffic to determine which network service usage activity(ies) are causing the traffic (eg increasing network capacity/resource usage in addition to a threshold), and then determine whether the access network service usage activity(ies) is violating any rules (eg service usage policies or service plan settings associated with the device/user). In some embodiments, DAS for network capacity control includes generating a list for services controlled by network capacity that specifies behavioral characteristics for one or more network service usage activities with expected access limits based on an access control policy for each managed network service usage activity (for example, based on service usage policies or service plan settings associated with the device/user). In some embodiments, DAS for network capacity control includes monitoring and/or controlling network service usage activities based on thresholds, which, for example, may be based on one or more of the following: access traffic counters total, counters for different types of access traffic, destinations, ports, frequency of access, access behavior during a given time, access behavior during a given busy state, access behavior for groups of activities (eg, check accumulation) , and/or other criteria/measures.
[00250] Consequently, in some embodiments, a second measure of safe and reliable service usage is provided so that the service controller (eg, or other network element/function) can be used to verify or ensure control of service or service charge reports to the service processor. In some embodiments, secure and reliable service usage measurement also provides enhanced verification and service security in cases where, for example, network-based service usage measurements are available for further correlation with service usage reports. of service processor. In cases where network-based service usage measurements are either not available or are only available at widely spaced time intervals (eg, mobile networks or other networks without any timely network-based service usage measurements), these techniques facilitate real-time or near real-time verification or security for controls and device-assisted service billing.
[00251] In some embodiments, a SIM card performs a portion or all of the secure environment processing described above, with device modem traffic, or a copy of device modem traffic, being directed to the secure SIM subsystem for accounting and traffic report. In some embodiments, a SIM card is used to store QoS ratings and/or service ratings controlled by network capacity for various service usage activities so that user behavior using certain service usage activities network and/or user preferences in controlling certain network service usage activities do not need to be relearned or re-downloaded as the user switches the SIM between different devices. In some embodiments, SIM maintains a local record of service usage activity for multiple devices that belong to the user or the user's family plan, so notifications and service usage policies can be immediately updated on a given device. as the user switches the SIM from device to device. In some modalities, the way in which this service usage history is stored in the SIM is secure so that it cannot be tampered with. In some embodiments, the SIM card is used to implement various application management and/or traffic control techniques described in this document. In some embodiments, the SIM card is used to inspect traffic, classify traffic, create reports (eg certified service activity usage reports), encrypt the report, send the report to a network element/function, and the element /network function that is correlated to the report (for example, using network-assisted measurements for comparisons and/or using various other techniques as described in this document). In some embodiments, a SIM card performs a portion or all of the secure environment processing described above using one or more modem measurement points. For example, the traffic that must be classified can have the route created through the SIM and correlated with what is measured by the modem. In some modalities, network service usage based/assisted by network ratings are compared to SIM based/assisted ratings for verification of service usage monitoring/reporting (eg detected inconsistencies in service usage activities. monitored/reported network service can be identified, such as based on total traffic, streams/flows/sockets activities, and/or other criteria/measures). In some embodiments, reports include a verified sequence so that reports cannot be falsified and/or missing reports can be determined.
[00252] In some embodiments, a portion or all of the secure environment processing described above is applied to deploy and/or verify QoS for DAS techniques and/or DAS for network capacity-controlled service techniques as described in this document.
[00253] In some embodiments, reports include one or more of the following: a number of hours the device is toggled to or from a modem power switch state, a number of hours during a time window, or a busy state of the network, a power alternation versus the number of currents initiated during the alternation, and a power cycle versus the currents that are transmitted during the cycle, in some embodiments, device power alternation events trigger the generation of a report.
[00254] In some embodiments, monitoring, reporting, controlling, accounting, billing, and/or policy implementation for services controlled by network capacity are verified (for example, using various verification techniques described in this document). Whether any of the verification techniques determine or assist in determining that the monitoring of services controlled by network capacity, reporting, control, accounting, and/or billing, and/or policy implementation has been tampered with, disabled, and/or not are properly deployed or functioning, so responsive actions can be taken, for example, the device (eg, and/or suspicious services) can be suspended, quarantined, killed/terminated, and/or flagged for further analysis/scrutiny for determine if the device is malfunctioning, needs updating, has been tampered with or compromised, is infected with malware, and/or if any other issues exist.
[00255] In some embodiments, the service processor monitors a device's network service usage activity. In some embodiments, monitoring service usage activity includes monitoring for multiple networks (eg to determine which networks are available and/or a network busy state of available networks). In some modalities, monitoring of a network service usage activity is performed by and/or assisted by a service cloud (for example, one or more network elements that provide such a service). In some modalities, monitoring network service usage activity includes identifying network service usage activity, measuring network service usage from network service usage activity, and/or characterizing network service usage. network of network service usage activity (eg with the use of assisted/device-based techniques, assisted/network-based techniques, test/offline monitoring/analysis techniques, and/or a combination of the same).
[00256] In some embodiments, the service processor implements differential network access service control (for example, for services controlled by network capacity), network service usage accounting, network service usage charging, and /or notification of network service usage on the device to facilitate DAS for network capacity protection.
[00257] In some embodiments, the service processor (eg, a 115 service processor) is updated, communicated with, tuned, and/or controlled by a network element (eg, a service controller 122). In some embodiments, the service processor receives service policy information of a selected network function from a base station (e.g., a base station 125), a RAN communication port, a RAN communication port. core, a DPI communication port, a Home Agent (HA), an AAA server (eg AAA server 121), a service controller, and/or other network function or combinations of network functions as described herein and/or as will be apparent to persons skilled in the art in view of the various embodiments described herein. In some embodiments, the service processor is updated over the air or through network OS software updates or application software updates or device firmware updates. In some embodiments, the service processor uses an IP connection, SMS connection, and/or MMS connection, for a control channel with a service controller. In some embodiments, the service processor queries a service controller to determine the association of a monitored network service usage activity with a network service usage control policy. In some embodiments, the device (eg, service processor) maintains a network capacity-controlled service list and/or network capacity-controlled service policy for one or more of the active services (eg, run actively and/or previously installed/downloaded to the device) that have been classified as a service controlled by network capacity (eg, as the number of applications continues to grow, as hundreds of thousands of applications are already available on certain platforms, maintain a specific list and/or a set of unique or specific policies for each application is not efficient). In this mode, when a new application is activated/initialized and/or downloaded to the device, the device may request an updated list of services controlled by network capacity and/or an updated policy of services controlled by network capacity, consequently ( for example, and/or periodically update such lists/policies).
[00258] In some embodiments, differential network access control for network capacity protection includes controlling the traffic of network services generated by the device, for example, services controlled by network capacity based on a usage control policy network service policy (for example, a policy of services controlled by network capacity). In some embodiments, differential network access control for network capacity protection includes providing assistance in controlling the distribution of bandwidth among devices, services controlled by network capacity (eg, applications, OS operations/functions, and various other network service usage activities classified as network capacity-controlled services), a differentiated QoS service that offers fair capacity sharing, high user load network performance, and/or throttling of one or more devices consume too much network capacity so that other devices cannot receive adequate performance or performance within various limits and/or granted service levels. In some embodiments, differential network access control for network capacity protection includes applying policies to determine which network the service activity should be connected to (eg, 2G, 3G, 4G, home or mobile network, WiFi, cable , DSL, fiber, wired WAN, and/or other wired or wireless access network), and apply differential network access control rules (for example, traffic control rules) depending on which network the activity service is connected. In some embodiments, differential network access control for network capacity protection includes differentially controlling network service usage activities based on service usage control policy and a user input (for example, a user selection or user preference). In some embodiments, differential network access control for network capacity protection includes differentially controlling network service usage activities based on the service usage control policy and the network from which the device or service activity network is gaining access.
[00259] In some embodiments, the network service usage control policy is dynamic based on one or more of the following: a busy state of the network, a time of day, to which network the service activity is connected, the which base station or communication channel the service activity is connected to, a user input, a user preference selection, an associated service plan, a service plan change, an application behavior, a message layer behavior , random backoff, a device power state, a device usage state, a time-based criteria (eg, hour/day/week/month, hold/delay/defer to future time slot, hold/delay/ postponement for scheduled time span, and/or retention/delay/postponement until a busy state/availability state/QoS state is reached), monitoring user interaction with service activity, monitoring user interaction with the device positive, UI priority state for service activity, monitoring service activity power consumption behavior, modem power toggle or power control state changes, modem communication session creation or destruction, and/or a network policy update/modification/change. In some embodiments, the network service usage control policy is based on updated service usage behavior analysis of network service usage activity. In some embodiments, the network service usage control policy is based on activity behavior updated in response to a service rating controlled by network capacity. In some embodiments, the network service usage control policy is based on updated user inputs/preferences (eg related to policies/controls for services controlled by network capacity). In some modalities, the network service usage control policy is based on updates to service plan status. In some embodiments, the network service usage control policy is based on updates to service plan policies. In some modalities, the network service usage control policy is based on the availability of alternative networks. In some modalities, the network service usage control policy is based on policy rules to select alternative networks. In some modalities, the network service usage control policy is based on network busy state or availability state for alternative networks. In some embodiments, the network service usage control policy is based on specific network selection or preference policies for a given network service activity or set of network service activities.
[00260] In some embodiments, associating network service usage activity with a network service usage control policy or a network service usage notification policy includes dynamic association based on one or more of the following: a network busy state, a time of day, a user entry/preference, an associated service plan (eg 25MB data plan, 5G data plan, or unlimited data plan or others service/data usage plans), an application behavior, a message layer behavior, a device power state, a device usage state, a time-based criterion, availability of alternative networks, and a set of policy rules for selecting and/or controlling traffic on one or more of the alternative networks.
[00261] In some embodiments, a network service usage control policy (for example, a network capacity controlled services policy) includes defining the network service usage control policy for one or more service plans , define network access policy rules for one or more devices or groups of devices in a single or multiple user scenario as a family and business plan, define network access policy rules for one or more users or groups of users, allowing or rejecting network access attempts or events, modulate the number of network access events or attempts, aggregate network access events or attempts into a group of time window network access attempts or events, events or attempts , events or network access time window attempts based on the application or function being served by the network access time events or window attempts, events or window attempts from network access time to predetermined time windows, network access time window events or attempts to time windows where a measure of network busy state is in range, assign the types of events or access attempts allowed, assign the allowed functions or applications that are allowed network access events or attempts, assign the priority of one or more network access events or attempts, set the allowed duration of network access events or attempts, set the speed allowed network access attempts or events, set the allowed network destinations for network access events or attempts, set the allowed applications for network access events or attempts, set the QoS rules for one or more events or attempts access policy rules, set or configure access policy rules for one or more applications, set or configure access policy rules for one or more network tins, define or configure access policy rules for one or more devices, define or configure access policy rules for one or more network services, define or configure access policy rules for one or more types of traffic, define or configure access policy rules for one or more QoS classes; and define or configure access policy rules based on any combination of device, application, network destination, network service, traffic type, QoS class , and/or other criteria/measures.
[00262] In some embodiments, a network service usage control policy (for example, a network capacity controlled services policy) includes a traffic control policy. In some modalities, the traffic control policy includes a traffic control setting. In some modalities, the traffic control policy includes the traffic order/control, and the traffic control/order includes the traffic control setting. In some embodiments, a traffic control policy includes one or more of the following: lock/allow settings, throttle settings, adaptive throttle settings, QoS class settings that include packet error rate, jitter settings, and delay, queue settings, and tag settings (eg for packet identifying certain traffic flows). In some embodiments, QoS class settings include one or more of the following: accelerator level, priority queue in relation to other device traffic, time window parameters, and hold or delay when accumulating or aggregating traffic in one current/explosion/package/larger group of packages. In some embodiments, a traffic control policy includes filters deployed as indexes in different lists of policy settings (for example, using cascading filtering techniques), where policy filters include one or more of the following : a network, a service plan, an application, a time of day, and a network busy state. For example, a two-dimensional traffic control deployment scheme can be provided using a network busy state and/or a time of day as an index into a traffic control configuration (eg a level of priority of a given application can be raised or lowered based on a busy state of the network and/or time of day). In some embodiments, a traffic control policy is used to select the network from a list of available networks, block or reduce access until a connection is made to an alternate network, and/or modify or replace a network stack interface. device to provide interception or interception of network socket interface messages to applications or OS functions.
[00263] In some embodiments, a traffic control setting is selected based on the network service usage control policy. In some embodiments, the traffic control setting is implemented on the device based on the network service usage control policy. In some embodiments, the deployed traffic control configuration controls traffic/traffic flows of a service controlled by network capacity. In some modes, the traffic control setting is selected based on one or more of the following: a time of day, a day of the week, a special time/date (eg a holiday or a maintenance time/date network), a busy state of the network, a priority level associated with network service usage activity, a class of QoS associated with network service usage activity (eg emergency traffic), of which network the network service activity is gaining access, which networks are available, to which network the network service activity is connected, which base station or communication channel the network service activity is connected to, and a dependent setting set of network traffic control policies that may vary depending on which network the service activity is gaining access to (eg and/or various other criteria/measures as described in this document). In some embodiments, the traffic control configuration includes one or more of the following: allow/block, delay, speed up, deploy QoS class, queue, tag, generate a user notification, random backoff, clarity to send received from a network element, hold for a scheduled transmission time, select the network from the available networks, and block or reduce access until a connection is made to an alternate network. In some embodiments, the traffic control setting is selected based on a network capacity-controlled services priority state of network service usage activity and a network busy state. In some embodiments, the traffic control setting is selected based on a network capacity-controlled services priority state of network service usage activity and a network busy state and is global (for example, the same) for all service activities controlled by network capacity or varies based on a priority of network service usage activity, user preferences or opinion selection, an application, a time-based criterion, a service plan, a network from which the device or service activity is gaining access, a redetermination of a network congestion state after adaptation to a predetermined network busy state, and/or other criteria/measures as described herein.
[00264] In some embodiments, the traffic of services controlled by network capacity (eg traffic flows) is differentially controlled to protect network capacity. For example, multiple software updates for an OS and one or more applications on the device can be differentially controlled using the various techniques described in this document. As another example, security/antimalware software (eg, antivirus, firewall, content protection, intrusion detection/prevention, and/or other security/antimalware software) can be differentially controlled using the various techniques described herein. document. As in yet another example, network backup/imaging, download transfers (eg exceeding a limit individually and/or in total, such as for image, music, video, e-book content, email attachments , content/media subscriptions, RSS/news feeds, text/image/video chat, software updates, and/or other downloadable content downloads) can be differentially controlled using the various techniques described herein. document.
[00265] For example, with the use of DAS for network capacity protection techniques described in this document an adaptive policy control for network capacity protection can be provided. A list of services controlled by network capability can be generated, updated, reported on, and/or received by the device and stored on the device (for example, the list can be adapted based on the service plan associated with the device). If a monitored network service usage activity is not in the list, then the device can report the monitored network service usage activity to a network element (for example, for a monitored network service usage activity that also exceeds a certain threshold, based on a busy state of the network, based on a time-based criterion, and/or other criteria/measures). As an example, monitored network service usage activity can be reported if/when monitored network service usage activity exceeds a given usage threshold (eg 50 MB total data usage per day, a frequency /socket open rate, speed of data usage at one point in time, or more complicated limits on time, on peak periods, by content and time, by various other parameters/limits). As another example, monitored network service usage activity can be reported based on network service usage behavior tests and/or application developer characterization input. The report can include information identifying network service usage activity and various network service usage parameters.
[00266] In some embodiments, a notification setting is selected based on a service usage notification policy. In some embodiments, a notification configuration includes a user notification configuration (for example, multiple user notification configurations as described above in relation to Figure 18).
[00267] In some embodiments, classification of network service usage activity further includes classifying network service usage activity (for example, using a usage threshold filter and/or cascading filter techniques ) in one or more of a plurality of application categories for differential network access control for network capacity protection. In some modalities, classifying network service usage activity further includes classifying network service usage activity into one or more services controlled by network capacity where services controlled by network capacity include one or more of the following: applications that require network data access, application software updates, applications that require network information, applications that require GPS or physical location, operating system software updates, security software updates, backups with network-based, email downloads, and a set of activities configured as service activities controlled by network capacity based on a service profile and/or user input (eg, and/or various other types of network service usage activities as described herein and as will now be apparent to persons skilled in the art). For example, services controlled by network capacity may include software updates for OS and applications, OS background network accesses, cloud synchronization services, RSS feeds and other background information feeds, reporting behavior browser/application/device, background email download downloads, content subscription service updates and download downloads (eg music/video download downloads, news feeds), chat clients text/voice/video updates, security updates (eg antimalware updates), peer-to-peer network application updates, inefficient network access sequences during frequent power switch or power save state switch, large transfers by downloading or other high bandwidth accesses, and greedy application programs that constantly/repeatedly access am the network with short transmissions or requests for information. In some embodiments, a list of services controlled by network capability is static, adaptable, generated using a service processor, received from a network element (eg, service controller or service cloud), received from a network element (eg service controller or service cloud) and based at least in part on device activity reports received from the service processor, based on criteria set by pre-tests, behavior characterization report performed by the application developer, and/or based at least in part on user input. In some embodiments, the list of services controlled by network capability includes one or more background classes of network service activity (QoS).
[00268] In some embodiments, classifying network service usage activity further includes classifying network service usage activity based on one or more of the following: application or GUI components (eg Outlook, Skype , iTunes, Android email, weather channel weather graphical user interface component, iCal, Firefox browser, etc.), application type (eg user application, application/utility/function/system process, OS application/utility/function/process, email, browser, GUI component, malware (such as a virus or suspicious process), RSS feed, device sync service, download application, application network backup/imaging, voice/video chat, peer-to-peer content application or other peer-to-peer application, broadcast media feed or broadcast reception/broadcast application, network bonding application, ap connection or chat session, and/or any other process or application identification and categorization), OS/system function (eg any application/utility/function/system process and/or application/utility/function/ OS process, such as an OS update and/or OS error reports), modem function, network communication function (eg, network discovery or signaling, EtherType messages, stream/stream set creation or destruction /connection session, network authentication or authorization strings, IP address acquisition, and DNS services), URL and/or domain, destination/source IP address, protocol, traffic type, socket (eg IP address, protocol, and/or port), socket address/label/identifier (eg port address/port number), content type (eg email downloads, email text email, video, music, e-books, graphical user interface component update streams a, and download transfer transmissions), port (eg port number), QoS rating level, time of day, peak or off-peak, network time, network busy state, selected access network , selected service plan, user preferences, device credentials, user credentials, and/or status, modem power toggle or power state changes, modem authentication processes, modem link creation or destruction, communications management information, modem software or firmware updates, modem power management information, device power state, and modem power state. In some embodiments, classifying network service usage activity further includes associating classified network service usage activity with an ID (for example, an application ID, which can be, for example, a unique number, name, and/or signature). In some embodiments, classifying network service usage activity further includes classifying network service usage activity using a plurality of classification parameters, including one or more of the following: Application ID, Remote IP ( eg URL, domain, and/or IP address), remote port, protocol, content type, a filter action class (eg network busy state class, QoS class, time of day, state network busy, and/or other criteria/measures), and selected access network. In some embodiments, classifying network service usage activity still includes using a combination of parameters as discussed above to determine classification of network service usage activity.
[00269] In some embodiments, classifying network service usage activity further includes classifying network service usage activity as a service controlled by network capacity, a service controlled by non-network capacity, a disallowed service, or blocked, and/or a service not yet classified/identified (eg pending classification or classification unknown/yet to be determined). In some embodiments, an application connection, OS connection, and/or other service activity is classified as a service activity controlled by network capacity when the device has been inactivated (eg, or in a power-saving state) for a period of time (for example, when the user has not interacted with it for a period of time, when it has not displayed user notification policy, and/or user input has not been received for a period of time, and/or when a power saving state is entered). In some embodiments, an application connection, OS connection, and/or other service activity is classified as a service activity controlled by network capacity when the monitored network service usage activity exceeds a data usage threshold for more than one application connection, OS connection, and/or other service activity (eg aggregate data usage exceeds data usage limit); or for a specific application connection. In some embodiments, an application connection, OS connection, and/or other service activity is classified as a service activity controlled by network capacity when the monitored network service usage activity exceeds a data usage threshold with based on a predetermined list of one or more data usage thresholds, based on a list received from a network element, usage time limits (for example, based on a time period that exceeds a usage threshold) , and/or based on some other use of related criteria/measures. In some embodiments, classifying network service usage activity further includes classifying network service usage activity as a service controlled by network capacity based on a peak network time, a network busy state, or a connection. device that falls below a certain performance level (eg highest/lowest priorities assigned based on various criteria/other input/factors).
[00270] In some embodiments, one or more of the network capability controlled services are associated with a network access policy set for a different or more networks and/or one or more alternative networks. In some embodiments, one or more of the services controlled by network capability is associated with a different notification policy set for one or more networks and/or one or more alternative networks. In some embodiments, the list of services controlled by network capability is stored on the device. In some embodiments, the list of services controlled by network capability is received/periodically updated from a network element and stored in the device. In some embodiments, the list of services controlled by network capacity includes services controlled by network capacity, services controlled by non-network capacity (for example, foreground services or services based on various possibly dynamic criteria are not classified as services controlled by network capacity), and an unclassified set of services (eg, greylisting that includes one or more outstanding classifications of network service activities based on analysis and/or additional input, such as from an element of network, service provider, and/or user). In some embodiments, the list of services controlled by network capacity is based on one or more of the following: predefined/pre-designated criteria (eg network, service plan, pre-test and/or characterized by an application developer) ; assisted/device-based monitoring (eg using a service processor); network-based monitoring (for example, using a DPI communication port); network assisted analysis (eg based on DAS activity analysis device reports). For example, the device may report network service usage activities monitored by device (for example, all monitored network service usage activities or a subset based on configuration, threshold, service plan, network, and/or user input) to the network element. As another example, the network element can update the list of services controlled by network capability and send the updated list to the device. As yet another example, the network element may perform a statistical analysis of network service activities against a plurality of devices based on network-based and/or based on network service usage activity monitoring/reporting. device. In some embodiments, a network service usage activity is determined to be an active application or process (for example, based on a user interaction with the device and/or network service usage activity, such as a pop-up. up and/or other criteria/measures).
[00271] In some modalities, implementing traffic control for services controlled by network capacity occurs with the use of various techniques. In some embodiments, the device includes an agent or function of a service processor for intercepting, blocking, modifying, removing or replacing UI messages, notifications or other UI communications generated by a network service activity whose service use network is being controlled or managed (eg using multiple measurement points as shown and described in relation to Figures 12 and 13). For example, this technique can be used to provide an improved user experience (eg to prevent an application being controlled to protect the network's ability to generate repeated and/or confusing messages/alerts to the user). In some embodiments, a device network stack interface is replaced or modified to provide interception or discontinuance of network socket interface messages to applications or OS functions or other functions/software.
[00272] In some modalities, implementing traffic control for services controlled by network capacity using DAS techniques occurs with the use of various techniques in which the activity of using network service is unaware of network capacity control (eg does not support an API or other interface to implement network capacity control). For example, network service application message interface based techniques can be used to implement traffic control. Example network service application message interface includes among the following: network stack API, network communication stream/flow interface, network stack API messages, EtherType messages, ARP messages, and/or other messages or other or similar techniques as will now be apparent to persons skilled in the art in view of the various embodiments described herein. In some embodiments, network service usage activity control policies or network service activity messages are selected based on the traffic control policy set or service activity messages that result in reduced or modified user notification. by service activity because of network capacity-controlled service policies applied to network service activity. In some embodiments, network service usage activity control policies or network service activity messages are selected based on the set of traffic control policies or service activity messages that result in reduced interruption of device operation because of network capacity-controlled service activity policies applied to network service activity. In some embodiments, network service usage activity control policies or network service activity messages are selected based on the set of traffic control policies or service activity messages that result in reduced interruption of activity operation service activity policies controlled by network capacity applied to network service activity. In some modalities, implementing traffic control for services controlled by network capacity occurs by intercepting openings/connections/recordings. In some embodiments, implementing traffic control for services controlled by network capacity occurs by intercepting API stack level or application message layer requests (eg, open/send socket requests). For example, a request trap can be copied (for example, to memory) and queued (for example, delayed or sped up) or dropped (for example, blocked). As another example, a request intercept can be copied into memory and then a portion of the transmission can be retrieved from memory and reinjected (eg, sped up). As yet another example, interception of message transmissions can be analyzed online and allowed to transmit (e.g., allowed), and the transmission or a portion of the transmission can be copied into memory to classify the traffic stream. In some modalities, implementing traffic control for services controlled by network capacity occurs by intercepting or controlling or modulating UI notifications. In some modalities, implementing traffic control for services controlled by network capacity occurs by killing or suspending network service activity. In some embodiments, implementing traffic control for services controlled by network capacity occurs by de-prioritizing the process(es) associated with the service activity (eg, de-prioritizing CPU scheduling).
[00273] In some embodiments, deploying traffic control for network capacity controlled services using DAS techniques for network service usage activities that are unaware of network capacity control occurs by emulating network API message (for example, effectively providing a spoofed or emulated network API). For example, an emulated network API can intercept, modify, block, remove, and/or replace network socket application interface messages and/or EtherType messages (eg, EWOULDBLOCK, ENETDOWN, ENETUNREACH, EHOSTDOWN, EHOSTUNREACH, EALRADY , EINPROGRESS, ECONNREFUSED, EINPROGRESS, ETIMEDOUT, and/other such messages). As another example, an emulated network API can modify, exchange, and/or inject network socket application interface messages (socket(), connect(), read(), write(), close(), and others such messages) that provide control or management of service usage behavior of network service activity. As in yet another example, before allowing a connection to be opened (for example, before a socket is opened), the transmission, or a stream/stream is started, it is blocked and a message is sent back to the application (for example, a restart message in response to the synchronization request or another message that the application will understand and can be interpreted to indicate that the attempt to access the network was not allowed/blocked, that the network is not available, and/ or retry the requested network access later). As yet another example, the socket may be allowed to open, but after some point in time (for example, based on network service usage, network busy state, time-based criteria, and/or some other criteria/measure ), the current is blocked or the socket is terminated. As yet another example, time window-based traffic control techniques can be deployed (eg during non-peak, network non-busy times), such as allowing network access for a period of time. , block for a period of time, then repeat to then effectively spread network access either randomly or deterministically. Using these techniques, an application that is unaware of traffic control based on network capacity control can send and receive standard messages, and the device can implement traffic controls based on the network capacity control policy with the usage of messages that network service usage activity (eg, application or OS or software function) can understand and will respond in a typically predictable manner as will now be apparent to persons skilled in the art.
[00274] In some modalities, implementing traffic control for services controlled by network capacity using DAS techniques occurs with the use of various techniques in which the activity of using the network service is aware of the network capacity control ( for example, the network service usage activity supports an API or other interface to implement network capacity control). For example, a network access API as described in this document can be used to implement traffic control for services controlled by network capacity. In some modalities, the API facilitates communication of one or more of the following: network access conditions, network busy state or network availability state of one or more alternative networks or networks, one or more capacity-controlled service policies network (for example, the network service can be from a current network access configuration, such as allow/block, throttle, queue, scheduled time/space, and/or defer, which can be based on, for example , a current network, a busy state of the current network, a time-based criterion, a service plan, a network service classification, and/or other criteria/measures), a network access request of a service activity network, a queried/asked request for a network service activity, a grant of network access for a network service activity (for example, including a priority setting and/or service rating controlled by capacity. and network, a scheduled time/time slot, an alternative network, and/or other criteria/measures), a network busy state or a network availability state or a network QoS state.
[00275] In some modalities, implementing traffic control for services controlled by network capacity with the use of assisted/network-based techniques occurs with the use of various techniques in which the activity of using the network service is unaware of the control network capability (for example, does not support an API or other interface to implement network capability control). In some embodiments, DPI-based techniques are used to control network-capability-controlled services (for example, to block or accelerate network-capability-controlled services on a DPI communication port).
[00276] In some modalities, deploying traffic control for services controlled by network capacity with the use of assisted/network-based techniques occurs with the use of various techniques in which the network service usage activity is aware of the control of network capability (for example, supports an API or other interface to implement network capability control). In some embodiments, the application/message layer (eg, a network API as described in this document) is used to communicate with a network service activity to provide service classifications and/or priorities controlled by network capacity. associated, network busy state information or network availability of one or more alternative networks or networks, a network access request and response, and/other criteria/measures in a manner similar to that described herein.
[00277] In some embodiments, DAS for network capacity protection includes implementing a service plan for differential charging based on network service usage activities (eg, including services controlled by network capacity). In some modalities, the service plan includes differential charging for services controlled by network capacity. In some embodiments, the service plan includes a network edge service usage for services controlled by network capacity. In some modalities, the service plan includes a notification when the limit is exceeded. In some modalities, the service plan includes additional fees when the limit is exceeded. In some modalities, the service plan includes modifying charging based on user input (for example, user opt-out selection as described in this document, where, for example, additional charges are different for services controlled by network capacity and /or based on priority levels and/or based on current access network). In some modalities, the service plan includes time-based criteria restrictions for services controlled by network capacity (for example, time of day restrictions with or without opt-out options). In some embodiments, the service plan includes criteria restrictions based on network busy state for services controlled by network capacity (eg, with or without cancellation options). In some modalities, the service plan provides controls on network service activity to be canceled (for example, a time, time window, amount of use, or permanence) (for example, differential charge for cancellation, limit on differential mode cancel, cancel with action-based UI notification option, and/or cancel with UI configuration). In some modalities, the service plan includes a family plan or multi-user plan (for example, different service configurations controlled by network capacity for different users). In some modalities, the service plan includes a multi-device plan (for example, different service configurations controlled by network capability for different devices, such as smart phone, laptop computer, net book computer, e-type computer. book). In some modalities, the service plan includes the use of service controlled by free network capacity for a certain time of day, network busy state(s), and/or other criteria/measures. In some modalities, the service plan includes network dependent charges for services controlled by network capacity. In some embodiments, the service plan includes network preference/priority for services controlled by network capacity. In some embodiments, the service plan includes arbitration billing to bill a carrier partner or sponsored service partner for provided access to a destination, application, or other service controlled by network capacity. In some embodiments, the service plan includes arbitration billing to bill an application developer for access provided on a destination, application, or other service controlled by network capability.
[00278] In some application situations, excess network capacity demand can be caused by modem power state changes in the device. For example, when an application or OS function tries to connect to the network for any reason when the modem is in a power-saving state where the modem is not connected to the network, it can cause the modem to change the state of save energy, reconnect to the network, and then start the application network connection. In some cases, this can also cause the network to reset a modem connection session (eg PPP session) which in addition to the network capacity consumed by the basic modem connection also consumes network resources to establish the PPP session. Consequently, in some embodiments, network service usage activity control policies are implemented to limit or control the capacity of applications, OS functions, and/or other network service usage activities (eg, controlled services by network capability) to change the modem power control state or network connection state. In some embodiments, service usage activity is prevented or limited by waking the modem, changing the modem's power state, or causing the modem to connect to the network until a given time window is reached. In some embodiments, the frequency of a service usage activity is allowed to wake the modem, change the modem's power state, or cause the modem to be limited. In some embodiments, a network service usage activity is prevented from waking the modem, changing the modem's power state, or inducing the modem until the time period has elapsed. In some embodiments, a network service usage activity is prevented from waking the modem, changing the modem power state, or inducing the modem until multiple network service usage activities require such changes in the modem state, or until network service usage activity is aggregated to increase network capacity and/or network resource utilization efficiency. In some embodiments, limiting the ability of a network service usage activity to change the power state of a modem includes disallowing the activity to turn off the modem, place the modem in sleep mode, or disconnect the modem from the network. In some embodiments, these limitations on using network service activity to wake the modem, change the modem power state, or cause the modem to connect to a network, are adjusted by a network function policy communication. (eg a service controller or other network element/function) to the modem. In some embodiments, these power control state policies are updated by the core network function.
[00279] Figure 24 depicts a diagram of a 2400 network capacity protection system that uses device assisted services (DAS). The 2400 system includes wireless devices 2402-1 through 2402-N (collectively referred to as wireless devices 2402), wireless networks 2404-1 through 2404-N (collectively referred to as wireless networks 2404), an 2406 network traffic analysis, a 2408 network service usage classification mechanism, and a 2410 differential network access control mechanism.
[00280] The 2402 wireless devices will, at a minimum, include a processor, memory (although memory can be deployed to the processor), a radio, and a radio interface (although the radio interface can be deployed as " part" of the radio). To make wireless devices 2402 useful, they will typically have at least one input device and at least one output device, which include input and output interfaces, if applicable.
[00281] Wireless 2402 devices can be deployed as stations. A station, as used in this document, can be referred to as a device with a media access control (MAC) address and a physical layer interface (PHY) to the wireless medium that complies, for example, with the IEEE standard. 802.11. A station can be described as "IEEE 802.11 compliant" in accordance with the IEEE 802.11 standard which is intended to be explicit (that is, a device acts as described in at least a portion of the IEEE 802.11 standard). Persons skilled in the art will understand what the IEEE 802.11 standard currently comprises, and what IEEE 802.11 standard may change over time, and should be expected to apply the techniques described in this document in accordance with future versions of the IEEE 802.11 standard. an applicable change is made. IEEE standard 802.11™ 2007 (Revision of IEEE standard 802.11-1999) is incorporated by reference. IEEE 802.11k-2008, IEEE 802.11n-2009, IEEE 802.11p-2010, IEEE 802.11r-2008, IEEE 802.11w-2009, and IEEE 802.11y-2008 are also incorporated by reference.
[00282] In alternative embodiments, one or more of the wireless devices 2402 may meet some other standard or no standard at all, and may have different interfaces on one wireless medium or another medium. It should be noted that not all standards refer to wireless devices as "stations", however, where the term is used in this document, it should be understood that an analogous unit will be present on all applicable wireless networks. Thus, the use of the term "station" should not be construed as limiting the scope of a modality that describes wireless devices as stations to a standard that explicitly uses the term, unless such a limitation is appropriately in the context of the discussion.
[00283] 2404 wireless networks will typically include an internet work unit (IWU) that interconnects wireless devices on the relevant portion of the 2404 wireless networks with another network, such as a wired LAN. The IWU is sometimes referred to as a wireless access point (WAP). In the IEEE 802.11 standard, a WAP is also defined as a station. Thus, a station can be a non-WAP station or a WAP station. In a cellular network, WAP is often referred to as a base station.
[00284] 2404 wireless networks can be deployed using any applicable technology, which may be differentiated by network types or in other forms. The 2404 wireless networks can be of any suitable size (eg, metro area network (MAN), personal area network (PAN), etc.). Wireless broadband MANs may or may not conform to the IEEE 802.16 standard, which is incorporated by reference. Wireless PANs may or may not conform to the IEEE 802.15 standard, which is incorporated by reference. 2404 wireless networks can be identifiable by network type (eg 2G, 3G, WiFi), service provider, WAP/base station identifier (eg WiFi SSID, base station and sector ID), geographic location, or other etiquette criteria.
[00285] The 2404 wireless networks may or may not be coupled together through an intermediary network. The intermediate network can include virtually any type of network communications, such as, by way of example, but not limitation, the Internet, a public switched telephone network (PSTN), or an infrastructure network (eg, private LAN) . The term "Internet" as used herein refers to a network of networks that use certain protocols such as the TCP/IP protocol and possibly other protocols such as the hypertext transfer protocol (HTTP) for Markup Language documents Hypertext (HTML) that constitute the World Wide Web (the Web).
[00286] In the example of Figure 24, the network traffic analysis mechanism 2406 is coupled to wireless device 2402-1. In a specific deployment, network traffic analysis engine 2406 is deployed in a server and is coupled to wireless device 2402-1 over the Internet. However, at least a portion of the network traffic analysis mechanism 2406 may alternatively be deployed in wireless device 2402-1, with or without a connection to a server that includes another portion (e.g., a server portion) of the mechanism. of network traffic analysis 2406.
[00287] As used herein, a mechanism includes a dedicated or shared processor and typically firmware or software modules that are run by the processor. Depending on the specific deployment or other considerations, an engine can be centralized or its functionality distributed. An engine may include special-purpose hardware, firmware, or software, embedded in a computer-readable medium for execution by the processor. As used herein, a computer-readable medium is intended to include all media that are statutory (eg, in the United States, under 35 USC 101), and may specifically exclude all media that are not statutory in nature until the the point at which the exclusion is necessary for a claim that includes the computer-readable medium that is valid. Known statutory computer-readable media include hardware (eg, registers, random access memory (RAM), non-volatile storage (NV) to name a few), but may or may not be limited to hardware.
[00288] Network traffic analysis engine 2406 analyzes a subset of traffic between wireless device 2402-1 and a source or destination. The analyzed traffic may or may not be limited to a network segment, such as between a cell phone and a base station. Network traffic analysis engine 2406 can analyze traffic for a subset of devices in wireless network service area 2404-1. The traffic analyzed may or may not be limited to subscribers.
[00289] In the example of Figure 24, the 2408 network service usage rating mechanism is coupled with the 2406 network traffic analysis mechanism. In a specific implementation, the 2408 network service usage rating mechanism is deployed on a server, which may or may not be the same server on which the 2406 network traffic analysis engine is deployed. However, at least a portion of the 2408 network service usage classification mechanism may alternatively be deployed in wireless device 2402-1, with or without a connection to a server that includes another portion (e.g., a server portion) of the 2408 network service usage rating mechanism.
[00290] The 2408 network service usage classification mechanism can categorize traffic based on the class of service (eg, conversational, broadcast, interactive, background, or some other class of service) required or required for a service. Categorization makes it easy to identify a snapshot of class of service usage at a given time and, in some deployments, forecast future class of service usage based on the snapshot (for example, assuming class of service usage future is at least in some way related to snapshot service class usage), historical data analysis (eg, service class usage at certain times of the day/weekdays), trending, or the use of some other predictive technology.
[00291] In the example of Figure 24, the 2410 differential network access control mechanism is coupled to the 2408 network service usage classification mechanism. In a specific implementation, the 2410 network access control mechanism is deployed in a server, which may or may not be the same server on which the 2406 network traffic analysis mechanism and/or the 2408 network service usage rating mechanism are deployed. However, at least a portion of the network access control mechanism 2410 may alternatively be deployed in wireless device 24021, with or without a connection to a server that includes another portion (e.g., a server portion) of the control mechanism. network access point 2410.
[00292] The 2410 differential network access control mechanism uses the predicted class of service usage of the 2408 network service usage classification mechanism to dynamically adjust resources allocated to classes of service. For example, the differential network access control mechanism 2410 can perform a class of service availability assessment to determine whether the class of service capacity for classes of service on a channel is sufficient for the anticipated service usage, and for add resources if CLASS of service availability is insufficient for anticipated service usage or reduce resources if Class of Service availability is more than sufficient for anticipated service usage.
[00293] Alternatively, the differential network access control mechanism 2410 may additionally or instead control applications on devices such that applications change service usage levels or delay consumption of wireless resources (by example, delaying software updates until more features become available). In one embodiment, a service usage control policy is implemented on wireless device 2402-1. This may be necessary in some cases to ensure the wireless device 2402-1 can adjust application settings that are normally fixed, optimize activation of network service usage based on network state (eg if the network is busy), control over-the-air software updates, speed up resource hungry applications, manage network service usage requests from repeated offline modes, keep PPP sessions active, or otherwise facilitate dynamic or other device behavior.
[00294] In a specific implementation, subscribers may be encouraged to change classes of service, for example, charging more for higher classes of service. Differential network access control mechanism 2410 may send a differential tariff notification for classes of service. Alternatively, tariffs could be implemented through subscriber preferences or account settings.
[00295] In the example of Figure 24, in operation, the network traffic analysis engine 2406 analyzes traffic from one or more devices, including wireless device 2402-1. The 2408 network service usage classification mechanism predicts the amount of resources needed for classes of service, and the 2410 differential network access control mechanism dynamically allocates resources as needed to adjust the classes of service that are available to the one or more devices and/or adjust the device behavior for a subset of the one or more devices or instruct a subset of the one or more devices to adjust the device behavior such that the device consumes specific class of service resources of according to an appropriate access control policy for the resources allocated to the applicable classes of service.
[00296] Figure 25 illustrates a diagram of an example of a differential access control notification system 2500. In the example of Figure 25, the system 2500 includes a network service usage analysis mechanism 2502, a classification mechanism a 2504 network service usage control mechanism, a 2506 differential network access control mechanism, a 2508 network service usage control policy data store, a 2510 network service usage notification mechanism, an interface 2512 user, and a 2514 service plan update mechanism.
[00297] In the example of Figure 25, the network service analysis engine 2502 analyzes the network service usage activity. Analysis may include an analysis of traffic sent to or from a device, an application operating on a device, a request for services, or other analysis that is informative of past, current or future network service usage. For example, network service usage activity may include an attempt to download or load an application on the communications device, an attempt to perform network service activity, or network service usage activity attempts to access the network, meet or exceed a network service usage limit, satisfy a network service usage precondition, an update to a network capacity controlled service activity classification list, an update to a service policy network capability is controlled, and a network message is sent to the device that triggers the notification, to name several by way of example. The analysis can take place on a non-WAP station, a base station or WAP, a server or partially on one of these devices or some other device.
[00298] In the example of Figure 25, the 2504 network service usage rating mechanism is coupled with the 2502 network service analysis mechanism. The 2504 network service usage rating mechanism classifies the network service usage analyzed in one or more classes of service. Sorting can take place on a non-WAP station, a base station or WAP, a server, or partially on one of these devices or some other device.
[00299] In the example of Figure 25, the differential network access control mechanism 2506 is coupled to the network service usage classification mechanism 2504. The differential network access control mechanism 2506 determines network access parameters by through the use of service classes associated with network service usage activity and network service usage control policies stored in the 2508 network service usage control policy data store. non-WAP station, a base station or WAP, a server or partially on one of these devices or some other device. The 2508 Network Service Usage Control Policy data store can be deployed on a wireless device, but it is still possible to maintain the data store remotely from the device (for example, on a server). In a specific deployment, even if the 2508 Network Service Usage Control Policy data store is held remotely from the wireless device, the wireless device will still have a Network Service Usage Control Policy deployed.
[00300] A data store may be deployed, for example, as software embedded in a physical computer-readable medium on a specific or general purpose machine, in firmware, in hardware, in a combination thereof, or in a system or convenient or known device applicable. Data stores in this document are intended to include any data organization, including tables, comma-separated value (CSV) files, traditional database (eg SQL), or other applicable convenient or known organizational formats. Components associated with data storage, such as database interfaces, may be considered "part of" a data store, part of some other system component, or a combination thereof, although the physical location and other characteristics of components associated with data storage are not critical to an understanding of the techniques described in this document.
[00301] Data stores can include data structures. As used in this document, a data structure is associated with a particular way of storing and organizing data on a computer so that it can be used efficiently within a given context. Data structures are generally based on a computer's ability to fetch and store data anywhere in its memory, specified by an address, a series of bits that can be stored alone in memory and manipulated by the program. Thus, some data structures are based on computing the addresses of data items with arithmetic operations; while other data structures are based on storing data item addresses within the structure itself. Many data structures use both principles, sometimes combined in nontrivial ways. Implementing a data structure usually entails writing a set of procedures that create and manipulate instances of that structure.
[00302] In the example of Figure 25, the 2510 network service usage notification mechanism is coupled to the 2506 differential network access control mechanism and the 2508 network service usage control policy data store. 2510 network service usage notification mechanism is configured to generate a notification sufficient to indicate relevant access control information. For example, the notification could indicate which network service usage activities are network capacity controlled services, the type of network service policy in effect for one or more network capacity controlled services, which a service activity network belongs to a network capacity controlled services classification, that a service activity that is classified as network capacity controlled services classification may have the classification changed, notification that if the service class is changed for the service activity. network service that the associated network service usage charges will change, an offer to upgrade/downgrade the service plan, and an offer for a service plan that provides discounts and/or incentives to respond to one or more notifications of user to protect network capacity, to name several by way of example.
[00303] The notification may or may not also include a user preference selection. For example, the notification could include a provision to associate a network service usage control policy with network service usage activity, an unsubscribe option to select the network service usage control policy, an option a modification option to select the service usage control policy, and a selection option to select a new service plan, to name several by way of example. Other examples include network service usage activity information for one or more controlled network capacity services, predicted network service usage activity information for one or more controlled network capacity services, an option for more information on the network service usage of the network service usage activity, a message that the network service usage activity may result in network service usage that exceeds a threshold for a service plan associated with the device, a an option to review or select an alternative service plan, an acknowledgment request, and an option to submit an acknowledgment request, to name a few more by way of example.
[00304] In the example of Figure 25, the 2512 user interface is coupled to the 2510 web service usage notification mechanism. It should be noted that notifications can be discarded by querying user preferences (eg when a user indicates that maximum performance or minimum cost should be automatically selected). However, unless subscriber preferences are set to default, it is likely that a user will have notifications displayed on the 2512 UI. The notification may be in an applicable known or convenient form, such as SMS, email, a popup window, or similar . To the extent that a response is allowed, a user can input a response to the notification through the use of an input device (not shown).
[00305] In the example in Figure 25, the 2514 service plan update mechanism is coupled to the 2512 UI. in the notification. Regardless of how the selection associated with the notification is made, the 2514 service plan update mechanism can update a service plan, network service usage control policy, user preferences, or other parameters according to the selection. The 2514 service plan update engine can also update accounting if costs roll up.
[00306] Figure 26 illustrates an example of a 2600 computer system in which techniques described in this document can be deployed. Computer system 2600 can be a conventional computer system that can be used as a client computer system, such as a wireless workstation or client, or a server computer system. Computer system 2600 includes a computer 2602, I/O devices 2604, and a display device 2606. The computer 2602 includes a processor 2608, a communications interface 2610, a memory 2612, a display controller 2614, a storage non-volatile 2616, and an I/O controller 2618. The computer 2602 may be coupled to or include the I/O devices 2604 and the display device 2606.
[00307] Computer 2602 interacts with external systems through communications interface 2610, which may include a modem or network interface. It will be appreciated that the 2610 communications interface may be considered part of the 2600 computer system or a part of the 2602 computer. The 2610 communications interface may be an analog modem, ISDN modem, cable modem, token ring interface, broadcast interface. satellite (eg "direct PC"), or other interfaces to couple a computer system to other computer systems.
[00308] The 2608 processor can be, for example, a conventional microprocessor, such as an Intel Pentium microprocessor or Motorola PowerPC microprocessor. Memory 2612 is coupled to processor 2608 via a bus 2670. Memory 2612 may be Dynamic Random Access Memory (DRAM) and may further include Static RAM (SRAM). Bus 2670 couples processor 2608 to memory 2612, also non-volatile storage 2616, display controller 2614, and I/O controller 2618.
[00309] The 2604 I/O devices may include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. The display controller 2614 can control in conventional manner a display on the display device 2606, which may be, for example, a cathode ray tube (CRT) or a liquid crystal display (LCD). The 2614 display controller and the 2618 I/O controller can be deployed with well-known conventional technology.
[00310] Non-volatile 2616 storage is often a magnetic hard disk, an optical disk, or other form of storage for large amounts of data. Some of this data is often written, through a direct memory access process, to memory 2612 during software execution on the computer 2602. A person skilled in the art will immediately recognize the terms "machine-readable media" or "machine-readable media" computer" include any type of storage device that is accessible by the 2608 processor and also encompasses a carrier wave that encodes a data signal.
[00311] The 2600 computer system is an example of many possible computer systems that have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which may be an I/O bus for peripherals and one that directly connects the 2608 processor and 2612 memory (often referred to as a memory bus ). The buses are connected via bridge components that perform any necessary translation due to diverging bus protocols.
[00312] Network computers are another type of computer system that can be used in conjunction with the teachings provided in this document. Network computers typically do not include a hard disk or other mass storage, and executable programs are loaded from a network connection into memory 2612 for execution by the 2608 processor. A Web TV system, which is known in the art, it is also considered a computer system, but it may lack some of the features shown in Figure 26, such as certain input or output devices. A typical computer system will typically include at least a processor, memory, and a bus that couples memory to the processor.
[00313] In addition, the computer system 2600 is controlled by operating system software that includes a file management system, such as a disk operating system, which is part of the operating system software. An example of operating system software with its associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Washington, and its associated file management systems. Another example of operating system software with its associated file management system software is the Linux operating system and its associated file management system. The file management system is typically stored in non-volatile storage 2616 and causes the processor 2608 to perform the various acts required by the operating system to input and output data and to store data in memory, including storing files in non-volatile storage 2616 .
[00314] Figure 27 represents a diagram of an example of a 2700 system for application-specific differential network access control. In the example of Figure 27, system 2700 includes an application that consumes network service 2702, a network service usage analysis mechanism 2704, an application behavior data store 2706, a service usage classification mechanism. network 2708, an application traffic prioritization mechanism 2710, a network service usage control policy data store 2712, a differential network access control mechanism 2714, an application traffic provision intermediary store 2716 , an application traffic cancellation mechanism 2718, and a network interface 2720. The 2700 system is intended to represent a specific implementation of techniques described earlier in this document for illustrative purposes. The techniques may be applicable to an applicable known or convenient device (wired or wireless) for which there is a motivation to control network service usage.
[00315] In the example of Figure 27, the application that consumes network service 2702 is an application that is deployed in a device. In an expected usage, the application is a software application stored at least partly in memory on a wireless device, although core-level instructions could be implemented as firmware or even hardware. The application may be referred to as "operating" on the device or as being "executed" by the device in accordance with known usages of those terms. Wireless media are known to have more bandwidth limitations, which is why a wireless device is an expected use, although the technique may be applicable to wired devices in certain situations.
[00316] In the example of Figure 27, the network service analysis mechanism 2704 is coupled to the application that consumes network service 2702. The network service analysis mechanism 2704 analyzes traffic from the application that consumes network service 2702 and stores relevant data in application behavior data store 2706. The data can include all traffic that is sent by the application, or a subset of the traffic (for example, the one that has a certain priority or QoS classification, the one that has consumption of high resource due to frequent application transmission, one that is sent to a particular destination, etc.). The data can also include traffic that is received for the application. The 2706 application behavior data store may alternatively or in addition be deployed as a destination/source of traffic data store, which can be valuable if differential access control is based on the source and/or destination of traffic. The 2706 application behavior data store includes data structures (eg, records) representative of data that is organized with deployment-specific granularity. For example, data structures can be representative of frames (L2), packets (L3) or messages. (It may be noted that the term "packages" is often used to mean collections of data that are not limited to L3.) The desired granularity may depend on where the 2704 network service parsing engine is located. Whether data structures change over time (for example, to change data associated with a record), replaced as records age, or maintained as historical data is also deployment-specific.
[00317] In the example of Figure 27, the network service usage classification mechanism 2708 is coupled to the network service analysis mechanism 2704 and the application behavior data store 2706. The service usage classification mechanism network 2708 can categorize traffic stored in application behavior data store 2706 based, for example, on network type, time of day, connection cost, whether home or mobile, network busy state, QoS, and whether the particular service usage activity is in the foreground of the user interaction or in the background of the user interaction, or other characteristics that are obtained from the analysis of network service usage or through other means. Classification rules may include, for example, examining whether one or more of the following occurred within a specified time period: user interacted with the device, user interacted with service usage activity, user took the device, the service usage activity UI content is in the foreground of the device UI, the audio or video information is being played by the service usage activity, a certain amount of data was communicated by the service usage activity, the service usage activity is or is not in a foreground or background service list. Rules that define what service usage activities to classify, such as background service usage activities, may be selected by user, established by a service provider, or through some other applicable means.
[00318] Advantageously, the 2704 network service analysis engine can examine a particular service usage activity and the 2708 network service usage classification mechanism can determine whether the particular service usage activity fits into a set. of one or more classification rules that define particular service usage activity, such as background service usage activity.
[00319] In the example of Figure 27, the application traffic prioritization engine 2710 uses a policy stored in the network service usage control policy data store 2712 to determine an appropriate prioritization for traffic to and/or from the application. which consumes 2702 network service. Prioritization can enable the 2700 system to adjust the amount of network resources consumed by the application consuming 2702 network service, or the rate of network resource consumption. Control policy may require applications to accelerate network resource consumption, prohibit the use of network resources by certain applications, etc.
[00320] Advantageously, application traffic prioritization mechanism 2710 can determine whether a particular service usage activity has a particular characteristic, such as being a background service usage activity. This may involve checking whether a condition is met.
[00321] In the example of Figure 27, the differential network access control mechanism 2714 is coupled to the application traffic prioritization mechanism 2710 and the network service usage control policy data store 2712. differential network access control 2714 causes the application consuming network service 2702 traffic to be queued in the application traffic provision buffer 2716. (If no acceleration is required to follow the control policy, of course, the traffic does not needs to be stored in provision buffer storage anywhere other than what is typical, such as output staging.) Application traffic provision buffer storage 2716 is intended to represent provision buffer storage that is deployed in addition output staging or other standard provisioning intermediate storage device, and is used used by differential network access control mechanism 2714 to facilitate control over "intrusive" applications, applications that have anomalous behavior, or applications that must otherwise be controlled to conform to control policy.
[00322] Advantageously, the differential network access control mechanism can restrict the network access of a particular service usage activity when a condition is satisfied, such as when the service usage activity is a background activity.
[00323] In the example of Figure 27, the application traffic cancellation mechanism 2718 is coupled to the differential network access control mechanism 2714 and the application traffic provision buffer 2716. The application traffic cancellation mechanism 2718 allows the user or device to be bypassed from the control policy. Such deviation can be guided, for example, by an incentive offer or a cost notice.
[00324] In an illustrative example, the 2700 device blocks conversation for an application operating in the background that is trying to report user or device behavior. Application traffic prioritization mechanism 2710 determines that the conversation has zero priority such that the application consuming network service 2702 is prevented from consuming any resources. The user can be sent a notification by the application traffic cancellation mechanism 2718 that its control policy prohibits the application from consuming network resources, but that the user can choose to bypass the control policy if the user is willing. to pay for the resources consumed. If the user is willing to pay for the resources, traffic can be sent at a certain rate from the application traffic provision intermediary store 2716 through the network interface 2720, or perhaps sent without using the application traffic provision intermediary store 2716.
[00325] As another illustrative example, the device 2700 could identify application traffic as a software update. Differential network access control mechanism 2714 can determine which software updates can be received at an accelerated rate (perhaps even slower than lower QoS categorization). Application traffic cancellation mechanism 2718 may receive an indication from the user, user preferences, service provider settings, or the like, that updates may bypass the control policy for a particular application (or for all applications ).
[00326] Advantageously, the control policy may set a priority to communicate elements stored in the provisioning buffer, set minimum update frequencies, provide control policy overrides (typically for payment), or the like to adjust access control policies of differential network. This can enable the 2700 system to encourage certain behavior, such as sending low QoS traffic when it is cheaper (for example, when the network does not have a busy state, at historically low usage times of the day, when in a certain network type, such as Wi-Fi, as opposed to another, such as cellular, etc.).
[00327] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operation on data bits within a computer's memory. These algorithmic representations and descriptions are the means used by those skilled in data processing techniques to more effectively express the substance of their work to those skilled in the art. An algorithm is conceived here, and generally speaking, as being a self-consistent sequence of operations that leads to a desired result. Operations are those that require physical manipulations of physical quantities. Typically, though not necessarily, these quantities take the form of magnetic or electrical signals that have the ability to be stored, transferred, combined, compared, and otherwise manipulated. It has sometimes proved convenient, mainly for reasons of common usage, to refer to these signs as bits, values, elements, symbols, characters, terms, numbers, or the like.
[00328] It should be borne in mind, however, that all such terms and similar terms must be associated with the appropriate physical quantities and are merely convenient labels applied to those quantities. Unless specifically indicated otherwise as evident from the following discussion, it is noted that throughout the description discussions use terms such as "processing" or "computation" or "calculation" or "determination" or "display "or similar refers to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's memories and records into other data represented in a manner similar as physical quantities within computer system registers or memories or such other information display, transmission or storage devices.
[00329] The present invention, in some embodiments, also relates to an apparatus to perform the operations in this document. Such apparatus may be specially constructed for the required purposes, or may comprise a general purpose computer selectively activated or reconfigured by a computer program stored on the computer. Such a computer program may be stored on computer-readable storage media, such as, but not limited to, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, optical or magnetic cards, of any type. disks including floppy disks, optical disks, CD-ROMs, and magneto-optical disks, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
[00330] The algorithms and monitors presented in this document are not inherently related to any particular computer or other device. Various general purpose systems can be used with programs in accordance with the teachings herein, or it may prove convenient to build a more specialized apparatus to carry out the required method steps. The structure required for a variety of these systems will be evident from the description below. Furthermore, the present invention is not described with reference to any particular programming language, and various embodiments can thus be implemented through the use of a variety of programming languages.
[00331] Although the above embodiments have been described in some details for the purpose of clarity of understanding, the invention is not limited to those details provided. There are many alternative ways of implementing the invention. The disclosed modalities are illustrative and not restrictive.
权利要求:
Claims (15)
[0001]
1. END USER WIRELESS DEVICE (100), comprising: wireless wide area network (WWAN) modem (1812) to communicate data for Internet service activities between the device and at least one WWAN (125), when configured for and connected to WWAN; wireless local area network (WLAN) modem (1813) for communicating data for Internet service activities between the device and at least one WLAN (702) when configured for and connected to the WLAN; and control, through application program interface (API), of application access to Internet service activities provided through WWAN modem and WLAN modem, to, based on a first differential traffic control policy, block and selectively allowing access by the first end-user application to the WWAN modem at a time when data for Internet service activity is communicated over a WWAN modem connection to at least one WWAN; characterized in that access is selectively blocked based on a determination that the first end-user application is running in a background state, and that access is selectively allowed based on a determination that the first end-user application is running as a foreground application.
[0002]
2. WIRELESS END USER DEVICE (100) according to claim 1, characterized in that one or more processors (115) are configured to determine that the first end user application is running in a background state when a user device is not directly interacting with that application or detecting any benefit from that application.
[0003]
3. END USER WIRELESS DEVICE (100) according to claim 1, characterized in that it further comprises a user interface to inform a user of the device when there are options for configuration, control, cancellation or modification of controls for the use of service that affect the first differential traffic control policy.
[0004]
4. END USER WIRELESS DEVICE (100) according to claim 1, characterized in that the first differential traffic control policy is part of a multimode profile that has different policies for different networks.
[0005]
5. END USER WIRELESS DEVICE (100) according to claim 4, characterized in that one or more processors (115) are further configured to select a traffic control policy from the multimode profile based at least in part the type of network connection currently in use by the device.
[0006]
6. END USER WIRELESS DEVICE (100) according to claim 5, characterized in that one or more processors (115) are further configured to, when the type of network connection is at least one type of WLAN connection, select a traffic control policy from the multimode profile based at least in part on a type of network connection of the WLAN to the Internet.
[0007]
7. WIRELESS END USER DEVICE (100) according to claim 1, characterized in that one or more processors (115) are further configured to determine whether a second end user application is running in a background state or as foreground application, and control application access to Internet service activities by the second end-user application similar to application access control for the first end-user application, except that application access control to service activities of the Internet by the second end-user application is based on a second differential traffic control policy that can be established different from the first differential traffic control policy.
[0008]
8. END USER WIRELESS DEVICE (100) according to claim 1, characterized in that the application access control of one or more processors (115) based on a first differential traffic control policy is applied to one, but not both a connection to a mobile WWAN network and a connection to a home WWAN network.
[0009]
9. END USER WIRELESS DEVICE (100) according to claim 1, characterized in that one or more processors (115) are further configured to dynamically change the application of the first differential traffic control policy based on a state of device power.
[0010]
10. END USER WIRELESS DEVICE (100) according to claim 1, characterized in that one or more processors (115) are configured to dynamically change the application of the first differential traffic control policy based on a state of use of the device.
[0011]
11. END USER WIRELESS DEVICE (100) according to claim 1, characterized in that one or more processors (115) are further configured to dynamically change the application of the first differential traffic control policy based on interaction monitoring user with the device.
[0012]
12. END USER WIRELESS DEVICE (100) according to claim 1, characterized in that one or more processors (115) are configured to dynamically change the application of the first differential traffic control policy based on changes in the state of power control for one or more of the modems.
[0013]
13. END USER WIRELESS DEVICE (100) according to claim 1, characterized in that one or more processors (115) are configured to associate the first end user application with the differential traffic control policy based on a application behavior.
[0014]
14. END USER WIRELESS DEVICE (100) according to claim 1, characterized in that the differential traffic control policy defines that the applications to which the policy applies can only have WWAN network access events during particular intervals.
[0015]
15. END USER WIRELESS DEVICE (100) according to claim 1, characterized in that one or more processors (115) are configured to determine when the first end user application is running in a background state or as a foreground application based on a UI priority state for the application.
类似技术:
公开号 | 公开日 | 专利标题
US10749700B2|2020-08-18|Device-assisted services for protecting network capacity
BR112012029716B1|2021-06-22|END USER WIRELESS DEVICE
EP3297232B1|2019-07-10|Device-assisted services for protecting network capacity
同族专利:
公开号 | 公开日
KR20170133524A|2017-12-05|
MX2012013659A|2013-06-03|
EP3110072A1|2016-12-28|
WO2011149532A1|2011-12-01|
EP2577332B1|2016-09-28|
EP3110072B1|2017-08-30|
KR20130088041A|2013-08-07|
KR101911215B1|2018-12-19|
AU2011258873B2|2015-09-24|
KR102072622B1|2020-02-25|
KR20200124325A|2020-11-02|
KR101804595B1|2018-01-10|
KR20180054931A|2018-05-24|
BR112012029716A2|2017-10-17|
KR20200013084A|2020-02-05|
CA2800482C|2019-05-21|
KR101861503B1|2018-05-25|
JP5850470B2|2016-02-03|
KR102171388B1|2020-10-30|
KR20180116469A|2018-10-24|
EP2577332A4|2016-03-02|
EP2577332A1|2013-04-10|
CN103038652A|2013-04-10|
NZ603631A|2013-10-25|
AU2011258873A1|2012-12-06|
JP2013534081A|2013-08-29|
CA2800482A1|2011-12-01|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

US7383191B1|2000-11-28|2008-06-03|International Business Machines Corporation|Method and system for predicting causes of network service outages using time domain correlation|
US7180855B1|2001-04-19|2007-02-20|At&T Corp.|Service interface for QoS-driven HPNA networks|
WO2003015377A1|2001-08-04|2003-02-20|Kontiki, Inc.|Method and apparatus for facilitating distributed delivery of content across a computer network|
US7206324B2|2002-05-03|2007-04-17|Telefonaktiebolaget Lm Ericsson |QoS translator|
US7322044B2|2002-06-03|2008-01-22|Airdefense, Inc.|Systems and methods for automated network policy exception detection and correction|
US7228354B2|2002-06-28|2007-06-05|International Business Machines Corporation|Method for improving performance in a computer storage system by regulating resource requests from clients|
US7324447B1|2002-09-30|2008-01-29|Packeteer, Inc.|Methods, apparatuses and systems facilitating concurrent classification and control of tunneled and non-tunneled network traffic|
GB0315492D0|2003-07-02|2003-08-06|Symbian Ltd|A method of enabling a multitasking wireless information device to conserve battery power|
AT523050T|2004-07-05|2011-09-15|Ericsson Telefon Ab L M|METHOD AND DEVICES FOR CHANGING THE SERVICE QUALITY|
EP2744175B1|2004-07-23|2018-09-05|Citrix Systems, Inc.|Systems and methods for optimizing communications between network nodes|
EP1713206A1|2005-04-11|2006-10-18|Last Mile Communications/Tivis Limited|A distributed communications network comprising wirelessly linked base stations|
JP2007074225A|2005-09-06|2007-03-22|Sony Corp|Communication processing apparatus, communication control method and computer program|
US8156128B2|2005-09-14|2012-04-10|Jumptap, Inc.|Contextual mobile content placement on a mobile communication facility|
US7680478B2|2006-05-04|2010-03-16|Telefonaktiebolaget Lm Ericsson |Inactivity monitoring for different traffic or service classifications|
US7792526B2|2006-05-15|2010-09-07|Research In Motion Limited|Adjustment of background scanning interval based on network usage|
US20070299965A1|2006-06-22|2007-12-27|Jason Nieh|Management of client perceived page view response time|
US9288276B2|2006-11-03|2016-03-15|At&T Intellectual Property I, L.P.|Application services infrastructure for next generation networks including a notification capability and related methods and computer program products|
JP4938530B2|2007-04-06|2012-05-23|株式会社エヌ・ティ・ティ・ドコモ|Mobile communication terminal and program|
CA2695010A1|2007-07-06|2009-01-15|Telefonaktiebolaget L M Ericsson |Congestion control in a transmission node|
US20090180391A1|2008-01-16|2009-07-16|Broadcom Corporation|Network activity anomaly detection|
US8265017B2|2008-04-11|2012-09-11|Apple Inc.|Methods and apparatus for network capacity enhancement for wireless device coexistence|US9351193B2|2009-01-28|2016-05-24|Headwater Partners I Llc|Intermediate networking devices|
US9980146B2|2009-01-28|2018-05-22|Headwater Research Llc|Communications device with secure data path processing agents|
US8793758B2|2009-01-28|2014-07-29|Headwater Partners I Llc|Security, fraud detection, and fraud mitigation in device-assisted services systems|
US8893009B2|2009-01-28|2014-11-18|Headwater Partners I Llc|End user device that secures an association of application to service policy with an application certificate check|
US9858559B2|2009-01-28|2018-01-02|Headwater Research Llc|Network service plan design|
US9565707B2|2009-01-28|2017-02-07|Headwater Partners I Llc|Wireless end-user device with wireless data attribution to multiple personas|
US9609510B2|2009-01-28|2017-03-28|Headwater Research Llc|Automated credential porting for mobile devices|
US10057775B2|2009-01-28|2018-08-21|Headwater Research Llc|Virtualized policy and charging system|
US9270559B2|2009-01-28|2016-02-23|Headwater Partners I Llc|Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow|
US9955332B2|2009-01-28|2018-04-24|Headwater Research Llc|Method for child wireless device activation to subscriber account of a master wireless device|
US8924543B2|2009-01-28|2014-12-30|Headwater Partners I Llc|Service design center for device assisted services|
US10841839B2|2009-01-28|2020-11-17|Headwater Research Llc|Security, fraud detection, and fraud mitigation in device-assisted services systems|
US9571559B2|2009-01-28|2017-02-14|Headwater Partners I Llc|Enhanced curfew and protection associated with a device group|
US10492102B2|2009-01-28|2019-11-26|Headwater Research Llc|Intermediate networking devices|
US9647918B2|2009-01-28|2017-05-09|Headwater Research Llc|Mobile device and method attributing media services network usage to requesting application|
US9557889B2|2009-01-28|2017-01-31|Headwater Partners I Llc|Service plan design, user interfaces, application programming interfaces, and device management|
US9578182B2|2009-01-28|2017-02-21|Headwater Partners I Llc|Mobile device and service management|
US9755842B2|2009-01-28|2017-09-05|Headwater Research Llc|Managing service user discovery and service launch object placement on a device|
US11218854B2|2009-01-28|2022-01-04|Headwater Research Llc|Service plan design, user interfaces, application programming interfaces, and device management|
US8589541B2|2009-01-28|2013-11-19|Headwater Partners I Llc|Device-assisted services for protecting network capacity|
US10237757B2|2009-01-28|2019-03-19|Headwater Research Llc|System and method for wireless network offloading|
WO2014127322A1|2013-02-18|2014-08-21|Headwater Partners I Llc|Enhanced curfew and protection associated with a device group|
US10783581B2|2009-01-28|2020-09-22|Headwater Research Llc|Wireless end-user device providing ambient or sponsored services|
US10798252B2|2009-01-28|2020-10-06|Headwater Research Llc|System and method for providing user notifications|
US10715342B2|2009-01-28|2020-07-14|Headwater Research Llc|Managing service user discovery and service launch object placement on a device|
US10264138B2|2009-01-28|2019-04-16|Headwater Research Llc|Mobile device and service management|
US8626115B2|2009-01-28|2014-01-07|Headwater Partners I Llc|Wireless network service interfaces|
US10200541B2|2009-01-28|2019-02-05|Headwater Research Llc|Wireless end-user device with divided user space/kernel space traffic policy system|
US10064055B2|2009-01-28|2018-08-28|Headwater Research Llc|Security, fraud detection, and fraud mitigation in device-assisted services systems|
US10326800B2|2009-01-28|2019-06-18|Headwater Research Llc|Wireless network service interfaces|
US8898293B2|2009-01-28|2014-11-25|Headwater Partners I Llc|Service offer set publishing to device agent with on-device service selection|
US8635335B2|2009-01-28|2014-01-21|Headwater Partners I Llc|System and method for wireless network offloading|
US9253663B2|2009-01-28|2016-02-02|Headwater Partners I Llc|Controlling mobile device communications on a roaming network based on device state|
US9572019B2|2009-01-28|2017-02-14|Headwater Partners LLC|Service selection set published to device agent with on-device service selection|
US9392462B2|2009-01-28|2016-07-12|Headwater Partners I Llc|Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy|
US8832777B2|2009-03-02|2014-09-09|Headwater Partners I Llc|Adapting network policies based on device service processor configuration|
US9706061B2|2009-01-28|2017-07-11|Headwater Partners I Llc|Service design center for device assisted services|
US10248996B2|2009-01-28|2019-04-02|Headwater Research Llc|Method for operating a wireless end-user device mobile payment agent|
US11134102B2|2009-01-28|2021-09-28|Headwater Research Llc|Verifiable device assisted service usage monitoring with reporting, synchronization, and notification|
US9954975B2|2009-01-28|2018-04-24|Headwater Research Llc|Enhanced curfew and protection associated with a device group|
US9154826B2|2011-04-06|2015-10-06|Headwater Partners Ii Llc|Distributing content and service launch objects to mobile devices|
US9887894B2|2012-01-27|2018-02-06|Microsoft Technology Licensing, Llc|Recommendations for reducing data consumption based on data usage profiles|
WO2013175267A1|2012-05-21|2013-11-28|Nokia Corporation|Method and apparatus for application behavior policies|
GB2502266A|2012-05-21|2013-11-27|Vodafone Ip Licensing Ltd|Controlling availability of a pool of surplus resource capabilities of control units associated with one or more base stations|
WO2013177311A1|2012-05-23|2013-11-28|Observable Networks, Llc|System and method for continuous device profiling |
JP6363999B2|2012-06-06|2018-07-25|ザ・トラスティーズ・オブ・コロンビア・ユニバーシティ・イン・ザ・シティ・オブ・ニューヨーク|Unified networking system and heterogeneous mobile environment devices|
US10541926B2|2012-06-06|2020-01-21|The Trustees Of Columbia University In The City Of New York|Unified networking system and device for heterogeneous mobile environments|
WO2014000171A1|2012-06-27|2014-01-03|华为技术有限公司|Management method and apparatus for billing package before and after package time limit|
US20140068212A1|2012-09-04|2014-03-06|Microsoft Corporation|Device backups and updates in view of data usage statistics|
CN102802089B|2012-09-13|2014-12-31|浙江大学|Shifting video code rate regulation method based on experience qualitative forecast|
US20140113616A1|2012-10-19|2014-04-24|Sony Mobile Communications Ab|Network initiated terminal background activity control|
JP5895856B2|2013-01-10|2016-03-30|富士ゼロックス株式会社|Communication management system and program|
WO2014116286A2|2013-01-25|2014-07-31|Adaptive Spectrum And Signal Alignment, Inc.|Method and apparatus for cloud services for enhancing broadband experience|
KR101490360B1|2013-12-03|2015-02-05|에스케이텔레콤 주식회사|Method and apparatus for processing traffic for service of high quality|
KR101530647B1|2013-12-20|2015-06-22|에스케이텔레콤 주식회사|Method and apparatus for processing traffic for service of high quality|
CN105745869B|2013-12-20|2019-02-15|迈克菲股份有限公司|For regional network/home network security gateway|
EP3136776B1|2014-05-15|2018-01-03|Huawei Technologies Co., Ltd.|Detection apparatus and method for determining air-interface resource consumed by service|
KR101575982B1|2014-10-10|2015-12-22|한국과학기술원|System and method to guarantee quality of service of iot terminal installed and deployed in a region of a certain range such as a home or store or mash-up services|
EP3228048B1|2014-12-03|2021-10-06|Nokia Technologies Oy|Method and apparatus for routing data to cellular network|
US10462016B2|2015-01-19|2019-10-29|Nec Corporation|Communication control system, communication control method, and recording medium|
CN106302207A|2015-05-29|2017-01-04|株式会社日立制作所|Flow management device and flow managing method|
US10200543B2|2015-06-01|2019-02-05|Huawei Technologies Co., Ltd.|Method and apparatus for customer service management for a wireless communication network|
US10349240B2|2015-06-01|2019-07-09|Huawei Technologies Co., Ltd.|Method and apparatus for dynamically controlling customer traffic in a network under demand-based charging|
US10374965B2|2015-06-01|2019-08-06|Huawei Technologies Co., Ltd.|Systems and methods for managing network traffic with a network operator|
CN105071987B|2015-07-28|2018-07-24|中国工程物理研究院计算机应用研究所|Refined net path quality analysis method based on flow analysis|
US9485697B1|2015-08-26|2016-11-01|Futurewei Technologies, Inc.|Systems and methods for improved data speeds for wireless devices|
CN107404454B|2016-05-18|2021-08-03|中国移动通信集团广东有限公司|Call quality adjusting method and device|
JP6833348B2|2016-05-25|2021-02-24|キヤノン株式会社|Information processing device, image processing system, information processing device control method, virtual viewpoint image generation method, and program|
CN106331368B|2016-09-13|2019-06-18|Oppo广东移动通信有限公司|A kind of picture method for down loading and terminal device|
US10104177B2|2016-09-30|2018-10-16|Hughes Network Systems, Llc|Distributed gateways with centralized data center for high throughput satellitespot beam network|
WO2018132901A1|2017-01-17|2018-07-26|Tutela Technologies Ltd.|System and method for evaluating wireless device and wireless network performance|
EP3571860A4|2017-01-17|2021-01-27|Tutela Technologies Ltd.|System and method for evaluating wireless device and/or wireless network performance|
CN109982362B|2017-12-28|2021-11-23|成都鼎桥通信技术有限公司|Networking method and server of mobile communication system|
KR20190132018A|2018-05-18|2019-11-27|삼성전자주식회사|Electronic device for performing network cnnection base on data transmission of application and method thereof|
WO2020060455A1|2018-09-18|2020-03-26|Telefonaktiebolaget Lm Ericsson |Methods and nodes for delivering data content|
CN109621409A|2018-12-14|2019-04-16|网易(杭州)网络有限公司|Method, apparatus, storage medium and the electronic equipment of game interrupt line reconnection|
JP2020201739A|2019-06-11|2020-12-17|Datagem合同会社|Cloud service management computer, cloud service management system, cloud service management method, and program|
US11212191B2|2020-01-07|2021-12-28|Forcepoint Llc|GUI assisted infrastructure as code|
US20210274426A1|2020-02-27|2021-09-02|Cisco Technology, Inc.|Wireless authorization and access network-neutral advice of charge techniques|
WO2022009122A1|2020-07-07|2022-01-13|Calgary Scientific Inc|Highly scalable, peer-based, real-time agent architecture|
法律状态:
2017-10-24| B15I| Others concerning applications: loss of priority|
2017-11-28| B152| Others concerning applications: decision cancelled [chapter 15.32 patent gazette]|
2017-12-05| B15I| Others concerning applications: loss of priority|
2018-01-02| B25A| Requested transfer of rights approved|Owner name: HEADWATER MANAGEMENT LLC (US) |
2018-01-16| B25D| Requested change of name of applicant approved|Owner name: HEADWATER RESEARCH LLC (US) |
2018-02-27| B12F| Other appeals [chapter 12.6 patent gazette]|
2019-09-10| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]|
2020-06-30| B06A| Patent application procedure suspended [chapter 6.1 patent gazette]|
2020-11-24| B06A| Patent application procedure suspended [chapter 6.1 patent gazette]|
2021-04-13| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2021-06-22| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 25/05/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, , QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |
优先权:
申请号 | 申请日 | 专利标题
US34802210P| true| 2010-05-25|2010-05-25|
US61/348,022|2010-05-25|
US38115910P| true| 2010-09-09|2010-09-09|
US61/381,159|2010-09-09|
US201161435564P| true| 2011-01-24|2011-01-24|
US61/435,564|2011-01-24|
PCT/US2011/000937|WO2011149532A1|2010-05-25|2011-05-25|Device- assisted services for protecting network capacity|
[返回顶部]