Transcript
Page 1: The Control of Media & Devices in an Internet of Things (IoT)

Steven  Posick  

Controlling  Objects  in  an  Internet  of  Things  (IoT)  

Page 2: The Control of Media & Devices in an Internet of Things (IoT)
Page 3: The Control of Media & Devices in an Internet of Things (IoT)

Switcher  

QC  Monitor  

Clock  

Graphics  Server  

Video  Servers  

Video  Rou;ng  

Tape  Deck  

Comms  

Monitoring  

Scheduling  

Page 4: The Control of Media & Devices in an Internet of Things (IoT)

•  Internet  of  Things  (IoT)  –  An  Internet  like  structure  of  uniquely  iden;fied  objects  •  What  is  an  Object?  

•  Device  –  SoLware  or  firmware  that  represents  a  physical  piece  of  hardware  

•  Service  –  A  soLware  service  (e.g.,  SOAP  and  RESTful    Web  Services,  EJB,  Corba  Object)  

•  Data  Object  –  Related  data  bundled  into  a  single  Object  or  En;ty  •  Cannot  perform  direct  ac;on,  but  can  be  acted  upon  by  services  and  devices  

•  Iden;ty  •  Iden;ty  is  the  characteris;c  of  an  Object  that  dis;nguishes  it  from  all  other  Objects  

•  Each  Object  is  uniquely  iden;fied  (e.g.,  UUID,  URI,  Fully  Qualified  Domain  Name,  Namespace)  

•  Iden;ty  does  NOT  indicate  locality  or  accessibility  (Where  an  Object  is  and  if  it  can  be  accessed)  

•  Iden;ty  does  not  describe  func;onality,  but  it  can  indirectly  indicate  func;onality    

•  The  IoT  is  a  Conceptual  extension  of  the  Internet  •  Numerous  implementa;ons,  using  many  technologies,  wired  and  wireless  

•  Internet  Protocol  may  be  used  for  transport  &  Iden;ty,  but  is  only  one  facet  of  the  IoT  

•  Numerous  wireless  protocols  have  been  developed  for  small  devices,  such  as  sensors  

Page 5: The Control of Media & Devices in an Internet of Things (IoT)

•  Basket  of  Remotes  –  Many  Objects,  how  do  we  control  them  all?  

•  Object  Discovery  –  The  Automa;c  Discovery  of  Objects  over  the  Network  •  DNS  Based  Service  Discovery  (DNS-­‐SD)  [IETF  ZeroConf  &  Apple’s  Bonjour]  

•  SMPTE  ST2071-­‐3  Media  Device  Control  -­‐  Discovery  

•  Simple  Service  Discovery  Protocol  (SSDP)  [UPnP]  

•  Proprietary  Protocols  using  Broadcast  or  Mul;cast  (Too  common,  usually  poorly  done)  

•  Object  Self  DescripJon  –  A  form  of  Introspec;on  •  Provides  a  means  by  which  an  Object  can  describe  its  Capabili;es  to  others  

•  CapabiliJes  •  Uniquely  Iden;fied  Features  

•  Most  powerful  when  defined  as  small  concise  features.  (e.g.,  Play,  Stop,  Pause,  Load,  Eject)  •  Can  be  tradi;onal  service  /  interface  defini;ons  or  exis;ng  defini;ons  

•  The  size  and  scope  of  the  Capability  depends  upon  the  need  and  what  makes  sense  

Page 6: The Control of Media & Devices in an Internet of Things (IoT)

•  Feature  Discovery  and  Object  Self-­‐DescripJon    •  Provides  a  means  by  which  Objects  can  describe  their  behavior  (Introspec;on)  

•  A  Capability  is  a  Uniquely  IdenJfied  Feature  exposed  as  an  Endpoint  

•  Most  Powerful  when  defined  as  small  concise  features    (e.g.,  Play,  Stop,  Pause,  Shuale)  •  Allows  Object  behavior  to  be  described  using  well-­‐known,  predefined  interfaces  

•  Lego™  blocks  for  Programming  (Object  defini;on,  Interface  defini;ons,  &  SOA)  •  Implementers  can  define  their  own  Capabili;es  

•  New  Capabili;es  can  be  added  sta;cally  or  dynamically  without  undesired  results  •  Without  impac;ng  the  binary  /  network  signature  of  the  Object,  preserving  interoperability  

•  Clients  work  with  CapabiliJes  they  understand  and  ignore  the  ones  they  don’t  

•  Why?  •  Tradi;onal  OOP/OOD  Objects  are  comprised  of  many  features  consolidated  into  a  single  view  

•  Object  inheritance  in  strongly  typed  OOD  environments  breaks  network  compa;bility,  changes  the  binary  /  network  signature  of  the  Object  

•  Clients  must  be  updated,  even  those  only  suppor;ng  the  original  behavior  (e.g.,  Corba,  DCOM,  JRMP)  

Page 7: The Control of Media & Devices in an Internet of Things (IoT)

Develop  to  the  Behavior,  NOT  the  Object  Type  

Page 8: The Control of Media & Devices in an Internet of Things (IoT)

•  Capability  Interface  Repository/Registry  •  DNS  for  SoVware  Interfaces  

•  Requires  Unique  Iden;ty  and  Namespace  for  each  Interface  

•  There  can  be  SDO  Registries  and  Vendor  Specific  Registries  

•  Allows  Plug  &  Play  for  Development  •  Use  Service  Discovery  to  find  devices  and  services  to  develop  for  •  Interrogate  device  or  service  for  its  Capabili;es  •  Use  Capability  Repository  to  get  programma;c  ar;facts  for  each  Capability  

•  Documenta;on  

•  WSDL,  WSDL  Equivalent,  and  /  or  Binary  Ar;facts  

•  WADL,  YAML,  Relax  NG  

Page 9: The Control of Media & Devices in an Internet of Things (IoT)

public  interface  Thermostat  {          public  enum  MODE  {  

               HEAT,  COOL,  AUTO;          }  

       public  float  getTemperature()          throws  UnsupportedOperationException;          public  void  setTemperature(float  temperature)          throws  UnsupportedOperationException;  

       public  MODE  getMode()          throws  UnsupportedOperationException;  

       public  void  setMode(MODE  mode)          throws  UnsupportedOperationException;          public  int[]  getZones()          throws  UnsupportedOperationException;          public  int  getZone()          throws  UnsupportedOperationException;  

       public  void  setZone(int  zone)          throws  UnsupportedOperationException;  

       public  String[]  getZoneNames()          throws  UnsupportedOperationException;  }  

public  interface  TemperatureSupport  {          public  float  getTemperature();  

}  public  interface  SetTemperatureSupport  {  

       public  void  setTemperature(float  temperature);  

}  public  interface  ZoneSupport  {  

       public  int[]  getZones();  

       public  int  getZone();          public  String[]  getZoneNames();  

       public  void  setZone(int  zone);  

}  public  interface  SetZoneSupport  {  

       public  void  setZoneName(String  name);  }  

public  interface  ModeSupport  {  

       public  enum  MODE  {                  HEAT,  COOL,  AUTO;  

       }  

       public  MODE  getMode();  }  

public  interface  SetModeSupport  {  

       public  void  setMode(MODE  mode);  }  

Tradi;onal   Capability-­‐based  Design  

Page 10: The Control of Media & Devices in an Internet of Things (IoT)

•  Object  Discovery  through  Query  •  Object  based  Query  Language  defined  in  SMPTE  ST2071-­‐1  &  2  

•  Objects  can  be  Queried  

•  By  the  CapabiliJes  Exposed  (Features  Implemented)  •  By  A[ributes  Assigned  to  the  Object  •  By  RelaJonships  to  other  Objects  •  By  LocaJon  •  By  Workflow  

•  Objects  can  be  Queried  over  the  network  with  a  SQL-­‐like  clause  •  Devices  •  Services  •  Media  

Page 11: The Control of Media & Devices in an Internet of Things (IoT)

•  Standard  Operators  •  NOT  –  Performs  a  Boolean  nega;on,  inver;ng  the  input  

•  OR  –  Performs  a  Boolean  comparison  and  is  TRUE  if  any  input  is  TRUE  

•  AND  –  Performs  a  Boolean  comparison  and  is  TRUE  if  all  inputs  are  TRUE  

•  EQUALS  –  Performs  an  equality  check,  TRUE  if  the  inputs  are  equal  

•  MATCHES  –  Performs  a  POSIX  Regular  Expression  string  match  (IEEE  Std.  1003.1)  

•  LESS_THAN  –  Comparison,  returning  TRUE  if  one  input  is  less  than  the  other  

•  GREATER_THAN  –  Comparison,  returning  TRUE  if  one  input  is  greater  than  the  other  

•  PAGE  –  Pagina;on,  allowing  for  the  star;ng  record  and  number  of  records  to  be  returned  

•  SORT_BY  –  Sort  by  ascending  or  descending  order,  depends  on  fields  natural  ordering  

•  Domain  Specific  Operators  •  CONTAINS  –  Mediacentric  contains,  returns  TRUE  for  media  containing  the  input  frames  

•  IMPLEMENTS  –  Capability-­‐centric,  returns  TRUE  for  objects  implemen;ng  the  Capabili;es  

 

Page 12: The Control of Media & Devices in an Internet of Things (IoT)

public class FindMedia { public static void main(String[] args) { String query = "UMN[\"type\"] == \"media_instance\" AND Name == \" + args[0] + \" "sort by(created desc) page(0,50)" MediaList media = MDCClient.searchForMedia(query); } }

public class FindDevices { public static void main(String[] args) {

String query = "implements(\”urn:smpte:ucn:media_loader_v1\", \"urn:smpte:ucn:player_v1\", " + "\"urn:smpte:ucn:acquirable_v1\", \"urn:smpte:ucn:lockable_v1\") AND Attributes[\"Room\"] == \"PCR\” " +

“sort by UDN.Namespace, UDN.Name”;

DeviceInformation[] infos = MDCClient.searchForDevices(query);

}

}

Finding  Media  within  a  System,  Network,  Facility,  or  over  the  Internet  

Finding  Devices  within  a  System,  Network,  Facility,  or  over  the  Internet  

Page 13: The Control of Media & Devices in an Internet of Things (IoT)

Internet

NAS

MAM

Online

SDI Infrastructure

WAN/DMZ

Remote

Vendor 1 Vendor 2 Vendor 3

Control LAN Archive Transcoder 1

Transcoder 2

Transcoder 3

Essence Control & Data Essence, Control, & Data

Page 14: The Control of Media & Devices in an Internet of Things (IoT)

Internet

NAS

MAM

Online

IP, Network, & SDI Infrastructure

WAN/DMZ

Remote

Vendor 1 Vendor 2 Vendor 3

Control LAN Archive Transcoder 1

Transcoder 2

Transcoder 3

Essence Control & Data Essence, Control, & Data

QoS

QoS

IoT

A Standard Wire Protocol Makes QoS Possible!

Switch

Switch

Essence

Trunks

Control

Page 15: The Control of Media & Devices in an Internet of Things (IoT)

Internet  

Hardware  AbstracJon  Layer  SMPTE  ST2071  Discovery  

Workflow  &  OrchestraJon  

Device   Service  

IoT  Standard  Capability  Interfaces  

Clients  

ST2071  Device/Service/Media  Discovery  &  Configura;on  to  Find  Internet  Services  

ST2071  Device/Service/Media  Discovery  &  Configura;on  to  Find  Device  Services  

ST2071  Device/Service/Media  Discovery  &  Configura;on  to  Find  Device  Services  

Services   Media  Repository  

Bus  

ST2071  Media  Directory  Capability  Interface  

Directory  -­‐  An  organiza;onal  unit,  or  container,  used  to  organize  folders  and  files  into  a  hierarchical  structure.  Repository  –  A  receptacle  or  place  where  things  are  deposited,  stored,  or  offered  for  sale  

Data  describing  Media  registered  or  deposited  

Represents  the  Media  and  its  organiza;on  as  it  is.  

A  window  into  the  system  

Signals  and  Sanity  check  to  register  or  deposit  Media  

Signals  

Sanity  

ConfiguraJon  &  State  Store  

Media  Directory  

Media  Directory  


Recommended