WO2006130960A1 - System and method of controlling a mobile device using a network policy - Google Patents

System and method of controlling a mobile device using a network policy Download PDF

Info

Publication number
WO2006130960A1
WO2006130960A1 PCT/CA2006/000901 CA2006000901W WO2006130960A1 WO 2006130960 A1 WO2006130960 A1 WO 2006130960A1 CA 2006000901 W CA2006000901 W CA 2006000901W WO 2006130960 A1 WO2006130960 A1 WO 2006130960A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
mobile device
data
application
policy
Prior art date
Application number
PCT/CA2006/000901
Other languages
French (fr)
Inventor
Dr. Seyed M. Sharif-Ahmadi
Fay Arjomandi
Original Assignee
Mobidia, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mobidia, Inc. filed Critical Mobidia, Inc.
Priority to CA002611160A priority Critical patent/CA2611160A1/en
Priority to US11/916,812 priority patent/US20090265752A1/en
Publication of WO2006130960A1 publication Critical patent/WO2006130960A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]

Definitions

  • This invention relates to systems and methods of managing data traffic over networks, and more particularly to systems and methods for addressing the diverse requirements of different data types and their behaviour over different types of wired and wireless networks, each such network having different characteristics and changing network status.
  • Wireless networks generally have very different properties when compared to traditional wired networks.
  • the "backbone" of a wired network is more homogeneous than a wireless network, and a wired network is typically, a mesh of intelligent sub networks connected through routers and switches that control data traffic.
  • a wired network In wired networks, users are generally stationary and therefore movement of users has little impact on network service.
  • the key influence on user service in a wired network is the data traffic congestion on the network. This congestion problem is dealt with by using the Transmission Control Protocol/Internet Protocol (TCP/IP), a communications protocol that most network applications use.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • Wireless network characteristics and implementations are quite different from wired networks, for example, in the following ways:
  • the network infrastructure of a wireless network is simpler, with respect to the number of nodes between a mobile networked device and a first wired link in the network.
  • the status of a wireless network changes frequently, due to several factors, including: environmental conditions (e.g. downtown urban area vs. suburban area with different signal attenuation and propagation); mobile device location (e.g. close to a large power supply field vs. in a large open area); network traffic at a given time, adjacent user usage of the network; and the base station backbone (e.g. fiber vs. copper backbone).
  • environmental conditions e.g. downtown urban area vs. suburban area with different signal attenuation and propagation
  • mobile device location e.g. close to a large power supply field vs. in a large open area
  • network traffic at a given time adjacent user usage of the network
  • the base station backbone e.g. fiber vs. copper backbone
  • wireless network technologies Two parallel changes occurring in wireless network technologies are: i) the introduction of new wireless network types, so that the overall wireless network infrastructure is changing from being a single type network, for example a General Packet Radio Service (GPRS) network only, to an infrastructure comprising multiple network types, such as GPRS, Wi-Fi, Worldwide Interoperability for Microwave Access (WiMAX) and Universal Mobile Telecommunications System (UMTS); and, ii) wireless network users are no longer only using "background class" type of applications such as email, short message services (SMS) and downloads, but are now using more interactive applications such as web browsing, network gaming, and database access; streaming applications such as multimedia applications, video on demand, and webcasting; and conversational applications such as Voice over Internet Protocol (VoIP), video telephony, and video gaming.
  • GPRS General Packet Radio Service
  • Wi-Fi Worldwide Interoperability for Microwave Access
  • UMTS Universal Mobile Telecommunications System
  • wireless network users are no longer only using "background class" type of applications
  • Service providers or carriers, are driving to increase the usage of these applications over wireless networks as to increase "average revenue per user” and subscription rates.
  • the service providers also differentiate themselves from competitors through the services offered along with Quality of Service (QoS) for their own “certified” applications as compared to third party applications.
  • QoS Quality of Service
  • use of these different types of applications results in different data traffic types traversing the network, each data type having different delivery (time) requirements and different error tolerances (in time sensitive vs. error sensitive spectrums of applications). For example, a VoIP packet is very time sensitive and has a short time to live, whereas a data packet is very error sensitive.
  • TCP and UDP/TP protocols are both network and application agnostic.
  • TCP does provide congestion control features which occur on wired networks but the protocol doesn't distinguish a wired network from a wireless network. Also neither of these protocols are application aware (they are not sensitive to the type of applications and time vs. error sensitivity). TCP/IP has been designed specifically to overcome the congestion problems in wired networks by detecting the congestion on the network and controlling the traffic between the two communicating parties. However, use of TCP/IP over wireless networks may be problematic. For example, delays in the wireless network may be caused by signal attenuation (not by congestion), causing TCP/IP to actually reduce performance of a wireless network.
  • the networked device for example, mobile
  • the networked device lack the ability to make decisions based on the types of wired or wireless network(s) available to it and the types of data it is communicating to other networked devices (given the differences between wireless and wired networks, data communications should be treated differently over the two network types).
  • RTCP Real-Time Transport Control Protocol
  • TCP/IP is a protocol designed for wired networks and is well suited for problems in that environment, which are usually congestion related. If a node in a network using TCP/IP does not receive an acknowledgment, the node concludes there is congestion in the network and tries to help the network by slowing down transmissions and providing flow control. In a wireless network, the failure to receive an acknowledgment within a given time is usually not due to congestion but due to instant network delays, signal strength drop, or latency variation. In such situations a TCP/IP node will slow down the transmission and take some time before returning to its normal speed of operation. During this time the throughput over the same bandwidth will be reduced because of the unnecessarily slowed transmission.
  • TCP/IP Another problem caused by TCP/IP is that it was designed for the low bit error rate link environment of a wired network and therefore if one packet within a stream of packets is lost then all packets are resent. For example, if a single packet is lost within a 20 packet stream the network node will resend all packets in the stream, even if most were successfully received.
  • HTTP HyperText Transfer Protocol
  • HTTP HyperText Transfer Protocol
  • a HTTP browser such as Microsoft Explorer
  • the HTTP browser performs two or three simultaneous TCP/IP calls.
  • Each TCP/IP call requires three-way handshaking (three requests and responses) to establish the link.
  • Over wireless links that normally have a higher latency than wired links
  • a response does not arrive on time this will be interpreted as a need for a new TCP/IP request.
  • the browser will request another TCP/IP link with another three-way handshake. All of these communications create extra overhead and add delay to a wireless network.
  • DNS Domain Name System
  • UDP User Datagram
  • Content compression is typically applied only to "background” applications and to some interactive applications, such as Internet Explorer requesting a website which includes both text and picture objects.
  • This method compresses content based on the classification of the data as lossy or lossless, e.g. Joint Photographic Expert Group (“JPEG”) and text (“txt”) file formats. These classifications allow for compression in different ways and ratios.
  • JPEG Joint Photographic Expert Group
  • txt text
  • This method reduces the amount of data travelling over the network, which indirectly results in greater use of bandwidth, it does not eliminate TCP/IP inefficiencies over wireless networks, as it is the wireless delay variations that cause the strange behaviour of TCP/IP.
  • DNS caching within a mobile device is used to reduce the time required for DNS searches.
  • This technique requires software within the mobile device to cache the results from the DNS for each DNS query. The next time the same query is requested the DNS cache is used to provide the result instead of transmitting the request over the network and waiting for the response. This technique reduces the need for transferring frequently requested queries but it does not address TCP/IP inefficiency directly.
  • Tunnelling includes UDP tunnelling of either compressed or uncompressed TCP/IP data. Tunnelling requires software within both the mobile device and the server communicating to capture the TCP/IP data and tunnel the entire TCP packet through UDP.
  • the disadvantages of this technique include:
  • Roaming is the process of moving from one access point ("AP") to another over a wireless link, for example, a mobile device user moving in an airport.
  • AP access point
  • connection-oriented applications for example, those that are TCP/IP based
  • the latency to transfer the communications and connection from one AP to another could result in the retransmission of data and reestablishment of TCP after receiving a new IP from a new domain (in case of an intra domain move).
  • this results in additional delay caused by the movement from one AP or domain to another.
  • Pre-emptive AP discovery in which the mobile device scans the networks available, to check for the strengths of available APs, before a decision to roam is made; and roam- time AP discovery, in which the mobile device makes a decision to roam and then scans the area to find an alternative AP.
  • This method is vendor specific and is not based on any particular standard.
  • the client may initiate roam, which is well defined in various standards and thereby the client resumes the application session.
  • the system and method according to the invention comprises a software platform that provides mixed mobile data traffic management over wired, wireless, or mixed networks.
  • the system and method addresses the diverse requirements of different data types and their behaviour over different wireless networks, each network having different characteristics and changing network status.
  • a mobile device is incorporated as part of the overall network instead of treated as an independent entity outside the network.
  • the mobile node i.e. the mobile device
  • the mobile node is an independent entity, disjoint from the network, blind to the types of network(s) available, and blind to the different types of data it is communicating with other networked devices.
  • the present invention provides a comprehensive software solution that incorporates the mobile node as part of the network, enabling it to be an active participant within the network, and enabling it to manage and negotiate specific data needs with the network components.
  • the system and method according to the invention makes the mobile device aware of the network situation and application types and therefore their requirements; and also is aware of network policies at any given time, and therefore can make efficient decisions.
  • the necessary "intelligence” is available so that there is no need to alter "any” application, the mobile device's Operating System (OS) code structure, or hardware.
  • OS Operating System
  • the solution is such that the network works with or without the system according to the invention (but the network is more efficient with such system) and other mobile devices not using the system can operate within the network. This is accomplished by adding the capability to the mobile device's OS to intercept system calls and alter the calls without initiator and destination involvement.
  • a first layer receives the application calls, identifies the types of application and data; builds a protocol; and redirects to the UDP (if it was for TCP).
  • the second layer controls the physical layer, so that the second layer monitors the status of the networks, predicts the status of the networks in the near future, schedules the outgoing traffic types based on this information, provides local jitter handling for received packets for conversational class of applications, and provides the collected status to the other layers.
  • the second layer also provides packet redirection and forwarding between the multiple types of networks available.
  • i) delivers greater bandwidth efficiency and network capacity by managing all data types over single and mixed networks by taking a protocol approach, thereby reducing the overhead created by extra connections established by applications in the wireless network (only one connection is required) and reducing the overhead of data being transmitted by reducing the required acknowledgements, sending only non-expired data and filtering out others, and not using inefficient TCP/IP spoofing and tunnelling techniques;
  • ii) increases overall quality of service by using an efficient protocol designed specifically for wireless networks and able to work with all data types (not just "background" data types).
  • an efficient protocol designed specifically for wireless networks and able to work with all data types (not just "background” data types).
  • a protocol is created; and by providing efficient prioritization, queuing, and scheduling of different data types a superior experience for applications such as VoIP, interactive gaming and streaming video is provided, along with email and corporate applications; and
  • iii) provides better network reporting and an integration strategy for carriers supporting multiple networks (mixed networks).
  • a carrier can now observe their network end-to-end, treating the mobile device like a network element, enabling the carrier to support stronger Service Level Agreements (SLAs) and service quality assurance.
  • SLAs Service Level Agreements
  • the information about network and application status and performance is included as part of the same protocol which delivers the data and therefore obviates the need for extra transactions or scheduled tests to determine the status and performance of the network.
  • the carrier can observe what is on the client's device, including software and mobile device configurations, thereby allowing the carrier to address service issues in a timely fashion, reducing both costs and customer frustration.
  • the carrier can receive extensive reports on network status, bringing full visibility of the network to the carrier.
  • the lower layer component of the system, according to the invention, on the mobile device enables seamless switching or simultaneous use of multiple network technologies (e.g. between cellular 2.5G/3G/4G, Wi-Fi and WiMAX) which could be based on usage policy, application type, and/or network policy.
  • This allows the carrier to provide their customers multiple network choices, using the choice that best satisfies their user's requirements without having to concern themselves on how to use the networks, or when to switch to the networks without interrupting the user or the application.
  • This also provides greater network efficiency for the carrier by allowing the carriers to use faster networks for backhaul transport, e.g. Wi-Fi for music downloads, and the more expensive cellular networks for email and other data applications.
  • a method of controlling a mobile device based on a network policy comprising the steps of: storing said policy on a database on an advance server; sending said policy to said mobile device when said mobile requests registration with said server; when an application on said mobile device attempts to access a network via said server, checking said policy; and providing access to said network for said application when said policy permits. If said policy changes at the database, said changed policy is pushed to said mobile device.
  • the network policy includes a plurality of parameters, including parameters base on the type of service provided by said application, the maximum tolerable delay and the time of usage of said application.
  • Figure 1 is a block diagram, showing a mixed network
  • Figure 2 is a block diagram, showing a vertical view of a mixed wireless network
  • Figure 3 is a schematic diagram of a mobile device, according to the invention.
  • Figure 4 is a block diagram, showing a client layer overview in a system according to the invention.
  • Figure 5 is a block diagram thereof, showing the client position with respect to other protocols
  • Figure 6 is a flow diagram thereof, showing the management of incoming traffic to the application
  • Figure 7 is a schematic diagram thereof, showing the lower client architecture
  • Figure 8 is a schematic diagram thereof, showing the scheduler
  • Figure 9 is a schematic diagram thereof, showing the SNR teller
  • Figure 10 is a flow chart thereof, showing the pre-registration and discovery process.
  • Figures 11 is a table showing the DMP signalling structure
  • Figure 12 is a table showing a preferred embodiment of a DMP session.
  • Figure 13 is a tree showing the structure of a DMP packet.
  • “advance server” means a server in communication with ICS, through which ICS accesses the network;
  • far-host means a destination networked device, such as a mobile device, a server, or a software application, in communication with a network which is the destination of a transmission;
  • mixed network means network using different communication protocols for different network nodes and network devices, and may include mobile devices, and may employ more than one type of wireless protocol for communication;
  • network device means a device capable of communicating with other network devices that forms part of a wired, wireless, or mixed network
  • wireless device or “mobile device” means a device for communicating with wired or wireless devices over a wireless or mixed network.
  • the system according to the invention is designed for use with mixed networks, examples of which are seen in Figures 1 and 2. While the illustrative example of the system and method according to the invention are described in terms of mixed networks, the invention could be used in a network in which only a single communication protocol is used.
  • FIG. 1 displays a representative mixed network environment 1, in which several networks communicate with each other, the Internet 10 and mobile devices 30.
  • Elements of mixed network environment 1 include: mobile switching center (MSC) 40, base transceiver station (BTS) 50, base controller station (BCS) 60, network node 70, radio network controller (RNC) 80, public switch telephone network (PSTN) 90, Short Message Service - Global System for Mobile Communications center (SMS-GSMC) 100, Home Location Register/Authentication center (HLR/ AuC) 110, Signaling System #7 (SS7) network 120, Equipment Identity Register (EIR) 155 using Mobile Application Part-Proxy (MAP-P), General Packet Radio Service (GPRS) network 130, Gateway GPRS Support Node 140, Breakout Gateway (BG) 145, Gateway GPRS Support Node (GGSN) 150, public land mobile network (PLMN) 160, and a inter-PLMN backbone network 170.
  • MSC mobile switching center
  • BTS base transceiver station
  • BCS base
  • Mixed network environment 1 may have a wide variety of components and communication protocols used within.
  • Figure 1 shows a typical, but not representative network.
  • FIG. 2 displays an alternative viewpoint of a mixed wireless network environment 1 from a vertical view.
  • Satellite network 200 provides the broadest coverage, and within satellite network 200 is wireless wide area network 210, in this case a GSM/3G network 220.
  • wireless wide area network 210 Within wireless wide area network 210 is a wireless metropolitan area network 230, in this case a WiMAX network 240.
  • Wireless local area networks 250 are within wireless metropolitan network 260, in this case WiFi network access points 270.
  • wireless personal area networks 280 comprised of a plurality of network devices 30 using protocols to communicate such as Bluetooth and ultra wideband (UWB).
  • Figures 3 and 4 show schematics of a mobile device 30 incorporating the system according to the invention.
  • Figure 3 displays an overview of such a mobile device 30, and
  • Figure 4 displays the details of the kernal layer 300 and the relationship between the intelligent client system according to the invention and the operating system (OS) of the mobile device.
  • OS operating system
  • the traffic management system is stored on the mobile device as a series of drivers interfacing with standard OS libraries and function calls, as seen in Figures 3 and 4.
  • the traffic management system is an intelligent client system ("ICS") 310, which is comprised of three main components:
  • DMP Dynamic Multimedia Protocol
  • the client ICS 310 is at the same level as TCP 350 but extends to the data link layer (miniport drivers 315), as shown in Figure 5.
  • Figure 5 illustrates the relationship between LOWICS 310 and the other protocols in the OS.
  • LOWICS 310 resides as a protocol within the OS, but no other application or layers except for TOPICS 320 call LOWICS 310 yet LOWICS 310 intercepts the calls that arrive for other protocols e.g. TCP/IP 350.
  • the protocols are related to each other in a chain format with respect to their hierarchy within the OS. Each protocol points to its next protocol in the chain and binds itself to the available network drivers, referred to as miniport drivers 315.
  • LOWICS 310 therefore is loaded after all other protocols have been loaded and then points to the first protocol entry in chain, TCP/IP 350, and registers and binds to the available network drivers, miniport driver 315. In this fashion LOWICS 310 is capable of intercepting any packet leaving the IP layer to the MAC layer and therefore applies policy and scheduling to the packet in LOWICS layer 310.
  • the kernal level 300 also includes process control subsystem 510, which includes scheduler 700, memory manager 530 and inter-process communicator 540.
  • the TOPICS layer 320 main responsibility is to interface with calls from applications 360.
  • TOPICS 320 maintains all application (requester) information, including socket information, device and file object information, and their interface including expected maximum transmission unit (MTU), buffer size, receive interface, expected receive message format, timeout, etc.
  • MTU expected maximum transmission unit
  • TOPICS layer 320 maintains records regarding the application 360's predicted behaviour.
  • other components of mobile device 30' s OS include: Network Driver Interface Specification (NDIS) interface 480, UDP interface 490, IP interface 500, and ARP interface 510.
  • Transport driver interface 550 is between TOPICS 320 and applications 360.
  • TOPICS layer 320 also communicates with lower layer, LOWICS 340, to inform LOWICS 340 of the types of outgoing traffic, referred to herein as "Pre-Channel Transmission". LOWICS layer 320 then passes the requester's message to DMP 330.
  • TOPICS 320 includes TOPICS-DMP assembly worker (not shown), for assembling packets; and TOPICS interface for communicating with applications 360.
  • the application 360's protocol is identified by TOPICS 320; by using the application name, the communication port, and/or scanning the header information of the first two user application buffers which requested the connection.
  • the extracted information is verified by TOPICS 320 by comparing the extracted information against the application ID and/or signature and/or application catalogue ID, stored on the device.
  • TOPICS also examines and determines the type of the transport layer protocol that application 360 has requested;
  • a response to the requester (application 360) is sent by TOPICS 320 to the application 360 for the related task, depending on whether the request (e.g. a request for creating a TCP socket and/or connecting to certain host), was successful or failed;
  • TOPICS 320 then creates and maintains an application book-keeping data structure about the application 360 and socket information, which is used for forwarding the response from the far- host to appropriate application 360;
  • LOWICS 340 is notified by TOPICS 320 of the appropriate outgoing traffic type
  • TOPICS then passes the application 360 data to the DMP sub-module to build the corresponding DMP request protocol, based on the type of application, and the DMP packet is built (as described below);
  • the DMP packet is passed to UDP 190 and then to IP 500 layer; 7.
  • LOWICS 340 receives the IP/UDP/DMP packet from IP 500 layer; and
  • IP/UDP/DMP packet is scheduled and passed to the appropriate network interface card (NIC) 460, to be transmitted to far-host through an advance server.
  • NIC network interface card
  • a DMP packet is received by a NIC 460;
  • LOWICS 340 separates the IP header from the DMP packet
  • the type of DMP is identified through the DMP header and by LOWICS 340 receiver module to determine if local jitter handling is needed;
  • the DMP packet is passed through a direct call to TOPICS DMP assembly worker (not shown), which is a component within the DMP module, (so the packet does not need to go through the IP layer 500);
  • the TOPICS-DMP assembly worker module assembles the packet to build a message, and when the message is complete it is passed to the TOPICS-Interface 530;
  • the TOPICS-Interface 530 determines, through its application book-keeping data structure, the appropriate application 360 which should be the message recipient;
  • the TOPICS-Interface passes the message to the application 360 through a standard OS call.
  • DMP Dynamic Multimedia Protocol
  • DMP 330 is a protocol capable of carrying any type of data. DMP 330 dynamically adapts itself as necessary, for example for varying acknowledgment requirements and best packet sizes. DMP 330 shares some of the characteristics of UDP and also some of the characteristics of TCP, however, DMP carries any type of data while meeting each data type's requirements over any type of wireless link through its dynamic header bits, as shown in Figures 11, 12 and 13. DMP 330 uses UDP/IP layer 500 as the transport and network layer protocol. DMP 330 preferably works with both IPv4 and IPv6, and provides the standard interface for applications and a standard interface to UDP/IP layer 500. Figure 13 illustrates the branching of DMP. As shown in Figure 13 there are three levels in DMP that are distinguished by header bits.
  • DMP Layer 1 contains "DMP Internals” and “DMP Communication” (DMP COM).
  • DMP Internals Used for internal communications among components within single sub-system, e.g. communications between TOPICS 320 and LOWICS 340.
  • DMP Layer 2 is a branch off DMP COM and it carries three types of messages, Signalling, Control and Session.
  • DMP Signalling Used for communication between two sub-systems, namely:
  • Activities between LOWIC S ⁇ r -> software in an AP, and software in an AP ⁇ -->server for control proposes.
  • the server notifies ICS to change its packet size, or ICS provides the server with network status information or logs.
  • DMP Control is used for sending control message to ICS to control the functionality of ICS.
  • DMP Layer 3 is a branch off DMP Signalling and DMP Session (each branch to two)
  • DMPComSignaling Request Carries a signalling request such as Registration, Re- Registration, Un-Register and acknowledgments between TOPICS 320 ⁇ — ⁇ Advance Server
  • DMPComSignaling Response Carries a response to the requested signal
  • DMPComSession Control Carries application connection requests, such as socket connect, and/or control feedback information such as RTCP
  • FIGS 11 and 12 illustrate details of and embodiment of a DMP structure for both DMP Signalling and DMP Session according to the three layer structure, described above.
  • Other embodiments of a DMP protocol may be used, including a subset of the features described herein and in the Figures.
  • the LOWICS layer 340 includes four main sub-modules, each discussed below.
  • the LOWICS layer 340 resides in the OS of mobile device 30 in three different formats as a layer, hooking (a method of inserting a layer into the operating system) and as a protocol.
  • Figure 7 illustrates the overview of LOWICS 340 with respect to the OS and its internal components. As shown in Figure 7, the modules include:
  • the system according to the invention has the capability of distinguishing between different types of data received or sent by mobile device 30 (or other networked device) and can identify a mobile traffic model for such data.
  • Each different data type has its own requirements, including end-to-end transmission control, and latency sensitive real-time requirements.
  • An objective of the system according to the invention is to meet as many requirements as possible for these different data types. Therefore, the system differentiates the data and handles the packets with the objectives of: controlling traffic over the wireless link, maintaining loads, increasing the capacity of the network, and providing bandwidth improvements.
  • the maximum error rate interpreted as the acceptable value used to identify the type of error detection for the physical channel as well as transport layer protocol.
  • the minimum throughput interpreted as the priority of delivery, as different types of packets have different time requirements for delivery. For some types of data (voice, streaming video, etc.), transmission of the packet after time expiration simply becomes part of network overhead, so data of such types that have expired with respect to time are not delivered.
  • the maximum delay interpreted as the maximum number of retransmission attempts for that data type and the time between retransmission attempts.
  • This life time is the period of time in which a decision is made for all packets of a particular application. For example, a group of packets could belong to a message application.
  • a "session” is a life time in which the packets belong to and exist in that life time of a single application.
  • a life time can be a deterministic type or a random distribution inter-arrival type.
  • Different classes of services namely background, interactive, streaming and conversational are used to narrow the traffic classes to categories of: Voice, Video, Audio and Data, so that the characteristics and requirements of each data type can be outlined and a mobile traffic model identified as in following Tables 1 and 2.
  • Table -- 1 Traffic type and sensitivity
  • F(P) Pareto distribution Function
  • S minimum packet size
  • P Packet Size
  • T Random distribution Function
  • t time
  • T expected value of the inter-arrival time
  • VoIP Voice over IP
  • IP Voice over IP
  • the data's rate of arrival to TOPICS 320 is fixed and its packet size is fixed. Looking at the traffic that VoIP generates, it follows the model of Pareto Distribution. Data, however, such as Internet Explorer typically communicates, is very low sensitive for latency while highly sensitive to error, e.g. receiving corrupted banking information.
  • the arrival rate of the packets (or its generation rate) for Data is variable and unpredictable, as it is generated and arrives in bursts, and the traffic type that it generates follows the exponential distribution.
  • This information of the type of traffic model allows scheduler system 700 to make scheduling decisions based on the type of traffic model expected and whether the available networks have the capability of delivering the traffic or not. For example, in a mixed network, where the mobile user is on 2.5Generation network, such as GPRS, using VoIP application is not appropriate since this type of network doesn't have the capability of delivering the type of traffic.
  • the type of traffic is classified with respect to their priority in which they have to be serviced, delivered and transferred to the network, and tolerated Bit Error Rate (BER) such that if the error in packet was less than the BER, then there is no need to request for retransmitting the data and also determine how many times the data can be retransmitted before the data expires (based on its time to live). For example a VoIP packet can be retransmitted (if un-arrived) three times using fast retransmission before the packet's time to live expires, which is 250 milliseconds end-to-end (as set in VoIP standards).
  • BER Bit Error Rate
  • T the expected value of inter-arrival time t
  • S the minimum packet size
  • a a constant value
  • the different classes of service include the Interactive class of service, which refers to the type of application/traffic which is a request/response oriented and it requires users interaction.
  • An example of this application is Internet Explorer where the request sent and a response received.
  • the Background class of service refers to the type of applications that it runs in background and does a burst type of transaction.
  • Email is an example of this type of application, as there is no need for the user interaction the email runs in the background and receives the information.
  • a Streaming class of service refers to the type of application where there is a request for receiving a media, not necessary in real-time, similar to video or audio.
  • Real-time class of service also referred to as conversational, are the class of services that are very time- sensitive.
  • VOIP Voice Over IP
  • video telephony Video telephony
  • Scheduler system 700 completes three main tasks, namely: queue managing; scheduling; and the channel SNR teller.
  • queue manager 800 in scheduler system 700 includes packet classifier 810, multiple queues 820 dedicated to different types of data, and queue tracker 830 (a queue scanner and analyzer) that reports on the traffic stored within each queue and the number of expired packets and delayed packets within each queue.
  • Scheduler 840 acts as the decision maker between queue manager 800 and data link layer 850.
  • Scheduler 840 examines the contents of queue manager 800 and data link 850 and makes decisions.
  • Scheduler 840 also manages data traffic between the network layer and the data link layer 850. This process isolates the high-layer application or the network layer from direct interaction with the lower layer. However, these layers are mutually aware of each other.
  • IP layer 500 passes packets to packet classifier 810; packet classifier 810 examines the type of packet and associates an appropriate time for the packet, based on the type of packet, and then inserts that packet into appropriate queue 820.
  • the queues are for four distinct data types as previously described, namely: voice, video, audio and data.
  • a challenge posed by queue 820 is the need for a module to monitor the queue, which normally adds delay to transmission scheduling. For this reason, each packet inserted in the buffer of queue 820 is an active record, resulting in the creation of packets of type timer.
  • the expiration period of these packets varies for each timer as the timer packets are also typed (as voice, video, audio, or data timer). If the packet does not arrive at scheduler 840 before expiry of the timer the packet exits queue 820 and notifies queue tracker 830 of its expiry. Queue tracker 830 reports to scheduler 840 the number of expired packets, thereby notifying the scheduler 840 of the traffic congestion at each queue 820. Scheduler 840 makes a judgment as to which queue 820 should receive service first based on the time sensitivity of the data type within the queue 820. Scheduler 840 may also be deployed on a server to schedule downlink data traffic to multiple mobile devices and different data traffic within a mobile device.
  • the SNR teller 900 is part of the network status monitor module. SNR teller predicts the near future Signal to Noise Ratio, in a time frame between the present (0) to the next 10 ms. The objective of this component is to be able to detect the expected signal-to-interference-plus- noise-ratio (SINR) value.
  • SINR is the ratio of Signal Strength to the background noise ratio.
  • the link rate depends on the SINR at the user's location. SINR can vary significantly within a cell. This variation is an inherent characteristic of all wireless systems and occurs primarily because of variations in RF propagation loss, building penetration loss, fading effects, and co-channel interference. As a result, the link rate experienced by a user may depend on his/her position within a cell, just as in the case of DSL.
  • SNR values will be monitored.
  • the objective of SNR teller system is to receive the monitored SNR value and by looking at these values in the past 5ms to present being able to calculate and estimate the expected value of the SNR value is in the next 5 to 10 millisecond.
  • This resulted expected value will be used by the network monitor status module to make decision of when to switch the network, from one type to another (e.g. WiFi to cellular) and also used by the scheduler system to take this parameter into consideration for its scheduling decision making.
  • Neighbourhood discovery is a method, according to the invention, that reduces the time required when moving from one access point ("AP") to another over a wireless link (known as "roaming"), for example, a mobile device user moving in an airport.
  • AP access point
  • Roaming wireless link
  • a RF level latency reduction layer 3.5 solution is used.
  • connection-oriented applications for example, those that are TCP/IP based
  • the latency to transfer the communications and connection from one AP to another could result in the retransmission of data and reestablishment of TCP after receiving a new IP from a new domain (in case of an intra domain move).
  • a Layer 3.5 solution is used, which is a superset of Layer 2 roaming.
  • a layer above the Media Access Control (MAC) Layer and below the IP layer 500 monitors the AP(s) and domains, handles the packet forwarding between different AP' s, while also shielding the higher layer of any changes.
  • This solution requires Layer 2 roaming first but eliminates the extra delay of authentication and roaming applications to the new AP.
  • a network status data module 570 located within LOWICS 340 provides network status data and neighbourhood discovery.
  • LOWICS 340 has a single virtual adapter interface to the IP layer 500 but may bind itself to as many NIC 460 as are available.
  • Network status monitor 570 monitors the collected AP information from a Wi-Fi card, including the AP name, MAC, Signal Strength, Noise Strength, and Signal to Noise Ratio.
  • Network status monitor detects the next closest AP by receiving information from SNR Teller 900, which calculates the SNR for a period of time starting from past to future within a small time frame. SNR Teller 900 then sends pre-registration information to network status monitor 570 with the "Backup AP" that it has decided to be moved to. Therefore, the AP is located before a decision is made to roam.
  • the AP contains updateable firmware.
  • the AP firmware contains an IP layer protocol structure, including a routing table, a MAC address update table, DNS, and other functionality. This firmware may be updated by adding a pre-register table.
  • the network status data module After identifying the AP the network status data module then sends a pre-registration request to the AP.
  • the AP forwards the request to an advance server ("AS") and asks for authentication for the mobile device 30.
  • the AS will check the authentication of the mobile device 30 against its database and send the authorization to the AP.
  • the AP then records the MAC address of mobile device 30 in the AP' s pre-register table.
  • the AP also sends its own MAC address, network address and a time-to- live to the mobile device 30.
  • the network status data module 570 When the network status data module 570 receives this information it stores for use for the next roam. The time-to-live tells the network status monitor 570 of the period of time the AP will keep the information in its pre-register table. If this time expires the network status monitor 570 should look for another round of pre-registration request. In the meantime, the network status monitor 570 will continuously look at the SNR to determine if the backup AP is the appropriate AP to roam to next.
  • the network status data module 570 in LOWICS 340 continuously monitors the network status and SNR. It is important that balance be maintained between fast roaming times and client stability. As an example, it is normal for an AP 's signal strength to reduce as a function of its environment and frequency, therefore, such an occurrence should not be considered for a roam, or "handoff ', as it could be an instant occurrence of the AP signal strength, and not the normal signal strength for such AP. To accomplish this, a timeframe threshold is created for the stability of the signal before roaming to that AP. A preferred threshold should be between 5 and 10 ms, but longer or shorter periods could be used.
  • the SNR should decrease in an active AP and increase in the back up AP before roaming occurs.
  • network status monitor 570 To move from one AP or domain to another, network status monitor 570 first sends an update registration (Re-Registration) to the AS through the backup AP. As the backup AP already has the information in its pre-registered table, it just pushes the request to the AS immediately. This notifies the AS of the change of IP so the AS will start redirecting downlink traffic to the mobile device 30 through the new destination IP of the mobile device. After the mobile device 30 receives the confirmation from the AS, mobile device 30 redirects the uplink traffic. During this time mobile device 30 does not send any uplink traffic to the AS until it receives the confirmation.
  • This method reduces the packet loss during the roaming, reduces the roaming duration as the information already exists in the pre-registered table at the AP, and the change to the mobile device IP is completely transparent to the applications on both the mobile device and the far-end host application on the Internet. The latter sees the AS as the mobile device.
  • Figure 10 displays an overview sequence of events in pre-registration and neighbourhood discovery.
  • the LOWICS 340 local jitter handler 710 handles received real-time data types. Its main responsibility is to handle the jitter on VoIP and real-time video based on the network status and information received. This eliminates the need for using RTCP, which creates high network overhead.
  • a buffer agent examines the Type of Content (ToC) within DMP and decides whether to deliver the DMP to a higher layer or keep it in the buffer module. Each data packet inserted into a buffer is attached to a timer. As the timer expires the data packet will exit the buffer queue in the higher layer. This makes the individual rows of the buffer an active agent that "watch" the buffer's state.
  • ToC Type of Content
  • the jitter buffer is in the lower layer as decisions are made based on real-time network information instead of on the feedback mechanism provided by RTCP.
  • the feedback mechanism is not very efficient, as the frequency of incoming feedback cannot be adjusted for efficiency for wireless traffic while also providing sufficient and timely information to reduce jitter. Using the above described process, jitter may be reduced by 20-30%.
  • the method and system according to the invention can also control a network device based on the requirements of the network policy.
  • the network policy must be created, and transmitted to the network device for storage, such as a mobile device, when the network device requests registration.
  • the network policy usage When an application is attempting to access the network, the network policy usage will be checked, and TOPICS and LOWICS will provide network access to the application according to the policy.
  • TOPICS and LOWICS will provide network access to the application according to the policy.
  • the change During the transactions between the network device and network server, at any time if the network policy is changed at the database in the advance server the change will be pushed to the network device in a form of "Policy Push" command.
  • Table 3 describes the policy parameters
  • Table 4 describes a "Class of Service" data structure.
  • the method and system according to the invention can provide service performance and status information to a carrier for any application over any types of network and without a need for creating extra transactions over the network.
  • the network device stores an acceptable performance threshold parameter per application on the device.
  • the network device stores information about the type of network used per packet, the signal to noise ratio parameter on each packet, packets lost, duplicate, retransmissions and the total time needed to deliver application message and receive response information. This information is stored within a database in network status monitor 520. If any of the parameters exceed the threshold set in either the database, local in the network device, or calculated based on certain rules (such as the network policy), the an alert is generated and sent to the advance server.
  • the system and method according to the invention can be used to determine the type of application data on a client device, such as a mobile device, without changing the application. This is done when ICS receives an application request by intercepting the call. ICS then identifies the application name, and/or the port used to send the message, and/or the header information (which is part of the first two application message buffer sent for the request for connection). This extracted information, such as VoIP, Video, email, Internet explorer; is used to create a corresponding tag, such as Real-time, Streaming, Background, Interactive, and the packet is accordingly tagged.
  • the above described system and method can be implemented as a series of instructions stored or computer readable memory within a networked device, such as within RAM, or on compute] readable storage medium.
  • the method and system may be expressed as a series of instructions present in a carrier wave embodying a computer data signal to communicate the instructions to i networked device or server, which when executed by a processor within the mobile device oi server, carry out the method.

Abstract

A method of controlling a mobile device based on a network policy, wherein the network policy is stored on the mobile device when a server or acess point is accessed. When a packet is transmitted, it is sent only if it meets the policy parameters as established by the network policy. Parameters may include the type of service or packet, the time of day of the usage, or the maximum tolerable delay permitted.

Description

SYSTEM AND METHOD OF CONTROLLING A MOBILE DEVICE USING A NETWORK
POLICY
This application claims the benefit of U.S. provisional application no. 60/687,339, filed on June 6, 2005.
FIELD OF THE INVENTION
This invention relates to systems and methods of managing data traffic over networks, and more particularly to systems and methods for addressing the diverse requirements of different data types and their behaviour over different types of wired and wireless networks, each such network having different characteristics and changing network status.
BACKGROUND OF THE INVENTION
Wireless networks generally have very different properties when compared to traditional wired networks. For example, the "backbone" of a wired network is more homogeneous than a wireless network, and a wired network is typically, a mesh of intelligent sub networks connected through routers and switches that control data traffic. In wired networks, users are generally stationary and therefore movement of users has little impact on network service. The key influence on user service in a wired network is the data traffic congestion on the network. This congestion problem is dealt with by using the Transmission Control Protocol/Internet Protocol (TCP/IP), a communications protocol that most network applications use.
Wireless network characteristics and implementations are quite different from wired networks, for example, in the following ways:
1. The network infrastructure of a wireless network is simpler, with respect to the number of nodes between a mobile networked device and a first wired link in the network.
2. The status of a wireless network changes frequently, due to several factors, including: environmental conditions (e.g. downtown urban area vs. suburban area with different signal attenuation and propagation); mobile device location (e.g. close to a large power supply field vs. in a large open area); network traffic at a given time, adjacent user usage of the network; and the base station backbone (e.g. fiber vs. copper backbone).
3. Software applications are generally not designed for wireless network environments that include frequent status variation. Therefore, operating such applications over a wireless network may worsen the network status by adding additional traffic, and thereby increasing the overall delay and latency of the network, which, in turn, may impact the experiences of other mobile device users.
Two parallel changes occurring in wireless network technologies are: i) the introduction of new wireless network types, so that the overall wireless network infrastructure is changing from being a single type network, for example a General Packet Radio Service (GPRS) network only, to an infrastructure comprising multiple network types, such as GPRS, Wi-Fi, Worldwide Interoperability for Microwave Access (WiMAX) and Universal Mobile Telecommunications System (UMTS); and, ii) wireless network users are no longer only using "background class" type of applications such as email, short message services (SMS) and downloads, but are now using more interactive applications such as web browsing, network gaming, and database access; streaming applications such as multimedia applications, video on demand, and webcasting; and conversational applications such as Voice over Internet Protocol (VoIP), video telephony, and video gaming. Service providers, or carriers, are driving to increase the usage of these applications over wireless networks as to increase "average revenue per user" and subscription rates. The service providers also differentiate themselves from competitors through the services offered along with Quality of Service (QoS) for their own "certified" applications as compared to third party applications. However, use of these different types of applications results in different data traffic types traversing the network, each data type having different delivery (time) requirements and different error tolerances (in time sensitive vs. error sensitive spectrums of applications). For example, a VoIP packet is very time sensitive and has a short time to live, whereas a data packet is very error sensitive. TCP and UDP/TP protocols (widely used by many software applications) are both network and application agnostic. TCP does provide congestion control features which occur on wired networks but the protocol doesn't distinguish a wired network from a wireless network. Also neither of these protocols are application aware (they are not sensitive to the type of applications and time vs. error sensitivity). TCP/IP has been designed specifically to overcome the congestion problems in wired networks by detecting the congestion on the network and controlling the traffic between the two communicating parties. However, use of TCP/IP over wireless networks may be problematic. For example, delays in the wireless network may be caused by signal attenuation (not by congestion), causing TCP/IP to actually reduce performance of a wireless network.
Therefore, what is lacking in the prior art is the awareness and involvement of the networked (for example, mobile) device in the network by enabling the networked device to act as an intelligent and integrated element (similar to a router/switch) within the network. In the prior art, the networked device, particularly mobile devices, lack the ability to make decisions based on the types of wired or wireless network(s) available to it and the types of data it is communicating to other networked devices (given the differences between wireless and wired networks, data communications should be treated differently over the two network types).
The prior art fails to address the following problems:
1. TCP/IP inefficiency over wireless networks;
2. the lack of knowledge of wireless networks within the protocol layer of networked devices;
3. VoIP and the standard streaming video control protocol, known as the Real-Time Transport Control Protocol (RTCP) inefficiency over wireless networks;
4. the inability to dynamically distinguish between the different types of data and meet their real-time requirements in a mixed network, without relying on IP header information;
5. the inability of a mobile device in a mixed network to be aware of the types of the available networks and the status of each network at any given time and to feedback status information to the network as part of the data protocol delivery without requiring any extra transaction; 6. the inability of a mobile device in a mixed network to predict the signal to noise ratio (SNR), outside the physical layer and below the IP layer, of the wireless network and to make decisions for appropriate traffic types, such as forwarding/redirecting traffic through different networks, or using two types of networks simultaneously based on their conditions and network policy;
7. the inability to provide local jitter handling within a mobile device in the layer below IP; and
8. the inability to provide mobile data traffic prioritization, queuing and scheduling within a mobile device, based on the network condition and policy, or through either DNA/fmgerprints set by a catalogue ID or determining the application type.
There have been attempts to solve one of the issues listed above, specifically TCP/IP inefficiency over wireless networks. These solutions include using TCP/IP spoofing and tunnelling techniques that are inefficient and often cause yet more unnecessary data to be sent over the wireless networks, and produce extra processing overhead for the network device.
TCP/IP is a protocol designed for wired networks and is well suited for problems in that environment, which are usually congestion related. If a node in a network using TCP/IP does not receive an acknowledgment, the node concludes there is congestion in the network and tries to help the network by slowing down transmissions and providing flow control. In a wireless network, the failure to receive an acknowledgment within a given time is usually not due to congestion but due to instant network delays, signal strength drop, or latency variation. In such situations a TCP/IP node will slow down the transmission and take some time before returning to its normal speed of operation. During this time the throughput over the same bandwidth will be reduced because of the unnecessarily slowed transmission.
Another problem caused by TCP/IP is that it was designed for the low bit error rate link environment of a wired network and therefore if one packet within a stream of packets is lost then all packets are resent. For example, if a single packet is lost within a 20 packet stream the network node will resend all packets in the stream, even if most were successfully received.
Some application level protocols such as HyperText Transfer Protocol (HTTP) use TCP/IP in a manner that is not wireless network friendly. For example, when a HTTP browser, such as Microsoft Explorer, makes a communications request, the HTTP browser performs two or three simultaneous TCP/IP calls. Each TCP/IP call requires three-way handshaking (three requests and responses) to establish the link. Over wireless links (that normally have a higher latency than wired links), if a response does not arrive on time this will be interpreted as a need for a new TCP/IP request. If one TCP/IP link is delayed the browser will request another TCP/IP link with another three-way handshake. All of these communications create extra overhead and add delay to a wireless network.
To solve these problems there have been several inefficient solutions, which focus on a single type of data, using applications such as Internet Explorer. Following are the approaches taken to overcome TCP/IP inefficiency over the wireless networks:
1. Compression of data (content) which reduces the amount of data going over the network;
2. Domain Name System ("DNS") caching within a mobile device; and
3. User Datagram ("UDP") tunnelling of compressed TCP/IP packets, and TCP/IP spoofing.
To date, none of these approaches have been entirely adequate. The shortcomings of each of these approaches are as follows:
1. Content compression
Content compression is typically applied only to "background" applications and to some interactive applications, such as Internet Explorer requesting a website which includes both text and picture objects. This method compresses content based on the classification of the data as lossy or lossless, e.g. Joint Photographic Expert Group ("JPEG") and text ("txt") file formats. These classifications allow for compression in different ways and ratios. Although this method reduces the amount of data travelling over the network, which indirectly results in greater use of bandwidth, it does not eliminate TCP/IP inefficiencies over wireless networks, as it is the wireless delay variations that cause the strange behaviour of TCP/IP.
2. DNS caching within a mobile device
DNS caching within a mobile device is used to reduce the time required for DNS searches. This technique requires software within the mobile device to cache the results from the DNS for each DNS query. The next time the same query is requested the DNS cache is used to provide the result instead of transmitting the request over the network and waiting for the response. This technique reduces the need for transferring frequently requested queries but it does not address TCP/IP inefficiency directly.
3. Tunnelling
Tunnelling includes UDP tunnelling of either compressed or uncompressed TCP/IP data. Tunnelling requires software within both the mobile device and the server communicating to capture the TCP/IP data and tunnel the entire TCP packet through UDP. The disadvantages of this technique include:
(i) Process consumption. As TCP data has already been created and passed to a lower layer, the network node should pass the data back to a higher layer, user-mode, proxy type application, which sends the TCP packet back to the protocol layer, in kernel-mode, but requests a UDP packet this time (called a UDP tunnel). If the network node is using IP Security (IPSec) Virtual Private Network (VPN) encryption security the tunnelled TCP data will go through yet another IPSec tunnel. This means that more processing time will be required for a small mobile device and further delays will be caused by the tunnelling technique. Also, if the compression or encryption happened in the layer 4 (above TCP and UDP layers and below the application layer) then the proxy-type may not be able to distinguish the type of application.
(ii) Increased network traffic. Tunnelling within tunnelling (as described above) increases traffic over the network. This "solution" does not solve the TCP inefficiency issues created by the wireless network's latency variation, as TCP data has already been created but is wrapped around a different protocol for transmission. The main reason to tunnel TCP data is to compress the data, so therefore the data is wrapped around another protocol for transmission. However, if the network has high latency, TCP would still result in strange behaviour due to lack of receiving responses in a timely fashion.
In order to overcome TCP problems over wireless and mixed networks some solutions involve transferring extra packets, such as ping or extra acknowledgments to maintain proper TCP behaviour over the wireless link and to keep the link "alive" for the software application. This approach also increases the traffic over the wireless network by adding unnecessary data and also changes the mechanism of new packet switched networks to that of the old legacy circuit switch networks. The philosophy of a packet switched network is to allocate the link to a mobile user only when there is data available to transmit. During the time the user is waiting for a response the uplink will be allocated to another mobile user. This results in higher network capacity and enables use of the existing network for larger numbers of network users. Circuit switched networks have the link allocated to the mobile device user for a certain period of the time, whether or not the mobile user has any data available to transmit. During this time other mobile device users wait for the link to be de-allocated from that mobile device user and re-allocated to them by the network. This results in a lower network capacity and inefficient use of the network.
Roaming
Roaming is the process of moving from one access point ("AP") to another over a wireless link, for example, a mobile device user moving in an airport. For connection-oriented applications (for example, those that are TCP/IP based) the latency to transfer the communications and connection from one AP to another could result in the retransmission of data and reestablishment of TCP after receiving a new IP from a new domain (in case of an intra domain move). For time-sensitive applications, this results in additional delay caused by the movement from one AP or domain to another.
There are two current preferred methods of dealing with this issue:
1. Pre-emptive AP discovery, in which the mobile device scans the networks available, to check for the strengths of available APs, before a decision to roam is made; and roam- time AP discovery, in which the mobile device makes a decision to roam and then scans the area to find an alternative AP. This method is vendor specific and is not based on any particular standard.
2. The client may initiate roam, which is well defined in various standards and thereby the client resumes the application session.
A problem in the art is in resuming an application session and this has not been specified in any standard. It has been suggested that the Mobile IP standard within a network could solve the problem, but the amount of signalling traffic within Mobile EP creates too much unnecessary traffic.
BRIEF SUMMARY OF THE INVENTION
The system and method according to the invention comprises a software platform that provides mixed mobile data traffic management over wired, wireless, or mixed networks. The system and method addresses the diverse requirements of different data types and their behaviour over different wireless networks, each network having different characteristics and changing network status. A mobile device is incorporated as part of the overall network instead of treated as an independent entity outside the network. In the prior art, the mobile node (i.e. the mobile device) is an independent entity, disjoint from the network, blind to the types of network(s) available, and blind to the different types of data it is communicating with other networked devices. The present invention provides a comprehensive software solution that incorporates the mobile node as part of the network, enabling it to be an active participant within the network, and enabling it to manage and negotiate specific data needs with the network components.
The system and method according to the invention makes the mobile device aware of the network situation and application types and therefore their requirements; and also is aware of network policies at any given time, and therefore can make efficient decisions. The necessary "intelligence" is available so that there is no need to alter "any" application, the mobile device's Operating System (OS) code structure, or hardware. The solution is such that the network works with or without the system according to the invention (but the network is more efficient with such system) and other mobile devices not using the system can operate within the network. This is accomplished by adding the capability to the mobile device's OS to intercept system calls and alter the calls without initiator and destination involvement.
To implement these capability two layers are inserted within the mobile device's kernel OS to intercept the application path. A first layer receives the application calls, identifies the types of application and data; builds a protocol; and redirects to the UDP (if it was for TCP). The second layer controls the physical layer, so that the second layer monitors the status of the networks, predicts the status of the networks in the near future, schedules the outgoing traffic types based on this information, provides local jitter handling for received packets for conversational class of applications, and provides the collected status to the other layers. The second layer also provides packet redirection and forwarding between the multiple types of networks available.
Thereby, the system according to the invention:
i) delivers greater bandwidth efficiency and network capacity by managing all data types over single and mixed networks by taking a protocol approach, thereby reducing the overhead created by extra connections established by applications in the wireless network (only one connection is required) and reducing the overhead of data being transmitted by reducing the required acknowledgements, sending only non-expired data and filtering out others, and not using inefficient TCP/IP spoofing and tunnelling techniques;
ii) increases overall quality of service by using an efficient protocol designed specifically for wireless networks and able to work with all data types (not just "background" data types). By tying directly into the TCP/IP command structure in the upper layer on a mobile device (or other networked device) a protocol is created; and by providing efficient prioritization, queuing, and scheduling of different data types a superior experience for applications such as VoIP, interactive gaming and streaming video is provided, along with email and corporate applications; and
iii) provides better network reporting and an integration strategy for carriers supporting multiple networks (mixed networks). As there is a client component within the system, a carrier can now observe their network end-to-end, treating the mobile device like a network element, enabling the carrier to support stronger Service Level Agreements (SLAs) and service quality assurance. Furthermore, the information about network and application status and performance is included as part of the same protocol which delivers the data and therefore obviates the need for extra transactions or scheduled tests to determine the status and performance of the network. Also, the carrier can observe what is on the client's device, including software and mobile device configurations, thereby allowing the carrier to address service issues in a timely fashion, reducing both costs and customer frustration. As the network information is transmitted to a server component, as part of the data protocol delivery, the carrier can receive extensive reports on network status, bringing full visibility of the network to the carrier. The lower layer component of the system, according to the invention, on the mobile device enables seamless switching or simultaneous use of multiple network technologies (e.g. between cellular 2.5G/3G/4G, Wi-Fi and WiMAX) which could be based on usage policy, application type, and/or network policy. This allows the carrier to provide their customers multiple network choices, using the choice that best satisfies their user's requirements without having to concern themselves on how to use the networks, or when to switch to the networks without interrupting the user or the application. This also provides greater network efficiency for the carrier by allowing the carriers to use faster networks for backhaul transport, e.g. Wi-Fi for music downloads, and the more expensive cellular networks for email and other data applications.
A method of controlling a mobile device based on a network policy, is provided, comprising the steps of: storing said policy on a database on an advance server; sending said policy to said mobile device when said mobile requests registration with said server; when an application on said mobile device attempts to access a network via said server, checking said policy; and providing access to said network for said application when said policy permits. If said policy changes at the database, said changed policy is pushed to said mobile device. Preferably, the network policy includes a plurality of parameters, including parameters base on the type of service provided by said application, the maximum tolerable delay and the time of usage of said application.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram, showing a mixed network;
Figure 2 is a block diagram, showing a vertical view of a mixed wireless network;
Figure 3 is a schematic diagram of a mobile device, according to the invention;
Figure 4 is a block diagram, showing a client layer overview in a system according to the invention;
Figure 5 is a block diagram thereof, showing the client position with respect to other protocols;
Figure 6 is a flow diagram thereof, showing the management of incoming traffic to the application;
Figure 7 is a schematic diagram thereof, showing the lower client architecture;
Figure 8 is a schematic diagram thereof, showing the scheduler;
Figure 9 is a schematic diagram thereof, showing the SNR teller;
Figure 10 is a flow chart thereof, showing the pre-registration and discovery process; and
Figures 11 is a table showing the DMP signalling structure;
Figure 12 is a table showing a preferred embodiment of a DMP session; and
Figure 13 is a tree showing the structure of a DMP packet.
DETAILED DESCRIPTION OF THE INVENTION Definitions
In this document, the following terms will have the following meanings:
"advance server" means a server in communication with ICS, through which ICS accesses the network;
"far-host" means a destination networked device, such as a mobile device, a server, or a software application, in communication with a network which is the destination of a transmission;
"mixed network" means network using different communication protocols for different network nodes and network devices, and may include mobile devices, and may employ more than one type of wireless protocol for communication;
"network device" means a device capable of communicating with other network devices that forms part of a wired, wireless, or mixed network; and
"wireless device" or "mobile device" means a device for communicating with wired or wireless devices over a wireless or mixed network.
The system according to the invention is designed for use with mixed networks, examples of which are seen in Figures 1 and 2. While the illustrative example of the system and method according to the invention are described in terms of mixed networks, the invention could be used in a network in which only a single communication protocol is used.
Figure 1 displays a representative mixed network environment 1, in which several networks communicate with each other, the Internet 10 and mobile devices 30. Elements of mixed network environment 1 include: mobile switching center (MSC) 40, base transceiver station (BTS) 50, base controller station (BCS) 60, network node 70, radio network controller (RNC) 80, public switch telephone network (PSTN) 90, Short Message Service - Global System for Mobile Communications center (SMS-GSMC) 100, Home Location Register/Authentication center (HLR/ AuC) 110, Signaling System #7 (SS7) network 120, Equipment Identity Register (EIR) 155 using Mobile Application Part-Proxy (MAP-P), General Packet Radio Service (GPRS) network 130, Gateway GPRS Support Node 140, Breakout Gateway (BG) 145, Gateway GPRS Support Node (GGSN) 150, public land mobile network (PLMN) 160, and a inter-PLMN backbone network 170.
Mixed network environment 1 may have a wide variety of components and communication protocols used within. Figure 1 shows a typical, but not representative network.
Figure 2 displays an alternative viewpoint of a mixed wireless network environment 1 from a vertical view. Satellite network 200 provides the broadest coverage, and within satellite network 200 is wireless wide area network 210, in this case a GSM/3G network 220. Within wireless wide area network 210 is a wireless metropolitan area network 230, in this case a WiMAX network 240. Wireless local area networks 250 are within wireless metropolitan network 260, in this case WiFi network access points 270. Finally, within the wireless local area networks are wireless personal area networks 280 comprised of a plurality of network devices 30 using protocols to communicate such as Bluetooth and ultra wideband (UWB).
Figures 3 and 4 show schematics of a mobile device 30 incorporating the system according to the invention. Figure 3 displays an overview of such a mobile device 30, and Figure 4 displays the details of the kernal layer 300 and the relationship between the intelligent client system according to the invention and the operating system (OS) of the mobile device.
The traffic management system is stored on the mobile device as a series of drivers interfacing with standard OS libraries and function calls, as seen in Figures 3 and 4. The traffic management system is an intelligent client system ("ICS") 310, which is comprised of three main components:
1. an upper layer, TOPICS 320;
2. a Dynamic Multimedia Protocol ("DMP") 330 used as a transport layer protocol; and
3. a lower layer, LOWICS 340.
The client ICS 310 is at the same level as TCP 350 but extends to the data link layer (miniport drivers 315), as shown in Figure 5. Figure 5 illustrates the relationship between LOWICS 310 and the other protocols in the OS. LOWICS 310 resides as a protocol within the OS, but no other application or layers except for TOPICS 320 call LOWICS 310 yet LOWICS 310 intercepts the calls that arrive for other protocols e.g. TCP/IP 350. The protocols are related to each other in a chain format with respect to their hierarchy within the OS. Each protocol points to its next protocol in the chain and binds itself to the available network drivers, referred to as miniport drivers 315. LOWICS 310 therefore is loaded after all other protocols have been loaded and then points to the first protocol entry in chain, TCP/IP 350, and registers and binds to the available network drivers, miniport driver 315. In this fashion LOWICS 310 is capable of intercepting any packet leaving the IP layer to the MAC layer and therefore applies policy and scheduling to the packet in LOWICS layer 310.
Other components of mobile device 30, as seen in Figure 3, include libraries 370, system call interface 380, TCP/IP.sys file 390, file subsystem 400, buffer cache 410, device drivers 420, character 430, block 440, hardware control 450, and hardware/NIC 460 at hardware level 470. The kernal level 300 also includes process control subsystem 510, which includes scheduler 700, memory manager 530 and inter-process communicator 540.
TOPICS Layer 320
The TOPICS layer 320's main responsibility is to interface with calls from applications 360. TOPICS 320 maintains all application (requester) information, including socket information, device and file object information, and their interface including expected maximum transmission unit (MTU), buffer size, receive interface, expected receive message format, timeout, etc. TOPICS layer 320 maintains records regarding the application 360's predicted behaviour. As seen in Figure 4, other components of mobile device 30' s OS include: Network Driver Interface Specification (NDIS) interface 480, UDP interface 490, IP interface 500, and ARP interface 510. Transport driver interface 550 is between TOPICS 320 and applications 360.
TOPICS layer 320 also communicates with lower layer, LOWICS 340, to inform LOWICS 340 of the types of outgoing traffic, referred to herein as "Pre-Channel Transmission". LOWICS layer 320 then passes the requester's message to DMP 330. TOPICS 320 includes TOPICS-DMP assembly worker (not shown), for assembling packets; and TOPICS interface for communicating with applications 360.
Outgoing Traffic
The following is the transaction sequence for outgoing packets sent by an application 360 by the mobile device 30 through ICS 310 to a far-host:
1. The application 360's protocol is identified by TOPICS 320; by using the application name, the communication port, and/or scanning the header information of the first two user application buffers which requested the connection. The extracted information is verified by TOPICS 320 by comparing the extracted information against the application ID and/or signature and/or application catalogue ID, stored on the device. TOPICS also examines and determines the type of the transport layer protocol that application 360 has requested;
2. A response to the requester (application 360) is sent by TOPICS 320 to the application 360 for the related task, depending on whether the request (e.g. a request for creating a TCP socket and/or connecting to certain host), was successful or failed;
3. TOPICS 320 then creates and maintains an application book-keeping data structure about the application 360 and socket information, which is used for forwarding the response from the far- host to appropriate application 360;
4. LOWICS 340 is notified by TOPICS 320 of the appropriate outgoing traffic type;
5. TOPICS then passes the application 360 data to the DMP sub-module to build the corresponding DMP request protocol, based on the type of application, and the DMP packet is built (as described below);
6. The DMP packet is passed to UDP 190 and then to IP 500 layer; 7. LOWICS 340 receives the IP/UDP/DMP packet from IP 500 layer; and
8. The IP/UDP/DMP packet is scheduled and passed to the appropriate network interface card (NIC) 460, to be transmitted to far-host through an advance server.
Incoming Traffic
The process by which ICS 310 receives packets for mobile device 30 is shown in Figure 6, and is as follows:
1. a DMP packet is received by a NIC 460;
2. LOWICS 340 separates the IP header from the DMP packet;
3. the type of DMP is identified through the DMP header and by LOWICS 340 receiver module to determine if local jitter handling is needed;
4. if the DMP contains data of any type other than real-time, the DMP packet is passed through a direct call to TOPICS DMP assembly worker (not shown), which is a component within the DMP module, (so the packet does not need to go through the IP layer 500);
5. the TOPICS-DMP assembly worker module assembles the packet to build a message, and when the message is complete it is passed to the TOPICS-Interface 530;
6. the TOPICS-Interface 530 determines, through its application book-keeping data structure, the appropriate application 360 which should be the message recipient; and
7. the TOPICS-Interface passes the message to the application 360 through a standard OS call. DMP (Dynamic Multimedia Protocol):
DMP 330 is a protocol capable of carrying any type of data. DMP 330 dynamically adapts itself as necessary, for example for varying acknowledgment requirements and best packet sizes. DMP 330 shares some of the characteristics of UDP and also some of the characteristics of TCP, however, DMP carries any type of data while meeting each data type's requirements over any type of wireless link through its dynamic header bits, as shown in Figures 11, 12 and 13. DMP 330 uses UDP/IP layer 500 as the transport and network layer protocol. DMP 330 preferably works with both IPv4 and IPv6, and provides the standard interface for applications and a standard interface to UDP/IP layer 500. Figure 13 illustrates the branching of DMP. As shown in Figure 13 there are three levels in DMP that are distinguished by header bits.
1. DMP Layer 1 : contains "DMP Internals" and "DMP Communication" (DMP COM). DMP Internals: Used for internal communications among components within single sub-system, e.g. communications between TOPICS 320 and LOWICS 340.
2. DMP Layer 2 is a branch off DMP COM and it carries three types of messages, Signalling, Control and Session. DMP Signalling: Used for communication between two sub-systems, namely:
a. DMP Control:
Activities between LOWIC S ^r -> software in an AP, and software in an AP<-->server for control proposes. For example, the server notifies ICS to change its packet size, or ICS provides the server with network status information or logs. Also DMP Control is used for sending control message to ICS to control the functionality of ICS.
3. DMP Layer 3, is a branch off DMP Signalling and DMP Session (each branch to two)
a. DMPComSignaling Request: Carries a signalling request such as Registration, Re- Registration, Un-Register and acknowledgments between TOPICS 320 ^ — ^ Advance Server b. DMPComSignaling Response: Carries a response to the requested signal
c. DMPComSession Message: Carries the actual application data
d. DMPComSession Control: Carries application connection requests, such as socket connect, and/or control feedback information such as RTCP
Figures 11 and 12 illustrate details of and embodiment of a DMP structure for both DMP Signalling and DMP Session according to the three layer structure, described above. Other embodiments of a DMP protocol may be used, including a subset of the features described herein and in the Figures.
LOWICS Layer:
The LOWICS layer 340 includes four main sub-modules, each discussed below. The LOWICS layer 340 resides in the OS of mobile device 30 in three different formats as a layer, hooking (a method of inserting a layer into the operating system) and as a protocol. Figure 7 illustrates the overview of LOWICS 340 with respect to the OS and its internal components. As shown in Figure 7, the modules include:
1. Scheduler system 700;
2. Network Monitor 570;
(a) Neighbourhood Discovery;
(b) Signal to Noise Ratio Teller;
(c) Packet forwarding;
3. Local Jitter Buffer 710; and 4. Packet Classifier 720.
LOWICS - Scheduler:
The system according to the invention has the capability of distinguishing between different types of data received or sent by mobile device 30 (or other networked device) and can identify a mobile traffic model for such data. Each different data type has its own requirements, including end-to-end transmission control, and latency sensitive real-time requirements. An objective of the system according to the invention is to meet as many requirements as possible for these different data types. Therefore, the system differentiates the data and handles the packets with the objectives of: controlling traffic over the wireless link, maintaining loads, increasing the capacity of the network, and providing bandwidth improvements.
In order to identify the data type requirements three parameters are identified and considered:
i) The maximum error rate: interpreted as the acceptable value used to identify the type of error detection for the physical channel as well as transport layer protocol.
ii) The minimum throughput: interpreted as the priority of delivery, as different types of packets have different time requirements for delivery. For some types of data (voice, streaming video, etc.), transmission of the packet after time expiration simply becomes part of network overhead, so data of such types that have expired with respect to time are not delivered.
iii) The maximum delay: interpreted as the maximum number of retransmission attempts for that data type and the time between retransmission attempts.
To manage the diverse traffic types, the system calculates a "life time". This life time is the period of time in which a decision is made for all packets of a particular application. For example, a group of packets could belong to a message application. A "session" is a life time in which the packets belong to and exist in that life time of a single application. A life time can be a deterministic type or a random distribution inter-arrival type. Different classes of services, namely background, interactive, streaming and conversational are used to narrow the traffic classes to categories of: Voice, Video, Audio and Data, so that the characteristics and requirements of each data type can be outlined and a mobile traffic model identified as in following Tables 1 and 2.
Figure imgf000021_0001
Table -- 1 : Traffic type and sensitivity
F(P): Pareto distribution Function, S: minimum packet size, P: Packet Size F(T): Random distribution Function, t: time, T: expected value of the inter-arrival time t
As an example, Voice over IP (VoIP) is highly sensitive to the latency while it is not sensitive to error, as a user can always ask for the other party to repeat. However, the data's rate of arrival to TOPICS 320 is fixed and its packet size is fixed. Looking at the traffic that VoIP generates, it follows the model of Pareto Distribution. Data, however, such as Internet Explorer typically communicates, is very low sensitive for latency while highly sensitive to error, e.g. receiving corrupted banking information. The arrival rate of the packets (or its generation rate) for Data is variable and unpredictable, as it is generated and arrives in bursts, and the traffic type that it generates follows the exponential distribution. This information of the type of traffic model allows scheduler system 700 to make scheduling decisions based on the type of traffic model expected and whether the available networks have the capability of delivering the traffic or not. For example, in a mixed network, where the mobile user is on 2.5Generation network, such as GPRS, using VoIP application is not appropriate since this type of network doesn't have the capability of delivering the type of traffic.
Figure imgf000022_0001
As i llustrated in table 2 and based on table 1 ; the type of traffic is classified with respect to their priority in which they have to be serviced, delivered and transferred to the network, and tolerated Bit Error Rate (BER) such that if the error in packet was less than the BER, then there is no need to request for retransmitting the data and also determine how many times the data can be retransmitted before the data expires (based on its time to live). For example a VoIP packet can be retransmitted (if un-arrived) three times using fast retransmission before the packet's time to live expires, which is 250 milliseconds end-to-end (as set in VoIP standards). Using this method the values of T (the expected value of inter-arrival time t), S (the minimum packet size), and a (a constant value) can be inserted into either the Pareto or Exponential Distribution function shown in Table 1 for scheduler system 700 to make a decision for packet scheduling.
The different classes of service, include the Interactive class of service, which refers to the type of application/traffic which is a request/response oriented and it requires users interaction. An example of this application is Internet Explorer where the request sent and a response received. The Background class of service, refers to the type of applications that it runs in background and does a burst type of transaction. Email is an example of this type of application, as there is no need for the user interaction the email runs in the background and receives the information. A Streaming class of service, refers to the type of application where there is a request for receiving a media, not necessary in real-time, similar to video or audio. Real-time class of service, also referred to as conversational, are the class of services that are very time- sensitive. They typically have a fixed time to live set by industry. As an example a voice over IP packet has only a 250 millisecond acceptable delay, if it received after that the packet will not be processed by the receiver. Examples of this type of application/service are Voice Over IP (VOIP), and video telephony.
Scheduler system 700 completes three main tasks, namely: queue managing; scheduling; and the channel SNR teller.
As seen in Figure 8, queue manager 800 in scheduler system 700 includes packet classifier 810, multiple queues 820 dedicated to different types of data, and queue tracker 830 (a queue scanner and analyzer) that reports on the traffic stored within each queue and the number of expired packets and delayed packets within each queue. Scheduler 840 acts as the decision maker between queue manager 800 and data link layer 850. Scheduler 840 examines the contents of queue manager 800 and data link 850 and makes decisions. Scheduler 840 also manages data traffic between the network layer and the data link layer 850. This process isolates the high-layer application or the network layer from direct interaction with the lower layer. However, these layers are mutually aware of each other.
In practice, IP layer 500 passes packets to packet classifier 810; packet classifier 810 examines the type of packet and associates an appropriate time for the packet, based on the type of packet, and then inserts that packet into appropriate queue 820. In a preferred embodiment of the system, the queues are for four distinct data types as previously described, namely: voice, video, audio and data. As a wireless network grows other types of data with different characteristics may be included. A challenge posed by queue 820 is the need for a module to monitor the queue, which normally adds delay to transmission scheduling. For this reason, each packet inserted in the buffer of queue 820 is an active record, resulting in the creation of packets of type timer. The expiration period of these packets varies for each timer as the timer packets are also typed (as voice, video, audio, or data timer). If the packet does not arrive at scheduler 840 before expiry of the timer the packet exits queue 820 and notifies queue tracker 830 of its expiry. Queue tracker 830 reports to scheduler 840 the number of expired packets, thereby notifying the scheduler 840 of the traffic congestion at each queue 820. Scheduler 840 makes a judgment as to which queue 820 should receive service first based on the time sensitivity of the data type within the queue 820. Scheduler 840 may also be deployed on a server to schedule downlink data traffic to multiple mobile devices and different data traffic within a mobile device.
LOWICS - Network Status Monitor:
The SNR teller 900, as seen in Figure 9, is part of the network status monitor module. SNR teller predicts the near future Signal to Noise Ratio, in a time frame between the present (0) to the next 10 ms. The objective of this component is to be able to detect the expected signal-to-interference-plus- noise-ratio (SINR) value. Generally speaking SINR is the ratio of Signal Strength to the background noise ratio. The link rate depends on the SINR at the user's location. SINR can vary significantly within a cell. This variation is an inherent characteristic of all wireless systems and occurs primarily because of variations in RF propagation loss, building penetration loss, fading effects, and co-channel interference. As a result, the link rate experienced by a user may depend on his/her position within a cell, just as in the case of DSL.
Based on the support from Network Monitor 520, SNR values will be monitored. The objective of SNR teller system is to receive the monitored SNR value and by looking at these values in the past 5ms to present being able to calculate and estimate the expected value of the SNR value is in the next 5 to 10 millisecond. This resulted expected value will be used by the network monitor status module to make decision of when to switch the network, from one type to another (e.g. WiFi to cellular) and also used by the scheduler system to take this parameter into consideration for its scheduling decision making.
LOWICS - Neighbourhood Discovery
Neighbourhood discovery is a method, according to the invention, that reduces the time required when moving from one access point ("AP") to another over a wireless link (known as "roaming"), for example, a mobile device user moving in an airport. There are several different areas of research in eliminating this delay especially in the RF layer (Layer 1). In a preferred embodiment a RF level latency reduction layer 3.5 solution is used. For connection-oriented applications (for example, those that are TCP/IP based) the latency to transfer the communications and connection from one AP to another could result in the retransmission of data and reestablishment of TCP after receiving a new IP from a new domain (in case of an intra domain move). For time-sensitive applications, this results in additional delay caused by the movement from one AP or domain to another.
In a preferred embodiment, a Layer 3.5 solution is used, which is a superset of Layer 2 roaming. In this embodiment, a layer above the Media Access Control (MAC) Layer and below the IP layer 500 monitors the AP(s) and domains, handles the packet forwarding between different AP' s, while also shielding the higher layer of any changes. This solution requires Layer 2 roaming first but eliminates the extra delay of authentication and roaming applications to the new AP.
To achieve a preferred method of roaming, three main areas are considered:
a) Neighbourhood discovery;
b) Pre-registration; and
c) Packet forwarding.
In a preferred embodiment, a network status data module 570 located within LOWICS 340 provides network status data and neighbourhood discovery. In this embodiment LOWICS 340 has a single virtual adapter interface to the IP layer 500 but may bind itself to as many NIC 460 as are available. Network status monitor 570 monitors the collected AP information from a Wi-Fi card, including the AP name, MAC, Signal Strength, Noise Strength, and Signal to Noise Ratio. Network status monitor detects the next closest AP by receiving information from SNR Teller 900, which calculates the SNR for a period of time starting from past to future within a small time frame. SNR Teller 900 then sends pre-registration information to network status monitor 570 with the "Backup AP" that it has decided to be moved to. Therefore, the AP is located before a decision is made to roam.
In a preferred embodiment, the AP contains updateable firmware. Usually the AP firmware contains an IP layer protocol structure, including a routing table, a MAC address update table, DNS, and other functionality. This firmware may be updated by adding a pre-register table. After identifying the AP the network status data module then sends a pre-registration request to the AP. The AP forwards the request to an advance server ("AS") and asks for authentication for the mobile device 30. The AS will check the authentication of the mobile device 30 against its database and send the authorization to the AP. The AP then records the MAC address of mobile device 30 in the AP' s pre-register table. The AP also sends its own MAC address, network address and a time-to- live to the mobile device 30. When the network status data module 570 receives this information it stores for use for the next roam. The time-to-live tells the network status monitor 570 of the period of time the AP will keep the information in its pre-register table. If this time expires the network status monitor 570 should look for another round of pre-registration request. In the meantime, the network status monitor 570 will continuously look at the SNR to determine if the backup AP is the appropriate AP to roam to next.
In case the backup AP SNR degrades then the network monitor looks at finding and pre-registering with a new AP. The network status data module 570 in LOWICS 340 continuously monitors the network status and SNR. It is important that balance be maintained between fast roaming times and client stability. As an example, it is normal for an AP 's signal strength to reduce as a function of its environment and frequency, therefore, such an occurrence should not be considered for a roam, or "handoff ', as it could be an instant occurrence of the AP signal strength, and not the normal signal strength for such AP. To accomplish this, a timeframe threshold is created for the stability of the signal before roaming to that AP. A preferred threshold should be between 5 and 10 ms, but longer or shorter periods could be used.
The SNR should decrease in an active AP and increase in the back up AP before roaming occurs. To move from one AP or domain to another, network status monitor 570 first sends an update registration (Re-Registration) to the AS through the backup AP. As the backup AP already has the information in its pre-registered table, it just pushes the request to the AS immediately. This notifies the AS of the change of IP so the AS will start redirecting downlink traffic to the mobile device 30 through the new destination IP of the mobile device. After the mobile device 30 receives the confirmation from the AS, mobile device 30 redirects the uplink traffic. During this time mobile device 30 does not send any uplink traffic to the AS until it receives the confirmation. This method reduces the packet loss during the roaming, reduces the roaming duration as the information already exists in the pre-registered table at the AP, and the change to the mobile device IP is completely transparent to the applications on both the mobile device and the far-end host application on the Internet. The latter sees the AS as the mobile device.
Figure 10 displays an overview sequence of events in pre-registration and neighbourhood discovery.
LOWICS - Local Jitter Handling:
The LOWICS 340 local jitter handler 710 handles received real-time data types. Its main responsibility is to handle the jitter on VoIP and real-time video based on the network status and information received. This eliminates the need for using RTCP, which creates high network overhead. To achieve this, a buffer agent examines the Type of Content (ToC) within DMP and decides whether to deliver the DMP to a higher layer or keep it in the buffer module. Each data packet inserted into a buffer is attached to a timer. As the timer expires the data packet will exit the buffer queue in the higher layer. This makes the individual rows of the buffer an active agent that "watch" the buffer's state. This reduces a need for an agent to track what has to be removed from the buffer and what does not and therefore reduces the buffer delay. The jitter buffer is in the lower layer as decisions are made based on real-time network information instead of on the feedback mechanism provided by RTCP. The feedback mechanism is not very efficient, as the frequency of incoming feedback cannot be adjusted for efficiency for wireless traffic while also providing sufficient and timely information to reduce jitter. Using the above described process, jitter may be reduced by 20-30%.
Network Policy
The method and system according to the invention can also control a network device based on the requirements of the network policy. In such a case, the network policy must be created, and transmitted to the network device for storage, such as a mobile device, when the network device requests registration.
When an application is attempting to access the network, the network policy usage will be checked, and TOPICS and LOWICS will provide network access to the application according to the policy. During the transactions between the network device and network server, at any time if the network policy is changed at the database in the advance server the change will be pushed to the network device in a form of "Policy Push" command.
The two tables below describe, in a preferred embodiment, the policy parameters that will be pushed to the networked device at the registration time. Table 3 describes the policy parameters; Table 4 describes a "Class of Service" data structure.
TABLE 3:
Figure imgf000028_0001
TABLE 4:
PARAMETER DESCRIPTION
Figure imgf000029_0001
Network Performance
The method and system according to the invention can provide service performance and status information to a carrier for any application over any types of network and without a need for creating extra transactions over the network. To do this, the network device stores an acceptable performance threshold parameter per application on the device. As the application data is carried to the advance server, the network device stores information about the type of network used per packet, the signal to noise ratio parameter on each packet, packets lost, duplicate, retransmissions and the total time needed to deliver application message and receive response information. This information is stored within a database in network status monitor 520. If any of the parameters exceed the threshold set in either the database, local in the network device, or calculated based on certain rules (such as the network policy), the an alert is generated and sent to the advance server.
Determining type of application data
The system and method according to the invention can be used to determine the type of application data on a client device, such as a mobile device, without changing the application. This is done when ICS receives an application request by intercepting the call. ICS then identifies the application name, and/or the port used to send the message, and/or the header information (which is part of the first two application message buffer sent for the request for connection). This extracted information, such as VoIP, Video, email, Internet explorer; is used to create a corresponding tag, such as Real-time, Streaming, Background, Interactive, and the packet is accordingly tagged.
The above described system and method can be implemented as a series of instructions stored or computer readable memory within a networked device, such as within RAM, or on compute] readable storage medium. The method and system may be expressed as a series of instructions present in a carrier wave embodying a computer data signal to communicate the instructions to i networked device or server, which when executed by a processor within the mobile device oi server, carry out the method.
The above method and system, while described in the context of a wireless or mixed network would also have application in wired networks, in cases where the wired network device is "smart' and able to identify and process incoming packets.
Although the particular preferred embodiments of the invention have been disclosed in detail fo illustrative purposes, it will be recognized that variations or modifications of the disclosed apparatui lie within the scope of the present invention.

Claims

CLAIMSThe invention claimed is:
1. A method of controlling a mobile device based on a network policy, comprising the steps of:
(a) storing said policy on a database on an advance server;
(b) sending said policy to said mobile device when said mobile requests registration with said server;
(c) when an application on said mobile device attempts to access a network via said server, checking said policy; and
(d) providing access to said network for said application when said policy permits.
2. The method of claim 1 wherein, if said policy changes at the database, said changed policy is pushed to said mobile device.
3. The method of claim 2 wherein said network policy includes a plurality of parameters.
4. The method of claim 3, wherein said policy parameters, include a first parameter based on the type of service provided by said application.
5. The method of claim 4 wherein said policy parameters include a second parameter based on the maximum tolerable delay.
6. The method of claim 5 wherein said policy parameters include a third parameter based on the time of usage of said application.
PCT/CA2006/000901 2005-06-06 2006-06-06 System and method of controlling a mobile device using a network policy WO2006130960A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002611160A CA2611160A1 (en) 2005-06-06 2006-06-06 System and method of controlling a mobile device using a network policy
US11/916,812 US20090265752A1 (en) 2005-06-06 2006-06-06 System and method of controlling a mobile device using a network policy

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68733905P 2005-06-06 2005-06-06
US60/687,339 2005-06-06

Publications (1)

Publication Number Publication Date
WO2006130960A1 true WO2006130960A1 (en) 2006-12-14

Family

ID=37498064

Family Applications (7)

Application Number Title Priority Date Filing Date
PCT/CA2006/000917 WO2006130968A2 (en) 2005-06-06 2006-06-06 Operating system for a mobile device
PCT/CA2006/000903 WO2006130962A1 (en) 2005-06-06 2006-06-06 System and method of scheduling delivery of packets
PCT/CA2006/000902 WO2006130961A1 (en) 2005-06-06 2006-06-06 System and method of registering with an access point
PCT/CA2006/000901 WO2006130960A1 (en) 2005-06-06 2006-06-06 System and method of controlling a mobile device using a network policy
PCT/CA2006/000913 WO2006130964A1 (en) 2005-06-06 2006-06-06 System and method of traffic management over mixed networks
PCT/CA2006/000915 WO2006130966A1 (en) 2005-06-06 2006-06-06 Data packet structure and protocol
PCT/CA2006/000900 WO2006130959A1 (en) 2005-06-06 2006-06-06 System and method of providing service information to a carrier

Family Applications Before (3)

Application Number Title Priority Date Filing Date
PCT/CA2006/000917 WO2006130968A2 (en) 2005-06-06 2006-06-06 Operating system for a mobile device
PCT/CA2006/000903 WO2006130962A1 (en) 2005-06-06 2006-06-06 System and method of scheduling delivery of packets
PCT/CA2006/000902 WO2006130961A1 (en) 2005-06-06 2006-06-06 System and method of registering with an access point

Family Applications After (3)

Application Number Title Priority Date Filing Date
PCT/CA2006/000913 WO2006130964A1 (en) 2005-06-06 2006-06-06 System and method of traffic management over mixed networks
PCT/CA2006/000915 WO2006130966A1 (en) 2005-06-06 2006-06-06 Data packet structure and protocol
PCT/CA2006/000900 WO2006130959A1 (en) 2005-06-06 2006-06-06 System and method of providing service information to a carrier

Country Status (8)

Country Link
US (7) US20080279216A1 (en)
EP (1) EP1894362A1 (en)
JP (1) JP2008546328A (en)
KR (1) KR20080033244A (en)
CN (1) CN101258713A (en)
AU (1) AU2006255441A1 (en)
CA (7) CA2611158A1 (en)
WO (7) WO2006130968A2 (en)

Cited By (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8351898B2 (en) 2009-01-28 2013-01-08 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US8385916B2 (en) 2009-01-28 2013-02-26 Headwater Partners I Llc Automated device provisioning and activation
US8527630B2 (en) 2009-01-28 2013-09-03 Headwater Partners I Llc Adaptive ambient services
US8606911B2 (en) 2009-03-02 2013-12-10 Headwater Partners I Llc Flow tagging for service policy implementation
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8630630B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8630617B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Device group partitions and settlement platform
US8634805B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc Device assisted CDR creation aggregation, mediation and billing
US8634821B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc Device assisted services install
US8725123B2 (en) 2008-06-05 2014-05-13 Headwater Partners I Llc Communications device with secure data path processing agents
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8893009B2 (en) 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
US8898293B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Service offer set publishing to device agent with on-device service selection
US8924543B2 (en) 2009-01-28 2014-12-30 Headwater Partners I Llc Service design center for device assisted services
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US9094311B2 (en) 2009-01-28 2015-07-28 Headwater Partners I, Llc Techniques for attribution of mobile device data traffic to initiating end-user application
US9137701B2 (en) 2009-01-28 2015-09-15 Headwater Partners I Llc Wireless end-user device with differentiated network access for background and foreground device applications
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
US9198042B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Security techniques for device assisted services
US9247450B2 (en) 2009-01-28 2016-01-26 Headwater Partners I Llc Quality of service for device assisted services
US9253663B2 (en) 2009-01-28 2016-02-02 Headwater Partners I Llc Controlling mobile device communications on a roaming network based on device state
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9392462B2 (en) 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
US9532261B2 (en) 2009-01-28 2016-12-27 Headwater Partners I Llc System and method for wireless network offloading
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US9609510B2 (en) 2009-01-28 2017-03-28 Headwater Research Llc Automated credential porting for mobile devices
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
WO2020207359A1 (en) * 2019-04-10 2020-10-15 华为技术有限公司 Network configuration method and apparatus
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US11412366B2 (en) 2009-01-28 2022-08-09 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058483A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Connection architecture for a mobile network
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
EP1734665B1 (en) 2005-06-17 2011-08-10 Fujitsu Limited Multi-hop communication system
DE602005009340D1 (en) 2005-06-17 2008-10-09 Fujitsu Ltd Power control in the multi-way communication system
EP2369879A3 (en) 2005-06-17 2011-11-09 Fujitsu Limited Communication system
EP1734666A1 (en) 2005-06-17 2006-12-20 Fujitsu Limited Resource management in multi-hop communication system
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8009680B2 (en) * 2005-07-29 2011-08-30 Nextel Communications Inc. System and method for a private wireless network interface
US7756134B2 (en) 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US7894509B2 (en) 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US20080008188A1 (en) * 2006-05-25 2008-01-10 Proximetry, Inc. Systems and methods for wireless resource management with quality of service (qos) management
US9252981B2 (en) 2006-06-13 2016-02-02 At&T Intellectual Property I, L.P. Method and apparatus for processing a communication request from a roaming voice over IP terminal
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US7916626B2 (en) 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US7769028B2 (en) * 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US8934609B2 (en) * 2006-06-21 2015-01-13 Genband Us Llc Method and apparatus for identifying and monitoring VoIP media plane security keys for service provider lawful intercept use
US20080019312A1 (en) * 2006-07-18 2008-01-24 Muthaiah Venkatachalam Efficient mechanisms for mapping harq connections to mac layer connections and scheduling in the presence of harq
US20100241759A1 (en) * 2006-07-31 2010-09-23 Smith Donald L Systems and methods for sar-capable quality of service
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US7953035B2 (en) * 2006-08-08 2011-05-31 Futurewei Technologies, Inc. QoS enhancements on the access channel
US7768952B2 (en) * 2006-08-18 2010-08-03 WI-FI Rail, Inc. System and method of wirelessly communicating with mobile devices
US7822802B2 (en) * 2006-09-29 2010-10-26 Fisher-Rosemount Systems, Inc. Apparatus and method for merging wireless data into an established process control system
GB0619454D0 (en) 2006-10-02 2006-11-08 Fujitsu Ltd Communication systems
GB2443464A (en) 2006-11-06 2008-05-07 Fujitsu Ltd Signalling in a multi-hop communication systems
KR100822707B1 (en) * 2006-12-01 2008-04-18 한국전자통신연구원 Apparatus and method for managing quality of service in integrated network of heterogeneous mobile networks
US8326267B2 (en) * 2006-12-28 2012-12-04 United States Cellular Corporation Application access control in a mobile environment
US9392434B2 (en) 2007-01-22 2016-07-12 Qualcomm Incorporated Message ordering for network based mobility management systems
GB2447883A (en) 2007-03-02 2008-10-01 Fujitsu Ltd Bandwidth allocation in multi-hop wireless communication systems
GB2447635A (en) * 2007-03-19 2008-09-24 Fujitsu Ltd Scheduling qos communications between nodes within a predetermined time unit in wimax systems
US8184637B2 (en) 2007-04-04 2012-05-22 Research In Motion Limited Method, system and apparatus for dynamic quality of service modification
EP1978685B1 (en) 2007-04-04 2011-05-25 Research In Motion Limited Method and apparatus for dynamic quality of service modification
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US7743181B2 (en) * 2007-07-09 2010-06-22 Intel Corporation Quality of service (QoS) processing of data packets
US7991904B2 (en) * 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US7987285B2 (en) 2007-07-10 2011-07-26 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
EP2248038A4 (en) * 2008-01-07 2013-10-16 Peerapp Ltd Method and system for transmitting data in a computer network
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8094610B2 (en) * 2008-02-25 2012-01-10 Virginia Tech Intellectual Properties, Inc. Dynamic cellular cognitive system
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
US20090290492A1 (en) * 2008-05-23 2009-11-26 Matthew Scott Wood Method and apparatus to index network traffic meta-data
JP5374929B2 (en) * 2008-06-05 2013-12-25 富士通株式会社 Mobile communication system, mobile communication method, and communication apparatus
TW201016066A (en) * 2008-10-03 2010-04-16 Kuang Sheng Yun Ltd Method and system for WiFi network high speed mobile voice and multimedia video data communication
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8055782B2 (en) * 2008-10-13 2011-11-08 International Business Machines Corporation System and method for generating exception delay messages when messages are delayed
US9401855B2 (en) * 2008-10-31 2016-07-26 At&T Intellectual Property I, L.P. Methods and apparatus to deliver media content across foreign networks
US8375128B2 (en) * 2008-12-23 2013-02-12 At&T Mobility Ii Llc Methods and apparatuses for providing communications services in connection with a communications network
US20120072612A1 (en) * 2008-12-23 2012-03-22 Christofer Flinta Method and an Arrangement of Identifying Traffic Flows in a Communication Network
US8780762B2 (en) * 2009-03-11 2014-07-15 Sony Corporation Node query in ad hoc home mesh network
US8761174B2 (en) * 2009-03-11 2014-06-24 Sony Corporation Quality of service traffic recognition and packet classification home mesh network
US7974297B2 (en) * 2009-03-11 2011-07-05 Sony Corporation Quality of service queue management in home mesh network
US8861445B2 (en) * 2009-03-11 2014-10-14 Sony Cororation Multi-channel single radio communication in home mesh network
US20100232400A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Virtualizing single radio for multiple wireless interfaces in home mesh network
US9398136B2 (en) * 2009-04-20 2016-07-19 Apple Inc. Handheld device capable of providing data tethering services while maintaining suite of handheld service functions
JP5695053B2 (en) * 2009-09-11 2015-04-01 コーニンクレッカ フィリップス エヌ ヴェ Mobile node assignment to routers in wPAN
US8578020B2 (en) * 2009-12-24 2013-11-05 Empire Technology Development Llc Dynamic mobile application quality-of-service monitoring and reporting
US8391142B2 (en) * 2010-02-11 2013-03-05 Verizon Patent And Licensing, Inc. Access window envelope controller in wireless network
GB2481255A (en) * 2010-06-18 2011-12-21 Skype Ltd Dynamically adapting network bandwidth limitations for applications on a device based on current transmission conditions
WO2011158372A1 (en) * 2010-06-18 2011-12-22 三菱電機株式会社 Data processing apparatus, data processing method, and program
GB2497012B (en) 2010-07-26 2013-10-30 Seven Networks Inc Mobile network traffic coordination across multiple applications
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US11405969B2 (en) 2010-09-29 2022-08-02 International Business Machines Corporation Enabling interface aggregation of mobile broadband network interfaces
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
CN104205948B (en) * 2010-11-10 2018-08-21 Sk电信有限公司 Equipment is provided for changing the method and strategy connected between heterogeneous network and supports its terminal installation
US9055385B1 (en) 2010-11-18 2015-06-09 Sprint Communications Company L.P. Adjusting an application update rate in a wireless communication device
EP2636268B1 (en) 2010-11-22 2019-02-27 Seven Networks, LLC Optimization of resource polling intervals to satisfy mobile device requests
GB2495463B (en) 2010-11-22 2013-10-09 Seven Networks Inc Aligning data transfer to optimize connections established for transmission over a wireless network
US8849991B2 (en) 2010-12-15 2014-09-30 Blue Coat Systems, Inc. System and method for hypertext transfer protocol layered reconstruction
EP2661697B1 (en) * 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
US9084105B2 (en) 2011-04-19 2015-07-14 Seven Networks, Inc. Device resources sharing for network resource conservation
WO2012149434A2 (en) 2011-04-27 2012-11-01 Seven Networks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
GB2504037B (en) 2011-04-27 2014-12-24 Seven Networks Inc Mobile device which offloads requests made by a mobile application to a remote entity for conservation of mobile device and network resources
US20120309321A1 (en) * 2011-05-31 2012-12-06 Broadcom Corporation Synchronized calibration for wireless communication devices
US9014023B2 (en) * 2011-09-15 2015-04-21 International Business Machines Corporation Mobile network services in a mobile data network
US9681317B2 (en) 2011-11-16 2017-06-13 International Business Machines Corporation Mitigating effects of predicted failures in a mobile network basestation due to weather
US8971192B2 (en) 2011-11-16 2015-03-03 International Business Machines Corporation Data breakout at the edge of a mobile data network
US10021696B2 (en) 2011-11-16 2018-07-10 International Business Machines Corporation Data caching at the edge of a mobile data network
KR20130056591A (en) * 2011-11-22 2013-05-30 삼성전자주식회사 Method for displaying a message of mobile terminal
EP2789138B1 (en) 2011-12-06 2016-09-14 Seven Networks, LLC A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
WO2013086455A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
EP2792188B1 (en) 2011-12-14 2019-03-20 Seven Networks, LLC Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
US9042864B2 (en) 2011-12-19 2015-05-26 International Business Machines Corporation Appliance in a mobile data network that spans multiple enclosures
US8769615B2 (en) 2011-12-19 2014-07-01 International Business Machines Corporation Key storage and retrieval in a breakout component at the edge of a mobile data network
US8479271B1 (en) 2011-12-20 2013-07-02 International Business Machines Corporation Hosting edge applications at the edge of a mobile data network
US8812005B2 (en) * 2012-02-03 2014-08-19 Apple Inc. System and method for scheduling packet transmission on a client device using traffic classes and opportunistic behavior
CA2791935A1 (en) 2012-03-30 2013-09-30 Disternet Technology, Inc. Transcoding system and method
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US9112792B2 (en) 2012-04-10 2015-08-18 International Business Machines Corporation Hosting device-specific edge applications at the edge of a mobile data network
WO2013175495A2 (en) * 2012-04-12 2013-11-28 Tata Consultancy Services Limited A system and a method for reasoning and running continuous queries over data streams
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9001733B2 (en) 2012-07-17 2015-04-07 International Business Machines Corporation Offloading running a needed edge application to a neighboring basestation in a mobile data network
US8989141B2 (en) 2012-07-17 2015-03-24 International Business Machines Corporation Transferring a session for user equipment to a different basestation running a needed edge application
US9030944B2 (en) 2012-08-02 2015-05-12 International Business Machines Corporation Aggregated appliance in a mobile data network
US9071449B2 (en) 2012-08-07 2015-06-30 International Business Machines Corporation Charging and policy for services at the edge of a mobile data network
US9560392B2 (en) * 2012-09-07 2017-01-31 Google Inc. Dynamic bit rate encoding
US9019843B2 (en) 2012-09-13 2015-04-28 International Business Machines Corporation Utilizing stored data to reduce packet data loss in a mobile data network with data breakout at the edge
US11259087B2 (en) 2012-10-03 2022-02-22 Mimik Technology Inc. System and method for managing streaming services
US9042379B2 (en) 2012-10-29 2015-05-26 International Business Machines Corporation Network management for wireless appliances in a mobile data network
US9060308B2 (en) 2013-01-11 2015-06-16 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Avoiding network address translation in a mobile data network
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US20140214921A1 (en) * 2013-01-31 2014-07-31 Onavo Mobile Ltd. System and method for identification of an application executed on a mobile device
US8879551B2 (en) 2013-02-22 2014-11-04 International Business Machines Corporation Collection of subscriber information for data breakout in a mobile data network
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
EP3008943A4 (en) 2013-06-11 2017-02-22 Seven Networks, LLC Optimizing keepalive and other background traffic in a wireless network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9462533B2 (en) * 2013-09-19 2016-10-04 Broadcom Corporation Communication adaptations to industrial noise
US9571407B2 (en) 2014-12-10 2017-02-14 Limelight Networks, Inc. Strategically scheduling TCP stream transmissions
FR3031644A1 (en) * 2015-01-13 2016-07-15 Orange METHOD FOR PROCESSING A MULTIMEDIA STREAM, CORRESPONDING COMPUTER DEVICE AND PROGRAM.
US9531556B2 (en) * 2015-03-25 2016-12-27 International Business Machines Corporation Supporting low latency applications at the edge of wireless communication networks
DE102015110349B4 (en) * 2015-06-26 2020-11-26 Apple Inc. COMMUNICATION TERMINAL DEVICE AND METHOD FOR TREATMENT OF UPLOADING TRAFFIC CONGESTION
US10992589B2 (en) * 2016-01-12 2021-04-27 Qualcomm Incorporated LTE based V2X communication QOS and congestion mitigation
US10333769B2 (en) * 2016-06-09 2019-06-25 LGS Innovations LLC Deployable linear bitwise protocol transformation
US11297634B2 (en) * 2016-09-26 2022-04-05 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for scheduling traffic of a communication session between an application on a WiFi network and another device
US11259352B2 (en) 2016-09-26 2022-02-22 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for providing multi-homing
US10687341B2 (en) 2016-09-26 2020-06-16 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for scheduling traffic of a communication session between an application on a WiFi network and another device
EP3635999B1 (en) * 2017-06-09 2022-08-03 Telefonaktiebolaget LM Ericsson (PUBL) Seamless mobility for icn producers
CN107172097B (en) * 2017-07-07 2020-09-25 深圳市小麦飞扬科技有限公司 Efficient message sending method and system
KR102506494B1 (en) * 2017-07-21 2023-03-07 소니그룹주식회사 Transmission device, transmission method, reception device, reception method, and program
WO2019219225A1 (en) * 2018-05-16 2019-11-21 Telefonaktiebolaget Lm Ericsson (Publ) Delay-aware resource sharing
CN110072200B (en) * 2019-04-15 2022-03-11 中国平安财产保险股份有限公司 Short message sending control processing method and device and computer equipment
CN111078651A (en) * 2019-12-23 2020-04-28 浪潮云信息技术有限公司 Method and device for counting usage amount of object storage
CN114125938B (en) * 2020-08-28 2024-03-22 宏碁通信股份有限公司 Communication device scheduling method, server, data reporting method and communication device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997019525A1 (en) * 1995-06-28 1997-05-29 Motorola Inc. Method and apparatus for communication system access
US6714987B1 (en) * 1999-11-05 2004-03-30 Nortel Networks Limited Architecture for an IP centric distributed network
WO2006044714A1 (en) * 2004-10-18 2006-04-27 Telefonaktiebolaget Lm Ericsson (Publ) Differentiated access parameters for random access channel

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9028108D0 (en) * 1990-12-27 1991-02-13 British Telecomm Mobile radio handover initiation determination
US6247061B1 (en) * 1998-06-09 2001-06-12 Microsoft Corporation Method and computer program product for scheduling network communication packets originating from different flows having unique service requirements
IL134612A (en) * 1998-06-19 2004-06-01 Juniper Networks Inc System for encapsulating/decapsulating data in hardware
US6594246B1 (en) * 1998-07-10 2003-07-15 Malibu Networks, Inc. IP-flow identification in a wireless point to multi-point transmission system
FI105969B (en) * 1998-08-10 2000-10-31 Nokia Networks Oy Quality of service management in a mobile communication system
US20050058149A1 (en) * 1998-08-19 2005-03-17 Howe Wayne Richard Time-scheduled and time-reservation packet switching
AU2224900A (en) * 1999-01-08 2000-07-24 Nortel Networks Limited Dynamic assignment of traffic classes to a priority queue in a packet forwardingdevice
US6446200B1 (en) * 1999-03-25 2002-09-03 Nortel Networks Limited Service management
FI107770B (en) * 1999-06-07 2001-09-28 Nokia Mobile Phones Ltd Managing PDP Contexts in a Mobile Station
US7882247B2 (en) * 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
US6577596B1 (en) * 1999-11-30 2003-06-10 Telefonaktiebolaget Ln Ericsson (Publ) Method and apparatus for packet delay reduction using scheduling and header compression
US7013345B1 (en) * 2000-06-12 2006-03-14 Metric Systems Corporation Method and apparatus for wireless networking
US7095754B2 (en) * 2000-11-03 2006-08-22 At&T Corp. Tiered contention multiple access (TCMA): a method for priority-based shared channel access
US7765313B2 (en) * 2001-10-09 2010-07-27 Alcatel Lucent Hierarchical protocol classification engine
DE10163310B4 (en) * 2001-12-21 2005-12-15 Infineon Technologies Ag Method and router for multiprotocol transmission
US6633835B1 (en) * 2002-01-10 2003-10-14 Networks Associates Technology, Inc. Prioritized data capture, classification and filtering in a network monitoring environment
US7079861B2 (en) * 2002-01-24 2006-07-18 Dell Products L.P. Method and system for monitoring status in a network having wireless and wired connections
US6996104B2 (en) * 2002-02-20 2006-02-07 Nokia Corporation Rate allocation and control for multicast services in wireless networks
US7423975B2 (en) * 2002-03-05 2008-09-09 Broadcom Corporation Method, apparatus and computer program product for performing data packet classification
GB2386284A (en) * 2002-03-05 2003-09-10 Pa Consulting Services Packet data communications networks
US6851008B2 (en) * 2002-03-06 2005-02-01 Broadcom Corporation Adaptive flow control method and apparatus
WO2003088586A1 (en) * 2002-04-09 2003-10-23 Next Generation Systems, Inc. Systems and methods for providing qos environment ____________
US7328259B2 (en) * 2002-11-08 2008-02-05 Symantec Operating Corporation Systems and methods for policy-based application management
SE526049C2 (en) * 2003-01-17 2005-06-21 Arash Rouhi Multimedia network system for home products e.g. computers, TV equipment, has application specific connector arrangements for connecting digital/analogous devices to number of receiving/transmitting terminals through identical interface
US7526800B2 (en) * 2003-02-28 2009-04-28 Novell, Inc. Administration of protection of data accessible by a mobile device
US6940832B2 (en) * 2003-01-17 2005-09-06 The Research Foundation Of The City University Of New York Routing method for mobile infrastructureless network
US20040156846A1 (en) * 2003-02-06 2004-08-12 Triton Biosystems, Inc. Therapy via targeted delivery of nanoscale particles using L6 antibodies
US7191231B2 (en) * 2003-02-12 2007-03-13 Cisco Technology, Inc. System and method for consistent forwarding of packets across wireless and wireline networks
AU2004229975A1 (en) * 2003-03-31 2004-10-28 General Dynamics-C4 Systems, Inc. Call admission control/session management based on N source to destination severity levels for IP networks
US20040218630A1 (en) * 2003-05-03 2004-11-04 Samsung Electronics Co., Ltd. Wireless-compatible MAC frame transmitting/receiving method and apparatus
US7460855B2 (en) * 2003-06-03 2008-12-02 Microsoft Corporation Selective pre-authentication to anticipated primary wireless access points
KR100548393B1 (en) * 2003-08-20 2006-02-02 엘지전자 주식회사 Packet service enhancement method for mobile communication terminal
AU2003292527A1 (en) * 2003-11-17 2005-06-06 Telecom Italia S.P.A. Quality of service monitoring architecture, related method, network and computer program product
US7046647B2 (en) * 2004-01-22 2006-05-16 Toshiba America Research, Inc. Mobility architecture using pre-authentication, pre-configuration and/or virtual soft-handoff
US7451316B2 (en) * 2004-07-15 2008-11-11 Cisco Technology, Inc. Method and system for pre-authentication
US7787416B2 (en) * 2004-11-18 2010-08-31 Gidwani Sanjay M Wireless network having real-time channel allocation
US8438264B2 (en) * 2004-12-28 2013-05-07 At&T Intellectual Property I, L.P. Method and apparatus for collecting, analyzing, and presenting data in a communication network
US20060146825A1 (en) * 2004-12-30 2006-07-06 Padcom, Inc. Network based quality of service
EP1842140A4 (en) * 2005-01-19 2012-01-04 Truecontext Corp Policy-driven mobile forms applications
US7805140B2 (en) * 2005-02-18 2010-09-28 Cisco Technology, Inc. Pre-emptive roaming mechanism allowing for enhanced QoS in wireless network environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997019525A1 (en) * 1995-06-28 1997-05-29 Motorola Inc. Method and apparatus for communication system access
US6714987B1 (en) * 1999-11-05 2004-03-30 Nortel Networks Limited Architecture for an IP centric distributed network
WO2006044714A1 (en) * 2004-10-18 2006-04-27 Telefonaktiebolaget Lm Ericsson (Publ) Differentiated access parameters for random access channel

Cited By (205)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725123B2 (en) 2008-06-05 2014-05-13 Headwater Partners I Llc Communications device with secure data path processing agents
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US8639811B2 (en) 2009-01-28 2014-01-28 Headwater Partners I Llc Automated device provisioning and activation
US8437271B2 (en) 2009-01-28 2013-05-07 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
US8441989B2 (en) 2009-01-28 2013-05-14 Headwater Partners I Llc Open transaction central billing system
US8467312B2 (en) 2009-01-28 2013-06-18 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
US8478667B2 (en) 2009-01-28 2013-07-02 Headwater Partners I Llc Automated device provisioning and activation
US8516552B2 (en) 2009-01-28 2013-08-20 Headwater Partners I Llc Verifiable service policy implementation for intermediate networking devices
US8351898B2 (en) 2009-01-28 2013-01-08 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US8531986B2 (en) 2009-01-28 2013-09-10 Headwater Partners I Llc Network tools for analysis, design, testing, and production of services
US8547872B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
US8570908B2 (en) 2009-01-28 2013-10-29 Headwater Partners I Llc Automated device provisioning and activation
US8588110B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US11923995B2 (en) 2009-01-28 2024-03-05 Headwater Research Llc Device-assisted services for protecting network capacity
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8630611B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Automated device provisioning and activation
US8630630B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8630617B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Device group partitions and settlement platform
US8631102B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Automated device provisioning and activation
US8634805B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc Device assisted CDR creation aggregation, mediation and billing
US8634821B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc Device assisted services install
US8635678B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc Automated device provisioning and activation
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US8639935B2 (en) 2009-01-28 2014-01-28 Headwater Partners I Llc Automated device provisioning and activation
US8640198B2 (en) 2009-01-28 2014-01-28 Headwater Partners I Llc Automated device provisioning and activation
US8666364B2 (en) 2009-01-28 2014-03-04 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US8667571B2 (en) 2009-01-28 2014-03-04 Headwater Partners I Llc Automated device provisioning and activation
US8688099B2 (en) 2009-01-28 2014-04-01 Headwater Partners I Llc Open development system for access service providers
US8695073B2 (en) 2009-01-28 2014-04-08 Headwater Partners I Llc Automated device provisioning and activation
US8713630B2 (en) 2009-01-28 2014-04-29 Headwater Partners I Llc Verifiable service policy implementation for intermediate networking devices
US8396458B2 (en) 2009-01-28 2013-03-12 Headwater Partners I Llc Automated device provisioning and activation
US8724554B2 (en) 2009-01-28 2014-05-13 Headwater Partners I Llc Open transaction central billing system
US8737957B2 (en) 2009-01-28 2014-05-27 Headwater Partners I Llc Automated device provisioning and activation
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US8745220B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US8788661B2 (en) 2009-01-28 2014-07-22 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US8797908B2 (en) 2009-01-28 2014-08-05 Headwater Partners I Llc Automated device provisioning and activation
US11757943B2 (en) 2009-01-28 2023-09-12 Headwater Research Llc Automated device provisioning and activation
US8839387B2 (en) 2009-01-28 2014-09-16 Headwater Partners I Llc Roaming services network and overlay networks
US8839388B2 (en) 2009-01-28 2014-09-16 Headwater Partners I Llc Automated device provisioning and activation
US8868455B2 (en) 2009-01-28 2014-10-21 Headwater Partners I Llc Adaptive ambient services
US8886162B2 (en) 2009-01-28 2014-11-11 Headwater Partners I Llc Restricting end-user device communications over a wireless access network associated with a cost
US8893009B2 (en) 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
US8897744B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Device assisted ambient services
US8898293B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Service offer set publishing to device agent with on-device service selection
US8897743B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US8898079B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Network based ambient services
US8903452B2 (en) 2009-01-28 2014-12-02 Headwater Partners I Llc Device assisted ambient services
US8924549B2 (en) 2009-01-28 2014-12-30 Headwater Partners I Llc Network based ambient services
US8924543B2 (en) 2009-01-28 2014-12-30 Headwater Partners I Llc Service design center for device assisted services
US8385916B2 (en) 2009-01-28 2013-02-26 Headwater Partners I Llc Automated device provisioning and activation
US8948025B2 (en) 2009-01-28 2015-02-03 Headwater Partners I Llc Remotely configurable device agent for packet routing
US9014026B2 (en) 2009-01-28 2015-04-21 Headwater Partners I Llc Network based service profile management with user preference, adaptive policy, network neutrality, and user privacy
US9026079B2 (en) 2009-01-28 2015-05-05 Headwater Partners I Llc Wireless network service interfaces
US9037127B2 (en) 2009-01-28 2015-05-19 Headwater Partners I Llc Device agent for remote user configuration of wireless network access
US9094311B2 (en) 2009-01-28 2015-07-28 Headwater Partners I, Llc Techniques for attribution of mobile device data traffic to initiating end-user application
US9137739B2 (en) 2009-01-28 2015-09-15 Headwater Partners I Llc Network based service policy implementation with network neutrality and user privacy
US9137701B2 (en) 2009-01-28 2015-09-15 Headwater Partners I Llc Wireless end-user device with differentiated network access for background and foreground device applications
US9143976B2 (en) 2009-01-28 2015-09-22 Headwater Partners I Llc Wireless end-user device with differentiated network access and access status for background and foreground device applications
US11750477B2 (en) 2009-01-28 2023-09-05 Headwater Research Llc Adaptive ambient services
US9154428B2 (en) 2009-01-28 2015-10-06 Headwater Partners I Llc Wireless end-user device with differentiated network access selectively applied to different applications
US9173104B2 (en) 2009-01-28 2015-10-27 Headwater Partners I Llc Mobile device with device agents to detect a disallowed access to a requested mobile data service and guide a multi-carrier selection and activation sequence
US9179308B2 (en) 2009-01-28 2015-11-03 Headwater Partners I Llc Network tools for analysis, design, testing, and production of services
US9179315B2 (en) 2009-01-28 2015-11-03 Headwater Partners I Llc Mobile device with data service monitoring, categorization, and display for different applications and networks
US9179359B2 (en) 2009-01-28 2015-11-03 Headwater Partners I Llc Wireless end-user device with differentiated network access status for different device applications
US9179316B2 (en) 2009-01-28 2015-11-03 Headwater Partners I Llc Mobile device with user controls and policy agent to control application access to device location data
US9198117B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Network system with common secure wireless message service serving multiple applications on multiple wireless devices
US9198042B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Security techniques for device assisted services
US9198076B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Wireless end-user device with power-control-state-based wireless network access policy for background applications
US9198075B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Wireless end-user device with differential traffic control policy list applicable to one of several wireless modems
US9198074B2 (en) 2009-01-28 2015-11-24 Headwater Partners I Llc Wireless end-user device with differential traffic control policy list and applying foreground classification to roaming wireless data service
US9204374B2 (en) 2009-01-28 2015-12-01 Headwater Partners I Llc Multicarrier over-the-air cellular network activation server
US9204282B2 (en) 2009-01-28 2015-12-01 Headwater Partners I Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US9215613B2 (en) 2009-01-28 2015-12-15 Headwater Partners I Llc Wireless end-user device with differential traffic control policy list having limited user control
US9215159B2 (en) 2009-01-28 2015-12-15 Headwater Partners I Llc Data usage monitoring for media data services used by applications
US9591474B2 (en) 2009-01-28 2017-03-07 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US9225797B2 (en) 2009-01-28 2015-12-29 Headwater Partners I Llc System for providing an adaptive wireless ambient service to a mobile device
US9232403B2 (en) 2009-01-28 2016-01-05 Headwater Partners I Llc Mobile device with common secure wireless message service serving multiple applications
US9247450B2 (en) 2009-01-28 2016-01-26 Headwater Partners I Llc Quality of service for device assisted services
US9253663B2 (en) 2009-01-28 2016-02-02 Headwater Partners I Llc Controlling mobile device communications on a roaming network based on device state
US9258735B2 (en) 2009-01-28 2016-02-09 Headwater Partners I Llc Device-assisted services for protecting network capacity
US9271184B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Wireless end-user device with per-application data limit and traffic control policy list limiting background application traffic
US9270559B2 (en) 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
US9277445B2 (en) 2009-01-28 2016-03-01 Headwater Partners I Llc Wireless end-user device with differential traffic control policy list and applying foreground classification to wireless data service
US9277433B2 (en) 2009-01-28 2016-03-01 Headwater Partners I Llc Wireless end-user device with policy-based aggregation of network activity requested by applications
US9319913B2 (en) 2009-01-28 2016-04-19 Headwater Partners I Llc Wireless end-user device with secure network-provided differential traffic control policy list
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9386165B2 (en) 2009-01-28 2016-07-05 Headwater Partners I Llc System and method for providing user notifications
US9386121B2 (en) 2009-01-28 2016-07-05 Headwater Partners I Llc Method for providing an adaptive wireless ambient service to a mobile device
US9392462B2 (en) 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
US9491564B1 (en) 2009-01-28 2016-11-08 Headwater Partners I Llc Mobile device and method with secure network messaging for authorized components
US9491199B2 (en) 2009-01-28 2016-11-08 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9521578B2 (en) 2009-01-28 2016-12-13 Headwater Partners I Llc Wireless end-user device with application program interface to allow applications to access application-specific aspects of a wireless network access policy
US9532161B2 (en) 2009-01-28 2016-12-27 Headwater Partners I Llc Wireless device with application data flow tagging and network stack-implemented network access policy
US9532261B2 (en) 2009-01-28 2016-12-27 Headwater Partners I Llc System and method for wireless network offloading
US9544397B2 (en) 2009-01-28 2017-01-10 Headwater Partners I Llc Proxy server for providing an adaptive wireless ambient service to a mobile device
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US9565543B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Device group partitions and settlement platform
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US8527630B2 (en) 2009-01-28 2013-09-03 Headwater Partners I Llc Adaptive ambient services
US8406733B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Automated device provisioning and activation
US9220027B1 (en) 2009-01-28 2015-12-22 Headwater Partners I Llc Wireless end-user device with policy-based controls for WWAN network usage and modem state changes requested by specific applications
US9609459B2 (en) 2009-01-28 2017-03-28 Headwater Research Llc Network tools for analysis, design, testing, and production of services
US9609510B2 (en) 2009-01-28 2017-03-28 Headwater Research Llc Automated credential porting for mobile devices
US9609544B2 (en) 2009-01-28 2017-03-28 Headwater Research Llc Device-assisted services for protecting network capacity
US9615192B2 (en) 2009-01-28 2017-04-04 Headwater Research Llc Message link server with plural message delivery triggers
US9641957B2 (en) 2009-01-28 2017-05-02 Headwater Research Llc Automated device provisioning and activation
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US9674731B2 (en) 2009-01-28 2017-06-06 Headwater Research Llc Wireless device applying different background data traffic policies to different device applications
US9705771B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Attribution of mobile device data traffic to end-user application based on socket flows
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US9749899B2 (en) 2009-01-28 2017-08-29 Headwater Research Llc Wireless end-user device with network traffic API to indicate unavailability of roaming wireless connection to background applications
US9749898B2 (en) 2009-01-28 2017-08-29 Headwater Research Llc Wireless end-user device with differential traffic control policy list applicable to one of several wireless modems
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9769207B2 (en) 2009-01-28 2017-09-19 Headwater Research Llc Wireless network service interfaces
US9819808B2 (en) 2009-01-28 2017-11-14 Headwater Research Llc Hierarchical service policies for creating service usage data records for a wireless end-user device
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US9866642B2 (en) 2009-01-28 2018-01-09 Headwater Research Llc Wireless end-user device with wireless modem power state control policy for background applications
US9942796B2 (en) 2009-01-28 2018-04-10 Headwater Research Llc Quality of service for device assisted services
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US9973930B2 (en) 2009-01-28 2018-05-15 Headwater Research Llc End user device that secures an association of application to service policy with an application certificate check
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US10028144B2 (en) 2009-01-28 2018-07-17 Headwater Research Llc Security techniques for device assisted services
US10057141B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Proxy system and method for adaptive ambient services
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10064033B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Device group partitions and settlement platform
US10070305B2 (en) 2009-01-28 2018-09-04 Headwater Research Llc Device assisted services install
US10080250B2 (en) 2009-01-28 2018-09-18 Headwater Research Llc Enterprise access control and accounting allocation for access networks
US10165447B2 (en) 2009-01-28 2018-12-25 Headwater Research Llc Network service plan design
US10171681B2 (en) 2009-01-28 2019-01-01 Headwater Research Llc Service design center for device assisted services
US10171990B2 (en) 2009-01-28 2019-01-01 Headwater Research Llc Service selection set publishing to device agent with on-device service selection
US10171988B2 (en) 2009-01-28 2019-01-01 Headwater Research Llc Adapting network policies based on device service processor configuration
US11665186B2 (en) 2009-01-28 2023-05-30 Headwater Research Llc Communications device with secure data path processing agents
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US10237773B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc Device-assisted services for protecting network capacity
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US10237146B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc Adaptive ambient services
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US10321320B2 (en) 2009-01-28 2019-06-11 Headwater Research Llc Wireless network buffered message system
US10320990B2 (en) 2009-01-28 2019-06-11 Headwater Research Llc Device assisted CDR creation, aggregation, mediation and billing
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US10326675B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Flow tagging for service policy implementation
US10462627B2 (en) 2009-01-28 2019-10-29 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10536983B2 (en) 2009-01-28 2020-01-14 Headwater Research Llc Enterprise access control and accounting allocation for access networks
US10582375B2 (en) 2009-01-28 2020-03-03 Headwater Research Llc Device assisted services install
US10681179B2 (en) 2009-01-28 2020-06-09 Headwater Research Llc Enhanced curfew and protection associated with a device group
US10694385B2 (en) 2009-01-28 2020-06-23 Headwater Research Llc Security techniques for device assisted services
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10716006B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc End user device that secures an association of application to service policy with an application certificate check
US10749700B2 (en) 2009-01-28 2020-08-18 Headwater Research Llc Device-assisted services for protecting network capacity
US10771980B2 (en) 2009-01-28 2020-09-08 Headwater Research Llc Communications device with secure data path processing agents
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US10791471B2 (en) 2009-01-28 2020-09-29 Headwater Research Llc System and method for wireless network offloading
US10798558B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc Adapting network policies based on device service processor configuration
US10798254B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc Service design center for device assisted services
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US10803518B2 (en) 2009-01-28 2020-10-13 Headwater Research Llc Virtualized policy and charging system
US11665592B2 (en) 2009-01-28 2023-05-30 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US11589216B2 (en) 2009-01-28 2023-02-21 Headwater Research Llc Service selection set publishing to device agent with on-device service selection
US11582593B2 (en) 2009-01-28 2023-02-14 Head Water Research Llc Adapting network policies based on device service processor configuration
US10834577B2 (en) 2009-01-28 2020-11-10 Headwater Research Llc Service offer set publishing to device agent with on-device service selection
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10848330B2 (en) 2009-01-28 2020-11-24 Headwater Research Llc Device-assisted services for protecting network capacity
US10855559B2 (en) 2009-01-28 2020-12-01 Headwater Research Llc Adaptive ambient services
US10869199B2 (en) 2009-01-28 2020-12-15 Headwater Research Llc Network service plan design
US10985977B2 (en) 2009-01-28 2021-04-20 Headwater Research Llc Quality of service for device assisted services
US11039020B2 (en) 2009-01-28 2021-06-15 Headwater Research Llc Mobile device and service management
US11096055B2 (en) 2009-01-28 2021-08-17 Headwater Research Llc Automated device provisioning and activation
US11134102B2 (en) 2009-01-28 2021-09-28 Headwater Research Llc Verifiable device assisted service usage monitoring with reporting, synchronization, and notification
US11190427B2 (en) 2009-01-28 2021-11-30 Headwater Research Llc Flow tagging for service policy implementation
US11190645B2 (en) 2009-01-28 2021-11-30 Headwater Research Llc Device assisted CDR creation, aggregation, mediation and billing
US11190545B2 (en) 2009-01-28 2021-11-30 Headwater Research Llc Wireless network service interfaces
US11219074B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Enterprise access control and accounting allocation for access networks
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US11228617B2 (en) 2009-01-28 2022-01-18 Headwater Research Llc Automated device provisioning and activation
US11337059B2 (en) 2009-01-28 2022-05-17 Headwater Research Llc Device assisted services install
US11363496B2 (en) 2009-01-28 2022-06-14 Headwater Research Llc Intermediate networking devices
US11570309B2 (en) 2009-01-28 2023-01-31 Headwater Research Llc Service design center for device assisted services
US11405429B2 (en) 2009-01-28 2022-08-02 Headwater Research Llc Security techniques for device assisted services
US11405224B2 (en) 2009-01-28 2022-08-02 Headwater Research Llc Device-assisted services for protecting network capacity
US11412366B2 (en) 2009-01-28 2022-08-09 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US11425580B2 (en) 2009-01-28 2022-08-23 Headwater Research Llc System and method for wireless network offloading
US11477246B2 (en) 2009-01-28 2022-10-18 Headwater Research Llc Network service plan design
US11494837B2 (en) 2009-01-28 2022-11-08 Headwater Research Llc Virtualized policy and charging system
US11516301B2 (en) 2009-01-28 2022-11-29 Headwater Research Llc Enhanced curfew and protection associated with a device group
US11533642B2 (en) 2009-01-28 2022-12-20 Headwater Research Llc Device group partitions and settlement platform
US11538106B2 (en) 2009-01-28 2022-12-27 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US11563592B2 (en) 2009-01-28 2023-01-24 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8606911B2 (en) 2009-03-02 2013-12-10 Headwater Partners I Llc Flow tagging for service policy implementation
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
US10834583B2 (en) 2013-03-14 2020-11-10 Headwater Research Llc Automated credential porting for mobile devices
US10171995B2 (en) 2013-03-14 2019-01-01 Headwater Research Llc Automated credential porting for mobile devices
US11743717B2 (en) 2013-03-14 2023-08-29 Headwater Research Llc Automated credential porting for mobile devices
CN111818547B (en) * 2019-04-10 2022-06-24 华为云计算技术有限公司 Network configuration method and device
CN111818547A (en) * 2019-04-10 2020-10-23 华为技术有限公司 Network configuration method and device
WO2020207359A1 (en) * 2019-04-10 2020-10-15 华为技术有限公司 Network configuration method and apparatus

Also Published As

Publication number Publication date
CA2611160A1 (en) 2006-12-14
US20080293413A1 (en) 2008-11-27
CA2611162A1 (en) 2006-12-14
WO2006130968A2 (en) 2006-12-14
US20090225778A1 (en) 2009-09-10
WO2006130962A1 (en) 2006-12-14
WO2006130968A3 (en) 2007-11-15
WO2006130961A1 (en) 2006-12-14
WO2006130966A1 (en) 2006-12-14
WO2006130964A1 (en) 2006-12-14
AU2006255441A1 (en) 2006-12-14
EP1894362A1 (en) 2008-03-05
US20090304028A1 (en) 2009-12-10
KR20080033244A (en) 2008-04-16
US20080279216A1 (en) 2008-11-13
CA2611165A1 (en) 2006-12-14
US20090122808A1 (en) 2009-05-14
JP2008546328A (en) 2008-12-18
WO2006130959A1 (en) 2006-12-14
CA2611164A1 (en) 2006-12-14
CA2611158A1 (en) 2006-12-14
US20090265752A1 (en) 2009-10-22
CA2611180A1 (en) 2006-12-14
CA2611175A1 (en) 2006-12-14
CN101258713A (en) 2008-09-03
US20090122712A1 (en) 2009-05-14

Similar Documents

Publication Publication Date Title
US20090265752A1 (en) System and method of controlling a mobile device using a network policy
Tian et al. TCP in wireless environments: problems and solutions
JP4847541B2 (en) Method and apparatus for resolving data packet traffic congestion
US7218645B2 (en) Method and apparatus optimizing a radio link
US9253015B2 (en) Transparent proxy architecture for multi-path data connections
US8189532B2 (en) Mobile node, a method or handover and a computer program
EP1393497B1 (en) Dual mode service platform within network communication system
Tortonesi et al. MOCKETS: A Novel Message-Oriented Communications Middleware for the Wireless Internet.
CN110912831B (en) TCP transmission method, device and storage medium
Kumar et al. Device‐centric data reordering and buffer management for mobile Internet using Multipath Transmission Control Protocol

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2611160

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 11916812

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 06741596

Country of ref document: EP

Kind code of ref document: A1