IP Library Granted Patent US 8,892,757
Granted Patent B2
US 8,892,757 · App. 12/856,870 · Granted Nov 18, 2014

Methods and apparatus for intelligent selection of a transport protocol for content streaming

Inventors: Ajay Puri (Toronto, CA); Paulo Sam (Markham, CA); Haoran Song (Richmond, CA); Chang-Fung Yang (Mississauga, CA)
Assignee: BlackBerry Limited
H04L69/16H04L29/08576H04L41/083H04L29/08585H04L29/06326H04L29/02H04L67/14H04L65/4069H04L65/4092H04L65/608H04L65/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,892,757
App. No.
12/856,870
Granted
Nov 18, 2014
Kind
B2
Abstract

A method and apparatus for intelligent selection of a transport protocol for streaming content is presented. Successful use of transport protocol over each data network infrastructure is tracked for each streaming content server. Subsequent content playback requests sent to streaming content servers default to previous successfully employed transport protocol over a data network infrastructure.

Claims (48)

1. A method for selecting a transport protocol for conveying streaming content to a mobile device, the method comprising:

tracking in a configuration repository at the mobile device previous successful use of one of a plurality of transport protocols, said tracking comprising:

attempting to convey streaming content over a data network infrastructure using said one of the plurality of transport protocols;

if said attempting is successful, storing said one of the plurality of transport protocols in an entry in said configuration repository corresponding to said data network infrastructure; and

defaulting to employing the previously successfully used transport protocol specified in said configuration repository corresponding to a data network infrastructure with which said mobile device is associated to provide data communications to the mobile device.

2. The method claimed in claim 1 , wherein said tracking further comprises tracking successful use of said transport protocol for each one of a plurality of content streaming servers.

3. The method claimed in claim 2 , wherein said defaulting further comprises defaulting to employing said transport protocol for said data network infrastructure and one of said plurality of content streaming servers.

4. The method claimed in claim 1 further comprising:

a. tracking in the configuration repository previous successful use of said transport protocol in conveying streaming content over said one data network infrastructure having a network identifier; and

b. defaulting to employing said transport protocol corresponding to said data network infrastructure having said network identifier.

5. The method claimed in claim 4 , wherein said defaulting further comprises defaulting to employing said transport protocol for said data network infrastructure and one of a plurality of content streaming servers.

6. The method claimed in claim 1 , wherein the data network infrastructure is one of WiFi, WiMAX, EVDO, GSM, GPRS, CDMA, UMTS, LTE, or LTE-A.

7. The method claimed in claim 1 , wherein said one of the plurality of transport protocols is one of Universal Datagram Protocol (UDP) and Transport Control Protocol (TCP).

8. The method claimed in claim 7 , wherein said tracking further comprises:

if said attempting is not successful, assigning the other one of said UDP and TCP transport protocols for use in a subsequent streaming content start attempt over said data network infrastructure,

i. if said subsequent streaming content start attempt is successful, storing said subsequently assigned transport protocol in the entry in said configuration repository corresponding to said data network infrastructure,

ii. else ending.

9. The method claimed in claim 8 , wherein in determining success of each streaming start attempt the method further comprises waiting for a predetermined period of time to receive streaming content related data.

10. A mobile device configured to select a transport protocol for conveying streaming content thereto, the mobile device comprising:

a. at least one radio frequency transceiver configured to establish data communications via at least two data network infrastructures;

b. a processor;

c. memory storage;

d. a configuration repository stored in said memory storage; and

e. coded machine logic stored in said memory storage, said coded machine logic being executable on said processor to:

i. track, in said configuration repository, previous successful use of one of a plurality of transport protocols, said tracking comprising:

attempting to convey streaming content over a data network infrastructure using said one of the plurality of transport protocols;

if said attempting is successful, storing said one of the plurality of transport protocols in an entry in said configuration repository corresponding to said data network infrastructure; and

ii. default to employing the previously successfully used transport protocol specified in said configuration repository corresponding to a data network infrastructure with which said mobile device is associated to provide data communications to said mobile device.

11. The mobile device claimed in claim 10 , wherein tracking said coded machine logic further comprises tracking successful use of said transport protocol for each one of a plurality of content streaming servers.

12. The mobile device claimed in claim 11 , wherein defaulting said coded machine logic further comprises defaulting to employing said transport protocol for said data network infrastructure and one of said plurality of content streaming servers.

13. The mobile device claimed in claim 10 , wherein the data network infrastructure is one of wireless data network infrastructure and a cellular data communications infrastructure.

14. The mobile device claimed in claim 10 , wherein said one of the plurality of transport protocols is one of Universal Datagram Protocol (UDP) and Transport Control Protocol (TCP).

15. The mobile device claimed in claim 14 , wherein tracking said coded machine logic further comprises:

if said attempting is not successful, assigning the other one of said UDP and TCP transport protocols for use in a subsequent streaming content start attempt over said data network infrastructure,

i. if said subsequent streaming content start attempt is successful, storing said subsequently assigned transport protocol in the entry in said configuration repository corresponding to said data network infrastructure,

else ending.

16. The mobile device claimed in claim 15 , wherein in determining success of each streaming start attempt the said coded machine logic further comprises waiting for a predetermined period of time to receive streaming content related data.

17. The mobile device claimed in claim 16 , wherein the predetermined period of time is 10 seconds.

18. The mobile device claimed in claim 13 , wherein said wireless data network infrastructure is WiFi or WiMAX compliant.

19. The mobile device claimed in claim 13 , wherein said cellular data communications infrastructure includes one of CDMA, EVDO, CDMA2000, GSM, GPRS, UMTS, LTE, or LTE-A.

20. The mobile device claimed in claim 10 , wherein said transport protocol is one of at least three transport protocols.

21. The mobile device claimed in claim 20 further comprising transport protocol cycling means for selecting a transport protocol from said at least three transport protocols in progressive attempts to start content streaming.

22. The mobile device claimed in claim 20 further comprising transport protocol switching means for selecting a transport protocol from said at least three transport protocols in progressive attempts to start content streaming.

23. The mobile device claimed in claim 22 wherein the transport protocol switching means comprises a state machine.

24. The mobile device claimed in claim 10 , said coded machine logic being further executable on said processor to:

a. track the configuration repository previous successful use of said transport protocol in conveying streaming content over said one data network infrastructure having a network identifier; and

b. default to employing said transport protocol corresponding to said data network infrastructure having said network identifier.

25. The mobile device claimed in claim 24 , wherein defaulting said coded machine logic further comprises defaulting to employing said transport protocol for said data network infrastructure and one of a plurality of content streaming servers.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Aug 13, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 033541/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2010
From: PURI, AJAY; SAM, PAULO; SONG, HAORAN; YANG, CHANG-FUNG
To: RESEARCH IN MOTION LIMITED
Reel/Frame 025239/0517 →
Continuity (2)
Provisional Application 61251146 · Oct 13, 2009
Related Publication 20110087795A1 · Apr 14, 2011