`
v5browser
  • 浏览: 1137151 次
社区版块
存档分类
最新评论

OMA Download

 
阅读更多

总结:OMA Download与Java MIDlet Download非常相似,部分细节根据特性需求进行了扩展。

OMA Download提供了一种从web服务器下在媒体对象的方式。
OMA Download主要包含两大块:媒体对象的下载;在移动终端上根据版权对象播放媒体对象。
OMA Download是建立在HTTP Download和MIDlet Download之上的。
OMA Download与MIDlet Download的主要区别在于,MIDlet Download主要是为下载JAVA应用而设计的,而OMA Download的应用范围更加广泛,可以用来下载任何类型的媒体对象、彩铃、桌面图片等。
OMA Download扩展了HTTP Download的流程,增加了两个额外的步骤:第一,在下载媒体对象之前,需要事先下载一个download descriptor,类似于描述符的文件,该文件包含了许多与需要下载的媒体对象相关的信息;第二,媒体对象下载完毕之后,移动终端需要发送一个状态报告至服务器端,便于服务器端监测服务质量和收费。
在OMA Download系统中,媒体对象被看作一个文件,通常在web服务器上用URL标识。
标识媒体文件的download descriptor通常包含:媒体对象的Metadata;下载媒体对象的URL;发送状态报告的URL。通过下图,可以分清各个元素之间的关系。

看左框Download,其中download descriptor和status report是1对0/1的关系,如果download descriptor要求发送status report,并且包含了对应的URL,则需要发送status report,否则不发送。
中间小框图—媒体对象,0个或者多个download descriptor可以用来描述1个媒体对象;0个或者多个rights object可以用来规定媒体对象的使用;1个媒体对象只能对应1个DCF。
看右框DRM,1个DRM Message对应1个DCF和1个rights object.
参考下图可以弄清楚各个网络实体之间的关系。

用户可以通过presentation server查看有哪些媒体对象可供下载,选择了喜欢的文件后,交由download agent负责从download server上下载媒体对象,注意,下载的媒体对象一定是事先经过DRM packager打包的,同时在下载完毕后,根据download descriptor来决定是否发送status report。当以上步骤完成后,媒体对象就交由DRM Agent来控制了。
OMA Download标准文档中给出了3个user case:
HTTP Download
1.客户向URL发起一个GET请求,例如点击web上的一个链接;
2.客户端发送一个GET至服务器,并等待响应;
3.服务器根据请求返回数据给客户端;
4.客户端接收服务器返回的数据,并根据HTTP头来进行相应的处理;如果客户端不支持HTTP头中Content-type所指示的媒体对象类型,客户端可以关闭连接,服务器发现超时;如果客户端判断HTTP头中Content-length字段,发现无法保存
Combined Descriptor and Media Object
客户端发送GET请求后,服务器将download descriptor和媒体对象同时发送至客户端,因此,客户端无法对下载媒体对象进行确认。
1.客户向URL发起一个GET请求,例如点击web上的一个链接;
2.客户端发送一个GET至服务器,并等待响应;
3.服务器将媒体对象和download descriptor打包,作为服务器响应,返回给客户端;
4.根据download descriptor的指示来决定是否发送status report。
Separate Descriptor and Media Object
1.客户向URL发起一个GET请求,例如点击web上的一个链接;
2.客户端发送一个GET至服务器,并等待响应;
3.服务器将download descriptor作为响应,返回给客户端;
4.客户端接收到download descriptor并解析,提示用户是否下载;
5.客户端确认下载,获取对应媒体对象。


转自http://blog.csdn.net/jiyucn/archive/2007/07/06/1680621.aspx
参考:
http://blog.csdn.net/jiyucn/archive/2007/06/29/1671656.aspx

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics