IP Library Granted Patent US 9,603,039
Granted Patent B2
US 9,603,039 · App. 14/230,570 · Granted Mar 21, 2017

Opportunistic media patching for a communication session

Inventors: Saritha Sivapuram (San Diego, CA); Mark Aaron Lindner (Verona, WI); Kirankumar Anchan (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04W24/04H04L65/604H04L65/80H04L67/1002H04L69/40H04L65/1083H04L67/1076H04L67/1078H04L67/1095H04N21/632H04N21/6375
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 9,603,039
App. No.
14/230,570
Granted
Mar 21, 2017
Kind
B2
Abstract

A user equipment (UE) selectively attempts recovery of lost media for a real-time communication session. In an embodiment, the UE detects presence of a lost media packet from another UE participating in the real-time communication session that did not successfully arrive at the UE. The UE evaluates a set of recovery criteria associated with the lost media packet to attempt to dynamically select at least one external source from a plurality of external sources from which the lost media packet can potentially be recovered at different predicted reliabilities and/or response times for attempting recovery of the lost media packet based on the set of recovery criteria. The UE attempts to recover the lost media packet from the selected at least one external source based on the evaluation.

Claims (84)

1. A method of operating a user equipment (UE) configured to selectively recover lost media for a real-time communication session, comprising:

detecting presence of a lost media packet from another UE participating in the real-time communication session that did not successfully arrive at the UE;

evaluating, in response to the detecting, a set of recovery criteria associated with the lost media packet to dynamically select at least one external source from a plurality of external sources from which the lost media packet can potentially be recovered at different predicted reliabilities for recovery of the lost media packet based on the set of recovery criteria, wherein the different predicted reliabilities correspond to different levels of confidence that the plurality of external sources have access to a copy of the lost media packet; and

requesting the lost media packet from the selected at least one external source based on the evaluation,

wherein the requesting is performed by the UE without advance confirmation that the selected at least one external source has access to the copy of the lost media packet.

2. The method of claim 1 , wherein the selected at least one external source includes multiple external sources.

3. The method of claim 2 , wherein the requesting requests that each of the multiple external sources provide a given copy of the lost media packet.

4. The method of claim 3 , further comprising:

receiving a single copy of the lost media packet from one of the multiple external sources; and

playing the received single copy of the lost media packet if the received single copy of the lost media packet is received before an expiration deadline of the lost media packet.

5. The method of claim 3 , further comprising:

receiving two or more copies of the lost media packet from two or more of the multiple external sources;

selecting one of the two or more received copies of the lost media packet; and

playing the selected copy of the lost media packet if the selected copy of the lost media packet is received before an expiration deadline of the lost media packet.

6. The method of claim 5 , wherein the selecting selects an earliest received copy as the selected copy.

7. The method of claim 1 , wherein the selected at least one external source includes a single external source.

8. The method of claim 7 , wherein the requesting requests that the single external source provide a copy of the lost media packet, further comprising:

receiving the requested copy of the lost media packet from the single external source; and

playing the received requested copy of the lost media packet if the received requested copy of the lost media packet is received before an expiration deadline of the lost media packet.

9. The method of claim 7 ,

wherein the single external source corresponds to a most reliable external source from among the plurality of external sources, or

wherein the evaluating is further based on response times of the plurality of external sources, with the single external source corresponding to a given external source associated with a fastest response time from among the plurality of external sources.

10. The method of claim 1 , wherein the requesting fails to recover the lost media packet, further comprising:

determining not to re-request the lost media packet,

wherein the real-time communication session continues without playback of the lost media packet.

11. The method of claim 1 , wherein the requesting fails to recover the lost media packet, further comprising:

determining to re-request the lost media packet;

re-evaluating the set of recovery criteria associated with the lost media packet to dynamically select at least one different external source from the plurality of external sources for requesting the lost media packet based on the set of recovery criteria; and

requesting the lost media packet from the selected at least one different external source based on the re-evaluating.

12. The method of claim 1 , wherein the plurality of external sources from which the lost media packet can potentially be recovered includes the another UE, a server that is arbitrating the real-time communication session and/or one or more different UEs that are also participating in the real-time communication session.

13. The method of claim 1 , further comprising:

pausing the real-time communication session in response to the detection;

receiving a given copy of the lost media packet from the selected at least one external source; and

un-pausing the real-time communication session and playing the received copy of the lost media packet.

14. The method of claim 13 , wherein the selected at least one external source includes a given external source associated with a highest reliability from the plurality of external sources.

15. The method of claim 1 , wherein the set of recovery criteria includes:

(i) a playback urgency of the lost media packet,

(ii) a reliability of each of the plurality of external sources from which the lost media packet can potentially be recovered,

(iii) an expected response time of each of the plurality of external sources, and/or

(iv) a priority of the lost media packet.

16. The method of claim 15 , wherein the set of recovery criteria includes at least (i) and (iii).

17. The method of claim 16 ,

wherein the playback urgency of the lost media packet is characterized as low if the real-time communication session is paused and the UE is actively engaged in another real-time communication session, as intermediate if the real-time communication session is paused while the UE is not actively engaged in another real-time communication session, or as high if the UE is actively engaged in the real-time communication session,

wherein the playback urgency of the lost media packet is high, and

wherein the evaluating dynamically selects the selected at least one external source as a subset of the plurality of external sources with expected response times that satisfy the high playback urgency.

18. The method of claim 17 , wherein the subset includes at least:

a different UE that is also participating in the real-time communication session and is connected to the UE via a supplemental communication link that bypasses a server that is arbitrating the real-time communication session.

19. The method of claim 15 , wherein the set of recovery criteria includes at least (i), (ii) and (iii).

20. The method of claim 19 ,

wherein the playback urgency of the lost media packet is characterized as low if the real-time communication session is paused and the UE is actively engaged in another real-time communication session, as intermediate if the real-time communication session is paused while the UE is not actively engaged in another real-time communication session, or as high if the UE is actively engaged in the real-time communication session,

wherein the playback urgency of the lost media packet is intermediate, and

wherein the evaluating dynamically selects the selected at least one external source as inclusive of at least a most reliable external source with a given expected response time that satisfies the intermediate playback urgency.

21. The method of claim 20 , wherein the most reliable external source with the given expected response time that satisfies the intermediate playback urgency is a server that is arbitrating the real-time communication session.

22. The method of claim 19 ,

wherein the playback urgency of the lost media packet is characterized as low if the real-time communication session is paused and the UE is actively engaged in another real-time communication session, as intermediate if the real-time communication session is paused while the UE is not actively engaged in another real-time communication session, or as high if the UE is actively engaged in the real-time communication session,

wherein the playback urgency of the lost media packet is low, and

wherein the evaluating dynamically selects the selected at least one external source as inclusive of at least a most reliable external source with a given expected response time that satisfies the low playback urgency.

23. The method of claim 22 , wherein the most reliable external source with the given expected response time that satisfies the low playback urgency is the another UE.

24. The method of claim 15 , wherein the set of recovery criteria includes at least (iv).

25. The method of claim 24 ,

wherein the requesting is performed based on the priority of the lost media packet being above a threshold, and

wherein one or more requests to recover one or more other lost media packets during the real-time communication session are skipped based on priorities of the one or more other lost media packets being below the threshold.

26. The method of claim 1 , wherein the requesting requests the lost media packet without exiting a real-time communication phase of the real-time communication session.

27. The method of claim 1 , further comprising:

detecting presence of another lost media packet from the another UE participating in the real-time communication session that did not successfully arrive at the UE;

evaluating the set of recovery criteria associated with the another lost media packet to dynamically select one or more external sources from the plurality of external sources from which the another lost media packet can potentially be recovered at the different predicted reliabilities based on the set of recovery criteria; and

requesting the another lost media packet from the selected one or more external sources based on the evaluation of the set of recovery criteria associated with the another lost media packet,

wherein the selected at least one external source selected for recovery of the lost media packet differs from the selected one or more external sources selected for recovery of the another lost media packet.

28. A user equipment (UE) configured to selectively recover lost media for a real-time communication session, comprising:

means for detecting presence of a lost media packet from another UE participating in the real-time communication session that did not successfully arrive at the UE;

means for evaluating, in response to the detection, a set of recovery criteria associated with the lost media packet to dynamically select at least one external source from a plurality of external sources from which the lost media packet can potentially be recovered at different predicted reliabilities for recovery of the lost media packet based on the set of recovery criteria, wherein the different predicted reliabilities correspond to different levels of confidence that the plurality of external sources have access to a copy of the lost media packet; and

means for requesting the lost media packet from the selected at least one external source based on the evaluation,

wherein the means for requesting requests the lost media packet from the selected at least one external source without advance confirmation that the selected at least one external source has access to the copy of the lost media packet.

29. A user equipment (UE) configured to selectively recover lost media for a real-time communication session, comprising:

a processor, a memory and a transceiver configured to:

detect presence of a lost media packet from another UE participating in the real-time communication session that did not successfully arrive at the UE;

evaluate, in response to the detection, a set of recovery criteria associated with the lost media packet to dynamically select at least one external source from a plurality of external sources from which the lost media packet can potentially be recovered at different predicted reliabilities for recovery of the lost media packet based on the set of recovery criteria, wherein the different predicted reliabilities correspond to different levels of confidence that the plurality of external sources have access to a copy of the lost media packet; and

request the lost media packet from the selected at least one external source based on the evaluation,

wherein the processor, the memory and the transceiver are configured to request the lost media packet from the selected at least one external source without advance confirmation that the selected at least one external source has access to the copy of the lost media packet.

30. A non-transitory computer-readable medium containing instructions stored thereon, which, when executed by a user equipment (UE) configured to selectively recover lost media for a real-time communication session, cause the UE to perform operations, the instructions comprising:

at least one instruction to cause the UE to detect presence of a lost media packet from another UE participating in the real-time communication session that did not successfully arrive at the UE;

at least one instruction to cause the UE to evaluate, in response to the detection, a set of recovery criteria associated with the lost media packet to dynamically select at least one external source from a plurality of external sources from which the lost media packet can potentially be recovered at different predicted reliabilities for recovery of the lost media packet based on the set of recovery criteria, wherein the different predicted reliabilities correspond to different levels of confidence that the plurality of external sources have access to a copy of the lost media packet; and

at least one instruction to cause the UE to request the lost media packet from the selected at least one external source based on the evaluation,

wherein the at least one instruction to cause the UE to request causes the UE to request the lost media packet from the selected at least one external source without advance confirmation that the selected at least one external source has access to the copy of the lost media packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2014
From: SIVAPURAM, SARITHA; LINDNER, MARK AARON; ANCHAN, KIRANKUMAR
To: QUALCOMM INCORPORATED
Reel/Frame 032979/0575 →
Continuity (2)
Provisional Application 61807955 · Apr 3, 2013
Related Publication 20140301180A1 · Oct 9, 2014