`
`(12) United States Patent
`Liang et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,189.611 B2
`May 29, 2012
`
`(54) SYSTEMAND METHOD FOR RESOLVING
`CONTENTION AMONG APPLICATIONS
`REQUIRING DATA CONNECTIONS
`BETWEEN A MOBILE COMMUNICATIONS
`DEVICE AND A WIRELESS NETWORK
`
`2004/0052212 A1* 3/2004 Baillargeon .................. 370,235
`2004/0224668 A1* 11, 2004 Shell et al. .....
`455,412.1
`2005/002 1876 A1
`1/2005 Asai et al. ......................... T10/1
`2005/0070290 A1* 3/2005 Baggstrom et al.
`... 455,445
`2009/0059785 A1* 3/2009 Jogalekar et al. ............. 370,230
`FOREIGN PATENT DOCUMENTS
`
`(75) Inventors: Kenneth Liang, Kanata (CA);
`Mahmud-Ul Hassan, Kanata (CA);
`anmu
`s
`s
`Colin Ho, Kanata (CA)
`(73) Assignee: Research In Motion Limited, Waterloo
`(CA)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 304 days.
`
`(*) Notice:
`
`(21) Appl. No.: 12/326,446
`illed:
`(22) Filed:
`(65)
`
`Dec. 2, 2008
`Prior Publication Data
`US 2009/OO80457 A1
`Mar. 26, 2009
`O
`O
`Related U.S. Application Data
`(63) Continuation of application No. 1 1/267,538, filed on
`Nov. 4, 2005, now Pat. No. 7,474,671.
`
`(51) Int. Cl.
`(2006.01)
`H04.3/02
`(52) U.S. Cl. .................. 370/462:455/452. 1:455/452.2:
`455/435.2:455/435.3
`(58) Field of Classification Search .................. 370/462;
`455/452.1,452.2, 435.2, 435.3
`See application file for complete search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`6,781.955 B2 * 8/2004 Leung ........................... 370/2.32
`2003/0037146 A1* 2, 2003 O’Neill ......................... TO9,226
`2004/0023646 A1
`2/2004 Inami et al. ................... 455,418
`
`CA
`EP
`EP
`EP
`
`1, 2012
`2526396
`2, 2004
`1387593
`4/2008
`1783961
`4/2010
`1924037
`(Continued)
`OTHER PUBLICATIONS
`Chinese First Office Action; Application No. 2006 10064046.5; State
`Intellectual Property Office of People's Republic of China; dated Jan.
`15, 2010; 9 pgs.
`
`(Continued)
`Primary Examiner — Barry W Taylor
`(74) Attorney, Agent, or Firm — The Danamraj Law Group,
`P.C.
`ABSTRACT
`(57)
`A mobile communications device (30) includes a wireless
`transceiver (34) operable to conduct at least two data connec
`tions between the mobile communications device (30) and a
`wireless network (12) wherein each of the data connections is
`associated with a connected application operating on the
`mobile communications device. A processor (32) is coupled
`to the wireless transceiver (34). The processor (32) is oper
`able to process a request for a data connection for an uncon
`nected application operable on the mobile communications
`device (30), to release one of the data connections associated
`with one of the connected applications and to establish a data
`connection between the mobile communications device (30)
`and the wireless network (12) for the unconnected applica
`tion. A contention manager (86) is operable to select the
`connected application to be released based upon a compari
`Son of a contention parameter associated with each of the
`connected applications.
`
`25 Claims, 5 Drawing Sheets
`
`
`
`APPLICATIONS
`112
`
`108
`
`116
`
`Messengers
`
`Browser
`
`118
`
`Contention
`ager
`
`
`
`Security Compression
`and Routing
`Datagram Segment
`and Reassembly
`Wireless Transport
`
`Layer3
`
`Layer2
`Layer 1
`
`ZTE, Ex. 1001
`
`1
`
`
`
`US 8,189.611 B2
`Page 2
`
`EP
`SG
`WO
`
`FOREIGN PATENT DOCUMENTS
`21.84946
`5, 2010
`131920
`2, 2009
`2004O61638 A2
`T 2004
`
`OTHER PUBLICATIONS
`Australian First Examiner's Report; Application No. 2006235.810; IP
`Australia; dated Mar. 2, 2010; 1 pgs.
`Canadian Office Action; Application No. 2,567. 115; Canadian Intel
`lectual Property Office; dated Mar. 11, 2010; 4pgs.
`European Patent Office Extended Search Report, Application No.
`10155276.8, European Patent Office, dated Apr. 13, 2010, 7 pgs.
`Chinese Office Action, Application No. 20100800460540, China
`IPO, dated Aug. 23, 2010; 5 pgs.
`European Search Report, Application No. 08151703.9, European
`Patent Office, dated Apr. 14, 2008, 7 pgs.
`Taiwan, Search Report, Taiwan Patent Office, dated Sep. 20, 2010, 1
`O9.
`European Search Report Application No. 05256859.9; European
`Patent Office; Mar. 20, 2006; 6 pages.
`Xuetal.:"QoS and Contention-Aware Multi-Resource Reservation”;
`2000; IEEE: pp. 3-10.
`“Digital Cellular Telecommunications System (Phase 2+); Universal
`Mobile Telecommunications System (UMTS); General Packet Radio
`Service (GPRS): Service Description; Stage 2 (3GPP TS 23.060
`version 6.8.0 Release 6); Mar. 2005; Technical Specification; pp.
`1-212.
`“Digital Cellular Telecommunications System (Phase 2+); Universal
`Mobile Telecommunication System (UMTS); Mobile Radio Inter
`face Layer 3 Specification; Core Network Protocols; Stage 3 (3GPP
`TS 24.008 version 6.8.0 Release 6)”; Mar. 2005; Technical Specifi
`cation; pp. 1-518.
`CA Office Action, Application No. 2,567,115, Canadian IPO, Mar.
`31, 2011, 2 pgs.
`
`CN Office Action, Application No. 2006 10064046.5, Chinese IPO,
`Mar. 9, 2011, 2 pgs.
`EPO, Communication Under Rule 51(4), Application No. 05256859.
`9, Oct. 15, 2007, 41 pgs.
`EPO, Communication Under Rule 71(3) EPC, Application No.
`08151703.9, Sep. 10, 2009, 6 pgs.
`EPO, Communication Under Rule 71(3) EPC, Application No.
`10155276.8, Feb. 24, 2011, 6 pgs.
`Hong Kong IPD, Certificate of Grant of Patent (HK1102880), Appli
`cation No. 07111229.3, Jun. 6, 2008, 2 pgs.
`IP Australia, Notice of Acceptance, Application No. 2006235.810,
`Nov. 1, 2010, 3 pgs.
`KIPO, Office Action, Application No. 10-2011-0027211, May 17,
`2011, 6 pgs.
`SIPO, Notification of Grant of Rights for Invention Patent, Applica
`tion No. 2006 10064046.5, Jul. 26, 2011, 2 pgs.
`KROffice Action, Application No. 10-2006-0108315, Korean IPO,
`Jan. 26, 2011, 3 pgs.
`JPO. Notice of Reasons for Rejection, Application No. 2006-297339,
`Sep. 13, 2011, 4pgs.
`KIPO, Notice of Final Rejection, Application No. 10-2006-0108315,
`Sep. 30, 2011, 5 pgs.
`KIPO, Notice of Final Rejection, Application No. 10-2011-002721 1,
`Sep. 30, 2011, 5 pgs.
`EPO, Communication Pursuant to Article 94(3) EPC, Application
`No. 10153005.3, Feb. 1, 2012, 6 pgs.
`KIPO, Notice of Decision for Patent, Application No. 10-2006
`0.108315, Dec. 13, 2011, 3 pgs.
`KIPO, Notice of Decision for Patent, Application No. 10-2011
`0027211, Dec. 13, 2011, 3 pgs.
`SIPO, Second Office Action, Application No. 201010576392.8, Mar.
`16, 2012, 1 pg.
`CIPO, Office Action, Application No. 2,567,115, dated Apr. 5, 2012,
`2 pgs.
`* cited by examiner
`
`2
`
`
`
`U.S. Patent
`
`May 29, 2012
`
`Sheet 1 of 5
`
`US 8,189.611 B2
`
`18
`
`AOplication
`gay
`
`10
`
`M
`
`28
`
`16-1
`
`24
`
`Relay
`NetWOrk
`
`14
`
`20
`
`Enterprise
`NetWOrk
`
`
`
`
`
`
`
`16-2
`
`Application
`Server
`
`16-N
`
`Application
`Server
`
`12
`
`
`
`
`
`WireleSS
`NetWOrk
`
`SS
`V
`Server N
`7\
`
`SA-26
`
`S2 YK &Ps
`
`Communications
`Device
`
`Fig.1
`
`3
`
`
`
`U.S. Patent
`
`May 29, 2012
`
`Sheet 2 of 5
`
`US 8,189.611 B2
`
`99
`
`89
`
`09
`
`Z9
`
`| WWJ ||
`
`
`
`
`
`VXN
`-VVM
`
`4
`
`
`
`U.S. Patent
`
`May 29, 2012
`
`Sheet 3 of 5
`
`US 8,189.611 B2
`
`110
`
`APPLICATIONS
`112
`114
`
`M
`
`106
`
`Integration Layer
`
`
`
`100
`Multi-Layer Transport Stack (TS)
`
`108
`
`116
`
`
`
`
`
`
`
`
`
`118
`
`Contention
`On tentIO
`Manager
`
`M
`/
`/ / /
`M
`/
`M
`/
`/
`A
`f
`/
`I
`W
`I
`l
`
`
`
`
`
`A
`A
`\
`V A
`V V
`V V
`\\
`M. v. N N
`\
`
`Intedration La
`9
`yer
`
`Radio Layer
`
`Services
`
`Layer 4
`
`Security Compression
`and Routing
`Datagram Segment
`and Reassembly
`
`Layer3
`
`Layer 2
`
`Wireless Transport
`
`Layer 1
`
`Fig.3
`
`5
`
`
`
`189.611 B2
`US 8
`,611 B2
`
`9
`
`_
`
`-
`
`8,0:82m_|IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIl—\.:E/An25285%$02x8362"mEo$28mmaomcEmm
`u8
`
`_.280.szm\
`
`
`
`-
`
`
`
`
`
`9.838Nw.My“mcozmoesEEoo
`
`
`
`su,mnM_m"omsn
`
`_IIIIII
`
`U.S. Patent
`U.S. Patent
`
`9,
`
`wN
`
`meoz-m.__._
`
`M{02,52555%o:w:Mn__552%.8:83
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`wma82523253
`
`6
`
`
`
`
`
`U.S. Patent
`
`May 29, 2012
`
`Sheet 5 of 5
`
`US 8,189.611 B2
`
`Contention Manager
`
`150
`
`Unconnected Application
`Requests PDP Context
`
`152
`
`
`
`
`
`154
`
`Can
`the MCD COnduct
`Additional PDP
`COntext?
`
`YES
`
`
`
`
`
`NO
`
`Perform COntention
`Parameter Analysis
`
`Select Connected Application
`
`
`
`Release PDP Context of
`Selected Connected Application
`
`Establish PDPCOntext for
`Unconnected Application
`
`156
`
`Fig.5
`
`7
`
`
`
`US 8,189.611 B2
`
`1.
`SYSTEMAND METHOD FOR RESOLVING
`CONTENTION AMONG APPLICATIONS
`REQUIRING DATA CONNECTIONS
`BETWEEN A MOBILE COMMUNICATIONS
`DEVICE AND A WIRELESS NETWORK
`
`This nonprovisional application is a continuation applica
`tion claiming the benefit of the following prior United States
`patent application entitled: “SYSTEMAND METHOD FOR
`RESOLVING CONTENTION AMONG APPLICATIONS
`10
`REQUIRING DATA CONNECTIONS BETWEEN A
`MOBILE COMMUNICATIONS DEVICE AND A WIRE
`LESS NETWORK, filed Nov. 4, 2005, application Ser. No.
`11/267,538, which is hereby incorporated by reference.
`
`TECHNICAL FIELD OF THE APPLICATION
`
`15
`
`The present disclosure relates, in general, to communica
`tions sessions between mobile communications devices and
`wireless packet data service networks and, in particular, to a
`system and method for resolving contention among applica
`tions operating on a mobile communications device that
`require data connections to a wireless packet data service
`network.
`
`BACKGROUND
`
`It is becoming commonplace to use wireless packet data
`service networks for effectuating data sessions with mobile
`communications devices. For example, a mobile communi
`cations device may be used to provide certain high priority
`data services such as wirelessly extending a corporate email
`account, personal information manager or the like. Similarly,
`the same mobile communications device may also be used to
`provide other lower priority data services such as messenger
`applications, web browsing or the like. As many of these
`applications require a continually active data connection or
`constant connectivity, it has been found that only a limited
`number of such applications can operate at the same time on
`a typical mobile communications device.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`25
`
`30
`
`35
`
`40
`
`45
`
`For a more complete understanding of the features and
`advantages of the present method and mobile device, refer
`ence is now made to the detailed description along with the
`accompanying figures in which corresponding numerals in
`the different figures refer to corresponding parts and in which:
`FIG. 1 depicts an exemplary network environment includ
`ing a wireless packet data service network wherein an
`embodiment of the present method may be practiced;
`FIG. 2 depicts a block diagram of a mobile communica
`tions device according to one embodiment of the present
`disclosure;
`FIG. 3 depicts a software architectural view of a mobile
`communications device according to one embodiment of the
`present disclosure;
`FIG. 4 depicts additional details of an exemplary wireless
`55
`packet data service network operable with a mobile commu
`nications device in accordance with an embodiment of the
`present disclosure; and
`FIG.5 depicts a flowchart of an embodiment for resolving
`contention between applications operable on a mobile com
`60
`munications device that require data connections to a wireless
`packet data service network.
`
`50
`
`DETAILED DESCRIPTION OF THE DRAWINGS
`
`While various embodiments of a mobile communications
`device operating within a network system are discussed in
`
`65
`
`2
`detail below, it should be appreciated that the present disclo
`Sure provides many applicable inventive concepts which can
`be embodied in a wide variety of specific contexts. The spe
`cific embodiments discussed herein are merely illustrative of
`specific ways to use the mobile communications device
`within the network system, and do not delimit the scope of the
`present disclosure.
`Disclosed herein are methods and systems for resolving
`contention between applications operable on a mobile com
`munications device that require data connections to a wireless
`packet data service network. Broadly, the technique involves
`executing a contention manager routine on the mobile com
`munications device that is operable to select which of the
`applications currently conducting data sessions should
`release its data session in favor of an application currently
`requesting a data session.
`In one aspect, a method for resolving contention among
`applications operable on a mobile communications device
`involves conducting at least two data connections between the
`mobile communications device and the wireless network,
`each of the data connections associated with a connected
`application operating on the mobile communications device,
`requesting a data connection for an unconnected application
`operable on the mobile communications device, releasing one
`of the data connections responsive to the request, the releas
`ing including selecting one of the connected applications by a
`contention manager based upon a comparison of a contention
`parameter associated with each of the connected applications
`and releasing the data connection associated with the selected
`connected application and then establishing the data connec
`tion between the mobile communications device and the
`wireless network for the requesting unconnected application.
`In another embodiment, the method for resolving contention
`for data connections on a mobile communications device
`capable of conducting plurality of wireless data connections
`comprises the following: responsive to receiving a request for
`a new data connection between the mobile communications
`device and the wireless network, determining if the existing
`number of data connections is less than the number of allow
`able data connections; and if the number of existing data
`connections is not less than the number of allowable data
`connections, automatically selecting a data connection to
`release.
`In one exemplary embodiment, the least two data connec
`tions between the mobile communications device and the
`wireless network represent the maximum number of data
`connections allowed by the mobile communications device.
`In another embodiment, the at least two data connections
`between the mobile communications device and the wireless
`network represent the maximum number of data connections
`allowed between the mobile communications device and the
`wireless network. In a further embodiment, each of the appli
`cations is an application requiring constant connectivity.
`The method may utilize a variety of contention parameters
`to determine which of the connected applications should
`release its data connection. For example, the contention
`parameters may include application priority, data traffic,
`duration of current connection and the like. The method may
`utilize a single contention parameter or a group of contention
`parameters which may be analyzed by the contention man
`ager either in series or parallel.
`In another aspect, a mobile communications device
`includes a wireless transceiver operable to conduct at least
`two data connections between the mobile communications
`device and a wireless network wherein each of the data con
`nections is associated with a connected application operating
`on the mobile communications device. A processor is coupled
`
`8
`
`
`
`US 8,189.611 B2
`
`5
`
`10
`
`15
`
`30
`
`35
`
`40
`
`3
`to the wireless transceiver and is operable to process a request
`for a data connection for an unconnected application operable
`on the mobile communications device, to release one of the
`data connections associated with one of the connected appli
`cations and to establish a data connection between the mobile
`communications device and the wireless network for the
`unconnected application. A contention manager is operable
`to select the connected application to be released based upon
`a comparison of a contention parameter associated with each
`of the connected applications. In another embodiment, the
`mobile communications device comprises the following: a
`wireless transceiver operable to conduct plurality of data
`connections between the mobile communications device and
`a wireless network; a processor connected to said wireless
`transceiver and operable to execute a plurality of applications
`that require respective data connections; and a contention
`manager connected to said processor and operable to receive
`requests for a new data connection between the mobile com
`munications device and the wireless network from the plural
`ity of applications, wherein responsive to receiving a request
`for a new data connection, the contention manager is operable
`to determine if the number of existing data connections is less
`than the number of allowable data connections and if the
`number of existing data connections is not less than the num
`ber of allowable connections, to automatically determine a
`25
`data connection to release.
`In a further aspect, a computer program product includes a
`storage medium and computer instructions stored in the stor
`age medium. The computer instructions are executable by a
`processor of a mobile communications device that is operable
`to conduct at least two data connections with a wireless net
`work. Each of the data connections is associated with a con
`nected application operating on the mobile communications
`device. The computer instructions resolve contention among
`applications operable on the mobile communications device
`by receiving a request for a data connection for an uncon
`nected application operable on the mobile communications
`device, selecting one of the connected applications based
`upon a comparison of a contention parameter associated with
`each of the connected applications, releasing the data connec
`tion associated with the selected connected application and
`establishing the data connection between the mobile commu
`nications device and the wireless network for the uncon
`nected application. In a further embodiment, the computer
`program product comprises the following: a storage medium;
`and computer instructions stored in the storage medium and
`executable by a processor of a mobile communications device
`operable to conduct a plurality of data connections with a
`wireless network, the computer instructions operable to
`determine, responsive to receiving a request for a new data
`connection between the mobile communications device and
`the wireless network, if the number of existing data connec
`tions is less than the number of allowable data connections
`and if the number of existing data connections is not less than
`the number of allowable data connections, to automatically
`select a data connection to release.
`Referring now to the drawings, and more particularly to
`FIG. 1, depicted therein is an exemplary network environ
`ment 10 including a wireless packet data service network 12
`wherein an embodiment of the present method may be prac
`ticed. An enterprise network 14 for serving a plurality of
`corporate users, which may be a packet-switched network,
`can include one or more geographic sites and be organized as
`a local area network (LAN), a wide area network (WAN), a
`metropolitan area network (MAN) or the like. A number of
`application servers 16-1 through 16-N disposed as part of the
`enterprise network 14 are operable to provide or effectuate a
`
`55
`
`45
`
`50
`
`60
`
`65
`
`4
`host of internal and external services such as Internet access,
`corporate data access, information management and the like
`as well as certain continually operable data services such as
`email, video mail, messaging, calendaring, Scheduling and
`the like. Accordingly, a diverse array of personal information
`appliances 18 Such as desktop computers, laptop computers,
`palmtop computers or the like may be operably networked to
`one or more of the application servers 16-i, i=1,2,..., N, with
`respect to the services supported in the enterprise network 14.
`Additionally, a remote services server 20 may be interfaced
`with the enterprise network 14 for enabling a corporate user to
`access or effectuate any of the services from a remote location
`using a suitable mobile communications device (MCD) 22. A
`secure communication link with end-to-end encryption may
`be established that is mediated through an external IP net
`work, i.e., a public packet-switched network Such as the Inter
`net 24, as well as the wireless packet data service network 12
`operable with MCD 22 via suitable wireless network infra
`structure that includes a base station 26. In one embodiment,
`a trusted relay network 28 may be disposed between the
`Internet 24 and the infrastructure of wireless packet data
`service network 12. By way of example, MCD 22 may be a
`data-enabled handheld device capable of receiving and send
`ing messages, web browsing, interfacing with corporate
`application servers and the like.
`For purposes of the present disclosure, the wireless packet
`data service network 12 may be implemented in any known or
`heretofore unknown mobile communications technologies
`and network protocols, as long as a packet-switched data
`service is available therein for transmitting packetized infor
`mation. For instance, the wireless packet data service network
`12 may be comprised of a General Packet Radio Service
`(GPRS) network that provides a packet radio access for
`mobile devices using the cellular infrastructure of a Global
`System for Mobile Communications (GSM)-based carrier
`network. In other implementations, the wireless packet data
`service network 12 may comprise an Enhanced Data Rates for
`GSM Evolution (EDGE) network, an Integrated Digital
`Enhanced Network (IDEN), a Code Division Multiple Access
`(CDMA) network, a Universal Mobile Telecommunications
`System (UMTS) network, or any 3rd Generation (3G) net
`work. As will be seen hereinbelow, the embodiments of the
`present disclosure for resolving contention between applica
`tions operable on a mobile communications device that
`require data connections to a wireless packet data service
`network will be described regardless of any particular wire
`less network implementation.
`FIG. 2 depicts a block diagram of a mobile communica
`tions device that Supports continually operable data service
`and that is generally designated 30. It will be recognized by
`those skilled in the art upon reference hereto that although an
`embodiment of MCD 30 may comprise an arrangement simi
`lar to one shown in FIG. 2, there can be any number of
`variations and modifications, in hardware, Software or firm
`ware, with respect to the various modules depicted. Accord
`ingly, the arrangement of FIG.2 should be taken as illustrative
`rather than limiting with respect to the embodiments of the
`present disclosure. A microprocessor 32 providing for the
`overall control of MCD 30 is operably coupled to a commu
`nication subsystem 34 which includes a receiver 36 and trans
`mitter 38 as well as associated components such as one or
`more local oscillator (LO) modules 40 and a processing mod
`ule such as a digital signal processor (DSP) 42. As will be
`apparent to those skilled in the field of communications, the
`particular design of the communication module 34 may be
`dependent upon the communications network with which the
`mobile device is intended to operate.
`
`9
`
`
`
`5
`In one embodiment, the communication module 34 is oper
`able with both Voice and data communications. Regardless of
`the particular design, however, signals received by antenna 44
`through base station 26 are provided to receiver 36, which
`may perform Such common receiver functions as signal
`amplification, frequency down conversion, filtering, channel
`selection, analog-to-digital (A/D) conversion, and the like.
`Similarly, signals to be transmitted are processed, including
`modulation and encoding, for example, by DSP 42, and pro
`vided to transmitter 44 for digital-to-analog (D/A) conver
`Sion, frequency up conversion, filtering, amplification and
`transmission over the air-radio interface via antenna 46.
`Microprocessor 32 also interfaces with further device sub
`systems such as auxiliary input/output (I/O)48, serial port 50,
`display 52, keyboard 54, speaker 56, microphone 58, random
`access memory (RAM) 60, a short-range communications
`Subsystem 62 and any other device Subsystems generally
`labeled as reference numeral 64. To control access, a Sub
`scriber Identity Module (SIM) or Removable user Identity
`Module (RUIM) interface 66 is also provided in communica
`tion with the microprocessor 32. In one implementation,
`SIM/RUIM interface 66 is operable with a SIM/RUIM card
`having a number of key configurations 68 and other informa
`tion 70 such as identification and subscriber-related data.
`Operating system software and software associated with
`transport stack 72 may be embodied in a persistent storage
`module (i.e., non-volatile storage) Such as flash memory 74.
`In one implementation, flash memory 74 may be segregated
`into different areas, e.g., storage areas for computer programs
`76, device states 78, address book 80, other personal infor
`mation manager (PIM) data 82 and other data storage areas
`generally labeled as reference numeral 84. Additionally, a
`contention manager logic module 86 is provided for resolving
`contention among applications operable on MCD 30 that
`require data connections to wireless packet data service net
`work 12 according to the teachings set forth herein.
`FIG. 3 depicts a software architectural view of a mobile
`communications device operable according to one embodi
`ment for regulating and scheduling application access to
`communications sessions with wireless packet data service
`network 12 regardless of the manufacturer of the MCD or the
`wireless service provider. A multi-layer transport stack (TS)
`100 is operable to provide a generic data transport protocol
`for any type of corporate data, including email, via reliable,
`secure and seamless continuous connections to a wireless
`packet data service network. As illustrated in the embodiment
`of FIG.3, an integration layer 102 is operable as an interface
`between the MCD's radio layer 104 and the transport stack
`100. Likewise, another integration layer 106 is provided for
`interfacing between the transport stack 100 and the user appli
`cations 108 supported on the MCD, e.g., email 110, personal
`information manager (PIM) 112 including calendaring,
`scheduling, contacts and the like, messengers 114, web
`browser 116 and the like. Although not specifically shown,
`the transport stack 100 may also be interfaced with the
`MCD's operating system. In another implementation, the
`transport stack 100 may be provided as part of a data com
`munications client module operable as a host-independent
`virtual machine on a mobile device.
`The bottom layer (Layer 1) of the transport stack 100 is
`operable as an interface to the wireless network’s packet
`layer. Layer 1 handles basic service coordination within the
`exemplary network environment 10 shown in FIG. 1. For
`example, when an MCD roams from one carrier network to
`another, Layer 1 verifies that the packets are relayed to the
`appropriate wireless network and that any packets that are
`pending from the previous network are rerouted to the current
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 8,189.611 B2
`
`10
`
`15
`
`6
`network. The top layer (Layer 4) exposes various application
`interfaces to the services supported on the MCD. The remain
`ing two layers, Layer 2 and Layer 3, are responsible for
`datagram segmentation/reassembly and security, compres
`sion and routing, respectively.
`FIG.3 also depicts a contention manager logic module 118
`provided as part of the MCD's software environment that is
`disposed in operable communication with the transport stack
`100 and radio layer 104 as well as the OS environment for
`regulating and Scheduling application access to communica
`tions sessions with wireless packet data service network 12.
`In one implementation, contention manager logic module
`118 is operable to select a data connection for release based
`upon contention parameters associated with each of the con
`nected applications. For example, when the maximum num
`ber of data connections allowed by the MCD or between the
`MCD and the wireless packet data service network 12 has
`been reached and an unconnected application is requesting a
`data connection, contention manager logic module 118 deter
`mines which of the connected application should release its
`data connection in favor of the requesting unconnected appli
`cation.
`For purposes of illustration, a particular MCD is capable of
`having two simultaneous data connections and is currently
`conducting a data session for messenger application 114 and
`a data session for email application 110. The user of the MCD
`now attempts to launch browser application 116. As the
`present MCD can only have two simultaneous data connec
`tions, the MCD is not able to open a new data session for
`browser application 116 without first releasing one of the
`active data sessions from either messenger application 114 or
`email application 110. Contention manager logic module 118
`determines which of the two applications should release its
`data connection and then establishes a data connection for
`browser application 116. Specifically, contention manager
`logic module 118 uses one or more contention parameters
`associated with either the connected applications, in this case
`messenger application 114 and email application 110, or the
`data connections associated with the connected applications
`to determine which data connection to release. In one
`embodiment, contention manager logic module 118 may use
`application priority as the contention parameter. In the
`present example, as email application 110 is intended to be an
`"always on' application, email application 110 has a high
`priority. On the other hand, messenger application 114 is of a
`low priority. As such, using the contention parameter of appli
`cation priority, contention manager logic module 118 selects
`messenger application 114 to release its data connection.
`Thereafter, the data connection for browser application 116
`can be established.
`Continuing with the present example and assuming the
`MCD is currently conducting a data session for messenger
`application 114 and a data session for browser application
`116, email application 110 now requests a data connection
`either due to a user input or due to an automatic attempt to
`reestablish a data connection. As above, the MCD is notable
`to open a new data session for email application 110 without
`first releasing one of the active data sessions from either
`messenger application 114 or browser application 116. In this
`case, the application priority is low for both messenger appli
`cation 114 and browser application 116. As such, contention
`manager logic module 118 uses an alternate contention
`parameter to select the application that should release its data
`connection. For example, contention manager logic module
`118 may use data traffic, duration of data connection or other
`indicia as the contention parameter to select the application
`that should release its data connection. Thereafter, the data
`
`10
`
`
`
`US 8,189.611 B2
`
`10
`
`15
`
`7
`connection for the selected application is released and a data
`connection for email application 110 can be established.
`In one implementation, contention manager logic module
`118 may consider more than one contention parameter in
`determining which of the connected applications should
`release its data connection. For example, in the above case
`wherein the MCD is currently conducting data sessions for
`messenger application 114 and browser application 116, then
`email application 110 requests a data connection, contention
`manager logic module 118 could sequentially or simulta
`neously analyze multiple contention parameters such as data
`traffic and duration of data connection to determine that while
`the data connection for messenger application 114 has a
`longer duration, the data traffic associated with that connec
`tion warrants that its connection should be maintained. Thus,
`contention manager logic module 118 selects browser appli
`cation 116 to release its data connection Such that a data
`connection for email application 110 can be established.
`As should be understood by those skilled in the art, con
`tention manager logic module 118 can consider one or any
`number of contention parameters associated with the con
`nected applications, the data connections associated with the
`connected applications or other indicia to determine which
`data connection to release. Likewise, it should be understo