CN103516598A - 报文的发送方法及装置 - Google Patents

报文的发送方法及装置 Download PDF

Info

Publication number
CN103516598A
CN103516598A CN201210197802.7A CN201210197802A CN103516598A CN 103516598 A CN103516598 A CN 103516598A CN 201210197802 A CN201210197802 A CN 201210197802A CN 103516598 A CN103516598 A CN 103516598A
Authority
CN
China
Prior art keywords
message
described message
udp
context
heading
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
Application number
CN201210197802.7A
Other languages
English (en)
Inventor
欧阳应华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201210197802.7A priority Critical patent/CN103516598A/zh
Publication of CN103516598A publication Critical patent/CN103516598A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种报文的发送方法及装置,该方法包括以下步骤:根据当前待鲁棒性头压缩报文的类型,确定与该报文对应的上下文;在判定该报文的UDP校验和为非零,且与该报文对应的上下文中UDP校验和为零的情况下,选择该报文的UDP压缩包类型为IR-DYN,并根据UDP压缩包类型组包发送进行鲁棒性头压缩后的该报文。通过本发明,解决了相关技术中待压缩报文头中的静态部分没有发生变化时发送IR包而导致压缩器的压缩效率降低的问题,进而提高了系统的压缩效率。

Description

报文的发送方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种报文的发送方法及装置。
背景技术
鲁棒性头压缩(Robust Header Compression,简称为ROHC),是一种基于网络协议(InternetProtocol,简称为IP)的通用压缩技术,在互联网(Internet)工程任务组(Internet EngineeringTask Force)发布的RFC3095、RFC4815等标准文档中进行了详细定义,其主要功能是对用户设备(User Equipment,简称为UE)和基站之间需要在空口传输的数据报的报文头进行压缩,例如,实时传输协议(Real-time Transport Protocol,简称为RTP)/用户数据报协议(User DatagramProtocol,简称为UDP)/IP头,然后传输压缩后的数据,以提高空口带宽利用率。
ROHC的基本原理是对报文的每个头域进行分类,区分报文头的静态部分和动态部分,在压缩器和解压缩之间为每个数据流建立一个上下文(Context)。Context是压缩器和解压缩器间共同维护的信息,用CID(Context Identifier)来标识,包括报文头域的静态部分、动态部分、变化模式参数以及一些统计信息。
对于UDP头,其结构如下所示:
Figure BDA00001771449200011
在RFC3095协议中,UDP头静态部分为源端口号和目的端口号,动态部分为UDP校验和,UDP长度既不属于静态部分也不属于动态部分(UDP长度不在压缩报文中传递)。协议中规定当上下文中UDP校验和为0,但待压缩报文头中UDP校验和非0时,压缩端需要发送IR包来重新初始化上下文。
但在同一个UDP分组流(Packet Stream)的发送过程中,由于所有报文的IP头静态部分(IP版本号、源IP地址、目的IP地址、协议类型),UDP头静态部分(源端口号、目的端口号)和RTP头静态部分(SSRC——同步源标识符,如果UDP分组流为RTP报文)相同,该分组流中所有报文会匹配到同一个Context。当出现某一待压缩报文的UDP校验和非0,但上下文中UDP校验和为0时,由于待压缩报文头中的静态部分都没有发生变化,在该情况下,如果发送初始化刷新包(Initiation and Refresh,简称为IR),会降低压缩器的压缩效率。
发明内容
本发明的主要目的在于提供一种报文的发送方案,以至少解决上述相关技术中待压缩报文头中的静态部分没有发生变化时发送IR包而导致压缩器的压缩效率降低的问题。
根据本发明的一个方面,提供了一种报文的发送方法,包括以下步骤:根据当前待鲁棒性头压缩报文的类型,确定与所述报文对应的上下文;在判定所述报文的UDP校验和为非零,且所述上下文中UDP校验和为零的情况下,选择所述报文的UDP压缩包类型为IR-DYN,并根据所述UDP压缩包类型组包发送进行鲁棒性头压缩后的所述报文。
优选地,根据所述当前待鲁棒性头压缩报文的类型,确定与所述报文对应的上下文包括:获取与所述报文的类型匹配的profile,并根据所述profile和所述报文的报文头中的静态部分,确定与所述报文对应的上下文。
优选地,根据所述profile和所述报文的报文头中的静态部分,确定与所述报文对应的上下文包括:从所述profile对应的上下文列表中,查找与所述报文的报文头中的静态部分匹配的上下文;若查找到的上下文的静态部分与所述报文的报文头中的静态部分相同,则确定所述查找到的上下文为与所述报文对应的上下文。
优选地,判定所述报文的UDP校验和之前,还包括:从所述报文头中的动态部分,获取所述报文的UDP校验和。
优选地,在所述报文的类型为UDP包的情况下,所述报文的报文头中的静态部分包括至少以下之一:IP版本号、上层协议类型、源地址、目的地址、源端口号、目的端口号。
优选地,在所述报文的类型为RTP包的情况下,所述报文的报文头中的静态部分包括至少以下之一:IP版本号、上层协议类型、源地址、目的地址、源端口号、目的端口号、同步源标识符。
根据本发明的另一方面,还提供了一种报文的发送装置,包括:确定模块,用于根据当前待鲁棒性头压缩报文的类型,确定与所述报文对应的上下文;判断模块,用于判断所述报文的UDP校验和是否为非零,以及判断所述上下文中UDP校验和是否为零;压缩包类型选择模块,用于在所述判断模块判定所述报文的UDP校验和为非零,且所述上下文中UDP校验和为零的情况下,选择所述报文的UDP压缩包类型为IR-DYN;以及发送模块,用于根据所述UDP压缩包类型组包发送进行鲁棒性头压缩后的所述报文。
优选地,所述确定模块还用于根据获取的与所述报文的类型匹配的profile和所述报文的报文头中的静态部分,确定与所述报文对应的上下文。
优选地,所述确定模块包括:查找单元,用于从所述profile对应的上下文列表中,查找与所述报文的报文头中的静态部分匹配的上下文;以及确定单元,用于在所述查找单元查找到的上下文的静态部分与所述报文的报文头中的静态部分相同的情况下,确定所述查找到的上下文为与所述报文对应的上下文。
优选地,上述装置还包括:获取模块,用于从所述报文的报文头中的动态部分,获取所述报文的UDP校验和。
通过本发明,采用在判定待压缩报文的UDP校验和为非零,且该报文对应的上下文中UDP校验和为零时,发送IR-DYN包的方式,解决了相关技术中待压缩报文头中的静态部分没有发生变化时发送IR包而导致压缩器的压缩效率降低的问题,进而提高了系统的压缩效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的报文的发送方法的流程图;
图2是根据本发明实施例的报文的发送装置的结构框图;
图3是根据本发明优选实施例的报文的发送装置的结构框图;
图4是根据本发明实施例的鲁棒性头压缩UDP校验和的发送方法流程图;
图5是根据本发明实施例的实例1的报文发送方法的流程图;
图6是根据本发明实施例的实例2的报文发送方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
根据本发明实施例,提供了一种报文的发送方法。图1是根据本发明实施例的报文的发送方法的流程图,如图1所示,该方法包括以下步骤:
步骤S102,根据当前待鲁棒性头压缩报文的类型,确定与该报文对应的上下文;
步骤S104,在判定该报文的UDP校验和为非零,且上述上下文中UDP校验和为零的情况下,选择该报文的UDP压缩包类型为初始化刷新动态包(Initiation and Refresh-Dynamic,简称为IR-DYN),并根据UDP压缩包类型组包发送进行鲁棒性头压缩后的该报文。
通过上述步骤,采用在判定待压缩报文的UDP校验和为非零,且该报文对应的上下文中UDP校验和为零时,发送IR-DYN包的方式,解决了相关技术中待压缩报文头中的静态部分没有发生变化时发送IR包而导致压缩器的压缩效率降低的问题,进而提高了系统的压缩效率。
在步骤S102中,可以获取与报文的类型匹配的profile,并根据profile和报文的报文头中的静态部分,确定与报文对应的上下文。例如,根据profile和报文的报文头中的静态部分,确定与报文对应的上下文可以包括:从profile对应的上下文列表中,查找与报文的报文头中的静态部分匹配的上下文;若查找到的上下文的静态部分与报文的报文头中的静态部分相同,则确定查找到的上下文为与报文对应的上下文。该方法可以提高系统的准确性。
在步骤S104中,判定报文的UDP校验和之前,可以从报文头中的动态部分获取报文的UDP校验和。
优选地,在上述待鲁棒性头压缩报文的类型可以为UDP包和RTP包,因为它们的头域中均包括UDP校验和。其中,当上述待鲁棒性头压缩报文的类型为UDP包的情况下,该报文的报文头中的静态部分包括至少以下之一:IP版本号、上层协议类型、源地址、目的地址、源端口号、目的端口号。当上述待鲁棒性头压缩报文的类型为RTP包的情况下,该报文的报文头中的静态部分包括至少以下之一:IP版本号、上层协议类型、源地址、目的地址、源端口号、目的端口号、同步源标识符。该方法简单实用、可操作性强。
对应于上述方法,本发明实施例还提供了一种报文的发送装置。图2是根据本发明实施例的报文的发送装置的结构框图,如图2所示,该装置包括:确定模块20,用于根据当前待鲁棒性头压缩报文的类型,确定与该报文对应的上下文;判断模块22,耦合至确定模块20,用于判断该报文的UDP校验和是否为非零,以及判断上述上下文中UDP校验和是否为零;压缩包类型选择模块24,耦合至判断模块22,用于在判断模块22判定该报文的UDP校验和为非零,且上述上下文中UDP校验和为零的情况下,选择该报文的UDP压缩包类型为IR-DYN;以及发送模块26,耦合至压缩包类型选择模块24,用于根据UDP压缩包类型组包发送进行鲁棒性头压缩后的该报文。
通过上述装置,采用在判定待压缩报文的UDP校验和为非零,且该报文对应的上下文中UDP校验和为零时,发送IR-DYN包的方式,解决了相关技术中待压缩报文头中的静态部分没有发生变化时发送IR包而导致压缩器的压缩效率降低的问题,进而提高了系统的压缩效率。
优选地,确定模块20还用于根据获取的与当前待鲁棒性头压缩报文的类型匹配的profile和报文的报文头中的静态部分,确定与该报文对应的上下文。
图3是根据本发明优选实施例的报文的发送装置的结构框图,如图3所示,确定模块20包括:查找单元202,用于从profile对应的上下文列表中,查找与当前待鲁棒性头压缩报文的报文头中的静态部分匹配的上下文;以及确定单元204,耦合至查找单元202和判断模块22,用于在查找单元202查找到的上述上下文的静态部分与报文的报文头中的静态部分相同的情况下,确定查找到的上下文为与该报文对应的上下文。
优选地,该装置还包括:获取模块28,耦合至判断模块22,用于从当前待鲁棒性头压缩报文中报文头中的动态部分,获取该报文的UDP校验和。
下面结合优选实施例和附图对上述实施例的实现过程进行详细说明。
本优选实施例提出了一种鲁棒性头压缩UDP校验和的发送方法:在同一个UDP分组流的发送过程中,当出现某一待压缩报文的UDP校验和非0,但上下文中UDP校验和为0时,无需发送IR包,而只需发送IR-DYN包来更新上下文,从而提升了压缩器的压缩效率。
图4是根据本发明实施例的鲁棒性头压缩UDP校验和的发送方法流程图,如图4所示,该流程包括如下步骤:
步骤S401,分析当前待压缩报文的类型,匹配到相应的Profile;
步骤S402,根据当前待压缩报文头的静态部分,查找匹配到的Profile的Context列表,匹配到相应的Context;
步骤S403,判断“待压缩报文的UDP校验和非0,但上下文中UDP校验和为0”的条件是否满足,若满足跳转至步骤S404,否则跳转至步骤S405;
步骤S404,压缩包类型选择IR-DYN,跳转至步骤S406;
步骤S405,根据待压缩报文动态域变化情况推导相应的包类型,跳转至步骤S406;
步骤S406,根据推导出的包类型,组包发送压缩后的报文。
以下根据待压缩报文的不同类型,举例说明本优选实施例的上述包括UDP校验和的报文的发送方法。
实例1
本实例提供了一种鲁棒性头压缩UDP校验和的发送方法,以UDP分组流为UDP报文来说明。图5是根据本发明实施例的实例1的报文发送方法的流程图,如图5所示,该方法包括以下步骤(步骤S501—步骤S506):
步骤S501,当前待压缩报文的类型为UDP,匹配到Profile2;
步骤S502,查找Profile2对应的Context列表,若当前待压缩UDP报文的IP版本号、上层协议类型、源地址、目的地址、源端口号和目的端口号与某一Context的静态部分相同,则匹配到该Context;
步骤S503,判断“待压缩UDP报文的UDP校验和非0,但Context中UDP校验和为0”的条件是否成立,若是跳转至步骤S504,否则跳转至步骤S505;
步骤S504,压缩包类型选择IR-DYN,跳转至步骤S506;
步骤S505,根据待压缩UDP报文动态域变化情况推导相应的压缩包类型,跳转至步骤S506;
步骤S506,根据推导出的UDP压缩包类型,组包发送压缩后的报文。
实例2
本施例提供了一种鲁棒性头压缩UDP校验和的发送方法,以UDP分组流为RTP报文来说明。图6是根据本发明实施例的实例2的报文发送方法的流程图,如图6所示,该方法包括以下步骤(步骤S601—步骤S606):
步骤S601,当前待压缩报文的类型为RTP,匹配到Profile1。
步骤S602,查找Profile1对应的Context列表,若当前待压缩RTP报文的IP版本号、上层协议类型、源地址、目的地址、源端口号、目的端口号和同步源标识符与某一Context的静态部分相同,则匹配到该Context;
步骤S603,判断“待压缩RTP报文的UDP校验和非0,但Context中UDP校验和为0”的条件是否成立,若是跳转至步骤S604,否则跳转至步骤S605;
步骤S604,压缩包类型选择IR-DYN,跳转至步骤S606;
步骤S605,根据待压缩RTP报文动态域变化情况推导相应的压缩包类型,跳转至步骤S606;
步骤S606,根据推导出的RTP压缩包类型,组包发送压缩后的报文。
综上所述,通过本发明实施例,采用在判定待压缩报文的UDP校验和为非零,且该报文对应的上下文中UDP校验和为零时,发送IR-DYN包的方式,解决了相关技术中待压缩报文头中的静态部分没有发生变化时发送IR包而导致压缩器的压缩效率降低的问题,进而提高了系统的压缩效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种报文的发送方法,其特征在于,包括以下步骤:
根据当前待鲁棒性头压缩报文的类型,确定与所述报文对应的上下文;
在判定所述报文的用户数据报协议UDP校验和为非零,且所述上下文中UDP校验和为零的情况下,选择所述报文的UDP压缩包类型为初始化刷新动态包IR-DYN,并根据所述UDP压缩包类型组包发送进行鲁棒性头压缩后的所述报文。
2.根据权利要求1所述的方法,其特征在于,根据所述当前待鲁棒性头压缩报文的类型,确定与所述报文对应的上下文包括:
获取与所述报文的类型匹配的profile,并根据所述profile和所述报文的报文头中的静态部分,确定与所述报文对应的上下文。
3.根据权利要求2所述的方法,其特征在于,根据所述profile和所述报文的报文头中的静态部分,确定与所述报文对应的上下文包括:
从所述profile对应的上下文列表中,查找与所述报文的报文头中的静态部分匹配的上下文;
若查找到的上下文的静态部分与所述报文的报文头中的静态部分相同,则确定所述查找到的上下文为与所述报文对应的上下文。
4.根据权利要求1所述的方法,其特征在于,判定所述报文的UDP校验和之前,还包括:
从所述报文头中的动态部分,获取所述报文的UDP校验和。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在所述报文的类型为UDP包的情况下,所述报文的报文头中的静态部分包括至少以下之一:IP版本号、上层协议类型、源地址、目的地址、源端口号、目的端口号。
6.根据权利要求1至4中任一项所述的方法,其特征在于,在所述报文的类型为实时传输协议RTP包的情况下,所述报文的报文头中的静态部分包括至少以下之一:IP版本号、上层协议类型、源地址、目的地址、源端口号、目的端口号、同步源标识符。
7.一种报文的发送装置,其特征在于,包括:
确定模块,用于根据当前待鲁棒性头压缩报文的类型,确定与所述报文对应的上下文;
判断模块,用于判断所述报文的用户数据报协议UDP校验和是否为非零,以及判断所述上下文中UDP校验和是否为零;
压缩包类型选择模块,用于在所述判断模块判定所述报文的UDP校验和为非零,且所述上下文中UDP校验和为零的情况下,选择所述报文的UDP压缩包类型为初始化刷新动态包IR-DYN;以及
发送模块,用于根据所述UDP压缩包类型组包发送进行鲁棒性头压缩后的所述报文。
8.根据权利要求7所述的装置,其特征在于,所述确定模块还用于根据获取的与所述报文的类型匹配的profile和所述报文的报文头中的静态部分,确定与所述报文对应的上下文。
9.根据权利要求8所述的装置,其特征在于,所述确定模块包括:
查找单元,用于从所述profile对应的上下文列表中,查找与所述报文的报文头中的静态部分匹配的上下文;以及
确定单元,用于在所述查找单元查找到的上下文的静态部分与所述报文的报文头中的静态部分相同的情况下,确定所述查找到的上下文为与所述报文对应的上下文。
10.根据权利要求7至9中任一项所述的装置,其特征在于,还包括:
获取模块,用于从所述报文的报文头中的动态部分,获取所述报文的UDP校验和。
CN201210197802.7A 2012-06-15 2012-06-15 报文的发送方法及装置 Pending CN103516598A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210197802.7A CN103516598A (zh) 2012-06-15 2012-06-15 报文的发送方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210197802.7A CN103516598A (zh) 2012-06-15 2012-06-15 报文的发送方法及装置

Publications (1)

Publication Number Publication Date
CN103516598A true CN103516598A (zh) 2014-01-15

Family

ID=49898670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210197802.7A Pending CN103516598A (zh) 2012-06-15 2012-06-15 报文的发送方法及装置

Country Status (1)

Country Link
CN (1) CN103516598A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612516A (zh) * 2021-07-13 2021-11-05 深圳震有科技股份有限公司 一种卫星通信数据包的压缩测试方法、系统及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070211724A1 (en) * 2006-03-07 2007-09-13 Ingemar Johansson Communication station and method providing flexible compression of data packets
US20080080559A1 (en) * 2006-10-02 2008-04-03 Motorola, Inc. Link Layer Assisted Robust Header Compression Context Update Management
CN1655536B (zh) * 2004-02-12 2010-06-16 三星电子株式会社 在多媒体广播/多播业务系统中恢复报头解压缩的方法
CN102036307A (zh) * 2010-12-17 2011-04-27 中兴通讯股份有限公司 鲁棒性头压缩中提高上下文更新报文健壮性的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1655536B (zh) * 2004-02-12 2010-06-16 三星电子株式会社 在多媒体广播/多播业务系统中恢复报头解压缩的方法
US20070211724A1 (en) * 2006-03-07 2007-09-13 Ingemar Johansson Communication station and method providing flexible compression of data packets
US20080080559A1 (en) * 2006-10-02 2008-04-03 Motorola, Inc. Link Layer Assisted Robust Header Compression Context Update Management
CN102036307A (zh) * 2010-12-17 2011-04-27 中兴通讯股份有限公司 鲁棒性头压缩中提高上下文更新报文健壮性的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
C. BORMANN ET AL: ""RFC3095:RObust Header Compression (ROHC):Framework and four profiles: RTP, UDP, ESP, and uncompressed"", 《IETF》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612516A (zh) * 2021-07-13 2021-11-05 深圳震有科技股份有限公司 一种卫星通信数据包的压缩测试方法、系统及设备

Similar Documents

Publication Publication Date Title
JP6106775B2 (ja) ダウンローディング及びストリーミングをサポートするパケット受信方法
EP1867135B1 (en) Method and apparatus for enhanced file distribution in multicast or broadcast
JP6516674B2 (ja) メディアデータ配信制御のための方法及び装置
US6377808B1 (en) Method and apparatus for routing data in a communication system
US20080016248A1 (en) Method and apparatus for time synchronization of parameters
WO2017152723A1 (zh) 一种数据传输方法、装置及系统
US8953580B2 (en) Transport stream packets with time stamp generation by medium access control
US10027496B2 (en) Method for distributing identifiers of multicast sources
US20170222943A1 (en) Method and apparatus for reordering
WO2006052117A1 (en) Apparatus and method for compressing headers in a broadband wireless communication system
WO2016034029A1 (zh) 业务流量的处理方法和装置
CN101605304A (zh) 内容分发系统、内容分发装置、终端设备和内容分发方法
US20150071307A1 (en) Communication interface and method for robust header compression of data flows
CN1996941A (zh) 一种鲁棒性头部压缩u模式出错时的处理方法
US20080239988A1 (en) Method and System For Network Infrastructure Offload Traffic Filtering
Abdelfadeel et al. Lschc: Layered static context header compression for lpwans
US8559463B2 (en) Systems and methods for providing efficient bandwidth utilization in packet switched networks
JP4856251B2 (ja) 無線通信ネットワークにおけるヘッダの抑制
US20160380901A1 (en) Methods and apparatus for preventing head of line blocking for rtp over tcp
WO2016119269A1 (zh) 一种业务流数据包的处理方法及装置
US8238341B2 (en) Apparatus and method for processing voice over internet protocol packets
US8411662B1 (en) Beacon based proximity services
US7191370B2 (en) Data transmitter device, repeater device, data transmission/reception device, and data communication method
CN103516598A (zh) 报文的发送方法及装置
US10225310B2 (en) Transmission processing methods and apparatuses of data packet

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140115