CN102110000A - 一种软件自动升级控制方法、装置及设备 - Google Patents
一种软件自动升级控制方法、装置及设备 Download PDFInfo
- Publication number
- CN102110000A CN102110000A CN2009101894744A CN200910189474A CN102110000A CN 102110000 A CN102110000 A CN 102110000A CN 2009101894744 A CN2009101894744 A CN 2009101894744A CN 200910189474 A CN200910189474 A CN 200910189474A CN 102110000 A CN102110000 A CN 102110000A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- code
- district
- sign
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000005192 partition Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 9
- 230000006378 damage Effects 0.000 abstract description 3
- 230000002159 abnormal effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明适用于软件领域,提供了一种软件自动升级控制方法、装置及设备,所述方法包括下述步骤:将存储空间配置为两个互为备份的代码区;软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级的代码区代码。本发明将存储空间划分为互为备份的两个代码区,在软件升级时升级处于空闲状态的代码区中的代码,不影响设备的正常运行,从而不影响用户对设备的正常使用,有效提高了升级模块的健壮性和容错性,避免了在升级过程中出现的异常对系统的破坏,而且由于升级可以在后台进行,不占用用户使用时间。
Description
技术领域
本发明属于软件领域,尤其涉及一种软件自动升级控制方法、装置及设备。
背景技术
为了解决产品使用过程中出现的问题和不断完善产品功能,网络电视和IPTV机顶盒等产品目前都有带有软件升级模块,不断更新其产品软件功能以更好的满足用户使用需求。
常用的软件升级策略有开机自动升级和进入升级页面手动升级两种,在开机自动升级时,用户开机后系统自动检查当前软件版本和网络上的最新版本,如果发现有更新版本则立即进入升级系统完成升级任务。在进入升级页面手动升级时,用户点击菜单中的升级按钮,完成升级任务。
采用这两种升级手段升级时,在执行升级的过程中用户只能被动等待,停止使用系统提供的娱乐功能,占用较多用户对网络电视和IPTV机顶盒等的使用时间,一旦升级过程中发生故障就必须重新启动进入备份系统继续升级直到升级成功为止。
发明内容
本发明实施例的目的在于提供一种软件自动升级控制方法,旨在解决现有软件升级时需要停止设备的运行,影响用户正常使用设备的问题。
本发明实施例是这样实现的,一种软件自动升级控制方法,所述方法包括下述步骤:
将存储空间配置为两个互为备份的代码区;
软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级的代码区代码。
本发明实施例的另一目的在于提供一种软件自动升级控制装置,所述装置包括:
存储空间配置单元,用于将存储空间配置为两个互为备份的代码区;以及
升级控制单元,用于在软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级的代码区代码。
本发明实施例的另一目的在于一种包含上述软件自动升级控制装置的设备。
本发明实施例的另一目的在于一种包含上述软件自动升级控制装置的网络电视。
本发明实施例的另一目的在于一种包含上述软件自动升级控制装置的IPTV机顶盒。
本发明实施例将存储空间划分为互为备份的两个代码区,在软件升级时升级处于空闲状态的代码区中的代码,不影响设备的正常运行,从而不影响用户对设备的正常使用,有效提高了升级模块的健壮性和容错性,避免了在升级过程中出现的异常对系统的破坏,而且由于升级可以在后台进行,不占用用户使用时间。
附图说明
图1是本发明实施例提供的存储空间划分示意图;
图2是本发明实施例提供的软件自动升级控制方法的实现流程图;
图3是本发明实施例提供的系统启动方法的实现流程图;
图4是本发明实施例提供的软件自动升级控制装置的结构图;
图5是本发明实施例提供的升级控制单元的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,将存储空间划分为互为备份的第一代码区和第二代码区,在软件升级时,选择对处于空闲状态的代码区的代码进行升级,升级完成后将系统标志更新为最新升级的代码区,使得系统重启时使用最新升级的代码区中的代码启动。
如图1所示,在本发明实施例中,将设备的存储区域划分为引导加载区(Bootloader)、第一代码区、第二代码区和分区配置区,其中:
引导加载区为不可代码区域,存储引导加载程序,引导加载程序是系统加电后运行的第一段软件代码,在操作系统内核运行之前运行,BootLoader的主要运行任务就是将内核映象从硬盘上读到RAM中,然后跳转到内核的入口点去运行。通过这段程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
第一代码区和第二代码区互为备份,存储系统运行程序,包括三个部分:
操作系统内核,例如Linux内核;
文件系统,例如SF编码库;以及
用户应用程序,例如网络电视(NTV)应用。
分区配置区存储分区配置信息。
软件升级过程可以根据系统的资源使用情况在CPU空闲时进行,升级开始时系统下载升级包,然后判断当前是运行在第一代码区还是第二代码区,如果当前系统使用的第一代码区代码时,可升级第二代码区中的代码,反之亦然。当升级成功完成时修改Bootloader配置域中的启动标识,改为使用刚刚升级过的代码。重新启动,系统即可完成正常的升级流程。
当升级过程中出现断电或其他异常时,对于第二代码区的升级可能会失败,但重启后不影响用户的正常使用,用户仍然可以使用第一代码区的代码,直到用户再次升级第二代码区的代码,直到成功。重启后,Bootloader自动跳转到第二代码区,使用第二代码区的代码启动。
图2示出了本发明实施例提供的软件升级控制方法的实现流程,详述如下:
在步骤S201中,读取CPU资源利用率;
在步骤S202中,检测本地软件版本,判断是否需要升级,是则执行步骤S203,否则返回执行步骤S201;
在步骤S203中,连接网络,下载升级包;
在步骤S204中,读取升级标志,该升级标志标识了升级哪个代码区内的代码;
在本发明实施例中,对处于空闲状态的代码区的代码进行升级。
在步骤S205中,根据升级标志选择对应的代码区,执行升级过程;
在步骤S206中,判断升级是否完成,是则执行步骤S207,否则返回执行步骤S201;
在步骤S207中,更新启动标识,将启动标识指向最新升级的代码区内的代码。
如图3所示,当系统重启后,首先进入Bootloader,在Bootloader配置域中包含启动标识,该标识决定系统当前应该使用第一代码区还是第二代码区,如果使用第一代码区,Bootloader将载入第一代码区的内核(kernel)地址进而引导应用程序完成启动过程。
在步骤S301中,Bootloader启动;
在步骤S302中,读取启动标识;
在步骤S303中,根据启动标识,载入最新升级的代码区代码启动。
图4示出了本发明实施例提供的软件自动升级控制装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该软件自动升级控制装置可以是内置于网络电视、IPTV机顶盒等设备中。
存储空间配置单元41将存储空间配置为两个互为备份的代码区,包括第一代码区和第二代码区。
作为本发明的一个实施例,存储空间配置单元41将存储空间配置为四个区:
引导加载区,用于存储引导加载程序;
互为备份的第一代码区和第二代码区,用于存储系统运行程序;以及
分区配置区,用于存储分区配置信息。
升级控制单元42在软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级的代码区代码。
图5示出了本发明实施例提供的升级控制单元的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
CPU利用率读取模块421读取CPU资源利用率。
升级判断模块422在CPU空闲时,检测本地软件版本,判断是否需要升级。
升级包下载模块423在升级判断模块422判断需要升级时,连接网络,下载升级包。
升级代码区选择模块424读取升级标志,根据升级标志选择处于空闲状态的代码区,运行升级包,执行升级。
启动标识更新模块425判断升级是否完成,在升级完成后更新启动标识,将启动标识指向新升级完成的代码区代码。
本发明实施例将存储空间划分为互为备份的两个代码区,在软件升级时升级处于空闲状态的代码区中的代码,不影响设备的正常运行,从而不影响用户对设备的正常使用,有效提高了升级模块的健壮性和容错性,避免了在升级过程中出现的异常对系统的破坏,而且由于升级可以在后台进行,不占用用户使用时间。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种软件自动升级控制方法,其特征在于,所述方法包括下述步骤:
将存储空间配置为两个互为备份的代码区;
软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级的代码区代码。
2.如权利要求1所述的方法,其特征在于,所述对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级的代码区代码的步骤具体为:
读取CPU资源利用率;
检测本地软件版本,判断是否需要升级;
在判断需要升级时,连接网络,下载升级包;
读取升级标志,根据升级标志选择处于空闲状态的代码区,执行升级;
判断升级是否完成;
在升级完成后更新启动标识,将启动标识指向新升级完成的代码区代码。
3.如权利要求1所述的方法,其特征在于,所述存储空间包括:
引导加载区,用于存储引导加载程序;
互为备份的第一代码区和第二代码区,用于存储系统运行程序;以及
分区配置区,用于存储分区配置信息。
4.一种软件自动升级控制装置,其特征在于,所述装置包括:
存储空间配置单元,用于将存储空间配置为两个互为备份的代码区;以及
升级控制单元,用于在软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级的代码区代码。
5.如权利要求4所述的装置,其特征在于,所述升级控制单元包括:
CPU利用率读取模块,用于读取CPU资源利用率;
升级判断模块,用于在CPU空闲时,检测本地软件版本,判断是否需要升级;
升级包下载模块,用于在所述升级判断模块判断需要升级时,连接网络,下载升级包;
升级代码区选择模块,用于读取升级标志,根据升级标志选择处于空闲状态的代码区,执行升级;以及
启动标识更新模块,用于判断升级是否完成,在升级完成后更新启动标识,将启动标识指向新升级完成的代码区代码。
6.如权利要求4所述的装置,其特征在于,所述存储空间包括:
引导加载区,用于存储引导加载程序;
互为备份的第一代码区和第二代码区,用于存储系统运行程序;以及
分区配置区,用于存储分区配置信息。
7.一种包含权利要求4的软件自动升级控制装置的设备。
8.一种包含权利要求4的软件自动升级控制装置的网络电视。
9.一种包含权利要求4的软件自动升级控制装置的IPTV机顶盒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101894744A CN102110000A (zh) | 2009-12-25 | 2009-12-25 | 一种软件自动升级控制方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101894744A CN102110000A (zh) | 2009-12-25 | 2009-12-25 | 一种软件自动升级控制方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102110000A true CN102110000A (zh) | 2011-06-29 |
Family
ID=44174174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101894744A Pending CN102110000A (zh) | 2009-12-25 | 2009-12-25 | 一种软件自动升级控制方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102110000A (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508736A (zh) * | 2011-10-11 | 2012-06-20 | 宇龙计算机通信科技(深圳)有限公司 | 通信终端中应用程序的备份方法及通信终端 |
CN102567043A (zh) * | 2011-11-18 | 2012-07-11 | 福建二菱电子有限公司 | 一种机顶盒在线升级的方法 |
CN102999365A (zh) * | 2012-12-05 | 2013-03-27 | 深圳市理邦精密仪器股份有限公司 | 一种胎儿监护仪软件网络安全升级方法及系统 |
CN103106092A (zh) * | 2013-02-18 | 2013-05-15 | 青岛海信宽带多媒体技术有限公司 | 终端设备中系统软件升级方法和装置 |
CN103678030A (zh) * | 2012-09-04 | 2014-03-26 | 杭州海康威视数字技术股份有限公司 | 多系统设备启动系统及其方法 |
CN103713911A (zh) * | 2012-09-28 | 2014-04-09 | 中兴通讯股份有限公司 | 一种单版本升级方法和装置 |
CN103823701A (zh) * | 2014-03-10 | 2014-05-28 | 北京壹平台科技有限公司 | 一种移动终端产品版本自动升级控制方法 |
CN104657172A (zh) * | 2015-01-28 | 2015-05-27 | 小米科技有限责任公司 | 系统升级方法及装置 |
CN105183525A (zh) * | 2015-10-09 | 2015-12-23 | 深圳市网心科技有限公司 | 一种系统软件的升级方法及实现该升级方法的电子设备 |
CN105653313A (zh) * | 2015-12-14 | 2016-06-08 | 重庆川仪自动化股份有限公司 | 一种程序更新方法及装置 |
CN105653333A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市汇川控制技术有限公司 | 可编程逻辑控制器用户程序在线修改系统及方法 |
CN105677383A (zh) * | 2015-12-28 | 2016-06-15 | 北京华大智宝电子系统有限公司 | 一种智能卡数据更新方法 |
CN103079108B (zh) * | 2013-01-11 | 2016-06-29 | 青岛海信宽带多媒体技术有限公司 | 启动机顶盒的方法及机顶盒 |
CN106506649A (zh) * | 2016-11-14 | 2017-03-15 | 湖南小步科技有限公司 | 一种车载控制终端的远程在线升级方法及装置 |
CN106598597A (zh) * | 2016-12-14 | 2017-04-26 | 普华基础软件股份有限公司 | 一种电控单元应用软件刷新方法 |
CN107071570A (zh) * | 2017-02-13 | 2017-08-18 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒升级方法及装置 |
CN107168734A (zh) * | 2017-04-27 | 2017-09-15 | 纳瓦电子(上海)有限公司 | 一种嵌入式系统升级备份方法 |
CN107315606A (zh) * | 2017-06-14 | 2017-11-03 | 北京小米移动软件有限公司 | 应用更新方法及装置 |
CN107357647A (zh) * | 2017-05-24 | 2017-11-17 | 华为技术有限公司 | 一种组件更新的方法以及相关装置 |
CN107608705A (zh) * | 2017-09-29 | 2018-01-19 | 深圳市瑞科慧联科技有限公司 | 一种无线wifi视频设备及其固件升级方法 |
CN108121621A (zh) * | 2017-12-27 | 2018-06-05 | 北京卓越信通电子股份有限公司 | 一种交换机等设备软件升级过程中断电不死机的解决方法 |
CN108804118A (zh) * | 2018-04-25 | 2018-11-13 | 顺丰科技有限公司 | 固件升级方法、设备及存储介质 |
CN109033759A (zh) * | 2011-08-18 | 2018-12-18 | 苹果公司 | 基于网络性能管理从基于网络的数字数据储存库的下载 |
CN110688135A (zh) * | 2019-09-20 | 2020-01-14 | 浙江吉利汽车研究院有限公司 | 一种控制器的程序刷写方法、装置及介质 |
US11416471B2 (en) | 2011-06-03 | 2022-08-16 | Apple Inc. | Management of downloads from a network-based digital data repository based on network performance |
-
2009
- 2009-12-25 CN CN2009101894744A patent/CN102110000A/zh active Pending
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11416471B2 (en) | 2011-06-03 | 2022-08-16 | Apple Inc. | Management of downloads from a network-based digital data repository based on network performance |
CN109033759A (zh) * | 2011-08-18 | 2018-12-18 | 苹果公司 | 基于网络性能管理从基于网络的数字数据储存库的下载 |
CN102508736A (zh) * | 2011-10-11 | 2012-06-20 | 宇龙计算机通信科技(深圳)有限公司 | 通信终端中应用程序的备份方法及通信终端 |
CN102567043A (zh) * | 2011-11-18 | 2012-07-11 | 福建二菱电子有限公司 | 一种机顶盒在线升级的方法 |
CN102567043B (zh) * | 2011-11-18 | 2014-10-29 | 福建二菱电子有限公司 | 一种机顶盒在线升级的方法 |
CN103678030A (zh) * | 2012-09-04 | 2014-03-26 | 杭州海康威视数字技术股份有限公司 | 多系统设备启动系统及其方法 |
CN103713911A (zh) * | 2012-09-28 | 2014-04-09 | 中兴通讯股份有限公司 | 一种单版本升级方法和装置 |
CN103713911B (zh) * | 2012-09-28 | 2017-11-10 | 中兴通讯股份有限公司 | 一种单版本升级方法和装置 |
CN102999365B (zh) * | 2012-12-05 | 2016-08-03 | 深圳市理邦精密仪器股份有限公司 | 一种胎儿监护仪软件网络安全升级方法及系统 |
CN102999365A (zh) * | 2012-12-05 | 2013-03-27 | 深圳市理邦精密仪器股份有限公司 | 一种胎儿监护仪软件网络安全升级方法及系统 |
CN103079108B (zh) * | 2013-01-11 | 2016-06-29 | 青岛海信宽带多媒体技术有限公司 | 启动机顶盒的方法及机顶盒 |
CN103106092A (zh) * | 2013-02-18 | 2013-05-15 | 青岛海信宽带多媒体技术有限公司 | 终端设备中系统软件升级方法和装置 |
CN103823701B (zh) * | 2014-03-10 | 2020-04-21 | 北京壹平台科技有限公司 | 一种移动终端产品版本自动升级控制方法 |
CN103823701A (zh) * | 2014-03-10 | 2014-05-28 | 北京壹平台科技有限公司 | 一种移动终端产品版本自动升级控制方法 |
CN104657172A (zh) * | 2015-01-28 | 2015-05-27 | 小米科技有限责任公司 | 系统升级方法及装置 |
CN105183525A (zh) * | 2015-10-09 | 2015-12-23 | 深圳市网心科技有限公司 | 一种系统软件的升级方法及实现该升级方法的电子设备 |
CN105653313A (zh) * | 2015-12-14 | 2016-06-08 | 重庆川仪自动化股份有限公司 | 一种程序更新方法及装置 |
CN105677383A (zh) * | 2015-12-28 | 2016-06-15 | 北京华大智宝电子系统有限公司 | 一种智能卡数据更新方法 |
CN105653333A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市汇川控制技术有限公司 | 可编程逻辑控制器用户程序在线修改系统及方法 |
CN106506649A (zh) * | 2016-11-14 | 2017-03-15 | 湖南小步科技有限公司 | 一种车载控制终端的远程在线升级方法及装置 |
CN106598597A (zh) * | 2016-12-14 | 2017-04-26 | 普华基础软件股份有限公司 | 一种电控单元应用软件刷新方法 |
CN107071570A (zh) * | 2017-02-13 | 2017-08-18 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒升级方法及装置 |
CN107168734A (zh) * | 2017-04-27 | 2017-09-15 | 纳瓦电子(上海)有限公司 | 一种嵌入式系统升级备份方法 |
CN107357647A (zh) * | 2017-05-24 | 2017-11-17 | 华为技术有限公司 | 一种组件更新的方法以及相关装置 |
CN107315606A (zh) * | 2017-06-14 | 2017-11-03 | 北京小米移动软件有限公司 | 应用更新方法及装置 |
US10705828B2 (en) | 2017-06-14 | 2020-07-07 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus for updating application |
CN107608705A (zh) * | 2017-09-29 | 2018-01-19 | 深圳市瑞科慧联科技有限公司 | 一种无线wifi视频设备及其固件升级方法 |
CN108121621A (zh) * | 2017-12-27 | 2018-06-05 | 北京卓越信通电子股份有限公司 | 一种交换机等设备软件升级过程中断电不死机的解决方法 |
CN108804118A (zh) * | 2018-04-25 | 2018-11-13 | 顺丰科技有限公司 | 固件升级方法、设备及存储介质 |
CN110688135A (zh) * | 2019-09-20 | 2020-01-14 | 浙江吉利汽车研究院有限公司 | 一种控制器的程序刷写方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102110000A (zh) | 一种软件自动升级控制方法、装置及设备 | |
CN102033790B (zh) | 一种嵌入式系统bootrom的升级方法和装置 | |
CN101594613A (zh) | 终端设备及其升级的方法、系统 | |
CN101826027A (zh) | 一种嵌入式系统及其升级方法 | |
US20030005037A1 (en) | Crash recovery system | |
CN102214113B (zh) | 一种操作系统升级方法、装置及终端 | |
CN101344854B (zh) | 通过SD卡对嵌入式Linux设备进行升级的方法 | |
CN101437106B (zh) | 一种机顶盒系统及其自行修复的方法 | |
CN102289397A (zh) | 一种机顶盒的嵌入式系统自动恢复方法及装置 | |
CN102222011A (zh) | 一种机顶盒的软件升级方法及机顶盒 | |
CN102339227A (zh) | 多固件嵌入式系统及其固件更新方法 | |
CN101719072A (zh) | 嵌入式终端设备软件升级方法及升级装置 | |
CN110231949A (zh) | 系统升级方法、装置、电子设备和存储介质 | |
CN102662689A (zh) | 基于usb接口的嵌入式软件升级方法及系统 | |
CN106020861A (zh) | 一种智能手表的fota升级方法及系统 | |
CN101567962A (zh) | 机顶盒的双Loader升级方法 | |
CN106331862A (zh) | 一种机顶盒的软件升级方法及机顶盒 | |
CN102141921A (zh) | 一种终端设备系统升级方法及终端设备 | |
CN100357893C (zh) | 一种终端升级方法及系统 | |
CN102541595A (zh) | 智能设备的升级方法、装置及智能设备 | |
CN100430894C (zh) | 具有断电保护的电视系统软件更新方法 | |
CN113821235A (zh) | 操作系统数据更新方法、设备、存储介质及程序产品 | |
CN103970564A (zh) | 嵌入式操作系统自动修复升级功能的方法及其系统 | |
CN103136015A (zh) | 控制Uboot进入下载操作模式的方法及系统 | |
CN106775674B (zh) | 一种基于通用引导加载程序的设备及其启动方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110629 |