IP Library Granted Patent US 8,606,306
Granted Patent B2
US 8,606,306 · App. 13/223,259 · Granted Dec 10, 2013

Multiple client computing device invitations for online communication sessions

Inventors: Justin Santamaria (San Francisco, CA); Justin Wood (Sunnyvale, CA); Berkat S. Tung (Rancho Cordova, CA); Joe Abuan (San Jose, CA); Patrick Gates (San Francisco, CA); Jeremy Werner (Burlingame, CA); Andrew H. Vyrros (San Francisco, CA)
Assignee: Apple Inc.
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,606,306
App. No.
13/223,259
Granted
Dec 10, 2013
Kind
B2
Abstract

An online communication session invitation request message for an online communication session is received from an initiating client computing device. The invitation request message includes connection data of the initiating client computing device and an online communication session endpoint identifier of an intended participant of the online communication session. The session endpoint identifier is associated with a plurality of push tokens that correspond to a plurality of recipient client computing devices respectively. An invitation request message is sent in the form of a push notification message to each of the plurality of recipient client computing devices using the corresponding push tokens. Each invitation request message includes the connection data of the initiating client computing device.

Claims (72)

1. A method for establishing an online communication session between client computing devices, comprising:

receiving from an initiating client computing device an online communication session invitation request message for an online communication session, the online communication session invitation request message including connection data of the initiating client computing device and an online communication session endpoint identifier of an intended participant of the online communication session;

determining that the online communication session endpoint identifier is associated with a plurality of push tokens that correspond to a plurality of recipient client computing devices respectively, wherein each of the push tokens allows a push notification service to locate and transmit push notification messages to its corresponding recipient client computing device;

transmitting an online communication session invitation request message in the form of a push notification message to each of the plurality of recipient client computing devices using the corresponding push tokens, wherein each online communication session invitation request message includes the connection data of the initiating client computing device;

receiving, from each of a set of one or more of the recipient client computing devices, an online communication session invitation accept message that includes connection data of that recipient client computing device; and

transmitting each of the received online communication session accept messages to the initiating client computing device to allow the initiating client computing device to establish a direct peer-to-peer online communication session with one or more of the recipient client computing devices that accepted the online communication session request.

2. The method of claim 1 , further comprising:

transmitting an online communication session invitation update message to the initiating client computing device that identifies a plurality of recipient client computing devices that were sent the online communication session invitation request message.

3. The method of claim 1 , further comprising:

receiving an online communication session update message from the initiating client computing device that indicates that the direct peer-to-peer online communication session has ended; and

transmitting the online communication session update message to those of the recipient client computing devices that were not part of the direct peer-to-peer online communication session.

4. The method of claim 1 , further comprising:

receiving an online communication session invitation update message from the initiating client computing device that indicates which of the recipient client computing devices have accepted the invitation request; and

transmitting an invitation update message that indicates which of the recipient client computing devices have accepted the invitation request to each of those of the plurality of recipient client computing devices that did not accept the invitation request.

5. The method of claim 4 , further comprising:

receiving an online communication session transfer request message from one of the recipient client computing devices that did not accept the invitation request, the online communication session transfer request message including connection data of that recipient client computing device; and

transmitting the online communication session transfer request message to the initiating client computing device.

6. A method in an initiating client computing device for establishing an online communication session, comprising:

receiving input from a user of the initiating client computing device to invite a user identified by an online communication session endpoint identifier to an online communication session;

transmitting an online communication session invitation request message to an invitation service that includes the online communication session endpoint identifier and connection data of the initiating client computing device;

receiving an online communication session invitation update message from the invitation service that identifies a plurality of recipient client computing devices that were sent the invitation request message;

receiving an online communication session invitation accept message originated from one of the plurality of recipient client computing devices that were sent the invitation request message, the online communication session invitation accept message including connection data of that recipient client computing device;

determining to establish a peer-to-peer online communication session with that recipient client computing device; and

establishing a peer-to-peer online communication session with that recipient client computing device using its connection data.

7. The method of claim 6 , further comprising:

transmitting an online communication session invitation update message to the invitation service for delivery to each of those of the plurality of recipient client computing devices that were sent the invitation request message and for which the initiating client computing device did not receive an online communication session invitation accept message from.

8. The method of claim 6 , further comprising:

responsive to receiving an online communication session invitation accept message that was originated from a different one of the plurality of recipient client computing devices, transmitting an online communication session invitation cancel message to the invitation service for delivery to that recipient client computing device to cancel the invitation.

9. The method of claim 6 , further comprising:

responsive to the peer-to-peer online communication session ending, transmitting an online communication session update message to the invitation service for delivery to each of those other recipient client computing devices, the online communication session update message indicating that the online communication session has ended.

10. The method of claim 6 , further comprising:

receiving an online communication session transfer request message that was originated from one of the recipient client computing devices that did not accept the invitation request that requests a transfer of the online communication session, the online communication session transfer request message including connection data of that recipient client computing device.

11. The method of claim 10 , further comprising:

displaying the online communication session transfer request;

receiving input from a user of the client computing device to transfer the online communication session; and

responsive to a peer-to-peer online communication session with the recipient client computing device requesting the online communication session transfer being established, switching to that peer-to-peer online communication session.

12. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor, will cause said processor to perform operations for establishing an online communication session between client computing devices, said operations comprising:

receiving from an initiating client computing device an online communication session invitation request message for an online communication session, the online communication session invitation request message including connection data of the initiating client computing device and an online communication session endpoint identifier of an intended participant of the online communication session;

determining that the online communication session endpoint identifier is associated with a plurality of push tokens that correspond to a plurality of recipient client computing devices respectively, wherein each of the push tokens allows a push notification service to locate and transmit push notification messages to its corresponding recipient client computing device;

transmitting an online communication session invitation request message in the form of a push notification message to each of the plurality of recipient client computing devices using the corresponding push tokens, wherein each online communication session invitation request message includes the connection data of the initiating client computing device;

receiving, from each of a set of one or more of the recipient client computing devices, an online communication session invitation accept message that includes connection data of that recipient client computing device; and

transmitting each of the received online communication session accept messages to the initiating client computing device to allow the initiating client computing device to establish a direct peer-to-peer online communication session with one or more of the recipient client computing devices that accepted the online communication session request.

13. The non-transitory machine-readable storage medium of claim 12 , further comprising:

transmitting an online communication session invitation update message to the initiating client computing device that identifies a plurality of recipient client computing devices that were sent the online communication session invitation request message.

14. The non-transitory machine-readable storage medium of claim 12 , further comprising:

receiving an online communication session update message from the initiating client computing device that indicates that the direct peer-to-peer online communication session has ended; and

transmitting the online communication session update message to those of the recipient client computing devices that were not part of the direct peer-to-peer online communication session.

15. The non-transitory machine-readable storage medium of claim 12 , further comprising:

receiving an online communication session invitation update message from the initiating client computing device that indicates which of the recipient client computing devices have accepted the invitation request; and

transmitting an invitation update message that indicates which of the recipient client computing devices have accepted the invitation request to each of those of the plurality of recipient client computing devices that did not accept the invitation request.

16. The non-transitory machine-readable storage medium of claim 15 , further comprising:

receiving an online communication session transfer request message from one of the recipient client computing devices that did not accept the invitation request, the online communication session transfer request message including connection data of that recipient client computing device; and

transmitting the online communication session transfer request message to the initiating client computing device.

17. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor, will cause said processor to perform operations for establishing an online communication session, comprising:

receiving input from a user of an initiating client computing device to invite a user identified by an online communication session endpoint identifier to an online communication session;

transmitting an online communication session invitation request message to an invitation service that includes the online communication session endpoint identifier and connection data of the initiating client computing device;

receiving an online communication session invitation update message from the invitation service that identifies a plurality of recipient client computing devices that were sent the invitation request message;

receiving an online communication session invitation accept message originated from one of the plurality of recipient client computing devices that were sent the invitation request message, the online communication session invitation accept message including connection data of that recipient client computing device;

determining to establish a peer-to-peer online communication session with that recipient client computing device; and

establishing a peer-to-peer online communication session with that recipient client computing device using its connection data.

18. The non-transitory machine-readable storage medium of claim 17 , further comprising:

transmitting an online communication session invitation update message to the invitation service for delivery to each of those of the plurality of recipient client computing devices that were sent the invitation request message and for which the initiating client computing device did not receive an online communication session invitation accept message from.

19. The non-transitory machine-readable storage medium of claim 17 , further comprising:

responsive to receiving an online communication session invitation accept message that was originated from a different one of the plurality of recipient client computing devices, transmitting an online communication session invitation cancel message to the invitation service for delivery to that recipient client computing device to cancel the invitation.

20. The non-transitory machine-readable storage medium of claim 17 , further comprising:

responsive to the peer-to-peer online communication session ending, transmitting an online communication session update message to the invitation service for delivery to each of those other recipient client computing devices, the online communication session update message indicating that the online communication session has ended.

21. The non-transitory machine-readable storage medium of claim 17 , further comprising:

receiving an online communication session transfer request message that was originated from one of the recipient client computing devices that did not accept the invitation request that requests a transfer of the online communication session, the online communication session transfer request message including connection data of that recipient client computing device.

22. The non-transitory machine-readable storage medium of claim 21 , further comprising:

displaying the online communication session transfer request;

receiving input from a user of the client computing device to transfer the online communication session; and

responsive to a peer-to-peer online communication session with the recipient client computing device requesting the online communication session transfer being established, switching to that peer-to-peer online communication session.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2012
From: SANTAMARIA, JUSTIN; WOOD, JUSTIN; TUNG, BERKAT S.; ABUAN, JOE; GATES, PATRICK; WERNER, JEREMY; VYRROS, ANDREW H.
To: APPLE INC.
Reel/Frame 027687/0879 →
Continuity (14)
Continuation In Part 12886479 · Mar 20, 2010
Continuation In Part 12886490 · Sep 20, 2010
Continuation In Part 12886485 · Sep 20, 2010
Provisional Application 61321865 · Apr 7, 2010
Provisional Application 61321866 · Apr 7, 2010
Provisional Application 61351814 · Jun 4, 2010
Provisional Application 61378924 · Aug 31, 2010
Provisional Application 61378926 · Aug 31, 2010
Provisional Application 61382479 · Sep 13, 2010
Provisional Application 61321832 · Apr 7, 2010
Provisional Application 61378924 · Aug 31, 2010
Provisional Application 61378926 · Aug 31, 2010
Provisional Application 61382479 · Sep 13, 2010
Related Publication 20120117250A1 · May 10, 2012