您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 研究生多媒体11_多媒体中间件系统
多媒体技术多媒体技术第十一章多媒体中间件服务系统1.概述2.多媒体系统服务体系3.MSS的对象和类4.MSS的实现5.多媒体中间件系统中的同步处理第十一章多媒体中间件服务系统1.概述1.1为什么要引入中间件Middleware:中间件。位于操作系统和应用程序之间其作用:使分布于不同地方的应用程序的各个部分能够进行互操作。无论它们在通信协议、系统体系结构、操作系统、数据库等方面有什么差别。第十一章多媒体中间件服务系统1.概述1.1为什么要引入中间件在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机最底层的东西,越底层越复杂,开发者不得不面临许多很棘手的问题,如操作系统的多样性,繁杂的网络程序设计、管理,复杂多变的网络环境,数据分散处理带来的不一致性问题、性能和效率、安全,等等。这些与用户的业务没有直接关系,但又必须解决,耗费了大量有限的时间和精力。于是,有人提出将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用软件重复使用。这一技术思想最终构成了中间件这类的软件。第十一章多媒体中间件服务系统1.概述1.1为什么要引入中间件为解决分布异构问题,人们提出了中间件(middleware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如图所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。应用硬件操作系统应用……硬件操作系统……中间件第十一章多媒体中间件服务系统1.概述1.2中间件的定义中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。第十一章多媒体中间件服务系统1.概述1.2中间件的定义中间件应具有如下的一些特点:满足大量应用的需要运行于多种硬件和OS平台支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互支持标准的协议支持标准的接口第十一章多媒体中间件服务系统1.概述1.2中间件的定义中间件的优越性:缩短应用的开发周期;节约应用的开发成本(特别是减少系统初期的建设成本);降低应用开发的失败率;保护已有的投资;简化应用集成;减少维护费用;提高应用的开发质量;保证技术进步的连续性;增强应用的生命力第十一章多媒体中间件服务系统1.概述1.3中间件的分类中间件的分类:远程过程调用(RemoteProcedureCall)面向消息的中间件(Message-OrientedMiddleware)对象请求代理(ObjectRequestBrokers)第十一章多媒体中间件服务系统1.概述1.3中间件的分类远程过程调用:一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。1.3.1远程过程调用第十一章多媒体中间件服务系统1.概述1.3中间件的分类面向消息的中间件:利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。1.3.2面向消息的中间件第十一章多媒体中间件服务系统1.概述1.3中间件的分类面向消息的中间件的主要特点:通讯程序可在不同的时间运行:程序不在网络上直接相互通话,而是间接地将消息放入消息队列,所以它们不必同时运行;对应用程序的结构没有约束;程序与网络复杂性相隔离;1.3.2面向消息的中间件第十一章多媒体中间件服务系统1.概述1.3中间件的分类随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算。对象请求代理ORB(ObjectRequestBroker)是1990年底由OMG(ObjectManagementGroup)提出的对象管理结构OMA(ObjectManagementArchitecture)中的核心组件。对象请求代理提供一个通信框架,透明地在异构的分布计算环境中传递对象请求。在OMG提出的CORBA规范中,ORB处于核心地位,定义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。1.3.3对象请求代理第十一章多媒体中间件服务系统1.概述1.3中间件的分类ORB使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可以位于本地也可以位于远程机器。ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。client对象并不知道同server对象通讯、激活或存储server对象的机制,也不必知道server对象位于何处、它是用何种语言实现的、使用什么操作系统或其他不属于对象接口的系统成分。1.3.3对象请求代理第十一章多媒体中间件服务系统1.概述1.4多媒体系统对中间件的需求多媒体系统要在分布网络环境下为用户提供各种各样的服务,就必然涉及到各种不同的系统之间的通信,涉及到异质系统之间互操作等问题。也就是说,多媒体系统的多平台、分布化的特点,带来了系统异构性,导致应用开发的复杂性。解决方法:采用中间件技术,在系统服务器与客户之间,系统功能与开发者之间,建立起一座桥梁。第十一章多媒体中间件服务系统1.概述1.4多媒体系统对中间件的需求多媒体数据的时间依赖性,大容量的数据处理需求和分布应用环境的复杂性等问题,使得其对中间件有很多新的要求。由交互多媒体协会(IMA)发起,由一些大的厂商(HP、IBM和SUN)联合提出的多媒体系统服务体系(MSS:MultimediaSystemService),就是一种定义和描述多媒体中间件系统服务的体系结构。它定义了一个在不同计算环境下象多媒体应用开发者提供服务的标准规范,使得多媒体应用能在异构的、分布的环境中运行,当然也能够满足单机系统的需要。第十一章多媒体中间件服务系统1.概述1.4多媒体系统对中间件的需求多媒体系统服务的主要目标:提供一个支持交互式多媒体应用,满足在异构和分布环境下时基媒体处理要求的多媒体系统中间件基础设施。能处理远程实况数据;能处理远程存储数据,包括动态和静态的数据;能够处理多种媒体之间的同步和时间约束;能够同时处理多种类型的媒体数据;能够允许定义新的媒体类型、新的设备和处理方法。第十一章多媒体中间件服务系统1.概述1.4多媒体系统对中间件的需求为了对远端的媒体设备和远端的媒体进行控制,多媒体系统服务体系MSS使用了两种不同的机制。1.为支持与远地对象的交互,使用了OMG的CORBA;2.为支持基于时间的与媒体无关流的形成,MSS定义了一种媒体流协议;第十一章多媒体中间件服务系统1.概述1.4多媒体系统对中间件的需求多媒体系统服务的主要功能:在操作系统和应用程序之间建立相应的中间件框架。MSS支配着底层的系统资源,通过提供一整套公共服务去支持具有多媒体处理任务的多媒体应用。第十一章多媒体中间件服务系统2.多媒体系统服务体系2.1对象框架客户虚设备流格式端口虚设备流格式端口媒体流协议注册与检索虚连接流工厂组流MSS用面向对象的方法进描述。对一个多媒体系统服务的客户来说,只有一部分对象和接口是可见的,而框架内部的大部分虚连接和与其他对象的交互对客户是不可见的。第十一章多媒体中间件服务系统MSS将处理数据的物理设备表示为一个虚设备。与它相关的对象包括:一个流对象、一个或多个格式对象,以及一个或多个端口,用来描述输入输出机制。端口对客户来说是透明的。当两个设备间通讯时,要为一个虚设备的输入端口和另一个虚设备的输出端口间建立连接,称为虚连接,它完整地把低层的传送进行了封装。2.多媒体系统服务体系2.1对象框架第十一章多媒体中间件服务系统MSS将处理数据的物理设备表示为一个虚设备。与它相关的对象包括:一个流对象、一个或多个格式对象,以及一个或多个端口,用来描述输入输出机制。端口对客户来说是透明的。当两个设备间通讯时,要为一个虚设备的输入端口和另一个虚设备的输出端口间建立连接,称为虚连接,它完整地把低层的传送进行了封装。2.多媒体系统服务体系2.1对象框架第十一章多媒体中间件服务系统流对象向客户提供了以不同形式(作为媒体传送、媒体采样、或逻辑时间)观察媒体流位置的接口。一些流对象也提供控制媒体数据流向的接口,还有一些流对象提供同步化接口。除流对象以外,虚设备还包含一个或多个端口,用于描述输入输出机制。2.多媒体系统服务体系2.1对象框架第十一章多媒体中间件服务系统组对象,为客户管理多个资源提供帮助,它把应用中设计的多个虚拟设备和虚拟连接作为一个整体来操纵。组对象中有一个流对象,客户通过它可以对整个流进行统一控制。用户也可以与虚设备和虚连接中包含的流对象直接交互。多媒体系统服务对象可以通过工厂(factory)进行实例说明。工厂给客户提供一个接口,使得客户可以在工厂创建的各种对象中进行挑选。客户也可以使用注册与检索服务来找到工厂所能提供的实例对象。2.多媒体系统服务体系2.1对象框架第十一章多媒体中间件服务系统客户如何用多媒体系统服务MSS执行一个简单的分布式多媒体的动作?例:假设是在一地点采集到麦克风的音频信息,在另一处通过扬声器再放出来。这个过程通过MSS进行操作:2.多媒体系统服务体系2.2例第十一章多媒体中间件服务系统1.客户声明和初始化MSS客户端的库;2.客户使用客户端的库函数mss:new_object()建立对麦克风基于位置的约束,并在相应的系统上创建MicrophoneDevice实例。这将透明的产生RR(注册与检索)和Factory;3.客户以相同的过程在不同的系统上创建SpeakerDevice;4.客户创建一个可以连接两个不同机器上VirtualDevice的VirtualConnection;2.多媒体系统服务体系2.2例第十一章多媒体中间件服务系统5.客户创建一个Group(组),通过发送:Group::add_resource_group()请求,把所有的VirtualResource都加入到Group中;6.客户发送一个Virtual_Resource::acquire_resource()请求得到一个可靠的连接,使得Group可以获得资源;客户发出一个VirtualResource::get_stream()为Group得到一个资源对象,启动流。2.多媒体系统服务体系2.2例第十一章多媒体中间件服务系统MSS用对象的特性来定义对象行为。其中有些特性对多媒体系统服务对象是公共的,而有些特性则对对象所属的接口类是特有的。例如,对象位置是所有MSS对象共有的。而数字音频的采样速率对DigitalAudioFormat接口来说是特有的。3.MSS的对象和类3.1MSS对象的概念第十一章多媒体中间件服务系统与对象有关的概念:能力、约束、事件。对象的能力描述了对象特性的值。用“键字/值”二元组来表示。键字表示所指明的特性,值表示不同数据类型的并集。客户一般都希望能够得到满足一定需求的对象。一个客户可能对带有特定能力的AudioDevice感兴趣,例如编码时是采用A律还是u律等,都通过指明特定能力来说明。例如,可采用对InputEncodingK的特性赋值(例如“=A”)的方法来表达这个需求。3.MSS的对象和类3.1MSS对象的概念第十一章多媒体中间件服务系统与对象有关的概念:能力、约束、事件。约束,是具有“键字/值/操作符”的三元组,键字表示所关心的特性,值和操作符限定一定的特性值的范围。操作符包括:equal、greater_than、includes等。事件:事件是在对象之间的消息,由发送者来定义其特性。客
本文标题:研究生多媒体11_多媒体中间件系统
链接地址:https://www.777doc.com/doc-1482507 .html