基于sms的tcp的制作方法

文档序号:7681119阅读:318来源:国知局
专利名称:基于sms的tcp的制作方法
技术领域
本发明大致上涉及数据通讯,尤其是关于使用短信息服务(SMS)来传输的数据通讯。
背景技术
短信息服务(SMS)传输是在移动装置中普遍可用的服务,用途是在这些移动装置之间发送短信息。该服务普遍被称为"文字信息服务"。通常,信息包括少量文字的字符,字符的准确数目根据SMS实施所用的编码方案而定。
SMS标准中的信息传递的特征是它使用"尽最大努力"的方案。由于SMS信息的接收者并不一定将其接收移动装置的电源打开或连接到服务网络,因此不可能保证SMS信息能传递到接收者。SMS实施通常会根据"尽最大努力"的原则再尝试传递到接收装置,并且可以在当SMS信息成功传递到接收者时可选地提供回执给信息发送者。但是,SMS在任何重要应用中会被觉得是不可靠的,因为根本不能保证任何特定SMS信息的传递。
因此,需要一种使用无处不在的SMS传输服务以确保数据的可靠传递的方法。

发明内容
本发明包括一种计算机实施的方法,此方法将TCP信息封装在SMS信息之内,以在装置之间建立对于任意数据的可靠和双向的通讯路径。此方法包括以下步骤形成TCP信息、使用SMS信息编码格式将TCP信息编码、形成SMS信息、及通过SMS信息网络发送SMS信息。SMS信息包括指出SMS信息为TCP/SMS信息的报头及已编码的TCP信息。
本发明还包括一种计算机程序产品,该计算机程序产品包括记录有计算机程序逻辑以容许处理器将TCP信息封装在SMS信息之内的计算机可用媒体。计算机程序逻辑包括容许处理器形成TCP信息的第一形成手段、容许处理器使用SMS信息编码格式将TCP信息编码的编码手段、容许处理器形成SMS信息的第二形成手段、以及容许处理器通过SMS信息通讯网络发送SMS信息的发送手段。SMS信息包括指出SMS信息为TCP/SMS信息的报头和己编码的TCP信息。
本发明还包括能够将TCP信息封装在SMS信息之内的系统。该系统包括形成TCP信息的第一模块、使用SMS信息编码格式将TCP信息编码的第二模块、形成SMS信息的第三模块、及通过SMS信息通讯网络发送SMS信息的第四模块。SMS信息包括指出SMS信息为TCP/SMS信息的报头和已编码的TCP信息。
本发明的更多特征和优点,以及不同的实施例的结构和运作将在以下 参照附图进行详细描述。需注意本发明并不受限于此处描述的具体实施例。这些实施例只在此给出以作说明用途。以此处的教导为基础,有更多的实施例对本领域的技术人员会是明显的。


包括在说明书中,并构成说明书的一部分的附图,展示了本发明,并连同描述一起用于解释本发明的原理,以容许本领域的技术人员制造及使用本发明。
图1描绘了根据本发明的一个实施例的SMS通讯系统。图2描绘了根据本发明的一个实施例的通讯网络。图3说明了根据本发明的一个实施例的标准TCP报头格式。图4说明了根据本发明的一个实施例的TCP/SMS信息格式。图5是根据本发明的一个实施例,生成和传送TCP/SMS信息的方法的流程图。
图6描绘了本发明(和/或其部分)可在其中实施的示例计算机系统。本发明现在将会参照附图描述。在图中,基本上,相近的参考编
号指完全相同或用途上相近的要素。再者,基本上,参考编号最左方
的位数指该参考编号最初出现的附图号码。
具体实施方式
1.简介
通讯规范通常将预计的可靠程度加进它们的设计中。例如,
RFC793中定义的传输控制协议(TCP)是作为在互联网上的以可靠和面向连接的数据移动的基础而设计的。TCP准确定义了在当利用不可靠的基层传输如互联网协议(IP)时,其中数据只接收一次并按照发送的次序接收时,如何获得可靠的数据传递。
短信息服务(SMS)传输提供一种无处不在的通讯手段,该手段通常被移动电话、个人数字助理(PDA)、及其它移动、手提或可携带装置使用。更多的装置,例如个人计算机(PC)、亦可以建立SMS通讯,而这种使用并不限制于移动装置。SMS原本的目的是容许上述装置的用户发送短文字信息给其它SMS用户。
因为SMS用户使用连接到无线数据服务的移动装置建立SMS通讯,有许多变数与该用户在网络上的可用性相关联。SMS用户的装置可能被关闭、可能在用户的无线数据服务的覆盖范围之外、或可能受其它情况影响,导致SMS信息未能传递给该用户。SMS设计上并不保证SMS信息能传递给预订的接收者,但会在传递时执行"尽最大努力"尝试。如果通过正在使用的特定SMS系统实施,成功传递的确认最多也就是包括一条传送给发送者的SMS信息,指出传递己经完成。由于相似的原因,确认信息的传递也不是能保证的。
图1展示了一种示例SMS通讯系统100。信息应用102a及102b分别在移动装置104a及104b上执行。信息应用102a提供在移动装置104a上生成SMS信息的架构,以通过SMS系统106a传送到移动网络108。 SMS信息被在SMS系统106b上的移动装置104b接收,并在信息应用102b中展示给用户。本领域的技术人员可以领会到中间网络并不限于移动网络,而且移动装置只作为一种可能的通讯装置说明。在另外的示例SMS通讯系统中,信息应用102a和102b可以在PC或其它计算装置上执行。在一个SMS通讯系统100的典型使用中,装置104a的用户会将构成短文字信息的一串字符输进信息应用102a,并在当信息输入完成之后发出指令将信息发送。信息应用102a将文字信息形成SMS信息,并由装置104a传送,经过SMS网络106a和移动网络108
7到达接收者的SMS网络106b,以被接收装置104b和信息应用102b接收和显示。
2. TCP/SMS网络拓朴图
尽管SMS信息通常是用户人手输入的纯文字信息以用作发送简短的给另一个SMS用户的用途,但使用适当地配置了的计算装置,产生SMS信息的内容也是可能的。虽然信息内容的格式是由特定的SMS实施决定的,但信息内容本身只需要写成能预计让接收者明白的方式就可以了。 SMS信息的发送者和接收者因此可以是特别配置的装置,该装置能够发送和接收两个装置均能理解的已编码信息。
图2说明了根据本发明的一个实施例的,能够使用基于SMS网络上的TCP协议(这种功能性在这里有时称为"基于SMS的TCP"或者"TCP/SMS")来通讯的网络200。 TCP/SMS信息装置202a能够访问通讯链接204a,以通过SMS网络208传送SMS信息206a。 TCP/SMS信息装置202b可运作以在相似的通讯链接204b上接收SMS信息206b。本领域的技术人员可以理解到,SMS网络208可以是任何SMS信息能通过其传送的网络,例如但不限于互联网或移动网络。本领域的技术人员还理解到,网络200上的通讯为双向的,但为了作说明用途,在这里描述的信息应用202a通常会作为信息的传送者而信息应用202b通常会作为信息的接收者。
根据本发明的一个实施例,TCP/SMS信息装置202a有数据要传送给TCP/SMS信息装置202b。该数据在TCP信息中准备好。TCP规范假设TCP数据是在另一个封装协议中移动,通常是互联网协议(例如与TCP/IP)。在此实施例中,TCP信息封装在SMS信息之内。SMS协议本身定义了要正确地输送TCP信息的必要信息,例如信息的长度、来源地址和目标地址。根据本发明的另外一个实施例,当在移动电话网络上使用SMS时,来源地址和目标地址是代表传送装置和接收装置的电话号码。
3. TCP/SMS信息的形成
图3显示了根据本发明的一个实施例的,如在RFC793中所定义的TCP信息300的格式。TCP信息300包含来源端口 302和目标端口304,两个字段的长度均是2个字节。4个字节长度的序列号字段306指定了 TCP信息300的序列号,以确保TCP信息跟随正确的次序接收 且不会遗失信息。同样是4个字节长度的确认号308为接收者传送的, 对应于序列号306的号码,以指出下一个预计会接收到的序列号306。 根据本发明的一个实施例,最初的序列号306使用系统时钟的4位最 低字节确定。
根据本发明的一个实施例,4位的数据偏移量310指出TCP报头 使用的32位记录的数目。6位的保留位置312没有使用。根据本发明 的一个实施例,6位的状态字段314被用作控制,其中每一个位分别对 应"紧急"、"确认"、"推送"、"复位"、"同步"和"完成"操作。2 个字节长度的窗口字段316指出发送者愿意和能够从接收者接收的数 据(以字节计算)。根据本发明的一个实施例,2个字节长度的校验和字 段318是信息内所有其它2个字节长度的字的二进制反码的总和的二 进制反码,包括TCP报头及数据,但不包括校验和字本身。数据段326 包括TCP信息的净荷。
只使用进行基本TCP信息传送所必需的栏来构造简洁版的TCP报 头是可能的。根据本发明的一个实施例,紧急指示字字段320、选项字 段322和填充字段324均并未使用。根据本发明的另外一个实施例, 数据偏移量字段310、保留字节312以及窗口字段316均并未使用。可 是,可能需要保留字段310、 312和316以确保TCP信息栏的字节的正 确对齐。通过消除TCP报头内不必要的字段,和在同一时间使用固定 的TCP报头大小,可以为TCP数据创造更多空间,并能将数据处理简 化。本领域的技术人员会理解到,使用所公开的技术实现完整的TCP 标准是可能的。
由于TCP/SMS信息并不是通常预计的SMS信息数据,以及因为 SMS信息可以用于TCP连接以外的用途,因此需要一个位于TCP/SMS 信息开头的报头,以便接收者能找寻以决定是否将信息的余下部分作 为TCP数据解释。根据本发明的一个实施例,TCP/SMS信息的首7个 字符为"TCP/SMS"。本领域的技术人员会理解到,任何长度和任何次 序的字符均可以用作将TCP/SMS信息与其它预期的SMS信息数据区 别开来。
图4显示了根据本发明的一个实施例的TCP/SMS信息400。字段402包含上述的"TCP/SMS"报头字符或其等同物。字段404包含了一 个指出填充字节数目的一个字符,填充字节将会在以下第4节探讨。 根据本发明的一个实施例,字段406、 408、 410、 412、 414、 416、 418 和420包括了图3所示的TCP信息300的相应数据。TCP/SMS信息的 发送者和接收者均知道,例如信息400的双方同意的TCP/SMS信息标 准,以决定如何形成用于发送的信息及如何读取用于接收的信息。
4.将TCP信息编码
SMS规范容许SMS信息包含最多160个7比特的字符,140个8 比特的字符,或70个UCS2的字符。所有SMS实施均能处理7比特 的字符。
根据本发明的一个实施例,在字段406、 408、 410、 412、 414、 416、 418和420中显示的TCP数据(合称"TCP数据")被编码成7比特的字 母表。本领域的技术人员可以理解到,TCP数据可同样地编码成UCS2 字母表,或根据其它标准,并会理解到TCP数据原生地已经为8比特 的字母表而编码。
根据本发明的一个实施例,TCP数据通过使用base64编码技术编 码成7比特的字母表。根据本发明的一个实施例,base64编码技术每 次抓取3个字节的数据,并将其转换成4个位于7比特字母表之内的 可打印ASCII字符,其中所选择的可打印ASCII字符为[A-Z, a-z, 0-9, +, 和/]集之中的一个64个字符的集。本领域的技术人员会理解到,除了 所指出的字符之外,其它可用的可打印字符也可以被使用。本领域的 技术人员还会理解到,也可以利用其它编码技术将8比特的字母表映 射到7比特的字母。
由于base64编码需要3个字节的数据为输入以产生4个可打印 ASCII字符的输出,有可能操作于TCP数据的base64编码的最后一次 迭代只需要将一或两个额外字节编码。根据本发明的一个实施例, base64编码对后面根据需要再加上了任意数据的一个或两个额外字节 的剩余的一个或两个字节进行,此方法称为"填充"。位于0到2之间 的填充所需要的额外的字节的数目,作为图4所示的SMS信息400的 一部分在字段404中作为字符('0'、 ,r、或'2')传输。
10图5说明了根据本发明的一个实施例的,准备和传送TCP/SMS信 息的方法的流程图500。在步骤502中,例如图3中的TCP信息300 的TCP信息被形成。如上面指出,只要TCP信息的接收者知道使用的 TCP报头格式,不是所有TCP信息300内的字段都需要以形成可接受 的TCP信息。在步骤504中,如上面所述的使用base64编码技术将 TCP信息编码,以令TCP信息在SMS信息中以可显示的ASCII字符 出现。在步骤506中,会确定任何TCP信息所需要以完成base64编码 的填充。在步骤508中,根据本发明的一个实施例,SMS信息如图4 所示的被形成,该SMS信息包括7个报头字符"TCP/SMS", 一个指 出填充字节数目(0-2)的字符,和最多152个字符的TCP信息。在步骤 510中,根据本发明的一个实施例,形成的TCP/SMS信息通过如图2 所示的通讯网络200作为正常的SMS信息传送。
根据本发明的一个实施例,当利用由160个7比特的字符组成的 SMS信息,而其中8个字符被"TCP/SMS"报头和填充字节占据时, 有152个字符留给TCP报头和数据。使用base64编码,152个字符中 有114个字节的二进制数据可供使用。根据本发明的一个实施例,由 于TCP报头用去18个字节,在使何TCP/SMS信息中有96个字节的 净荷数据可供使用。
当接收TCP/SMS信息时,对应的解码算法被用于从SMS信息撷 取原本的二进制TCP数据。本领域的技术人员会理解到只要TCP/SMS 信息的发送者和接收者协议了一个共同的TCP/SMS信息格式,任何符 合上述步骤的可能实施方案都可以被使用以形成及读取TCP/SMS信 息。
5.示例应用
TCP/SMS在需要SMS信息的灵活性和可用性,及TCP信息的可 靠性的任何情形中都是有用的。TCP/SMS提供了一种可靠的双向通讯, 该通讯通过使用包含TCP信息的回复SMS信息以确认己接收的TCP 信息,以及通过对任何未能接收的信息的再传递,保证了所有数据都 能收到。
在通讯网络200的一个示范实施例中,信息装置202a是与例如警 察、消防、或急救服务等的紧急服务进行通讯的紧急信息装置,其中
ii紧急服务运行相应的信息装置202b。通过将TCP/SMS实现为在通讯链 接204a上以SMS信息206a传递,经过SMS网络208,并作为SMS 信息206b被通讯链接204b接收,信息装置202a可以确保TCP/SMS 信息传递给信息装置202b。如过信息装置202b并未接收到TCP/SMS 信息,装置202a就不会接收到确认的TCP/SMS信息,如同TCP标准 一样。
在通讯网络200的另一个示例应用中,SMS网络208和信息装置 202a及202b使用以端口为地址的SMS。信息装置202b可运作以实施 数个TCP/SMS信息应用,每一个TCP/SMS信息应用配置在不同的SMS 端口上。在以端口作地址的SMS系统中,信息装置202a通过通讯网 络204a发送的TCP/SMS信息206a还包括与信息装置202b上的所需 目标服务相关联的目标端口 。在另一个示例应用中,TCP/SMS信息206a 还包括来源端口以为回复信息所用。
注意这些示例应用在这里只是作为说明用途描述,并不是作为限 制用途。
6.示例计算机系统实现
本发明不同的方面可以使用软件、固件、硬件或其组合实施。图6 说明了本发明或其部分可在其中作为计算机可读程序代码来实施的示 例计算机系统600。例如,图5所示的流程图500可以在系统600中实 施。本发明不同的实施例依据此示例计算机系统600描述。在阅读此 描述后,如何使用其它计算机系统和/或计算机结构实施本发明,对本 领域的技术人员来说将会是明显的。
计算机系统600包括最少一个处理器,例如处理器604。处理器 604可以是特别用途或普通用途的处理器。处理器604连接到通讯架构 606(例如总线或网络)。
计算机系统600亦包括主内存608,优选地是随机存取存储器 (RAM),亦可以包括副内存610。副内存610可以包括如硬盘驱动器 612、可卸载式存储驱动器614、和/或记忆棒。可卸载式存储驱动器614 可包括软盘驱动器、磁带驱动器、光盘驱动器、闪存,等等。可卸载 式存储驱动器614以已知的方法从对可卸载式存储单元618进行读写。 可卸载式存储单元618可包括软盘、磁带、光盘等,它们被可卸载式存储驱动器614读写。如本领域的技术人员可理解到的,可拆卸式存
储单元618包括了储存有计算机软件和/或数据的计算机可用存储媒体。
在其它的实施中,副内存610可包括其它相似的手段以容许计算 机程序或其它指令加载到计算机系统600中。这些手段包括如可卸载 式存储单元622和接口 620。这些手段的例子可包括程序卡带和卡带接 口(如视象游戏装置中找到的)、可卸载式内存芯片(如EPROM或PROM) 和其关联的插座、和其它容许软件和数据从可卸载式存储单元622传 输到计算机程序600的可卸载式存储单元622和接口 620。
计算机系统600亦可包括通讯接口 624。通讯接口 624容许软件和 数据在计算机系统600和外部装置之间传输。通讯接口 624可包括调 制解调器、网络接口(如以太网卡)、通讯端口、 PCMCIA槽及卡等等。 经通讯接口 624传输的软件和数据是信号形式的,这些信号可以是电 子、电磁、光学、或其它能够被通讯接口 624接收的信号。这些信号 通过通讯路径626提供给通讯接口 624。通讯路径626携带讯号,并可 以使用电线或电缆、光纤、电话线、移动电话链接、RP链接或其它通 讯渠道实施。
在这份文件中,"计算机程序媒体"和"计算机可用媒体"一词泛 指例如可卸载式存储单元618、可卸载式存储单元622、安装在硬盘驱 动器612中的硬盘、和在通讯路径626上携带的信号等媒体。计算机 程序媒体和计算机可用媒体也可以指内存,例如主内存608和副内存 610,而它们可以是内存半导体(如动态随机存取内存等)。这些计算机 程序产品是提供软件给计算机系统600的手段。
计算机程序(亦称计算机控制逻辑)在主存储器608和/或副内存610 中储存。计算机程序也可以经由通讯接口 624接收。这些计算机程序 在执行时,会容许计算机系统600实施如同在此讨论的本发明。特别 的是,当这些计算机程序执行时,会容许处理器604实施本发明的方 法,例如图5中的流程图500所示的方法的步骤。因此,这些计算机 程序代表计算机系统600的控制器。当本发明使用软件实施时,软件 可以在计算机程序产品中储存并使用可拆卸式存储驱动器614、接口 620、硬盘612或通讯媒体624加载到计算机系统600中。本发明亦指包括储存在任何计算机可用媒体中的软件的计算机程 序产品。这些软件,当在一个或更多个数据处理装置上执行时,会引 起数据处理装置如同这里所述般运作。本发明的实施例使用任何计算 机可用或可读的媒体,不论是现有的还是未来的。计算机可用媒体的 例子包括但并不限于主要存储装置(例如任何类型的动态随机存取内 存)、副存储装置(例如硬盘、软盘、光盘只读存储器、ZIP磁盘、磁带、 磁性存储装置、光学存储装置、微机电系统、纳米科技存储装置等)和 通讯媒介(例如有线或无线通讯网络、局域网、广域网、内联网等)。
7.总结
虽然本发明不同的实施例已在上面描述,但应明白到它们只是作 为例子展示,而不是限制。本领域的技术人员可以了解到,在不离开 本发明后附的权利要求书所定义的精神和范围的情况下,可以作出形 式上和细节上的不同改变。因此,本发明的含义和范围不应被任何上 述的示例实施例所限制,而只应根据以下的权利要求书或其等同所定 义。
权利要求
1.一种用以将TCP信息封装在SMS信息之内的计算机实施的方法,该方法包括形成TCP信息;使用SMS信息编码格式将该TCP信息编码;形式SMS信息;以及通过SMS信息网络发送该SMS信息;其中该SMS信息包括指出该SMS信息为TCP/SMS信息的报头和已编码的TCP信息。
2. 如权利要求1所述的方法,其中所述将TCP信息编码的步骤包 括以下步骤从编码的结果决定填充,如有的话。
3. 如权利要求2所述的方法,其中所述SMS信息还包括指示填充 的值。
4. 如权利要求1所述的方法,还包括 通过所述SMS信息网络接收第二 SMS信息;读取第二 SMS信息的报头以识别该第二 SMS信息为TCP/SMS信息;将第二SMS信息中的TCP信息解码;以及 读取该第二 TCP信息包含的数据。
5. 如权利要求1所述的方法,其中所述将TCP信息编码的步骤包 括以下步骤使用base64编码技术将该TCP信息编码。
6. 如权利要求1所述的方法,其中所述形成TCP信息的步骤包括 以下步骤-决定所述TCP信息的序列号;其中该序列号为上一个紧接的TCP信息的序列号的下一个连续号,或者如没有上一个TCP信息,则产生序列号。
7. 如权利要求6所述的方法,其中所述序列号使用系统时钟产生。
8. 如权利要求4所述的方法.其中所述第二 SMS信息还包括SMS 目标端口,还包括在与该SMS目标端口相关联的服务中处理所述第二TCP信息包含 的数据。
9. 一种计算机程序产品,其包括记录有计算机程序逻辑以容许处 理器将TCP信息封装在SMS信息内的计算机可用媒体,该计算机程序 逻辑包括容许处理器形成该TCP信息的第一形成手段; 容许处理器使用SMS编码格式将该TCP信息编码的编码手段; 容许处理器形成该SMS信息的第二形成手段;以及 容许处理器通过SMS信息网络发送该SMS信息的发送手段; 其中该SMS信息包括指出该SMS信息为TCP/SMS信息的报头和 己编码的TCP信息。
10. 如权利要求9所述的计算机程序产品,其中所述编码手段包括容许处理器从编码的结果决定填充的决定手段,如有填充的话。
11. 如权利要求10所述的计算机程序产品,其中所述SMS信息 还包括指示填充的值。
12. 如权利要求9所述的计算机程序产品,所述计算机程序逻辑 还包括容许处理器通过所述SMS信息网络接收第二 SMS信息的接收手段;容许处理器读取该第二 SMS信息的报头以识别该第二 SMS信息 为TCP/SMS信息的第一读取手段;容许处理器将该第二SMS信息中的第二TCP信息进行译码的译码 手段;以及容许处理器读取上述第二 TCP信息包含的数据的第二读取手段。
13. 如权利要求9所述的计算机程序产品,其中所述编码手段包括容许处理器使用base64编码技术将所述TCP信息编码的base64 编码手段。
14. 如权利要求9所述的计算机程序产品,其中所述第一形成手 段包括容许处理器决定所述TCP信息的序列号的决定手段; 其中该序列号为上一个紧接的TCP信息的序列号的下一个连续 号,或如没有上一个TCP信息,产生序列号。
15. 如权利要求14所述的方法,其中所述序列号使用系统时钟产生。
16. 如权利要求12所述的计算机程序产品,其中所述第二 SMS 信息还包括SMS目标端口,所述计算机程序逻辑包括容许处理器在与SMS目标端口相关联的服务中处理上述第二TCP 信息包含的数据的处理手段。
17.—种能够将TCP信息封装在SMS信息之内的系统,包括 形成TCP信息的第一模块;使用SMS编码格式将该TCP信息编码的第二模块; 形成SMS信息的第三模块;以及 通过SMS信息网络发送该SMS信息的第四模块; 其中该SMS信息包括指出该SMS信息为TCP/SMS信息的报头和 已编码的TCP信息。
全文摘要
描述了一种形成和传送TCP/SMS信息的系统、方法和计算机程序产品。形成TCP信息、将TCP信息编码、和将TCP信息封装在SMS信息之内的步骤在此公开。
文档编号H04W80/06GK101632324SQ200780051158
公开日2010年1月20日 申请日期2007年12月13日 优先权日2006年12月14日
发明者D·L·克莱格 申请人:赛贝斯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1