Media Object Server (MOSä
Protocol v2.8

MOS Protocol version 2.8
Document Revision 5.10

Revision Date: Tuesday July 29, 2003

Copyright Notice

Copyright 2000, 2001, 2002, 2003, All Rights Reserved.

License

This document is provided to You under the conditions outlined below.  These conditions are designed to guarantee the integrity of the MOSä Protocol and to ensure the compatibility of solutions implementing the MOSä Protocol.  Use or implementation of the MOSä Protocol as described herein, may only occur if You agree to these conditions.  Failure to follow these conditions shall void this license.  “You” shall mean you as an individual, or, where appropriate, the company or other entity on whose behalf you are using this document, and includes any entity which controls, is controlled by, or is under common control with You.

 

You must agree to the following in order to use the MOSä Protocol:

 

  1. You must use and implement all  messages defined by the MOS protocol MOS 2.8 Profiles  listed below per the profiles supported by your device.
  2. You may not modify message names, order of defined tags within a message, tag structure, defined values, standards and constants.
  3. You may not process messages in a means that is dependent on non-standard messages, tags or structures.
  4. You may add additional tags to messages, but the modified messages must contain the defined minimum required tags for each message, in the order defined by this document.
  5. Implementations of the MOS Protocol following the above guidelines may claim to be “MOSä Compatible” or “MOSä v2.8 Compatible”
  6. If You add additional tags, it is strongly recommended these be included and encapsulated only within the provided <mosExternalMetadata> structure and not inserted into the pre-defined body of the message.
  7. It is inappropriate to make representations of MOS Compatibility unless you have followed these guidelines.

Abstract

MOS is a five year old, evolving protocol for communications between Newsroom Computer Systems (NCS) and Media Object Servers (MOS) such as Video Servers, Audio Servers, Still Stores, and Character Generators.  The MOS Protocol development is supported through cooperative collaboration among equipment vendors, software vendors and end users.

Status of this document

This document reflects changes to the MOS protocol discussed during the MOS meetings at NAB 2003 and IBC 2002 and is referred to as MOS v2.8.  This is the final draft.  Changes are summarized here.

How to use this document

The document contains bookmarks and hyperlinks.  The Table of Contents and other areas contain underlined phrases.  Depending on the viewer application used, clicking or double clicking on underlined links will take the viewer to the relevant portion of the document.

 

Please make special note of the Profiles section which provides context for the use of command messages which are later defined in detail.

 

Examples of each MOS message and data structure are included.  These messages may be used for testing.  Developers are encouraged to cut these messages from the document, change the value of ID tags as appropriate, and paste the modified messages into validation tools.  Other than these example messages, validation tools are not provided by the MOS Group.

 

 

 


Media Object Server Protocol v2.8

Table of Contents

 

1.      Introduction

 

 

2.       MOS Profiles

 

2.1.   Profile 0 – Basic Communication

 

2.2.  Profile 1 -  Basic Object Based Workflow

 

2.3.  Profile 2 – Basic Running Order / Content List Workflow

 

2.4.  Profile 3 – Advanced Object Based Workflow

 

2.5.  Profile 4 – Advanced RO/Content List Workflow

 

2.6.  Profile 5 – Item Control

 

2.7.  Profile 6 – MOS Redirection

 

 

3.      Media Object Server Protocol Message Definition

 

 

“mos” (Media Object Server) family of messages

 

3.1.     Basic Object Communication

3.1.1.     mosAck - Acknowledge MOS Object Description

3.1.2.     mosObj - MOS Object Description

3.1.3.     mosReqObj - Request Object Description

 

3.2.     Object Resynchronization / Rediscovery

3.2.1.     mosReqAll - Request All Object Data from MOS

3.2.2.     mosListAll - Listing of All Object Data from MOS

 

3.3.     Object and Item Management

3.3.1.     mosObjCreate – Mos Object Create

3.3.2.     mosItemReplace – Replace an Item Reference in an NCS Story with updated Item sent from the MOS

 


“ro” (Running Order) family of messages

 

3.4.     ro  Playlist Construction

3.4.1.     roAck - Acknowledge Running Order

3.4.2.     roCreate – Create Running Order

3.4.3.     roReplace - Replace Running Order

3.4.4.     roMetadataReplace – Replace the metadata associated with a RO Playlist

3.4.5.     roDelete - Delete Running Order

 

3.5.     ro Synchronization, Discovery & Status

3.5.1.     roReq - Request Running Order

3.5.2.     roList - List Running Order

3.5.3.     roReqAll - Request All Running Order Descriptions

3.5.4.     roListAll - List All Running Order Descriptions

3.5.5.     roStat - Status of a MOS Running Order

3.5.6.     roReadyToAir - Identify a Running Order as Ready to Air

 

3.6.     ro Story and Item Sequence Modification

 

NOTE: The following messages are included only for backwards compatibility with MOS v2.6 and have been replaced by 3.6.12 roElementAction in MOS version 2.8.  These messages will be dropped from future versions of the Protocol.

 

3.6.1.                 roStoryAppend - Append Stories to Running Order

3.6.2.                 roStoryInsert - Insert Stories in Running Order

3.6.3.                 roStoryReplace - Replace Story with Another in a Running Order

3.6.4.                 roStoryMove – Move a Story to a specific location in a Running Order

3.6.5.                 roStorySwap - Swap Positions of Stories in Running Order

3.6.6.                 roStoryDelete - Delete Stories from Running Order

3.6.7.                 roStoryMoveMultiple – Move one or more stories to a new position in the playlist

3.6.8.                 roItemInsert – Insert Items in Story

3.6.9.                 roItemReplace – Replace an Item with one or more Items in a Story

3.6.10.roItemMoveMultiple – Move one or more Items to a specified position within a Story

3.6.11.roItemDelete – Delete Items in Story

 

 

3.6.12.roElementAction – Performs specific Action on a Running Order  

 

 

3.7.     ro Control and Status feedback

 

3.7.1.     roItemStat - Status of a Single Item in a MOS Running Order

3.7.2.     roItemCue – Notification of an Item Event

3.7.3.     roCtrl – Running Order Control

 

3.8.     Metadata Export

3.8.1.     roStorySend – Sends story information, including body, from Running Order

 

 

4.      Other messages and data structures

 

4.1.     Other messages and data structures

4.1.1.     heartbeat - Connection Confidence Indicator

4.1.2.     reqMachInfo - Request Machine Information

4.1.3.     listMachInfo - Machine Description List

4.1.4.     mosExternalMetadata – Method for including and transporting Metadata defined external to MOS

4.1.5.      mosItemReference – Metadata block transferred by ActiveX Controls

 

5.      ActiveX Control Specification

 

5.1.  Methods, Events & Data Types

 

5.2.  Behavior

 

5.3.  ActiveX Communication Messages

5.3.1.                 ncsAck

5.3.2.                 ncsReqAppInfo

5.3.3.                 ncsAppInfo

5.3.4.                 ncsReqAppMode

5.3.5.                 ncsStoryRequest

5.3.6.                 ncsItemRequest

5.3.7.                 roStorySend

5.3.8.                 ncsItem

5.3.9.                 mosItemReplace

5.3.10.ActiveX Specific Fields

 

 

6.       Field Descriptions

 

 

7.      Recent Changes

 

7.1.  Changes from MOS version 2.6 to 2.8

7.2.  Changes from MOS version 2.5 to 2.6 WD-2001-06-06

7.3.  Changes from MOS version 2.0 to 2.5 WD-2000-08-01

7.4.  Changes for MOS 2.0 WD-1999-05-12

7.5.  Changes from MOS version 1.52 to 2.0 WD-1999-03-17

 

 

8.      MOS 2.8 DTD

 

9.      References and Resources

 

9.1.  MOS Protocol Web Page

9.2.  XML FAQ

9.3.  Recommended Reading

9.4.  XML Web Sites

 


1. Introduction

This document reflects changes to the MOS protocol discussed during the MOS Working Group meetings at NAB 2003 and IBC 2002.

 

 

The following new section has been added:

 

This document now contains standard descriptions of the minimum functional implementation of the MOS Protocol. These descriptions are called “Profiles.”   Seven Profiles are defined:

 

Profile 0 – Basic Communications

Profile 1 – Basic Object Based Workflow

Profile 2 – Basic Running Order/Content List Workflow

Profile 3 – Advanced Object Based Workflow

Profile 4 – Advanced  RO/Content List Workflow

Profile 5 – Item Control

Profile 6 – MOS Redirection

 

Vendors wishing to claim MOS compatibility must fully support, at a minimum, Profile 0 and at least one other Profile.

 

 

The following command messages have been added:

 

1)     A single preferred command message, roElementAction, is now available for manipulation of story and item sequences.  This command message can effectively replace all existing use of roStory and roItem commands.

 

2)     Five additional commands were added as alternates to roElementAction to ease transition and provide backward compatibility.  These commands are allowed in MOS v2.8 but will be phased out at some point in the future

 

a.      roItemInsert

b.      roItemReplace

c.      roItemMoveMultiple

d.      roItemDelete

e.      roStoryMoveMultiple – allows multiple stories to be moved in a single command.

 

Item level commands are analogous to the story-level commands with similar names.

 

The item-level Append and Swap commands can be performed by using roItemInsert and roItemMoveMultiple, respectively, and provide no extra performance gain. Hence roItemAppend and roItemSwap are not needed.

 

Note: these commands are used to manage items within a single story; these cannot be used to copy or move items between stories. 

 

 

The following command messages have been changed:

 

1)     mosReqAll - command has reversed the meaning of the <pause> tag, so that a pause value greater than zero means that individual mosObj messages are sent by the MOS. A pause value of zero means that a single mosListAll message is sent by the MOS.

 

2)     mosListAll - command now contains <mosObj> tags, instead of all the object fields appearing as direct tags inside <mosListAll>.

 

3)     roListAll - command now contains <ro> tags, instead of all the ro fields appearing as direct tags inside roListAll.

 

4)     listMachInfo - command contains additional tags to define the MOS profiles supported by the MOS, and optional ActiveX configuration information.

 

A reminder:  MOS Protocol v2.8 compatible equipment will ign