IP Library Granted Patent US 8,671,345
Granted Patent B2
US 8,671,345 · App. 13/070,758 · Granted Mar 11, 2014

Workflow-based session management

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,671,345
App. No.
13/070,758
Granted
Mar 11, 2014
Kind
B2
Abstract

Techniques disclosed herein include systems and methods that provide a workflow-based session manager or workflow engine for a content delivery system, such as for delivering video-on-demand, streaming audio, streaming video, etc. Such techniques increase velocity and flexibility of deploying new features and services in a video delivery system. Techniques include a session management model provides a service-oriented and workflow-based approach. As a service-oriented approach, each functional session management step can be represented as a business service. As a workflow-based solution, a sequence of steps to be performed can be defined as data, rather than being hard-coded inside an application. Defined as data, steps (nodes, tasks) can then be created and changed using a graphical editor. New services can be added by defining actions for the new service, and adding a node to a given session management workflow sequence. Techniques include a workflow engine that initiates session management in realtime.

Claims (50)

1. A computer-implemented method of session management for controlling video delivery to a client device over a network, the computer-implemented method comprising:

receiving, at a server, a request from a client device to access video content;

accessing a data file that defines a workflow sequence to execute via a workflow engine, the workflow sequence defining multiple nodes, each node identifying at least one session management service to execute, wherein at least one node identifies data passed between given session management services, and wherein a new session management service can be added to the workflow sequence without interrupting service to the client device;

loading the workflow sequence and multiple nodes into a shared memory;

executing, via the workflow engine, session management services corresponding to the multiple nodes according to the workflow sequence; and

transmitting instructions to a remote headend to transmit the video content to the client device.

2. The computer-implemented method of claim 1 , wherein loading the workflow sequence and multiple nodes into a shared memory includes loading workflow definitions at startup of a given session and caching the workflow definitions such that the workflow engine processes the nodes without persisiting data generated from processing the multiple nodes until after transmitting the instructions to the remote headend.

3. The computer-implemented method of claim 2 , further comprising determining a next node to execute within the workflow sequence by examining cached workflow definitions.

4. The computer-implemented method of claim 2 , further comprising:

wherein executing session management services includes synchronously processing a given session management service by each corresponding node; and

wherein the workflow definitions define data passed from each session management service.

5. The computer-implemented method of claim 1 , further comprising:

wherein receiving the request to access video content includes receiving a request to access video content from a video-on-demand system; and

wherein transmitting instructions to the remote headend includes transmitting instructions to stream the video content to the client device.

6. The computer-implemented method of claim 5 , wherein the workflow engine processes the workflow sequence of nodes, executed prior to transmitting instructions to the remote headend, in less than about 500 milliseconds.

7. The computer-implemented method of claim 1 , wherein executing session management services includes executing at least one new session management service without updating the workflow engine.

8. A system for providing session management for controlling video delivery to a client device over a network, the system comprising:

a processor; and

a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the system to perform the operations of:

receiving, at a server, a request from a client device to access video content;

accessing a data file that defines a workflow sequence to execute via a workflow engine, the workflow sequence defining multiple nodes, each node identifying at least one session management service to execute, wherein at least one node identifies data passed between given session management services, and wherein a new session management service can be added to the workflow sequence without interrupting service to the client device;

loading the workflow sequence and multiple nodes into a shared memory;

executing, via the workflow engine, session management services corresponding to the multiple nodes according to the workflow sequence; and

transmitting instructions to a remote headend to transmit the video content to the client device.

9. The system of claim 8 , wherein loading the workflow sequence and multiple nodes into a shared memory includes loading workflow definitions at startup of a given session and caching the workflow definitions such that the workflow engine processes the nodes without persisting data generated from processing the multiple nodes until after transmitting the instructions to the remote headend.

10. The system of claim 9 , further comprising determining a next node to execute within the workflow sequence by examining cached workflow definitions.

11. The system of claim 9 , further comprising:

wherein executing session management services includes synchronously processing a given session management service by each corresponding node; and

wherein the workflow definitions define data passed from each session management service.

12. The system of claim 8 , further comprising:

wherein receiving the request to access video content includes receiving a request to access video content from a video-on-demand system; and

wherein transmitting instructions to the remote headend includes transmitting instructions to stream the video content to the client device.

13. The system of claim 12 , wherein the workflow engine processes the workflow sequence of nodes, executed prior to transmitting instructions to the remote headend, in less than about 500 milliseconds.

14. The system of claim 8 , wherein executing session management services includes executing at least one new session management service without updating the workflow engine.

15. One or more non-transitory media that includes instructions for execution and when executed by a processor is operable to perform operations, comprising:

receiving, at a server, a request from a client device to access video content;

accessing a data file that defines a workflow sequence to execute via a workflow engine, the workflow sequence defining multiple nodes, each node identifying at least one session management service to execute, wherein at least one node identifies data passed between given session management services, and wherein a new session management service can be added to the workflow sequence without interrupting service to the client device;

loading the workflow sequence and multiple nodes into a shared memory;

executing, via the workflow engine, session management services corresponding to the multiple nodes according to the workflow sequence; and

transmitting instructions to a remote headend to transmit the video content to the client device.

16. The media of claim 15 , wherein loading the workflow sequence and multiple nodes into a shared memory includes loading workflow definitions at startup of a given session and caching the workflow definitions such that the workflow engine processes the nodes without persisting data generated from processing the multiple nodes until after transmitting the instructions to the remote headend.

17. The media of claim 16 , further comprising determining a next node to execute within the workflow sequence by examining cached workflow definitions.

18. The media of claim 16 , further comprising:

wherein executing session management services includes synchronously processing a given session management service by each corresponding node; and

wherein the workflow definitions define data passed from each session management service.

19. The media of claim 15 , further comprising:

wherein receiving the request to access video content includes receiving a request to access video content from a video-on-demand system; and

wherein transmitting instructions to the remote headend includes transmitting instructions to stream the video content to the client device.

20. The media of claim 19 , wherein the workflow engine processes the workflow sequence of nodes, executed prior to transmitting instructions to the remote headend, in less than about 500 milliseconds.

21. The media of claim 15 , wherein executing session management services includes executing at least one new session management service without updating the workflow engine.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE 26 APPLICATION NUMBERS ERRONEOUSLY RECORDED AGAINST ON THE ATTACHED LIST PREVIOUSLY RECORDED AT REEL: 048513 FRAME: 0297. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 18, 2021
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 056623/0708 →
CHANGE OF NAME Recorded Mar 6, 2019
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 048513/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: BEAUMARIS NETWORKS LLC; CISCO SYSTEMS INTERNATIONAL S.A.R.L.; CISCO TECHNOLOGY, INC.; CISCO VIDEO TECHNOLOGIES FRANCE
To: NDS LIMITED
Reel/Frame 047420/0600 →
CHANGE OF NAME Recorded Apr 18, 2018
From: BEAUMARIS NETWORKS, INC.
To: BEAUMARIS NETWORKS LLC
Reel/Frame 045971/0397 →
RELEASE OF SECURITY INTEREST Recorded Dec 1, 2011
From: CISCO SYSTEMS, INC.
To: BEAUMARIS NETWORKS, INC.
Reel/Frame 027314/0454 →
SECURITY AGREEMENT Recorded Oct 17, 2011
From: BEAUMARIS NETWORKS, INC.
To: CISCO SYSTEMS, INC.
Reel/Frame 027074/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2011
From: ERICKSON, THOMAS E., JR.; DEWAR, DONALD ADRIAN, JR.; CLEMSON, RICHARD CONRAD; RAMPULLA, ANDREW JAMES; LI, CHANGGENG
To: BEAUMARIS NETWORKS INC.
Reel/Frame 026014/0947 →