Span Out Load Balancing Model
First Claim
1. A system, comprising:
- a first gateway, comprising;
a first processor; and
a first memory coupled to the first processor, the first memory including instructions that upon execution cause the first gateway to;
open a connection oriented channel to a client, the connection oriented channel associated with a first network address of the client;
associate the connection oriented channel with a connection identifier; and
route packets for a remote presentation session between the client and a remote presentation session over the connection oriented channel;
a second gateway, comprising;
a second processor; and
a second memory coupled to the second processor, the second memory including instructions that upon execution cause the second gateway to;
associate a second network address for the client with a private network address for the second gateway, a network address for the remote presentation session, and the connection identifier;
receive a first datagram from the remote presentation session, the first datagram addressed to the private network address for the second gateway, the first datagram including first data for the remote presentation session; and
send the first data in a second datagram to the second network address for the client in response to determining that the private network address for the second gateway is associated with the second network address for the client.
2 Assignments
0 Petitions
Accused Products
Abstract
This document describes techniques for transporting at least a portion of the data for a remote presentation session via datagrams. In particular, a span-out model is described whereby a remote presentation session can be associated with multiple channels and each channel can be routed through a different gateway computer system. As such, a connectionless oriented channel for a client may be routed through a first gateway computer system and a connection oriented channel for the client may be routed through a second gateway computer system. In addition to the foregoing, other techniques are described in the claims, the attached drawings, and the description.
48 Citations
20 Claims
-
1. A system, comprising:
-
a first gateway, comprising; a first processor; and a first memory coupled to the first processor, the first memory including instructions that upon execution cause the first gateway to; open a connection oriented channel to a client, the connection oriented channel associated with a first network address of the client; associate the connection oriented channel with a connection identifier; and route packets for a remote presentation session between the client and a remote presentation session over the connection oriented channel; a second gateway, comprising; a second processor; and a second memory coupled to the second processor, the second memory including instructions that upon execution cause the second gateway to; associate a second network address for the client with a private network address for the second gateway, a network address for the remote presentation session, and the connection identifier; receive a first datagram from the remote presentation session, the first datagram addressed to the private network address for the second gateway, the first datagram including first data for the remote presentation session; and send the first data in a second datagram to the second network address for the client in response to determining that the private network address for the second gateway is associated with the second network address for the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable storage medium including instructions that upon execution by a processor cause a first gateway to:
-
extract a connection request from a datagram received on a port, the datagram addressed from a client network address for a client, the datagram including a cookie in a payload, the cookie including a resource network address for a remote presentation session and a connection identifier associated with a connection oriented channel established on a second gateway between the second gateway and the client; associate the connection identifier with the client network address, a private network address for the first gateway, and the resource network address; receive a second datagram from a remote presentation session, the second datagram addressed to the private network address, the second datagram including data for the remote presentation session; and send the data for the remote presentation session in a third datagram to the client network address in response to determining that the private network address is associated with the client network address. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer implemented method, comprising:
-
extracting, by a first gateway, a cookie from a uniform datagram protocol datagram received on a uniform datagram protocol port, the datagram addressed from an internet protocol address port number combination associated with a client; validating, by the first gateway, a digital signature of the cookie, the cookie including an internet protocol address port number combination for a remote presentation session and a connection identifier associated with a connection oriented channel established on a second gateway between the second gateway and the client; associate, by the first gateway, the connection identifier with the internet protocol address port number combination for the client and the internet protocol address port number combination for the remote presentation session; receive, by the first gateway, a first datagram from the client, the first datagram addressed to a public internet protocol address port number combination for the first gateway, the first datagram including data for the remote presentation session; and send, by the first gateway, the data in a second datagram to the internet protocol address port number combination for the remote presentation session in response to determining that the internet protocol address port number combination for the client is associated with the internet protocol address port number combination for the remote presentation session. - View Dependent Claims (17, 18, 19, 20)
-
Specification