IP Library Granted Patent US 10,693,923
Granted Patent B2
US 10,693,923 · App. 14/607,602 · Granted Jun 23, 2020

Establishing streaming sessions during remote sessions

Inventor: Salim AbiEzzi (Sammamish, WA)
Assignee: VMware, Inc.
H04L65/1089H04L65/403H04L65/4084H04L67/2823G06F15/16
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 10,693,923
App. No.
14/607,602
Granted
Jun 23, 2020
Kind
B2
Abstract

Systems and techniques are described for remoting application user interfaces. One of the described techniques includes initiating a remote session with a first user device that allows user interfaces generated by an application to be presented on the first user device and user events associated with the presented user interfaces to be provided as input to the application; and during the remote session with the first user device: receiving a request to initiate a multimedia streaming session between the first user device and a different system through the application; establishing the multimedia streaming session with the different system; and providing the streaming session parameters to the first user device for use by the first user device in establishing a connection between the first user device and the different system and streaming multimedia content over the connection.

Claims (64)

1. A method comprising:

receiving, at a remote application system, a first user request from a first user device, wherein the request is to access an application that executes on the remote application system;

initiating a remote session with the first user device that allows user interfaces generated by the application executing at the remote application system to be presented on the first user device and user events associated with the presented user interfaces to be provided as input to the application;

as part of the remote session between the first user device and the remote application system:

receiving at the remote application system a request from the first user device to initiate a multimedia streaming session between the first user device and a different system comprising a peer user device using the application executing at the remote application system;

establishing the multimedia streaming session with the peer user device, wherein establishing the multimedia streaming session comprises obtaining session parameters for the multimedia streaming session for the peer user device, wherein the session parameters are obtained by the remote application system from the peer user device and include a network address for the peer user device and negotiated session credentials for the streaming session; and

providing, by the remote application system, the session parameters for the peer user device to the first user device for use by the first user device in establishing a connection between the first user device and the peer user device and using the user interface generated by the application executing at the remote application system to stream multimedia content over the connection directly between the first user device and the peer user device without passing the streaming multimedia content through the remote application system;

receiving, by the first user device, the session parameters;

contacting, by the first user device, the peer user device using the network address;

establishing, by the first user device, the connection with the peer user device using the session credentials; and

streaming, by the first user device, multimedia content over the established connection with the peer user device.

2. The method of claim 1 , wherein the streaming session credentials comprise a session token for session authentication and a session key for session encryption.

3. The method of claim 1 , further comprising:

maintaining the remote session while the multimedia content is streamed over the connection between the first user device and the peer user device.

4. The method of claim 3 , further comprising:

monitoring the streaming session between the first user device and the peer user device.

5. The method of claim 1 , further comprising:

during the remote session with the first user device, receiving a request to switch the multimedia streaming session to a second user device; and

providing the streaming session parameters to the second user device.

6. The method of claim 5 , further comprising:

receiving, by the second user device, the session parameters;

establishing, by the second user device, a second connection with the peer user device using the session parameters; and

streaming, by the second user device, multimedia content over the second connection with the peer user device.

7. The method of claim 1 , further comprising:

performing a directory look up to locate the peer user device in response receiving the request.

8. A non-transitory computer storage medium encoded with a computer program, the computer program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

receiving, at a remote application system, a first user request from a first user device, wherein the request is to access an application that executes on the remote application system;

initiating a remote session with the first user device that allows user interfaces generated by the application executing at the remote application system to be presented on the first user device and user events associated with the presented user interfaces to be provided as input to the application;

as part of the remote session between the first user device and the remote application system:

receiving at the remote application system a request from the first user device to initiate a multimedia streaming session between the first user device and a different system comprising a peer user device using the application executing at the remote application system;

establishing the multimedia streaming session with the peer user device, wherein establishing the multimedia streaming session comprises obtaining session parameters for the multimedia streaming session for the peer user device, wherein the session parameters are obtained by the remote application system from the peer user device and include a network address for the peer user device and negotiated session credentials for the streaming session; and

providing, by the remote application system, the session parameters for the peer user device to the first user device for use by the first user device in establishing a connection between the first user device and the peer user device and using the user interface generated by the application executing at the remote application system to stream multimedia content over the connection directly between the first user device and the peer user device without passing the streaming multimedia content through the remote application system;

receiving, by the first user device, the session parameters;

contacting, by the first user device, the peer user device using the network address;

establishing, by the first user device, the connection with the peer user device using the session credentials; and

streaming, by the first user device, multimedia content over the established connection with the peer user device.

9. A system comprising:

a remote application system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising:

receiving a first user request from a first user device, wherein the request is to access an application that executes on the remote application system;

initiating a remote session with the first user device that allows user interfaces generated by the application to be presented on the first user device and user events associated with the presented user interfaces to be provided as input to the application;

as part of the remote session between the first user device and the remote application system:

receiving a request from the first user device to initiate a multimedia streaming session between the first user device and a different system comprising a peer user device using the application executing at the remote application system;

establishing the multimedia streaming session with the peer user device, wherein establishing the multimedia streaming session comprises obtaining session parameters for the multimedia streaming session for the peer user device, wherein the session parameters are obtained by the remote application system from the peer user device and include a network address for the peer user device and negotiated session credentials for the streaming session; and

providing the session parameters for the peer user device to the first user device for use by the first user device in establishing a connection between the first user device and the peer user device and using the user interface generated by the application executing at the remote application system to stream multimedia content over the connection directly between the first user device and the peer user device without passing the streaming multimedia content through the remote application system; and

the first user device, wherein the first user device is configured to perform operations comprising:

receiving the session parameters;

contacting the peer user device using the network address;

establishing the connection with the peer user device using the session credentials; and

streaming multimedia content over the established connection with the peer user device.

10. The system of claim 9 , wherein the streaming session credentials comprise a session token for session authentication and a session key for session encryption.

11. The system of claim 9 , the operations further comprising:

maintaining the remote session while the multimedia content is streamed over the connection between the first user device and the peer user device.

12. The system of claim 11 , the operations further comprising:

monitoring the streaming session between the first user device and the peer user device.

13. The system of claim 9 , the operations further comprising:

during the remote session with the first user device, receiving a request to switch the multimedia streaming session to a second user device; and

providing the streaming session parameters to the second user device.

14. The system of claim 13 , further comprising:

the second user device, wherein the second user device is configured to perform operations comprising:

receiving the session parameters;

establishing a second connection with the peer user device using the session parameters; and

streaming multimedia content over the second connection with the peer user device.

15. The system of claim 9 , the operations further comprising:

performing a directory look up to locate the peer user device in response receiving the request.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2015
From: ABIEZZI, SALIM
To: VMWARE, INC.
Reel/Frame 034832/0979 →
Continuity (1)
Related Publication 20160219084A1 · Jul 28, 2016
Cited By (3)
US 12,363,226 US 12,375,570 US 12,477,067