用于重新激活至少一个mtp兼容设备的方法及主机的制作方法

文档序号:7710280阅读:133来源:国知局

专利名称::用于重新激活至少一个mtp兼容设备的方法及主机的制作方法
技术领域
:本发明涉及微软公司的媒体传输协议(MediaTransferProtocol,MTP),尤其涉及发生不可恢复的错误时重新激活(reactivating)至少一个MTP兼容(MTP-compatible)设备的方法及主机(host)。
背景技术
:如微软公司所称,MTP是一种用于智能存储设备的协议,其基于图片传输协议(PictureTransferProtocol,PTP),为人们所熟知并且与PTP兼容。根据关于微软公司发布于因特网上的MTP实施细节的公共信息,MTP可使能(enable)以下内容基于元数据的(metadata-based)计数(enumeration);对象传输;命令与控制;以及事件引发(eventing)。另外,可优化MTP以用于超大存储(verylargestorage);多功能设备;高功率发起方(initiators)以及低功率响应方(responders)。并_M.,MTP^WMDRM10-PD(WindowsMediaDRM10forportabledevices)L^l^PlaysForSure中的关键部分。关于WMDRM10-PD以及PlaysForSure,请参见由微软公司所发布的规范以获取相关信息。为了方便读者,进一步列出根据公共信息引用的一些MTP基础如下。MTP为一种使用发起方-响应方(initiator-responder)模型的二进制协议。举例而言,发起方发起而响应方必须响应,其中发起方构建响应内容(content)的模型。另外,MTP是传输独立的(transport-ind印endent)。举例而言,MTP可通过通用串行总线(UniversalSerialBus,USB)或IP实现。此外,MTP是多会话感知的(multi-sessionaware),其中设备UI为一会话(session)。而且,MTP是可扩展的。如上述公共信息所引用的,揭露设备内容作为对象,这些对象由基于会话(session-based)的32位对象句柄(handle)识别。并且,通过设备属性(properties)来描述设备,其中提供描述(descriptions)和控件(control)。另外,通过对象属性来描述对象,其中提供描述与约束(constraint)。而且,存在设备发起的(device-initiated)事件,其中提供多会话支持。详情请参考微软公司发布的MTP规范。根据现有技术,大多服从MTP规范的传统设备仅可支持单一的会话身份(IDentity,ID)。因此,从传统设备连接到传统主机的时刻起到传统设备断开与传统主机连接的时刻为止,这期间传统主机对于每一传统设备仅可开启一个会话。在最糟糕的情况中,当不可恢复的错误发生时,由于已经存在一开启的会话而且没有更多的可用会话ID,传统主机无法通过简单发送一硬件重置信号至传统设备来重新激活传统设备。所以,根据现有技术,断开传统设备与传统主机的连接,然后重新连接传统设备与传统主机是该问题唯一的解决方法,这令终端用户非常不方便。
发明内容本发明的目的之一在于提供一种用于重新激活至少一个MTP兼容设备的方法及其主机,解决由于MTP的严格规范导致的死锁(deadlock)问题以及解决缺少更多的可用会话ID的情况。根据本发明的一个实施例,提供一种用于重新激活至少一个MTP兼容设备的方法。所述方法包含暂时储存实施于所述MTP兼容设备上的最近操作的事务处理ID;以及当所述MTP兼容设备的不可恢复错误发生时,利用所述事务处理ID与所述MTP兼容设备进行选择性通信。根据本发明的一个实施例,提供一种用于重新激活至少一个MTP兼容设备的主机。所述主机包含存储单元,暂时存储实施于所述MTP兼容设备上的最近操作的事务处理ID;以及处理电路,当所述MTP兼容设备的不可恢复错误发生时,所述处理电路利用所述事务处理ID与所述MTP兼容设备进行选择性通信。与现有技术相比,本发明的主机在MTP兼容设备的不可恢复错误发生之前保存实施于MTP兼容设备上的最近操作的事务处理ID,而可以利用事务处理ID来避免上文述及的死锁问题,藉此提供给终端用户更加舒适的体验。图1是根据本发明的一个实施例的主机100的示意图。图2是根据本发明的不同实施例的方法900的流程图。图3根据本发明第一实施例显示的是图2中所示方法900的详细工作流900-1的示意图。图4根据本发明第二实施例显示的是图2中所示方法900的详细工作流900-2的示意图。具体实施例方式在说明书及前述的权利要求当中使用了某些词汇来指称特定的元件。所属领域中普通技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及前述的权利要求并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及前述的权利要求当中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表该第一装置可直接电气连接于该第二装置,或透过其它装置或连接手段间接地电气连接至该第二装置请参考图1。图1是根据本发明的一个实施例的主机100的示意图,其中,主机100用于当发生不可恢复的错误时重新激活至少一个MTP兼容设备10。在本实施例中,MTP兼容设备10可通过主机100的通信端口100P(如USB端口)连接至主机100,此仅作为例举说明的目的,而非用以限制本发明。根据本发明的一种变形,通信端口100P可为MTP规范中建议的其他端口。如图1中所示,主机100包含存储单元110与处理电路120。在本实施例中,存储单元110可为寄存器(register),此仅作为例举说明的目的,而非用以限制本发明。根据本实施例的一种变形,存储单元110可为如随机存储器(RandomAccessMemory,RAM)的存储在本实施例中,处理电路120可实现为控制器,执行如硬件代码的程序代码,此仅作为例举说明的目的,而非用以限制本发明。根据本实施例的一种变形,处理电路120可实现为微处理器(Micro-ProcessingUnit,MPU),执行如从非挥发性(Non-Volatile,NV)存储器读取得到的固件代码的程序代码。根据本实施例的另一种变形,处理电路120可实现为中央处理器(CentralProcessingUnit,CPU),执行如软件代码的程序代码。根据一个实施例,存储单元110暂时存储实施于MTP兼容设备10上的最近操作的事务处理(transaction)ID。此外,当MTP兼容设备10的不可恢复错误发生时,处理电路120通过事务处理ID与MTP兼容设备10进行选择性通信。请注意,根据现有技术,当不可恢复的错误发生时,由于已经存在一开启的会话而且没有更多的可用会话ID,传统主机无法通过简单发送一硬件重置信号至传统设备来重新激活传统设备。然而,根据本实施例,当MTP兼容设备10的不可恢复错误发生时,主机100的处理电路120能够利用事务处理ID与MTP兼容设备10选择性通信,藉此解决由于MTP的严格规范导致的死锁问题以及解决缺少更多的可用会话ID的情况。因此,不再需要断开MTP兼容设备10与主机100的连接,然后再重新连接MTP兼容设备10与主机100。因此,当终端用户使用MTP兼容设备10与主机100时,本发明提供给终端用户更加舒适的体验。参考图2进一步描述主机100的详细操作。图2是根据本发明的不同实施例的方法900的流程图,方法900用于当发生不可恢复的错误时重新激活至少一个MTP兼容设备。方法900可应用于上述的主机100,并且可通过利用上述主机100实现。方法900描述如下。在步骤910中,存储单元110暂时储存实施于MTP兼容设备10之上的最近操作的事务处理ID。根据本实施例,只要当处理电路120于MTP兼容设备10上实施特定操作时,处理电路120就会发送所述特定操作的事务处理ID至存储单元110。所以,存储单元110总会保存实施于MTP兼容设备10之上的最近操作的事务处理ID。在步骤930中,当MTP兼容设备10的不可恢复错误发生时,处理电路120利用事务处理ID(S卩,实施于MTP兼容设备10之上的最近操作的事务处理ID)与MTP兼容设备10进行选择性通信。举例而言,当MTP兼容设备10的不可恢复错误发生时,处理电路120利用事务处理ID选择性关闭已开启的会话,而为MTP兼容设备10开启新的会话。在另一个例子中,当MTP兼容设备10的不可恢复错误发生时,处理电路120利用事务处理ID选择性实施在MTP兼容设备10上的下一个操作,其中所述下一个操作可为预定(scheduled)在实施于MTP兼容设备10之上的最近操作结束之后实施的操作。图3根据本发明第一实施例显示的是图2中所示方法900的详细工作流900_1的示意图。其中,本实施例的步骤910-1对应于上述步骤910,而本实施例的步骤930-1对应于上述步骤930。在步骤902中,处理电路120开启会话。更具体地,当用户将MTP兼容设备10连接到主机100时,处理电路120为MTP兼容设备10开启会话。在步骤910-1中,处理电路120实施至少一个操作并且保存最近操作的事务处理ID。举例而言,处理电路120通过发送命令至MTP兼容设备10来实施MTP兼容设备10上的一操作,并且通过暂时储存所述最近操作的事务处理ID至存储单元110中来保存所述最近操作的事务处理ID。在步骤912中,处理电路120检查是否发生不可恢复的错误。根据本实施例,当MTP兼容设备10的不可恢复错误发生时,进入步骤914;否则重新进入步骤910-1。在步骤914中,处理电路120发送硬件重置信号以重置MTP兼容设备10并且尝试为MTP兼容设备10开启新的会话。在步骤916中,处理电路120检查MTP兼容设备10是否被重新激活。当MTP兼容设备10已由硬件重置信号重新激活时,重新进入步骤910-1。否则(即,MTP兼容设备10未被硬件重置信号重新激活),进入步骤918。在步骤918中,处理电路120发送类别特定请求(classspecificrequest)作为软件重置信号以重置MTP兼容设备10,并且尝试为MTP兼容设备10开启新的会话,其中本实施例的类别特定请求可由静止图像类别驱动程序(stillimageclassdriver)定义。在步骤920中,处理电路120检查MTP兼容设备10是否被重新激活。当MTP兼容设备10已由软件重置信号重新激活时,重新进入步骤910-1;否则(即,MTP兼容设备10未被软件重置信号重新激活),进入步骤930-1。在步骤930-1中,处理电路120利用事务处理ID关闭已开启的会话,然后为MTP兼容设备10开启新的会话。因此,本实施例的处理电路120利用事务处理ID与MTP兼容设备10进行通信,藉此重新激活MTP兼容设备10。与现有技术相比,本实施例的主机100在MTP兼容设备10的不可恢复错误发生之前保存实施于MTP兼容设备10上的最近操作的事务处理ID,而可以在步骤930-1中利用事务处理ID来避免上文述及的死锁问题。请注意,在步骤912中,本实施例的处理电路120检查是否发生MTP兼容设备10的不可恢复错误。因此,当MTP兼容设备10的不可恢复错误发生时,进入步骤914;否则,重新进入步骤910-1。此仅作为举例的目的,而非用以限定本发明。根据本实施例的一种变形,在两个或更多MTP兼容设备连接至主机100的情况下,处理电路120检查是否发生所述两个或更多MTP兼容设备当中任一个的不可恢复错误。根据此变形,当所述两个或更多MTP兼容设备当中任一个的不可恢复错误发生时,进入步骤914;否则,重新进入步骤910-1。对于此变形,相似描述此处不再赘述。图4根据本发明第二实施例显示的是图2中所示方法900的详细工作流900_2的示意图。其中,本实施例的步骤910-1对应于上述步骤910,而本实施例的步骤930-2对应于上述步骤930。步骤902到步骤920的操作可与第一实施例当中的相同。本实施例的步骤920中,处理电路120检查MTP兼容设备10是否被重新激活。当MTP兼容设备10已由软件重置信号重新激活时,重新进入步骤910-1;否则(S卩,MTP兼容设备10未被软件重置信号重新激活),进入步骤930-2。在步骤930-2中,处理电路120利用事务处理ID来实施在MTP兼容设备10上的下一个操作,其中所述下一个操作可为预定在实施于MTP兼容设备10之上的最近操作结束之后实施的操作。因此,本实施例的处理电路120利用事务处理ID与MTP兼容设备10进行通信,以重新激活MTP兼容设备10。与现有技术相比,本实施例的主机100在MTP兼容设备10的不可恢复错误发生之前保存实施于MTP兼容设备10上的最近操作的事务处理ID,而可以在步骤930-2中利用事务处理ID来避免上文述及的死锁问题。对于此实施例的相似描述此处不再赘述。虽然本发明已以具体实施例揭露如上,然其并非用以限定本发明,任何本领域的普通技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视权利要求书所界定的为准。权利要求一种用于重新激活至少一个MTP兼容设备的方法,包含暂时储存实施于所述MTP兼容设备上的最近操作的事务处理ID;以及当所述MTP兼容设备的不可恢复错误发生时,利用所述事务处理ID与所述MTP兼容设备进行选择性通信。2.根据权利要求1所述的用于重新激活至少一个MTP兼容设备的方法,其特征在于,进一步包含当所述MTP兼容设备的不可恢复错误发生时,发送硬件重置信号以重置所述MTP兼容设备,并且尝试为所述MTP兼容设备开启新的会话;以及当所述MTP兼容设备未由所述硬件重置信号重新激活时,发送类别特定请求作为软件重置信号以重置所述MTP兼容设备,并且尝试为所述MTP兼容设备开启新的会话。3.根据权利要求2所述的用于重新激活至少一个MTP兼容设备的方法,其特征在于,进一步包含当所述MTP兼容设备未由所述软件重置信号重新激活时,利用所述事务处理ID与所述MTP兼容设备进行通信。4.根据权利要求3所述的用于重新激活至少一个MTP兼容设备的方法,其特征在于,进一步包含当所述MTP兼容设备未由所述软件重置信号重新激活时,利用所述事务处理ID关闭已开启的会话。5.根据权利要求4所述的用于重新激活至少一个MTP兼容设备的方法,其特征在于,进一步包含当所述MTP兼容设备未由所述软件重置信号重新激活时,利用所述事务处理ID关闭所述已开启的会话,然后为所述MTP兼容设备开启新的会话。6.根据权利要求3所述的用于重新激活至少一个MTP兼容设备的方法,其特征在于,进一步包含当所述MTP兼容设备未由所述软件重置信号重新激活时,利用所述事务处理ID实施所述MTP兼容设备上的下一个操作。7.根据权利要求1所述的用于重新激活至少一个MTP兼容设备的方法,其特征在于,当所述MTP兼容设备的不可恢复错误发生时,利用所述事务处理ID与所述MTP兼容设备进行选择性通信的步骤进一步包含当所述MTP兼容设备的不可恢复错误发生时,利用所述事务处理ID选择性关闭已开启会话。8.根据权利要求7所述的用于重新激活至少一个MTP兼容设备的方法,其特征在于,当所述MTP兼容设备的不可恢复错误发生时,利用所述事务处理ID与所述MTP兼容设备进行选择性通信的步骤进一步包含当所述MTP兼容设备的不可恢复错误发生时,利用所述事务处理ID选择性关闭所述已开启会话,并为所述MTP兼容设备开启新的会话。9.根据权利要求1所述的用于重新激活至少一个MTP兼容设备的方法,其特征在于,当所述MTP兼容设备的不可恢复错误发生时,利用所述事务处理ID与所述MTP兼容设备进行选择性通信的步骤进一步包含当所述MTP兼容设备的不可恢复错误发生时,利用所述事务处理ID选择性实施所述MTP兼容设备上的下一个操作。10.一种用于重新激活至少一个MTP兼容设备的主机,包含存储单元,暂时存储实施于所述MTP兼容设备上的最近操作的事务处理ID;以及处理电路,当所述MTP兼容设备的不可恢复错误发生时,所述处理电路利用所述事务处理ID与所述MTP兼容设备进行选择性通信。11.根据权利要求10所述的用于重新激活至少一个MTP兼容设备的主机,其特征在于,当所述MTP兼容设备的不可恢复错误发生时,所述处理电路发送硬件重置信号以重置所述MTP兼容设备,并且尝试为所述MTP兼容设备开启新的会话;以及当所述MTP兼容设备未由所述硬件重置信号重新激活时,所述处理电路发送类别特定请求作为软件重置信号以重置所述MTP兼容设备,并且尝试为所述MTP兼容设备开启新的会话。12.根据权利要求11所述的用于重新激活至少一个MTP兼容设备的主机,其特征在于,当所述MTP兼容设备未由所述软件重置信号重新激活时,所述处理电路利用所述事务处理ID与所述MTP兼容设备进行通信。13.根据权利要求12所述的用于重新激活至少一个MTP兼容设备的主机,其特征在于,当所述MTP兼容设备未由所述软件重置信号重新激活时,所述处理电路利用所述事务处理ID关闭已开启的会话。14.根据权利要求13所述的用于重新激活至少一个MTP兼容设备的主机,其特征在于,当所述MTP兼容设备未由所述软件重置信号重新激活时,所述处理电路利用所述事务处理ID关闭所述已开启的会话,然后为所述MTP兼容设备开启新的会话。15.根据权利要求12所述的用于重新激活至少一个MTP兼容设备的主机,其特征在于,当所述MTP兼容设备未由所述软件重置信号重新激活时,所述处理电路利用所述事务处理ID实施所述MTP兼容设备上的下一个操作。16.根据权利要求10所述的用于重新激活至少一个MTP兼容设备的主机,其特征在于,当所述MTP兼容设备的不可恢复错误发生时,所述处理电路利用所述事务处理ID选择性关闭已开启会话。17.根据权利要求16所述的用于重新激活至少一个MTP兼容设备的主机,其特征在于,当所述MTP兼容设备的不可恢复错误发生时,所述处理电路利用所述事务处理ID选择性关闭所述已开启会话,然后为所述MTP兼容设备开启新的会话。18.根据权利要求10所述的用于重新激活至少一个MTP兼容设备的主机,其特征在于,当所述MTP兼容设备的不可恢复错误发生时,所述处理电路利用所述事务处理ID选择性实施所述MTP兼容设备上的下一个操作。全文摘要提供一种用于重新激活至少一个MTP兼容设备的方法及主机。所述方法包含暂时储存实施于所述MTP兼容设备上的最近操作的事务处理ID;以及当所述MTP兼容设备的不可恢复错误发生时,利用所述事务处理ID与所述MTP兼容设备进行选择性通信。本发明的主机在MTP兼容设备的不可恢复错误发生之前保存实施于MTP兼容设备上的最近操作的事务处理ID,而可以利用事务处理ID来避免MTP的严格规范导致的死锁问题,藉此提供给终端用户更加舒适的体验。文档编号H04L12/24GK101958880SQ20091015754公开日2011年1月26日申请日期2009年7月13日优先权日2009年7月13日发明者张健申请人:联发科技(新加坡)私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1