IP Library Granted Patent US 8,694,674
Granted Patent B2
US 8,694,674 · App. 13/248,196 · Granted Apr 8, 2014

Systems, methods, apparatuses, and computer program products for supporting remote hosting without using network address translation

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,694,674
App. No.
13/248,196
Granted
Apr 8, 2014
Kind
B2
Abstract

Methods, apparatuses, and computer program products are provided for supporting remote hosting without using network address translation. A method may include supporting, at a hub, a plurality of redundant tunnel end points for each of a plurality of spokes using a technology based at least in part on multipoint generic routing encapsulation protocol. The method may further include using policy based routing to determine a destination spoke for outgoing data traffic. The method may additionally include using service level agreement tracking to select a tunnel end point from the plurality of redundant tunnel end points for the determined destination spoke. The method may also include causing the outgoing data traffic to be routed to the determined destination spoke via the selected tunnel end point. Corresponding systems, apparatuses and computer program products are also provided.

Claims (54)

1. A method for supporting remote hosting without using network address translation, the method comprising:

supporting, at a hub, a plurality of redundant tunnel end points for each of a plurality of spokes using a technology based at least in part on multipoint generic routing encapsulation protocol;

determining a source associated with outgoing data traffic;

using, by a processor, policy based routing to determine a destination spoke for the outgoing data traffic, wherein using policy based routing to determine a destination spoke for the outgoing data traffic comprises determining a destination spoke having a predefined association with the determined source;

using service level agreement tracking to select a tunnel end point from the plurality of redundant tunnel end points for the determined destination spoke; and

causing the outgoing data traffic to be routed to the determined destination spoke via the selected tunnel end point.

2. The method of claim 1 , wherein the outgoing data traffic is related to a hosted application used by the destination spoke.

3. The method of claim 1 , wherein supporting the plurality of redundant tunnel end points for each of the plurality of spokes using a technology based at least in part on multipoint generic routing encapsulation protocol comprises using dynamic multipoint virtual private network technology to support the plurality of redundant tunnel end points for each of the plurality of spokes.

4. The method of claim 1 , wherein determining a destination spoke having a predefined association with the determined source comprises determining the destination spoke based at least in part on one or more route maps mapping one or more of the plurality of spokes to respective sources.

5. The method of claim 1 , wherein determining the source comprises determining a source address associated with the outgoing data traffic.

6. The method of claim 5 , wherein the source address comprises an address associated with a hosted application used by the determined destination spoke, wherein each of a plurality of hosted applications are assigned unique addresses with each of the plurality of hosted applications being used by a different respective spoke of the plurality of spokes.

7. The method of claim 1 , wherein using service level agreement tracking to select a tunnel end point from a plurality of redundant tunnel end points for the determined destination spoke comprises:

determining whether a primary tunnel end point of the plurality of redundant tunnel end points is available;

selecting the primary tunnel end point in an instance in which it is determined that the primary tunnel end point is available; and

selecting a secondary tunnel end point from the plurality of redundant tunnel end points in an instance in which it is determined that the primary tunnel end point is not available.

8. The method of claim 1 , further comprising, advertising respective delay times on each of the plurality of redundant tunnel end points for a respective spoke to control the tunnel preferred by the respective spoke.

9. The method of claim 1 , wherein two or more of the spokes have conflicting subnet addresses.

10. An apparatus for supporting remote hosting without using network address translation, the apparatus comprising at least one processor, wherein the at least one processor is configured to cause the apparatus to at least:

support, at a hub, a plurality of redundant tunnel end points for each of a plurality of spokes using a technology based at least in part on multipoint generic routing encapsulation protocol;

determine a source associated with outgoing data traffic;

use policy based routing to determine a destination spoke for the outgoing data traffic at least in part by determining a destination spoke having a predefined association with the determined source;

use service level agreement tracking to select a tunnel end point from the plurality of redundant tunnel end points for the determined destination spoke; and

cause the outgoing data traffic to be routed to the determined destination spoke via the selected tunnel end point.

11. The apparatus of claim 10 , wherein the outgoing data traffic is related to a hosted application used by the destination spoke.

12. The apparatus of claim 10 , wherein the at least one processor is configured to cause the apparatus to support the plurality of redundant tunnel end points for each of the plurality of spokes using a technology based at least in part on multipoint generic routing encapsulation protocol at least in part by using dynamic multipoint virtual private network technology to support the plurality of redundant tunnel end points for each of the plurality of spokes.

13. The apparatus of claim 10 , wherein the at least one processor is configured to cause the apparatus to determine the destination spoke having a predefined association with the determined source at least in part by determining the destination spoke based at least in part on one or more route maps mapping one or more of the plurality of spokes to respective sources.

14. The apparatus of claim 10 , wherein the at least one processor is configured to cause the apparatus to determine the source at least in part by determining a source address associated with the outgoing data traffic.

15. The apparatus of claim 14 , wherein the source address comprises an address associated with a hosted application used by the determined destination spoke, wherein each of a plurality of hosted applications are assigned unique addresses with each of the plurality of hosted applications being used by a different respective spoke of the plurality of spokes.

16. The apparatus of claim 10 , wherein the at least one processor is configured to further cause the apparatus use service level agreement tracking to select a tunnel end point from a plurality of redundant tunnel end points for the determined destination spoke at least in part by:

determining whether a primary tunnel end point of the plurality of redundant tunnel end points is available;

selecting the primary tunnel end point in an instance in which it is determined that the primary tunnel end point is available; and

selecting a secondary tunnel end point from the plurality of redundant tunnel end points in an instance in which it is determined that the primary tunnel end point is not available.

17. The apparatus of claim 10 , wherein the at least one processor is configured to further cause the apparatus to advertise respective delay times on each of the plurality of redundant tunnel end points for a respective spoke to control the tunnel preferred by the respective spoke.

18. The apparatus of claim 10 , wherein two or more of the spokes have conflicting subnet addresses.

19. The apparatus of claim 10 , further comprising at least one memory storing instructions that when executed by the at least one processor cause the apparatus to:

support the plurality of redundant tunnel end points or each of the plurality of spokes using a technology based at least in part on multipoint generic routing encapsulation protocol;

use policy based routing to determine the destination spoke for outgoing data traffic;

use service level agreement tracking to select a tunnel end point from the plurality of redundant tunnel end points to the determined destination spoke; and

cause the outgoing data traffic to be routed to the determined destination spoke via the selected tunnel end point.

20. The apparatus of claim 10 , wherein the apparatus comprises or is embodied on a router.

21. A computer program product for supporting remote hosting without using network address translation, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program instructions stored therein, the computer-readable program instructions comprising:

program instructions configured to support, at a hub, a plurality of redundant tunnel end points for each of a plurality of spokes using a technology based at least in part on multipoint generic routing encapsulation protocol;

program instructions configured to determine a source associated with outgoing data traffic;

program instructions configured to use policy based routing to determine a destination spoke for the outgoing data traffic at least in part by determining a destination spoke having a predefined association with the determined source;

program instructions configured to use service level agreement tracking to select a tunnel end point from the plurality of redundant tunnel end points to the determined destination spoke; and

program instructions configured to cause the outgoing data traffic to be routed to the determined destination spoke via the selected tunnel end point.

22. A system for supporting remote hosting without using network address translation, the system comprising:

a hub router located at a hub hosting one or more applications for a plurality of remote spokes; and

a plurality of spoke routers, wherein one or more spoke routers are located at each of the plurality of spokes;

wherein the hub router is configured to:

support a plurality of redundant tunnel end points for each of the plurality of spokes using a technology based at least in part on multipoint generic routing encapsulation protocol;

determine a source associated with outgoing data traffic;

use policy based routing to determine a destination spoke for the outgoing data traffic associated with a hosted application at least in part by determining a destination spoke having a predefined association with the determined source;

use service level agreement tracking to select a tunnel end point from the plurality of redundant tunnel end points for the determined destination spoke; and cause the outgoing data traffic to be routed to the determined destination spoke via the selected tunnel end point.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2022
From: ALLSCRIPTS SOFTWARE, LLC
To: HARRIS DAWN HOLDINGS, INC
Reel/Frame 061933/0655 →
NOTICE OF PARTIAL TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded May 16, 2022
From: JPMORGAN CHASE BANK, N.A.
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 060381/0954 →
SECURITY INTEREST Recorded May 10, 2022
From: ALTERA DIGITAL HEALTH INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 059913/0710 →
SECURITY INTEREST Recorded Nov 10, 2017
From: ALLSCRIPTS SOFTWARE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044096/0852 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: MCKESSON CORPORATION
To: PF2 MCKESSON TECHNOLOGIES INC.
Reel/Frame 043904/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: PF2 MCKESSON TECHNOLOGIES INC.
To: PF2 EIS LLC
Reel/Frame 043904/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: ALLSCRIPTS HEALTHCARE US, LP
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 043815/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: PF2 EIS LLC
To: ALLSCRIPTS HEALTHCARE, LLC
Reel/Frame 043815/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: ALLSCRIPTS HEALTHCARE, LLC
To: ALLSCRIPTS HEALTHCARE US, LP
Reel/Frame 043815/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →