EXHIBIT 13

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 1 of 14
USOO81896.11B2 

(12) United States Patent (10) Patent No.: US 8,189.611 B2 

Liang et al. (45) Date of Patent: May 29, 2012 

(54) SYSTEMAND METHOD FOR RESOLVING 2004/0052212 A1* 3/2004 Baillargeon .................. 370,235 2004/0224668 A1* 11, 2004 Shell et al. ..... 455,412.1 CONTENTION AMONG APPLICATIONS 2005/002 1876 A1 1/2005 Asai et al. ......................... T10/1 

REQUIRING DATA CONNECTIONS 2005/0070290 A1* 3/2005 Baggstrom et al. ... 455,445 

BETWEEN A MOBILE COMMUNICATIONS 2009/0059785 A1* 3/2009 Jogalekar et al. ............. 370,230 

DEVICE AND A WIRELESS NETWORK FOREIGN PATENT DOCUMENTS 

(75) Inventors: Kenneth Liang, Kanata (CA); CA 2526396 1, 2012 

Mahmud-Ul Hassan, Kanata (CA); EP 1387593 2, 2004 anmu s s EP 1783961 4/2008 

Colin Ho, Kanata (CA) EP 1924037 4/2010 

(73) Assignee: Research In Motion Limited, Waterloo (Continued) 

(CA) OTHER PUBLICATIONS 

(*) Notice: Subject to any disclaimer, the term of this Chinese First Office Action; Application No. 2006 10064046.5; State 

patent is extended or adjusted under 35 Intellectual Property Office of People's Republic of China; dated Jan. 

U.S.C. 154(b) by 304 days. 15, 2010; 9 pgs. 

(Continued) (21) Appl. No.: 12/326,446 

illed: Primary Examiner — Barry W Taylor (22) Filed: Dec. 2, 2008 (74) Attorney, Agent, or Firm — The Danamraj Law Group, 

(65) Prior Publication Data P.C. 

US 2009/OO80457 A1 Mar. 26, 2009 (57) ABSTRACT 

O O A mobile communications device (30) includes a wireless 

Related U.S. Application Data transceiver (34) operable to conduct at least two data connec 

(63) Continuation of application No. 1 1/267,538, filed on tions between the mobile communications device (30) and a 

Nov. 4, 2005, now Pat. No. 7,474,671. wireless network (12) wherein each of the data connections is 

associated with a connected application operating on the 

(51) Int. Cl. mobile communications device. A processor (32) is coupled 

H04.3/02 (2006.01) to the wireless transceiver (34). The processor (32) is oper 

(52) U.S. Cl. .................. 370/462:455/452. 1:455/452.2: able to process a request for a data connection for an uncon 

455/435.2:455/435.3 nected application operable on the mobile communications 

(58) Field of Classification Search .................. 370/462; device (30), to release one of the data connections associated 

455/452.1,452.2, 435.2, 435.3 with one of the connected applications and to establish a data 

See application file for complete search history. connection between the mobile communications device (30) 

and the wireless network (12) for the unconnected applica 

(56) References Cited tion. A contention manager (86) is operable to select the 

connected application to be released based upon a compari 

U.S. PATENT DOCUMENTS Son of a contention parameter associated with each of the 

6,781.955 B2 * 8/2004 Leung ........................... 370/2.32 connected applications. 

2003/0037146 A1* 2, 2003 O’Neill ......................... TO9,226 

2004/0023646 A1 2/2004 Inami et al. ................... 455,418 25 Claims, 5 Drawing Sheets 

APPLICATIONS 

112 

Messengers 

108 

116 

Browser 

118 

Contention ager 

Security Compression and Routing Layer3 

Datagram Segment and Reassembly Layer2 

Wireless Transport Layer 1 

 

 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 2 of 14
US 8,189.611 B2 

Page 2 

FOREIGN PATENT DOCUMENTS 

EP 21.84946 5, 2010 

SG 131920 2, 2009 

WO 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 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 3 of 14
U.S. Patent May 29, 2012 Sheet 1 of 5 US 8,189.611 B2 

AOplication 10 18 gay M 28 

Relay 16-1 24 NetWOrk 

12 

14 20 WireleSS 

16-2 NetWOrk 

Enterprise 

NetWOrk SS 

Application V Server Server N 

7\ 

16-N SA-26 

YK S2 

&Ps Application 

Server 

Communications Fig.1 Device 

 

 

 

 

 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 4 of 14
U.S. Patent May 29, 2012 Sheet 2 of 5 US 8,189.611 B2 

Z9 

99 89 09 

| WWJ|

-VVM VXN 

 

 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 5 of 14
U.S. Patent May 29, 2012 Sheet 3 of 5 US 8,189.611 B2 

108 

APPLICATIONS 

110 112 114 116 

M 

106 

Integration Layer 

100 

Multi-Layer Transport Stack (TS) 

M / 118 

/ / / 

M / Contention / M Intedration La On tentIO A / 9 yer f / Manager 

I W 

I 

l 

Radio Layer 

A 

\ A 

V A 

V V 

V V 

\\ Services Layer 4 

M. v. 

N N Security Compression \ and Routing Layer3 

Datagram Segment and Reassembly Layer 2 

Wireless Transport Layer 1 

Fig.3 

 

 

 

 

 

 

 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 6 of 14
US 8 9 189.611 B2 

- 

- 

U.S. Patent 

 

 

 

 

 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 7 of 14
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? 

NO 

Perform COntention 

Parameter Analysis 

Select Connected Application 

Release PDP Context of 

Selected Connected Application 

Establish PDPCOntext for 

Unconnected Application 156 

Fig.5 

YES 

 

 

 

 

 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 8 of 14
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 

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 

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 

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 

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 

munications device that require data connections to a wireless 

packet data service network. 

DETAILED DESCRIPTION OF THE DRAWINGS 

While various embodiments of a mobile communications 

device operating within a network system are discussed in 

10 

15 

25 

30 

35 

40 

45 

50 

55 

60 

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 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 9 of 14
US 8,189.611 B2 

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 

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 

5 

10 

15 

25 

30 

35 

40 

45 

50 

55 

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. 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 10 of 14
US 8,189.611 B2 

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 

10 

15 

25 

30 

35 

40 

45 

50 

55 

60 

65 

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 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 11 of 14
US 8,189.611 B2 

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 understood 

by those skilled in the art that contention manager logic 

module 118 can consider multiple contention parameters 

simultaneously using a contention parameter formula to 

weigh the various contention parameters in its determination 

of which data connection to release. Additionally, it should be 

understood by those skilled in the art that contention manager logic module 118 can consider multiple contention param 

eters sequentially using, for example, a contention parameter 

hierarchy to determine the order of consideration. Further, 

while contention manager logic module 118 has been 

described as automatically releasing the data connection of 

the selected connected application, it should be understood by 

those skilled in the art that contention manager logic module 

118 may prompt the user to acknowledge that the application 

selected by contention manager logic module 118 should 

release its data connection. 

FIG. 4 depicts additional details of an exemplary wireless 

packet data service network operable with a mobile commu 

nications device in accordance with an embodiment. As illus 

trated, reference numeral 130 refers to a GPRS network oper able as the wireless packet data service network with respect 

to MCD30 that is provided with a number of data-centric user 

applications 138 such as, e.g., email 110, PIM 112, messen 

ger 114, browser 116 as well as other applications 117 such as 

multimedia applications, File Transfer Protocol (FTP), telnet 

and the like. Base station 26 serves MCD 30 via the air 

interface using applicable radio layer protocols. 

GPRS uses a packet-switching technique to transfer both 

high-speed and low-speed data and signaling in an efficient 

manner over GSM radio networks. Packet switching means 

that GPRS radio resources are used only when users are 

actually sending or receiving data. Rather than dedicating a 

radio channel to a mobile data user, e.g., MCD30, for a fixed 

period of time, the available radio channels can be concur 

rently shared between several users. Therefore, GPRS is 

designed to Support from intermittent and bursty data trans 

fers (e.g., web browsing) to occasional transmission of large 

volumes of data (e.g., FTP). Allocation of GPRS radio chan 

nels can be flexible: from 1 to 8 radio interface timeslots can 

be allocated per one Time Division Multiple Access (TDMA) 

frame. Typically, timeslots are shared by the active users, and 

10 

15 

25 

30 

35 

40 

45 

50 

55 

60 

65 

8 

uplinks and downlinks are allocated separately. Various radio 

channel coding schemes are available to allow a range of data 

bit transfer rates. 

Two additional network nodes are provided within a GSM 

network in order to implement a packet-switched data trans 

fer service. A Serving GPRS Support Node (SGSN) 134, 

which is coupled to a Home Location Register (HLR) 132 and 

disposed at the same hierarchical level as a Mobile Switching 

Center (MSC) of the circuit-switched cellular network, is 

operably coupled to base station 26 and keeps track of the 

location of a GPRS user such as the user of MCD30. Further, 

SGSN 134 is responsible for performing security functions 

and handling access control with respect to MCD30. A Gate 

way GPRS Support Node (GGSN) 136 provides interwork 

ing with the external packet-switched IP network 24, and is 

operably coupled to one or more SGSNs, e.g., SGSN 134, via an IP-based GPRS backbone network. 

In order to access the packet data service, MCD 30 makes 

its presence known to the network by performing what is 

known as a GPRS Attach. Thereafter, to send and receive 

packet data, MCD30 activates the packet data address that it 

wants to use. This operation renders MCD30 “visible' in the 

corresponding GGSN, and interworking with external data 

networks can then begin. User data is transferred transpar 

ently between MCD30 and the external data networks with a 

method known as encapsulation and tunneling wherein data 

packets are equipped with GPRS-specific protocol informa 

tion and transferred transparently between MCD 30 and 

GGSN 136 using, for example, a Packet Data Protocol (PDP) 

context between MCD 30 and GPRS network 130. 

FIG. 5 depicts a flowchart describing a method for resolv 

ing contention among applications operable on a mobile com 

munications device that require data connections to a wireless 

network. The flowchart illustrates a routine referred to as 

“Contention Manager' (start block 150). This routine is 

called when an unconnected data application operable on the 

MCD is opened and requests a PDP context (block 152). 

Upon the request, it is determined whether the MCD is 

capable of conducting an additional PDP context associated 

with the unconnected data application (decision 154). If the 

MCD is capable of conducting an additional PDP context 

associated with the unconnected data application, then a PDP 

context is established for the unconnected data application 

between the MCD and the wireless network (block 156) and 

the routine in complete (end block 158). Ifat decision 154 the 

MCD is not capable of conducting an additional PDP context 

associated with the unconnected data application, then the 

contention manager performs an analysis of the contention 

parameter associates with the connected applications, the 

PDP contexts associated with the connected applications or 

both (block 160). Based upon the results of the contention 

parameter analysis, the contention manager selects the con 

nected application that should have its PDP context released 

(block 162). The PDP context of the selected connected appli 

cation is released (block 164). A PDP context is then estab 

lished between the MCD and the wireless network for the 

unconnected data application (block 156) and the routine in 

complete (end block 158). As stated above, in certain imple mentations, prior to releasing the PDP context of the selected 

application, the user of the MCD may be prompted to 

acknowledge that such PDP context should be released. 

While this disclosure has described a mobile communica 

tions device operating within a network system with refer 

ence to illustrative embodiments, this description is not 

intended to be construed in a limiting sense. Various modifi 

cations and combinations of the illustrative embodiments as 

well as other embodiments, will be apparent to persons 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 12 of 14
US 8,189.611 B2 

skilled in the art upon reference to the description. It is, 

therefore, intended that the appended claims encompass any 

Such modifications or embodiments. 

What is claimed is: 

1. A method of managing contention on a mobile commu 

nications device when a new wireless data connection 

between the mobile communications device and a wireless 

network is requested, the method comprising: 

determining if a further wireless data connection can be 

effected between the mobile communications device 

and a wireless network; and 

Selecting an application to release its existing data connec 

tion if a further wireless data connection cannot be 

effected between the mobile communications device 

and a wireless network, wherein selecting the applica 

tion to release its existing data connection comprises 

prioritizing the existing wireless data connections. 

2. The method as recited in claim 1 wherein selecting the 

application to release its existing data connection comprises 

performing contention parameter analysis. 

3. The method as recited in claim 2 wherein performing contention parameter analysis comprises analyzing a plural 

ity of contention parameters. 

4. The method as recited in claim 2 wherein performing contention parameter analysis comprises analyzing a hierar 

chy of contention parameters. 

5. The method as recited in claim 1, wherein selecting the 

application to release its existing data connection comprises 

comparing at least one of data traffic on each data connection 

associated with a corresponding application, a duration of 

each data connection and a priority of the corresponding 

application associated with each data connection. 

6. The method as recited in claim 1, further comprising 

prompting the user to confirm a selected application prior to 

releasing its existing data connection. 

7. The method as recited in claim 1, further comprising 

releasing the existing data connection of the selected appli 

cation and establishing a new data connection corresponding 

to another application. 

8. The method as recited in claim 1, wherein each data 

connection comprises a packet data protocol context. 

9. The method as recited in claim 1, wherein selecting the 

application to release its existing data connection comprises 

comparing a duration of connections associated with the 

respective data connections of the connected applications. 

10. A mobile communications device comprising: 

a wireless transceiver operable to conduct a number of 

wireless data connections between the mobile commu 

nications device and a wireless network; 

a processor coupled to the wireless transceiver, the proces 

Sor processing requests for new wireless data connec 

tions for a plurality of applications, releasing existing 

data connections and establishing new wireless data 

connections between the mobile communications 

device and a wireless network; and 

a contention manager for selecting an existing data con 

nection to be released, wherein selecting the application 

to release its existing data connection comprises priori 

tizing the existing wireless data connections. 

11. The mobile communications device as recited in claim 

10 wherein the contention manager is disposed in operable 

connection with at least one of a transport stack, a radio layer 

and an operating system of the mobile communications 

device. 

10 

15 

25 

30 

35 

40 

45 

50 

55 

60 

65 

10 

12. The mobile communications device as recited in claim 

10, wherein the plurality of applications comprises at least 

one of email, video mail, a messenger service, a browser, a 

calendar and a scheduling application. 

13. The mobile communications device as recited in claim 

10, wherein the contention manager is operable to prompt a 

user to confirm an application selected for releasing its exist 

ing data connection prior to releasing the existing data con 

nection. 

14. The mobile communications device as recited in claim 

10, wherein the contention manager is operable to automati 

cally release a selected application’s existing data connection 

and to establish a new data connection associated with 

another application. 

15. The mobile communications device as recited in claim 

10, wherein the contention manager is operable to analyze at 

least one of data traffic on each data connection, a duration of 

each data connection and a priority of an application associ 

ated with each data connection. 

16. The mobile communications device as recited in claim 

10, wherein selecting the application to release its existing 

data connection comprises comparing a duration of connec 

tions associated with the respective data connections of the 

connected applications. 

17. The mobile communications device as recited in claim 

10, wherein each data connection comprises a packet data 

protocol context. 

18. A computer program product comprising: 

a storage medium; and 

computer instructions stored in the storage medium and 

executable by a processor of a mobile communications 

device operable to process requests for new wireless 

data connections between the mobile communications 

device and a wireless network for a plurality of applica 

tions, releasing existing data connections and establish 

ing new wireless data connections between the mobile 

communications device and a wireless network, the 

computer instructions operable to determine, responsive 

to receiving a request for a new application, if a further 

wireless data connection can be effected between the 

mobile communications device and a wireless network 

and selecting an application to release its existing data 

connection if a further wireless data connection cannot 

be effected between the mobile communications device 

and a wireless network, wherein selecting the applica 

tion to release its existing data connection comprises 

prioritizing the existing wireless data connections. 

19. The computer program product as recited in claim 18 

wherein the computer instructions operable to select an appli 

cation to release its data connection include computer instruc 

tions to perform contention parameter analysis. 

20. The computer program product as recited in claim 19 

wherein performing contention parameter analysis comprises 

at least one of analyzing a plurality of contention parameters 

and analyzing a hierarchy of contention parameters. 

21. The computer program product as recited in claim 18, 

wherein the computer instructions further include computer 

instructions operable to analyze at least one of data traffic on 

each data connection, a duration of each data connection and 

a priority of an application associated with each data connec 

tion. 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 13 of 14
US 8,189.611 B2 

11 

22. The computer program product as recited in claim 18, 

wherein computer instructions are further operable to prompt 

a user to confirm a selected application prior to releasing its 

existing data connection. 

23. The computer program product as recited in claim 18, 

wherein the computer instructions are further operable to 

release the existing data connection of the selected applica 

tion and to establish a new data connection for the new appli 

cation. 

12 

24. The computer program product as recited in claim 18, 

wherein each data connection comprises a packet data proto 

col context. 

25. The computer program product as recited in claim 18, 

wherein selecting the application to release its existing data 

connection comprises comparing a duration of connections 

associated with the data connections of the connected appli 

cations. 

Case 1:20-cv-22051-JEM Document 1-16 Entered on FLSD Docket 05/15/2020 Page 14 of 14