# US 2014/0157127 A1 · Workflow-based session management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0157127 A1
- Document ID: US20140157127A1
- Status: Published application
- Kind: A1
- Application number: 14/175,043
- Filed: 2014-02-07
- Published: 2014-06-05
- Earliest claimed: 2010-03-24
- Assignees: Beaumaris Networks Inc.
- Applicants: Beaumaris Networks Inc.
- Inventors: Thomas E. Erickson, JR.; Donald Adrian Dewar, JR.; Richard Conrad Clemson; Andrew James Rampulla; Changgeng Li
- Web page: https://patentgrep.com/patent/US20140157127A1

## CPC

- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- G06Q 10/06: Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- H04N 21/2225: Local VOD servers
- H04N 21/232: Content retrieval operation {locally} within server, e.g. reading video streams from disk arrays {(storage management G06F3/0604; details of querying and searching of video data from a database G06F16/739)}
- H04N 21/2393: {involving handling client requests (scheduling or organising the servicing of application requests H04L67/60)}
- H04N 21/241: Operating system [OS] processes, e.g. server setup
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## 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

### Claim at position 1

-28. (canceled)

### Claim 29

A method comprising:
receiving input, via a user interface, that specifies a sequence of nodes for a workflow engine to execute;
generating a workflow data file that defines the sequence of nodes for the workflow engine to execute; and
creating a session manager that, when executed, controls delivery of content to client devices via the workflow engine, the workflow engine executing session management services according to the defined sequence of nodes from the workflow data file, wherein a new session management service can be added to the sequence of nodes for the workflow engine to execute without interrupting service to a client device.

### Claim 30 (depends on 29)

The method of claim 29, further comprising:
receiving input, via the user interface, that selects a set of nodes, each node being a data file identifying at least one session management service for a session manager to execute via the workflow engine.

### Claim 31 (depends on 29)

The method of claim 29, wherein receiving input that specifies the sequence of nodes includes receiving input, via a graphical editor, that specifies a graphical layout of icons representing the nodes, the graphical layout specifying a sequence of connected nodes, wherein the workflow data file is generated based on the graphical layout of icons representing the nodes.

### Claim 32 (depends on 31)

The method of claim 31, further comprising:
receiving input that modifies the graphical layout of icons; and
updating workflow definitions in the workflow data file.

### Claim 33 (depends on 29)

The method of claim 29, wherein creating a session manager that controls delivery of content to client devices includes creating a session manager that controls delivery of video content to client devices requesting the video content as a video-on-demand service.

### Claim 34 (depends on 29)

The method of claim 29, further comprising:
defining a set of services as data files, wherein the defining includes defining at least one service that authorizes a requesting client device to receive video content

### Claim 35 (depends on 29)

The method of claim 29, wherein the session manager, when executed, loads definitions of workflows at startup and caches the definitions of workflows until completion of a given session, such that a given workflow of nodes is executed by the workflow engine without storing node state information in non-volatile storage until after initiation of content delivery to a given client.

### Claim 36 (depends on 29)

The method of claim 29, further comprising:
defining a set of nodes as data files, wherein business services are represented as nodes, and wherein execution of the sequence of nodes for the workflow engine to execute defined in the workflow data file includes execution of a series of business services to execute prior to delivery of video content.

### Claim 37

A system for developing a session manager for controlling content delivery to a client device, 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 input, via a user interface, that specifies a workflow sequence, wherein the workflow sequence includes a sequence of nodes for a workflow engine to execute;
generating a workflow data file that defines the workflow sequence; and
creating a session manager that, when executed, controls delivery of content to client devices via the workflow engine, the workflow engine executing session management services according to the defined sequence of nodes from the workflow data file, wherein a new session management service can be added to the workflow sequence without interrupting service to the client device.

### Claim 38 (depends on 37)

The system claim 37, further comprising:
receiving input, via the user interface, that selects a set of nodes, each node being a data file identifying at least one session management service for a session manager to execute via the workflow engine.

### Claim 39 (depends on 37)

The system of claim 37, further comprising:
loading the workflow sequence and multiple nodes into a shared memory, wherein the loading 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.

### Claim 40 (depends on 39)

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

### Claim 41 (depends on 39)

The system of claim 39, 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.

### Claim 42 (depends on 37)

The system of claim 37, further comprising:
receiving a request to access video content from a video-on-demand system; and
transmitting instructions to a remote headend to stream the video content to the client device.

### Claim 43 (depends on 37)

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

### Claim 44

A method for developing a session manager for management of a content delivery system for delivering content to end-user devices, the method comprising:
defining a set of nodes as data files, each node identifying at least one service to be performed using the session manager;
defining a workflow processing order as a workflow data file, the workflow processing order indicating an execution sequence of the set of nodes to carry out session management of the content delivery system; and
generating a session manager that controls delivery of content to client devices over a network, the session manager, when executed, uses a workflow engine that provides real-time execution of the set of nodes according to the workflow processing order defined in the workflow data file, wherein a new session management service can be added to the workflow sequence without interrupting service to the client device.

### Claim 45 (depends on 44)

The method of claim 44, further comprising:
defining a set of services as data files, each service identifying a set of actions referencing functionality that, when executed, provides session management processing corresponding to a respective service.

### Claim 46 (depends on 44)

The method of claim 44, wherein generating a session manager that controls delivery of content to client devices includes generating a session manager that controls delivery of video content to client devices requesting the video content as a video-on-demand service and wherein defining the set of services as data files includes defining at least one service that authorizes a requesting client device to receive video content.

### Claim 47 (depends on 44)

The method of claim 44, wherein each node identifying at least one service to be performed includes each node creating a mapping to at least one data file of a corresponding service, the data file of the corresponding service identifying actions that the workflow engine invokes prior to processing a subsequent node in the execution sequence.

### Claim 48 (depends on 44)

The method of claim 44, wherein the session manager, when executed, loads definitions of workflows at startup and caches the definitions of workflows until completion of a given session, such that a given workflow of nodes is executed by the workflow engine without storing node state information in non-volatile storage until after initiation of content delivery to a given client.
