IP Library › Granted Patent US 12,316,708
Granted Patent B2
US 12,316,708 · App. 18/677,441 · Granted May 27, 2025

Server initiated communication session join after endpoint status check failure

Inventors: Amer Aref Hassan (Kirkland, WA); Mahendra D. Sekaran (Sammamish, WA); Scott Edward Van Vliet (Sammamish, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L67/148H04L67/141
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 12,316,708
App. No.
18/677,441
Granted
May 27, 2025
Kind
B2
Abstract

Disclosed in some examples are methods, systems, and machine-readable mediums which automatically initiate a connection to a network-based communication session using a second communication application responsive to the communication service detecting that the user is unable to join the network-based communication session using a first communication application. The first and second communication applications may be on a same or different computing device. For example, if a user's desktop device is unavailable or experiencing connection issues, then the communication server may automatically request that a communication application on a mobile phone of the user join the network-based communication session.

Claims (43)

1. A computing device providing a communication service, the computing device comprising:

a processor;

a memory, the memory storing instructions, which when executed by the processor, causes the computing device to perform operations comprising:

at a pre-specified time relative to a start time of a network-based communication session, automatically, at the computing device of the communication service hosting the network-based communication session:

identifying that a first communication application from a plurality of registered communication applications of a participant does not have connectivity to the communication service, the first communication application executing on a first computing device of the participant;

responsive to determining that the first communication application does not have connectivity to the communication service:

selecting a second communication application from the plurality of registered communication applications;

causing a connection request to be sent to the second communication application;

receiving a connection confirmation from the second communication application; and

responsive to receiving the connection confirmation, joining the second communication application with the network-based communication session using communications messaging, once joined the communication service sending media packets of the network-based communication session to the second communication application, the second communication application executing on either the first computing device of the participant or a second computing device of the participant.

2. The computing device of claim 1 , wherein the operations of identifying that the first communication application from the plurality of registered communication applications of the participant does not have connectivity to the communication service comprises identifying a threshold number of unsuccessful join attempts from the first communication application over a specified time period.

3. The computing device of claim 1 , wherein the operations of identifying that the first communication application from the plurality of registered communication applications of the participant does not have connectivity to the communication service comprises failing to receive a response to a polling message sent at a time interval that is predetermined based on the start time of the network-based communication session.

4. The computing device of claim 1 , wherein the first and second communication applications are selected based on a user preference data indicating a ranking of communication applications.

5. The computing device of claim 1 , wherein the operations of selecting the second communication application from the plurality of registered communication applications comprises using connectivity data and context data of the participant to select the second communication application.

6. The computing device of claim 5 , wherein the connectivity data comprises an ordered ranking of application preferences of the participant and wherein the operations of identifying the first communication application comprises selecting a top-ranking application and wherein the operations of selecting the second communication application comprises selecting a second ranking application.

7. The computing device of claim 1 , wherein the first and second communication applications are on different computing devices.

8. A method for providing a communication service, the method comprising:

at a pre-specified time relative to a start time of a network-based communication session, automatically, at a computing device of the communication service hosting the network-based communication session:

identifying that a first communication application from a plurality of registered communication applications of a participant does not have connectivity to the communication service, the first communication application executing on a first computing device of the participant;

responsive to determining that the first communication application does not have connectivity to the communication service:

selecting a second communication application from the plurality of registered communication applications;

causing a connection request to be sent to the second communication application;

receiving a connection confirmation from the second communication application; and

responsive to receiving the connection confirmation, joining the second communication application with the network-based communication session using communications messaging, once joined the communication service sending media packets of the network-based communication session to the second communication application, the second communication application executing on either the first computing device of the participant or a second computing device of the participant.

9. The method of claim 8 , wherein identifying that the first communication application from the plurality of registered communication applications of the participant does not have connectivity to the communication service comprises identifying a threshold number of unsuccessful join attempts from the first communication application over a specified time period.

10. The method of claim 8 , wherein the operations of identifying that the first communication application from the plurality of registered communication applications of the participant does not have connectivity to the communication service comprises failing to receive a response to a polling message sent at a time interval that is predetermined based on the start time of the network-based communication session.

11. The method of claim 8 , wherein the first and second communication applications are selected based on a user preference data indicating a ranking of communication applications.

12. The method of claim 8 , wherein selecting the second communication application from the plurality of registered communication applications comprises using connectivity data and context data of the participant to select the second communication application.

13. The method of claim 12 , wherein the connectivity data comprises an ordered ranking of application preferences of the participant and wherein identifying the first communication application comprises selecting a top-ranking application and wherein selecting the second communication application comprises selecting a second ranking application.

14. The method of claim 8 , wherein the first and second communication applications are on different computing devices.

15. A non-transitory machine-readable storage device, storing instructions for providing a communication service, the instructions, which when executed by a computing device of the communication service, cause the computing device to perform operations comprising:

at a pre-specified time relative to a start time of a network-based communication session, automatically, at the computing device of the communication service hosting the network-based communication session:

identifying that a first communication application from a plurality of registered communication applications of a participant does not have connectivity to the communication service, the first communication application executing on a first computing device of the participant;

responsive to determining that the first communication application does not have connectivity to the communication service:

selecting a second communication application from the plurality of registered communication applications;

causing a connection request to be sent to the second communication application;

receiving a connection confirmation from the second communication application; and

responsive to receiving the connection confirmation, joining the second communication application with the network-based communication session using communications messaging, once joined the communication service sending media packets of the network-based communication session to the second communication application, the second communication application executing on either the first computing device of the participant or a second computing device of the participant.

16. The non-transitory machine-readable storage device of claim 15 , wherein the operations of identifying that the first communication application from the plurality of registered communication applications of the participant does not have connectivity to the communication service comprises identifying a threshold number of unsuccessful join attempts from the first communication application over a specified time period.

17. The non-transitory machine-readable storage device of claim 15 , wherein the operations of identifying that the first communication application from the plurality of registered communication applications of the participant does not have connectivity to the communication service comprises failing to receive a response to a polling message sent at a time interval that is predetermined based on the start time of the network-based communication session.

18. The non-transitory machine-readable storage device of claim 15 , wherein the first and second communication applications are selected based on a user preference data indicating a ranking of communication applications.

19. The non-transitory machine-readable storage device of claim 15 , wherein the operations of selecting the second communication application from the plurality of registered communication applications comprises using connectivity data and context data of the participant to select the second communication application.

20. The non-transitory machine-readable storage device of claim 19 , wherein the connectivity data comprises an ordered ranking of application preferences of the participant and wherein the operations of identifying the first communication application comprises selecting a top-ranking application and wherein the operations of selecting the second communication application comprises selecting a second ranking application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2024
From: HASSAN, AMER AREF; SEKARAN, MAHENDRA D.; VAN VLIET, SCOTT EDWARD
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 067618/0106 →
Priority Claims (1)
LU LU102277 · Dec 11, 2020 · national
Continuity (2)
Continuation 18037654
Related Publication 20240314210A1 · Sep 19, 2024
References Cited (9)
US 20020076025A1 · Liversidge · 2002 [cited by examiner]
US 20140237123A1 · Dave · 2014 [cited by examiner]
US 20180332131A1 · Papakipos · 2018 [cited by examiner]
US 20190296969A1 · Zimny · 2019 [cited by examiner]
US 20190392395A1 · Valliani · 2019 [cited by examiner]
US 20210390144A1 · B M S · 2021 [cited by examiner]
US 20220053073A1 · Appel · 2022 [cited by examiner]
Extended European Search Report received for EP Application No. 24193028.8, mailed on Dec. 11, 2024, 11 pages. [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) received in European Application No. 24193028.8, mailed on Jan. 13, 2025, 2 Page. [cited by applicant]