IP Library Granted Patent US 10,044,572
Granted Patent B1
US 10,044,572 · App. 15/686,324 · Granted Aug 7, 2018

Dynamic addition of network function services

Inventors: Ronald R. Marquardt (Woodinville, WA); Lyle W. Paczkowski (Mission Hills, KS); Arun Rajagopal (Leawood, KS)
Assignee: Sprint Communications Company L.P.
H04L41/5054H04L45/56H04L63/10H04L67/18
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,044,572
App. No.
15/686,324
Granted
Aug 7, 2018
Kind
B1
Abstract

A method of dynamically adding a communication service function to a communication session comprises receiving a communication during a communication session on an active connection, detecting a communication service trigger in the communication, determining a second communication service function based on the communication service trigger, sending a message to a network function virtualization (NFV) catalog, receiving a response from the NFV catalog, providing the routing information to a software defined network (SDN) controller, routing the communication from the first communication service function to the second communication service function, processing the communication with the second communication service function, and routing the communication to an output. The message to the NFV server can include an identity of the second communication service function. The SDN controller can set the session routing protocol to include the second communication service function in a communication flow for the communication session.

Claims (70)

1. A method of dynamically adding a communication service function using network function virtualization during a communication session, the method comprising:

receiving, at a first communication service function executing on a server that comprises a processor, a communication during a communication session on an active connection;

detecting, by the first communication service function, a communication service trigger in the communication;

determining a second communication service function based on the communication service trigger;

determining connection information for the second communication service function;

providing, by the first communication service function, the connection information to a controller, wherein the controller sets a session routing protocol for a communication flow for the communication session to include the second communication service function;

routing the communication from the first communication service function to the second communication service function; and

processing the communication with the second communication service function.

2. The method of claim 1 , further comprising:

receiving, at the server, a setup request for the active connection;

identifying, by the server, the first communication service function associated with the setup request;

sending, by the server, a setup message to a network function virtualization catalog, wherein the setup message comprises an identity of the first communication service function;

receiving, by the server, a setup response from the network function virtualization catalog, wherein the setup response comprises an operating location and routing information for the first communication service function;

providing, by the server, the operating location and the routing information for the first communication service function to the controller, wherein the controller defines the session routing protocol for the active connection to include the first communication service function in the communication flow for the communication session; and

performing the communication session using the session routing protocol.

3. The method of claim 1 , further comprising:

sending the session routing protocol to a router, wherein the active connection is routed using the session routing protocol during the active connection.

4. The method of claim 3 , wherein the session routing protocol for the active connection includes the first communication service function to an output, and wherein routing the communication from the first communication service function to the second communication service function comprises redefining the session routing protocol for the active connection to include the first communication service function to the second communication service function to the output.

5. The method of claim 1 , wherein the first communication service function comprises at least one of a voice call function or a data session management function.

6. The method of claim 1 , wherein the second communication service function comprises a voicemail function, a video optimization function, a parental control function, a video conferencing function, or a voice conferencing function.

7. The method of claim 1 , wherein the communication service trigger comprises a request for the second communication service function.

8. The method of claim 1 , wherein the communication service trigger comprises a data request contained within the communication.

9. The method of claim 1 , further comprising:

receiving, at the first communication service function, a second communication during the communication session;

detecting, by the first communication service function, a second communication service trigger in the second communication;

determining a third communication service function based on the second communication service trigger;

sending, by the first communication service function, a second message to a network function virtualization catalog, wherein the second message comprises an identity of the third communication service function;

receiving, by the first communication service function, a response from the network function virtualization catalog, wherein the response comprises an operating location and routing information for the third communication service function;

providing, by the first communication service function, the routing information for the third communication service function to the controller, wherein the controller sets the session routing protocol to include the third communication service function in a communication flow for the second communication;

routing the second communication through the first communication service function, the second communication service function, and the third communication service function;

processing the second communication with the third communication service function; and

routing the second communication to an output.

10. The method of claim 9 , further comprising:

determining a routing order for the second communication service function and the third communication service function; and

redefining the session routing protocol to include the routing order.

11. A method of dynamically adding a communication service function to an active connection, the method comprising:

performing a communication session over an active connection, wherein a session routing protocol defines a communication path through a first communication service function executing on a server comprising a processor;

receiving, at the first communication service function, a communication during the communication session;

detecting, by the first communication service function, a communication service trigger in the communication;

determining a second communication service function based on the communication service trigger;

instantiating, by a controller, the second communication service function on a server;

receiving, by the first communication service function, a notification of the instantiation of the second communication service function and routing information for the second communication service function;

providing, by the first communication service function, the routing information for the second communication service function to the controller, wherein the controller defines the session routing protocol to include the second communication service function in a communication flow for the communication session;

routing the communication from the first communication service function to the second communication service function; and

processing the communication with the second communication service function.

12. The method of claim 11 , further comprising:

sending an identity and the routing information for the second communication service function to a network function virtualization catalog; and

storing the identity, an execution location, and the routing information in the network function virtualization catalog.

13. The method of claim 11 , further comprising:

creating, in response to receiving a setup request, the session routing protocol; and

storing the session routing protocol in a router, wherein the active connection is routed using the session routing protocol during the active connection.

14. The method of claim 11 , wherein the first communication service function comprises at least one of a voice call function or a data session management function.

15. The method of claim 11 , wherein the second communication service function comprises a voicemail function, a video optimization function, a parental control function, a video conferencing function, or a voice conferencing function.

16. A method of dynamically adding a communication service function to a trusted connection, the method comprising:

receiving, at a first communication service function executing on a server comprising a processor, a communication during a trusted communication session on a trusted connection;

detecting, by the first communication service function, a communication service trigger in the communication;

determining a second communication service function based on the communication service trigger;

determining routing information and an operating location for the second communication service function;

providing, by the first communication service function, the routing information for the second communication service function to a controller, wherein the controller sets a session routing protocol to include the second communication service function in a communication flow for the trusted communication session;

sending the communication from the first communication service function to the second communication service function; and

processing the communication with the second communication service function, wherein responsive to the execution of the first communication service function and execution of the second communication service function, all other applications in the operating location are prevented from executing.

17. The method of claim 16 , wherein determining the routing information and the operating location for the second communication service function comprises sending a message comprising an identity of the second communication service function and an operating location of the first communication service function to a trusted network function virtualization catalog, wherein the trusted network function virtualization catalog uses a semaphore, wherein the trusted network function virtualization catalog comprises a trusted security zone, and wherein the method further comprises:

accessing the trusted network function virtualization catalog within the trusted security zone, wherein the trusted network function virtualization catalog executes on a second processor;

updating the semaphore based on the accessing;

disabling execution of all applications executing on the second processor outside of the trusted security zone while the trusted network function virtualization catalog executes within the trusted security zone;

closing the trusted network function virtualization catalog; and

releasing the trusted network function virtualization catalog in the semaphore.

18. The method of claim 16 , wherein an end-to-end trusted connection is established between the server, the controller, and a user equipment.

19. The method of claim 16 , wherein the server comprises a trusted security zone, wherein the first communication service function and the second communication service function execute within the trusted security zone, wherein all applications outside of the trusted security zone are disabled while the first communication service function and the second communication service function execute within the trusted security zone.

20. The method of claim 16 , wherein a trusted network function virtualization catalog comprises a list of executing trusted applications, an execution location of the executing trusted applications, and routing information for each executing trusted application.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: T-MOBILE INNOVATIONS LLC
Reel/Frame 055604/0001 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2017
From: MARQUARDT, RONALD R.; PACZKOWSKI, LYLE W.; RAJAGOPAL, ARUN
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 043414/0844 →
Continuity (1)
Continuation 14930146 · Nov 2, 2015
Cited By (1)
US 12,323,990