重复mms内容检查的制作方法

文档序号:6596303阅读:168来源:国知局
专利名称:重复mms内容检查的制作方法
重复MMS内容检查
背景技术
消息收发系统可以向订户提供提醒机制,该提醒机制生成包括由至少一个内容提供者提供的内容的提醒消息。内容提供者可能无意中将重复内容提交给消息提醒系统,从而可能引起使得重复提醒消息被发送到订户。另外,订户还可能无意中登记了重复提醒消息,这也可能使得重复提醒信息被发送到订户。为了改进这些状况,需要重复提醒内容检查功能来防止订户接收重复提醒消息。


图1图示了用于创建提醒以及对重复提醒消息进行检测和选择性阻断的示例性通信系统。图2A图示了包括提醒内容的示例性提醒消息。图2B图示了包括提醒内容的示例性内容消息。图3图示了用于确定从内容提供者接收到的内容消息是否是重复消息的示例性过程流程。图4图示了用于基于消息是否是重复的来确定是否传递提醒消息的示例性过程流程。
具体实施例方式图1图示了用于创建提醒并且对重复提醒消息进行检测和选择性阻断的示例性通信系统(系统)100。系统100可以采取很多不同的形式,并且包括多个和/或替选组件和设备。虽然图1示出了示例性系统100,但是附图中所图示的示例性组件并不意在进行限制。实际上,可使用另外的和/或替选的组件和/或实现。消息收发引擎125接收来自内容提供者150的内容消息130,其中内容消息130可以用于生成提醒消息115,该提醒消息115进而可以被发送到订户设备105。消息收发引擎 125可以对接收到的内容消息130进行分析,并且基于提醒模板120和系统规则145来确定是否将提醒消息115发送到订户设备105。例如,如果接收到的内容消息130匹配与订户设备105相关联的提醒模板120,则系统100根据提醒模板120将提醒消息115发送到订户设备 105。如图1中所示,在示例性方法中,系统100包括订户设备105。订户使用订户设备 105或者其他通信设备(包括但不限于简易老式电话服务(POTS)电话、因特网协议语音 (VOIP)电话、移动电话、“软电话”、寻呼机、计算机、机顶盒(STB)等)来在通信网络110(例如,公共交换电话网络(PSTN)、V0IP、蜂窝式电话等)上发送和接收通信(例如语音、文本、 图像、视频、二进制数据等等)。类似地,通信网络110可以向至少一个订户设备105提供包括语音呼叫、分组交换网络服务(诸如因特网访问和/或VOIP通信服务)以及短消息服务 (SMS)消息收发和多媒体消息收发服务(MMS)的消息收发服务的通信服务。SMS消息是通常用于向和从设备发送和接收SMS消息的消息收发协议,设备包括例如订户设备。公知的是,包括诸如外部短消息实体(ESME)和台式计算机的有线设备的其他设备也可以发送和接收SMS消息。SMS消息通常可以包含高达160个7位字符(或者在更多位的编码中的更少的字符),并且可以包括文本和二进制数据。通过多个SMS消息的级联可以发送更长的消息。MMS是可以使订户将多媒体文件(例如图片、电影、幻灯片以及其他图形资料)与文本数据相结合地从一个设备发送到另一个(例如订户设备105、内容提供者150等)。配置为通过无线应用协议(WAP)来接收MMS消息的订户设备105可以接收MMS消息可用的通知、提取该消息、并且向用户显示该消息。没有配置为通过WAP接收MMS消息的订户设备105 可以接收匪S消息已经到达并且MMS消息可以通过除了 WAP之外的另一机制提取的匪S消息的SMS消息通知,诸如经由HTTP或者电子邮件。代替发送到订户设备105或者除了发送到订户设备105之外,将MMS消息进一步直接发送到电子邮件地址。MMS内容可以包括各类文件,包括但不限于文本文件、图像文件、音频文件以及视频文件。例如,图片、铃声、视频剪辑以及文本新闻报道均可经由MMS消息进行发送。MMS内容可以进一步包括数据(即同步多媒体集成语言(SMIL)、可扩展超文本标记语言(XHTML) 等)以允许将多媒体文件合在一起或者以其他方式被布置为呈现。提醒消息115是可以发送到订户设备105的消息以向该设备提供在提醒模板120 中所指定的信息的消息。提醒模板120是定义要包含在提醒消息115中的信息以及可能使得提醒消息115被生成的触发条件的模板。提醒消息115可以是SMS消息、匪S消息、或者其他类型的消息,包括但不限于7号信令系统消息、电子邮件、来自于诸如美国在线即时消息收发服务的即时消息服务的即时消息、自动话务员所合成的语音消息等。订户设备105 或者与订户相关联的其他设备可以用于通过对提醒模板120的选择来登记提醒消息115。 可以使提醒模板120与多个订户设备105相关联,并且因此生成一次提醒消息115并且将其发送给多个订户设备105。提醒模板120可以包括对至少一个触发条件的定义以使得传递提醒消息115。例如,提醒模板120可以被配置成在预定时间(例如,一周内选择的一天或者几天、一天内的特定时间或多个时间、生日、周年纪念日、假日等)触发,基于新闻项(例如,包括提及所选名人的新闻报道)中包括的特定关键字、基于实时事件(例如,在体育类游戏、游戏季、游戏等的时段结束时,当赢得加分点时,接收体育得分)、或者基于定义的事件(例如,股票代码以及所选股票进入或移出所选股票价格范围)对提醒模板120进行过滤。提醒模板120还可以包括对要包含在提醒消息115中的任何信息的定义。在一些示例中,提醒模板120被配置成主题层级,并且呈现给订户设备105以供选择,其中,订户设备105可以从该层级中选择提醒模板120,并且因此进行注册以接收所选择的提醒主题的提醒消息115。提醒模板可以包括各种类别中的信息,包括但不限于娱乐、新闻、体育、旅行和天气等。在这些类别中,一些或所有提醒模板120主题可以进一步被组织成子类别,因此形成主题层级。例如,娱乐类别可以包括子类别,其中诸如星座、名人、生活方式、电影、音乐、游戏、健康等。又如,旅行和天气类别可以具有旅行和天气子类别,并且在天气子类别内可以是3天的预报、当前状况以及恶劣天气的子_子类别。此外,特征化的或者流行的提醒模板120也可以被列出,并且可获得或者在突出位置中,以使订户设备105不必在模板层级内定位特定流行模板的情况下选择流行提醒模板120。
诸如移动电话订户的订户设备105可以用于创建、设置、激活订户设备105,或者以其他方式使订户设备105与至少一个提醒模板120相关联。例如,订户可以使用订户设备105通过订户设备105上可用的用户接口或者通过web接口来注册提醒模板120所指定的提醒消息115。该接口可以用于选择和/或输入与提醒模板120相关的信息,包括提醒消息115的类别、内容、定时、格式等。基于选择的和键入的信息并且具有从至少一个内容提供者150接收到的内容消息130,根据提醒模板120至少一个提醒消息115可以被生成并且发送到订户设备105。在其他示例中,除了订户设备105之外的设备可以用于向订户设备105登记提醒消息115。例如,订户设备105可以通过设备来登记提醒消息115,该设备包括但不限于台式计算机、膝上型计算机、便携式数字助理、除了用于接收提醒消息115的一个之外的订户设备105、通信网络110上的网络设备等。如上所述,提醒消息115可以根据关联于订户设备105的提醒模板120来生成,并且可以被传递到订户设备105。订户可以明确地确定提醒消息应当作为特定消息类型(例如,SMS消息、MMS消息、电子邮件消息、即时消息等)来进行传递,或者通过与另一个(例如,图片消息、文本消息)相比更适合于一个可用消息格式的请求内容来暗示地进行传递。 仅仅通过示例的方式,文本提醒可以经由SMS来传递,而图片提醒可以经由MMS来传递。另外,系统100可以确定以其传递提醒消息115的适当消息格式,或者可以由提醒模板120来指定提醒消息115的类型。例如,提醒模板120可以指定传递天气图的图片,在该情况下,系统100确定将提醒消息115作为MMS消息而并非SMS消息来进行发送,因为图像数据能够通过MMS而不通过SMS来进行发送。替选地,系统100还可以被配置成发送适合于所选消息类型的数据,诸如只要选择了 SMS消息类型就发送文本数据,而当选择了支持图形数据的格式时发送该图形数据。例如,订户设备105可以登记纽约市的3天的天气预报以及将在美国东部时间上午9:00传递的提醒。订户设备105可以将该提醒登记为SMS消息。在这样的情况下,订户设备105可以接收文本形式的预报。替选地,订户设备105可以登记要作为图片(例如,作为MMS消息)传递的天气预报提醒。在这样的情况下,用户可以接收作为图像的预报。订户设备105可以登记任何数目的提醒。例如,订户设备105可以登记上午9:00 的新闻提醒,并且还可登记上午10:00的另一新闻提醒。又如,订户设备105可以登记每天早上上午9:00的天气预报提醒以及在每个工作日的早上上午9:10的新闻提醒。消息收发引擎125可以接收内容消息130内的多媒体内容。该内容消息130可以包括各种格式的多媒体内容文件,并且该多媒体内容文件以包括二进制的各种方式编码的、封装并编码为诸如多用途因特网邮件扩展(MIME)等的文本。另外,消息收发引擎125 从内容消息130中提取多媒体内容,并且将该内容存储在消息收发引擎125或者诸如内容历史数据库140的另一网络设备上。消息收发引擎125将从内容消息130中提取的内容与任何提醒模板120以及该系统的任何规则145做比较,任何提醒模板120包括向订户设备105登记的任何提醒模板 120。从内容消息130中提取的内容可以包括可以与提醒模板120中的标识符和/或与订户设备105匹配的元数据,并且如果发现匹配数据,那么消息收发引擎125可以生成提醒消息115,并且将提醒发送到订户设备105。
多媒体消息收发服务中心(MMSC) 135可以连接到通信网络110,并且可以执行与 MMS消息收发有关的各种功能。MMSC 135向订户设备105发送向订户设备105指示MMS消息可用的控制消息(诸如提醒消息115、SMS消息等)。控制消息通常可以包括统一资源定位符(URL),该统一资源定位符(URL)指定所提取的内容的位置,诸如在通信网络110上的位置。然后,订户设备105可以使用无线应用协议(WAP)浏览器、HTML浏览器或者其他机制来从指定位置检索多媒体内容。匪SC 135通常可以包括存储和转发功能,其中例如,可以将包括被发送到匪SC 135的提醒消息115的MMS消息立即发送到订户设备105,或者可以保持MMS消息(例如, 在消息存储中)并且在订户设备105可用时的稍后时间将其发送到订户设备105。此外,可以将提醒消息115转发到用作中继的MMSC 135,并且如果例如目的地订户设备105处于不同通信网络110上或者以其他方式由不同匪SC 135来服务,那么匪SC 135可以将提醒消息115转发到另一 MMSC 135。为了清楚起见,图1中仅示出了一个MMSC 135。返回到消息收发引擎125,该消息收发引擎125可以进一步提供重复提醒消息115 内容检查功能。该功能可以计算提醒消息115或者内容文件的校验和,并且将该校验和与存储的来自先前发送的提醒消息115的校验和以及接收到的内容文件作比较,并且可以基于该比较来确定提醒消息115或者内容文件是否是重复的。例如,消息收发引擎125可以基于从提醒模板120生成的提醒消息115来计算校验和值。消息收发引擎125可以将该校验和值存储在数据存储中(例如,内容历史数据库 140)。当生成了第二提醒消息115时,消息收发引擎125可以计算第二提醒消息115的校验和,并且可以将第二提醒消息115的校验和与所存储的校验和作比较。如果第二提醒消息115的校验和匹配所查询的并且确定被包括在数据存储器中的校验和,那么消息收发引擎125可以确定提醒消息115是重复的。消息收发引擎125可以将校验和比较限制为发送到特定订户设备105(例如,指示消息要发送到的设备、与用于生成提醒消息115的提醒模板120相关联的订户设备105等) 的提醒消息115的存储的校验和。如果一个订户设备105接收到提醒消息115,那么在很多情况下,第二订户设备105仍想要接收相同的提醒消息115,并且不认为该消息是重复的。 在其他情况下,例如,如果同一订户利用多个订户设备105,那么如果两个提醒消息115具有相同校验和值,则发送到一个订户设备105的提醒消息115可以被认为是发送到第二订户设备105的提醒消息115的重复。又如,消息收发引擎125可以针对从内容提供者150接收到的内容消息130中的每个接收到的内容文件来计算校验和值。消息收发引擎125可以将这些校验和值存储在诸如内容历史数据库140的数据存储中。消息收发引擎125可以接收第二内容消息130,并且可以针对第二内容消息130中的每一个接收到的内容文件计算校验和值。消息收发引擎 125可以诸如通过针对校验和来执行数据库查询来将从第二内容消息130中的内容文件所计算的校验和与存储在数据存储中的校验和作比较,并且可以确定任何内容文件或者所有内容文件是否是重复的。消息收发引擎125可以基于是否发现重复并且基于规则145来进一步确定要采用的额外动作。这样的动作可以包括确定在提醒消息115是重复时是否将提醒消息115传递到订户设备105、或者是否向内容提供者150通知接收到重复内容文件。
在许多示例中,消息收发引擎125是包括处理器和存储的计算设备。处理器(例如,微处理器)接收来自存储的指令,例如,来自诸如存储器的计算机可读介质的指令,并且执行这些指令,由此执行一个或多个过程,包括这里所述的一个或多个过程。使用各种公知的计算机可读介质来存储和传送这样的指令。通常,诸如消息收发引擎125和匪SC 135的计算设备可以采用多个公知计算机操作系统中的任何一个,包括但不限于MicrosoftWindows 操作系统、UNIX操作系统(例如, 加利福尼亚州的Menlo Park的Sun微系统所发布的Solaris 操作系统)、纽约Armonk的国际商业机器公司所发布的AIX UNIX操作系统以及Linux操作系统的公知版本和/或变化。计算设备可以包括多个公知计算设备中的任何一个,包括但不限于计算机工作站、台式机、笔记本、膝上型电脑或者手持式计算机、或者其它公知计算设备。计算设备的每一个通常包括可由诸如以上列出的那些的一个或多个计算设备执行的指令。计算机可执行指令可以从使用各种公知编程语言和/或技术所创建的计算机程序来编译或解释,各种公知编程语言和/或技术包括但不限于单独地或者组合地JavaTM、 C、C++、Visual Basic,Java Script、Perl等。通常,处理器(例如,微处理器)接收例如来自存储器、计算机可读介质等的指令,并且执行这些指令,由此执行包括这里所述的一个或多个过程的一个或多个过程。可以使用各种公知计算机可读介质来存储和传送这样的指令和其它数据。计算机可读介质(也被称为处理器可读介质)包括参与提供可以由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何有形介质。这样的介质可以采用多种形式,包括但不限于非易失性介质和易失性介质。非易失性介质可以包括,例如,光盘或磁盘以及其他持久性存储器。易失性介质可以包括,例如,通常构成主存储器的动态随机存取存储器(DRAM)。这样的指令可以由包括同轴电缆、铜线以及光纤的一个或多个传输介质来传送,一个或多个传输介质包括电线,其包括耦合计算机的处理器的系统总线。计算机可读介质的常见形式包括,例如,软盘、柔性盘、硬盘、磁带、任何其他磁介质、CD-ROM、DVD、 任何其他光学介质、打孔卡、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPR0M、闪速 EEPR0M、任何其他存储器芯片或盒式磁带、或者计算机可以读取的任何其他介质。数据库、数据存储库、或者这里所述的其他数据存储可以包括用于存储、访问和检索各种数据的各种机制,其包括层级数据库、文件系统中的文件集合、专用格式的应用数据库、关系数据库管理系统(RDBMS)等。每个这样的数据存储通常被包括在采用诸如上述那些中一个的计算机操作系统的计算设备内,并且以公知的各种方式中的任何一个或多个经由网络来进行访问。计算机操作系统可以访问文件系统,并且该文件系统可以包括以各种格式存储的文件。除了用于创建、存储、编辑和执行诸如上述PL/SQL语言的存储的程序外, RDBMS通常采用公知的结构化查询语言(SQL)。在一些示例中,消息收发引擎125可以被实现为一个或多个计算设备(例如,服务器、个人计算机等)上的计算机可读指令(例如,软件),并且被存储在与之相关联的计算机可读介质上(例如,磁盘、存储器等)。内容历史数据库140可以被包括在消息收发引擎125内,或者可以是独立计算系统的一部分。内容历史数据库140可以包括用于存储供通信系统100使用的数据的数据库表(包括但不限于提醒消息115、内容消息130、内容历史、诸如多媒体文件的内容项210、项校验和220、消息校验和230 (下面参考图2所讨论的)、系统的规则145、提醒模板120等)。内容历史数据库140包括一个或多个关系数据库。替选地或者另外,内容历史数据库140可以包括一个或多个面向对象的或层级数据库、或者用于存储和访问数据的其他机制,包括阵列、指针、平面文件等。如上所述,内容历史数据库140可以被包括在与消息收发引擎125分离的计算设备内,或者可以是在与消息收发引擎125相同的计算设备上执行的软件应用。数据条目可以被存储在内容历史数据库140中,由此数据条目可以被更新、删除、 添加、访问等。可以由包括在内容历史数据库140中的一个或多个数据库记录来表示各个数据条目。在一些示例中,计算整个提醒消息115的校验和。校验和可以被存储在内容历史数据库140中,并且例如由提醒消息115被发送到的订户设备105、与订户设备105相关联的订户、或者订户帐号来选择性地索引。在附加示例中,当接收到内容消息130时,可以将包括在内容消息130中的每个内容文件的校验和添加到内容历史数据库140。对这些校验和进行查询以确定将来的提醒消息115或者内容消息130是否是重复的。规则145可以定义关于重复提醒消息115检查的系统行为。规则145可以定义要执行的重复提醒消息检查的类型(对消息中的所有内容进行比较、仅对消息中的内容的子集进行比较)、用于计算校验和的算法(CRC-32、SHA-1、SHA-2、SHA-256、MD_4、MD_5、AES 等)、对什么数据计算校验和(诸如提醒消息115、内容消息130等)、在发现重复提醒消息 115或者内容消息130的情况下要采用的步骤(发送提醒消息115、阻断提醒消息115、拒绝内容消息130、向内容提供者150通知重复的内容消息130)、以及在如果没有发现重复时所采用的步骤。可以将系统100的规则145存储在内容历史数据库140中,并且还将当前有效的规则145存储在消息收发引擎125中。在其他示例中,将从内容提供者150接收到的规则 145存储在消息收发引擎125中、独立的数据存储中等。规则145可以描述适用于所有提醒消息115的全局系统规则,或者可以描述对于根据不同的提醒模板120所生成的提醒消息115不同的系统行为、对于从不同类别的提醒模板120生成的提醒消息115不同的系统行为、以及对于不同订户设备105不同的系统行为。例如,如果消息收发引擎125确定了从内容消息130中提取的接收到的内容文件是重复的,那么规则145可以对消息收发引擎125指示将指示发送了重复内容的消息发送到内容提供者150。例如,这可以向内容提供者150通知可能存在内容消息130被发送到消息收发引擎125的问题。又如,如果确定了提醒消息115包括先前在提醒消息115中发送到相同订户设备 105的内容文件,那么规则145可以指示不将提醒消息115发送到订户设备105。这样的规则可以使得消息收发引擎125阻止重复的提醒消息115被传递到订户设备105。然而,规则145还可以使得消息收发引擎125不阻止重复消息,并且替代地使得即使检测到重复也将其传递到订户设备105。此外,规则145对于不同订户设备105可以是不同的,并且对于所发送的不同类型的内容可以变化。例如,特定订户设备105的规则145可以被配置成使得消息收发引擎125阻止包括重复新闻报道的提醒消息115,但是允许包括重复天气预报信息的提醒消息115。 另外,因为规则145随着订户设备105而变化,因此第二订户设备105的规则145可以指示阻止所有重复的提醒消息115。有时还被称为增值服务提供者(VASP)的内容提供者150通常是通信提供者和订户的第三方。内容提供者150可以将增值服务提供到通信网络110以供订户设备105来使用。如图1中所示,内容提供者150可以通过消息收发引擎125连接到系统100,或者替选地可以直接连接到短消息服务中心(SMSC)或匪SC 135。示例性系统100可以包括一个或多个内容提供者150,但是为了简单起见在图1中仅示出了一个。例如,系统100可以包括对于不同类别的内容而不同的内容提供者150。例如,系统100可以包括娱乐的内容提供者150、新闻的另一内容提供者150、体育的另一内容提供者150、旅行和天气的另一内容提供者150。对于单个类别来说,系统100还可以包括多个内容提供者150,诸如娱乐内容的多个内容提供者150。内容提供者150可以将诸如内容消息130的内容提供给消息收发引擎125。内容消息130可以包括至少一个内容文件,其中,每个内容文件可以包括可能被包括在提醒消息115中的信息项。例如,内容文件包括与名人、体育比赛得分、著名运动员的图片、要包括在天气预报中的雷达图的图片、文本天气预报等有关的新闻报道。内容文件可以另外包括与要如何呈现其他内容文件有关的信息。例如,内容文件可以包括与可以如何将内容消息 130中的其他内容文件并入到提醒消息115中有关的布局信息(例如,SMIL、XHTML等)。图2A图示了包括内容项210的示例性提醒消息115,从该内容项210可以确定项校验和220和消息校验和230。该示了示例性提醒消息115,该提醒消息115包括“N” 个内容项210、针对每个内容项210生成的项校验和220以及从“N”个项校验和220生成的消息校验和230。项校验和220和消息校验和230的值可以用于确定提醒消息115或内容消息130是否包括重复或者整个都是重复的。重复消息可能有各种原因。例如,由于系统从内容提供者150接收重复内容消息 130可能造成重复的提醒消息115。又如,由于来自内容提供者150的内容消息130内的重复内容可能造成重复的提醒消息。另外,登记接收相同提醒消息115两次的订户设备105 或者对类似提醒模板120登记的订户设备可能造成重复的提醒消息115,其中提醒模板120 引起相同或类似的提醒消息115。关于重复的内容消息130,内容提供者150可能无意中不止一次地将相同内容消息130发送到消息收发引擎125。为了检测这样的情况,消息收发引擎125可以计算内容消息130内的每个内容项210的校验和,并且检测校验和中的至少一个是否是重复的。消息收发引擎125可以进一步确定整个内容消息130是否是重复的。另外,消息收发引擎125 可以向内容提供者150通知基于在内容消息130内包括重复内容项而没有从内容消息130 生成提醒消息115。关于重复警报消息115,订户设备105可以登记可以生成重复提醒消息115的提醒模板120。例如,订户设备105可以登记上午9:00的新闻提醒以及中午的第二次新闻提醒。消息收发引擎125可以针对上午9:00的提醒模板120来生成新闻提醒消息115,并且计算该消息中的每个内容项210的项校验和220以及整个消息的消息校验和230。消息收发引擎125可以将项校验和220以及消息校验和230存储在内容历史数据库140中,并且将上午9:00的提醒消息115传递到订户设备105。消息收发引擎125可以进一步生成中午提醒的新闻提醒消息115。如果不存在要报告的额外新闻,那么第二个提醒可以包括与上午 9:00的提醒相同的内容项210。消息收发引擎125可以计算中午提醒消息115的消息校验和230和/或项校验和220,并且确定中午提醒消息115具有与上午9:00的提醒相同的项校验和220和/或消息校验和230,并且因此是重复的提醒消息115。消息收发引擎125可以通过基于要发送的提醒消息115确定消息校验和230来检测重复的提醒消息115。可以基于至少一个项校验和220来确定消息校验和230,其中基于包括在提醒消息115中的内容项210来确定每个项校验和220。然后,可以将消息校验和 230的值与诸如内容历史数据库140的消息校验和230的值的数据库作比较,该消息校验和 230的值指示先前传递到订户设备105的消息的校验和。如果先前已经将具有相同消息校验和230的提醒消息115传递到订户设备105,那么该提醒消息115可以被视为重复的提醒消息115。如果检测到重复的提醒消息115,那么可以根据相关规则145来阻止或者传递提醒消息115。另外,如果规则145规定了这样的通知,则还可以向内容提供者150通知试图发送重复的提醒消息115。在由规则145配置为确定消息内的每个内容项210是否是重复的重复检查系统的示例中,消息收发引擎125可以确定并且阻止包括任何重复的提醒消息115。对于比较内容文件这未必是有效的,尤其是对于可能需要逐比特比较来检测重复内容的二进制文件(例如,图像、音频、视频等)。替代地,消息收发引擎125可以利用校验和或散列函数(例如CRC-32、SHA-1、MD5)来计算文件的校验和值,并且使用该校验和值作为内容标识符来检测重复内容。如图2中所示,提醒消息115可以包括“N”个内容项210,其中“N”是任何正整数。虽然图2中的示例性提醒消息115被示为包括多个内容项210,但是应该注意,提醒消息115可以包括任何数目的内容项210。例如,提醒消息115可以仅包括一个内容项210, 而在另一示例中,提醒消息115可以包括更多的内容项210。针对提醒消息115中的每个内容项210来计算项校验和220。例如,可以基于内容项210. 1来计算项校验和220. 1,可以基于内容项210. 2来计算项校验和220. 2等至可以基于内容项210. N计算的项校验和220. N。消息收发引擎125可以计算提醒消息115内的每个内容项210的项校验和220。 使用诸如CRC-32、SHA-I、SHA-2、SHA-256、MD-4、MD-5、AES等的算法或者任何其他散列或校验和算法来计算项校验和220,任何散列或校验和算法能够确定具有可接受的低数目的冲突的校验和值,同时还能够进行可接受的时间量内的计算。基于整个内容项210或者仅基于诸如预定数目的字节的内容项210的一部分来计算项校验和220。项校验和220可以被存储在内容历史数据库140中以供与将来的提醒消息115作比较。另外基于至少一个项校验和220来计算消息校验和230。在一些示例中,通过提醒消息115的每个项校验和220的总和来计算消息校验和230。在其他示例中,在确定消息校验和230中仅使用提醒消息的项校验和220的子集。例如,可以基于前五项校验和220、每一个其他项校验和220、第一个和最后一个项校验和220等来确定消息校验和230。在从至少一个项校验和220计算消息校验和230的过程中可以采用其他方法来代替求和。例如,作为对各个项校验和220的值求和的代替或者作为补充,项校验和220的级联以及诸如乘法和除法的其他数学运算也可以用于生成消息校验和230。在其他示例中,可以执行基于整个提醒消息115的散列或校验和的计算来计算消息校验和230。一旦确定了提醒消息115的项校验和220和/或消息校验和230,消息收发引擎 125就将所确定的项校验和220和消息校验和230的值与例如存储在内容历史数据库140 中的历史校验和值作比较。内容历史数据库140可以包括项校验和220以及诸如包括在先前发送的提醒消息115内的内容文件的与先前发送的提醒消息115相关联的消息校验和 230的历史表。项校验和220和消息校验和230的值可以进一步被存储在与订户或订户设备105的标识符相关的内容历史数据库140中。在一些示例中,可以查询内容历史数据库140中的历史表来确定提醒消息115是否包括重复的内容项210。在这样的示例中,在历史表中查询从提醒消息115中的内容项 210确定的一些或所有项校验和220。如果例如通过在内容历史数据库140中的历史表中查询项校验和220来检测到重复的校验和值,那么可以确定提醒消息115包括重复文件。在其他示例中,重复内容文件检查系统可以被配置为确定提醒消息115整个是否是重复的。在这样的示例中,在历史表中查询从提醒消息115确定的消息校验和230。如果发现匹配,那么确定提醒消息115是重复消息。在这样的系统中,提醒消息115可以包含重复的单独内容项210,然而提醒消息115本身并不被视为是重复的。例如,可以基于指定创建要发送到订户设备105的星座(horoscope)的提醒模板120来生成匪S消息形式的提醒消息115。提醒消息115可以包括三个内容项210,即 "horoscope. smil"> "horoscope, jpg"禾口 "horoscope, txt,,。"horoscope, smil,,文件可以包括诸如将图片和文本项放置在何处的描述MMS消息的布局的呈现信息,“horoscope, jpg”文件可以是与星座相关联的图片,并且“horoscope, txt”文件可以是包括星座预测的文本。可以针对三个内容项210中的每一个确定项校验和220。仅通过示例的方式,可以针对“horoscope, smil”确定“21沘11四39”的项校验和220,针对“horoscope, jpg”确定 "2618004175"的项校验和220,并且针对"horoscope, txt”确定“;35对791200”的项校验和 220。另外,可以通过计算包括在提醒消息115中的三个项校验和220值的总和来确定消息校验和230。例如,消息收发引擎125可以对“ 2128112939,,、“ 2618004175 ”和 “35M791200”的项校验和(与三个内容项210相对应)求和,并且因此消息引擎125可以计算提醒消息115的消息校验和230为“8270908314”。然后,可以在内容历史数据库140中的历史表中查询这些项校验和220的值中的每一个。如果在数据库中找到任何项校验和220的值,那么星座MMS消息可以被认为是重复消息。此外,还可以在内容历史数据库140的历史表中查询消息校验和230。如果在数据库中找到消息校验和230,那么星座MMS消息可以被认为是重复的。此外,可以额外地将还没有在历史表中找到的任何项校验和220和消息校验和230值插入到内容历史数据库140 中的历史表中,以验证将来的提醒消息115是否是重复消息。图2B图示了包括可以从其确定项校验和220的内容项210的示例性内容消息 130。该示了示例性内容消息130包括“N”个内容项210以及针对每个内容项210生成的项校验和220。可以与如以上关于图2所讨论的项校验和220的值类似地计算项校验和220的值,并且该项校验和220的值可以用于确定内容消息130是否包括重复的内容项 210。—些内容消息130可以包括要被包括在仅一个特定提醒消息115或者与特定提醒模板120相符的提醒消息115中的特定内容。在其他示例中,内容提供者150可以提供用于特定类别的提醒消息115以及提醒模板120的内容,并且内容消息130可以包括当前内容,或者根据从内容提供者150发送的内容消息130的类别来对内容进行更新。例如,内容消息130可以包括与娱乐、新闻、体育、旅行和天气等有关的多个内容项210,其中,消息收发引擎125可以使用接收到的内容项210来创建至少一个提醒消息115以发送到至少一个订户设备105。例如,内容消息130可以包括三个内容项210,包括例如“horoscope, smil”、 "horoscope, jpg”和“horoscope, txt”。与上述关于提醒消息115的描述类似,可以针对三个内容项210中的每一个来确定项校验和220。仅通过示例的方式,可以针对“horoscope, smil”确定“ 21沘11四39”的项校验和220,可以针对“horoscope, jpg”确定“洸18004175” 的项校验和220,并且可以针对“horoscope, txt”确定“;35对791200”的项校验和220。然后,可以在内容历史数据库140的历史表中查询这些项校验和220的值中的每一个。如果在数据库中找到任何项校验和220的值,那么内容消息130可以被认为是重复消息。在其他示例中,内容消息130可以不认为是重复的,除非所有内容项210被认为是重复的。如上所讨论的,规则145可以定义什么条件构成了重复消息以及可以使用什么校验和算法。在一些示例中,在生成提醒消息115的中可以使用被认为不是重复的内容项210, 同时被确定为是重复的内容项210可以不用于生成提醒消息115。在附加示例中,可以向内容提供者150通知已经将重复内容项210传递到消息收发引擎125。如上所讨论的,规则145可以定义是否向内容提供者150通知发送了重复内容项210并且基于检测到多少重
Μ. ο例如,消息收发引擎125可以根据至少一个规则145来拒绝内容消息130和/或通知内容提供者150。消息收发引擎125还可以将还没有在内容历史数据库140中的任何项校验和220的值存储在内容历史数据库140中,例如,存储在内容历史表中以用于将来的
重复内容检查。图3图示了用于确定从内容提供者150接收到的内容消息130是否是重复消息的示例性过程的流程300。在步骤310中,消息收发引擎125可以接收来自内容提供者150的内容消息130。 内容消息130可以包括至少一个内容项210。接下来,在步骤320中,可以确定项校验和220。例如,消息收发引擎125可以确定上面在步骤310中接收到的内容消息130中的每个内容项210的项校验和220。消息收发引擎125可以基于校验和或散列算法来确定项校验和220,散列算法包括但不限于CRC-32、 SHA-I、SHA-2、SHA-256、MD_4、MD-5和AES。可以由当前规则145指定要使用的特定算法, 其中可以从消息收发引擎125或者从内容历史数据库140取出当前规则145。接下来,在步骤330中,通过使用上面在步骤320中所确定的项校验和220来确定任何内容项210是否是重复的。例如,消息收发引擎125可以在内容历史数据库140内的历史表中查询每个项校验和220。如果内容历史数据库140包括特定项校验和220,那么消息收发引擎125可以确定从其计算项校验和220的内容项210是重复的内容项210。如果内容消息130包含重复的,那么接下来执行步骤340。否则,接下来执行步骤370。接下来,在步骤340中,可以确定是否向内容提供者150通知内容消息130包括重复。例如,消息收发引擎125可以基于规则145来确定是否应当向从其源发内容消息130 的内容提供者150通知由于包含重复内容项210而丢弃内容消息130。内容提供者150可能希望被通知,使得例如可以执行诊断或者以其他方式确定将重复内容消息130发送到消息收发引擎125的原因。在其他示例中,规则145可以指示不需要通知内容提供者150。如果将消息发送到内容提供者150,那么接下来执行步骤350。否则,接下来执行步骤360。在步骤350中,将指示内容消息130包括重复内容项210的消息发送到内容提供者150。该消息可以进一步指示由于包括重复内容而导致是否丢弃内容消息130。接下来, 执行步骤360。在步骤360中,确定是否丢弃内容消息130。消息收发引擎125可以在考虑到当前规则145的同时,基于在上面步骤330中所确定的内容消息130是否包括重复内容项210来确定是否丢弃内容消息130。例如,规则145可以指示仅包括一个重复内容项210的内容消息130可能导致丢弃整个内容消息130。在其他示例中,规则145可以指示仅在所有包括的内容项210是重复的或者如果特定阈值量的内容项210或百分比的内容项210是重复的, 那么才丢弃内容消息130。在许多示例中,如果没有内容项210是重复的,那么不丢弃内容消息130,并且消息收发引擎125使用该内容消息130。规则145可以根据包括在内容消息130中的内容的类型来进一步使用不同规则。 例如,包括天气信息的内容消息130中的重复内容是被允许的,并且使得即使所有内容项 210是重复的也不丢弃该消息,而如果新闻内容项210是重复的,那么可以丢弃包括新闻报道的内容消息130中的重复内容。如果消息收发引擎125被确定为丢弃内容消息,那么该过程300结束。否则,接下来执行步骤370。在步骤370中,基于内容消息130来生成提醒消息115。在图4中更详细地描述基于内容消息130生成提醒消息115进行更详细地描述。接下来,该过程300结束。图4说明了用于根据提醒消息115是否是重复来确定是否传送提醒消息115的示例性处理流程400。在步骤410中,可以基于提醒模板120生成提醒消息115。提醒消息115可以由消息收发引擎125基于与订户设备105相关联的提醒模板120来生成,并且可以包括在来自至少一个内容提供者150的至少一个内容消息130中接收到的至少一个内容项210。如上所讨论的,提醒模板120可以包括触发条件,并且可以基于提醒条件触发器的触发来生成提醒消息115。另外,消息收发引擎125可以将至少一个内容项210与订户设备105的订阅信息、以及对订户设备105登记的任何提醒模板120和任何系统的规则145作比较。内容项210可以包括与提醒模板120和/或订户设备105匹配的元数据,并且如果发现匹配内容项210,那么消息收发引擎125可以基于匹配的内容项210来生成提醒消息115。例如,如果提醒模板120指示在每天上午9 00生成新闻提醒消息115,那么当时间变为上午9:00时,消息收发引擎125可以生成包括提醒模板120所指定的新闻报道的提醒消息115。
接下来,在步骤420中,可以计算提醒消息115的校验和。例如,消息收发引擎125 可以基于包括在提醒消息115中的每个内容项210来计算项校验和220。在一些示例中,可以将在接收内容消息130所计算的内容项210的校验和存储在内容历史数据库140中并且进行检索,而不是再次重新计算。此外,例如,基于包括在提醒消息115中的项校验和220中的至少一个或者通过上述另一方法,可以进一步计算提醒消息115的消息校验和230。根据需要,可以通过从消息收发引擎125或者从内容历史数据库140中检索的当前规则145来指定在生成项校验和220和消息校验和230中使用的算法。接下来,在步骤430中,可以确定提醒消息115是否是重复消息。在一些示例中, 如果提醒消息115包括被包括在至相同订户设备105或与相同订户相关联的另一订户设备 105的另一提醒消息115中的至少一个内容项210,那么消息收发引擎125可以认为提醒消息115是重复的。在其他示例中,消息收发引擎125可以不认为提醒消息115是重复的,除非所有内容项210是重复的,或者如果至少阈值数或百分比的内容项210是重复的。根据需要,由可以从消息收发引擎125或者从内容历史数据库140检索的规则145来定义在确定提醒消息115是否是重复的中消息收发引擎125所使用的算法或阈值。如果确定了提醒消息115是重复的,那么接下来执行步骤460。否则,接下来执行步骤440。在步骤440中,将校验和添加到内容历史数据库140中。例如,消息收发引擎125 可以将消息校验和230添加到内容历史数据库140中的内容历史表。消息收发引擎125可以额外地将还没有包括在内容历史数据库140中的至少一个项校验和220中的任何一个添加到内容历史数据库140中的内容历史表。在其他示例中,例如,当诸如在上述步骤420中确定了校验和时,可以将项校验和220和消息校验和230添加到内容历史数据库140中的内容历史表。接下来,在步骤450中,可以将提醒消息115传递到订户设备105。接下来,过程
400结束。在步骤460中,可以确定是否传递提醒消息115,虽然该消息不包括重复内容项 210或者是完全重复的消息。如果即使提醒消息115包括重复也将传递提醒消息115,那么接下来执行步骤450。否则,该过程400结束。结论关于这里所描述的过程、系统、方法、启发等,应当理解,虽然将这样的过程的步骤等已经被描述为根据特定顺序的序列而发生,但是这样的过程可以利用除了这里所描述的顺序之外的顺序来实践。还应当理解,可以同时执行特定步骤,可以添加其他步骤,或者可以省略这里所描述的特定步骤。换言之,为了说明特定实施例的目的,在这里提供了对过程的描述,并且不应当将其解释为限制要求保护的发明。因此,应当理解,上面的描述意在是说明性的而非限制性的。在阅读上面的描述时,除了所提供的示例之外的许多实施例和应用是显而易见。不应参考上面的描述来确定本发明的范围,而是应该参考所附权利要求以及该权利要求所声称的等效体的全部范围来确定。可以预料到并且希望将来的发展会出现这里所讨论的技术中,并且所公开的系统和方法将被包含在这样的将来的实施例中。总之,应当理解,本发明能够修改和变化并且仅受到以下权利要求的限制。这里所述的技术中的那些技术人员应该清楚的是,希望对在权利要求中所使用的
16所有术语给出其最宽的合理解释及其普通涵义,除非在这里做出了相反的明确指示。尤其是,不加数量词限定的项的使用应当被理解为列举了一个或多个所指示的元件,除非权利要求列举了相反的明确限制。
权利要求
1.一种方法包括在计算设备处接收来自内容提供者的内容消息,其中,所述内容消息包括至少一个内容项;以及通过利用所述计算设备来验证包括在所述内容消息中的内容项相对于内容历史的重复,其中,验证所述内容项包括 计算所述内容项的项校验和; 在所述内容历史中查询所述项校验和;以及基于从所述查询返回的结果,确定所述项校验和是否是重复的。
2.根据权利要求1所述的方法,进一步包括如果在所述内容历史中没有发现所述项校验和,那么将所述项校验和添加到所述内容历史中。
3.根据权利要求1所述的方法,其中,使用算法来从所述内容项计算所述项校验和,所述算法包括 CRC-32、SHA-I、SHA-2、SHA-256、MD-4、MD-5 以及 AES 中的至少一个。
4.根据权利要求1所述的方法,进一步包括如果确定了至少一个内容项是重复的,那么向所述内容提供者通知重复。
5.根据权利要求1所述的方法,进一步包括基于包括在所述内容消息中的所述至少一个内容项来生成至少一个提醒消息;以及将所述提醒消息发送到与所述至少一个提醒模板相关联的至少一个订户设备。
6.一种方法包括使提醒模板与订户设备相关联;通过利用计算设备来使从内容提供者接收到的至少一个内容项匹配到所述提醒模板;通过利用所述计算设备来基于所述至少一个内容项生成所述提醒模板的提醒消息; 通过利用所述计算设备来验证包括在所述提醒消息中的所述至少一个内容项相对于内容历史的重复;以及基于所述验证,选择性地将所述提醒消息传递到所述订户设备。
7.根据权利要求6所述的方法,其中,验证所述至少一个内容项包括 计算至少一个项校验和;在内容历史表中查询所述至少一个项校验和;以及基于从所述查询返回的结果,确定所述至少一个项校验和是否是重复的。
8.根据权利要求7所述的方法,进一步包括将所述至少一个项校验和添加到所述内容历史表。
9.根据权利要求6所述的方法,进一步包括 计算至少一个项校验和;基于多个所述至少一个项校验和来计算消息校验和; 在内容历史表中查询所述消息校验和;以及基于所述查询的结果,确定所述提醒消息是否是重复的。
10.根据权利要求9所述的方法,进一步包括将所述消息校验和计算为多个所述至少一个项校验和的总和。
11.根据权利要求9所述的方法,进一步包括将所述消息校验和添加到所述内容历史表。
12.根据权利要求6所述的方法,其中,选择性地传递所述提醒消息包括如果确定了所述提醒消息中的所述内容项都不是重复的,那么传递所述提醒消息。
13.根据权利要求6所述的方法,其中,选择性地传递所述提醒消息包括如果确定了所述提醒消息中的内容项中至少一个不是重复的,那么传递所述提醒消息。
14.根据权利要求6所述的方法,其中,选择性地传递所述提醒消息包括 确定与从其生成所述提醒消息的所述提醒模板相关联的类别;根据所述类别,检索用于发送重复提醒消息的规则;以及如果确定了所述提醒消息是重复的,那么基于所述规则来确定是否传递所述提醒消肩、ο
15.一种系统包括内容提供者,所述内容提供者连接到通信网络,并且被配置为将内容消息发送到消息收发引擎;以及消息收发引擎,所述消息收发引擎连接到所述通信网络,并且被配置为 接收来自内容提供者的内容消息,其中,所述内容消息包括至少一个内容项;以及验证包括在所述内容消息中的至少一个内容项相对于内容历史的重复。
16.根据权利要求15所述的系统,其中,所述消息收发引擎进一步被配置为,如果所述内容消息包括重复内容项,则通知所述内容提供者。
17.根据权利要求15所述的系统,其中,所述消息收发引擎进一步被配置为,如果所述内容消息包括重复内容项,则丢弃所述内容消息。
18.根据权利要求15所述的系统,进一步包括数据存储,所述数据存储连接到所述通信网络并且被配置为保持内容历史数据库;其中,所述消息收发引擎进一步被配置为针对每个内容项执行下述步骤 计算所述内容项的项校验和; 在所述内容历史数据库中查询所述项校验和;以及基于从所述查询返回的结果来确定所述项校验和是否是重复的。
19.根据权利要求18所述的系统,其中,所述数据存储进一步被配置为,如果在所述内容历史中没有找到所述项校验和,则将所述项校验和添加到所述内容历史数据库。
20.根据权利要求18所述的系统,其中,所述数据存储进一步被配置为,保持多个提醒模板,其中,每个提醒模板包括对要包括在提醒消息中的信息以及提醒触发的定义;其中,所述消息收发引擎进一步被配置为使所述至少一个内容项匹配提醒模板;以及基于所述至少一个内容项来生成所述提醒模板的提醒消息。
21.根据权利要求20所述的系统,进一步包括通信地耦合到所述通信网络通信的多个订户设备,其中,所述数据存储进一步被配置为保持提醒模板与订户设备的多个相关性。
22.根据权利要求21所述的系统,其中,所述消息收发引擎进一步被配置为,将所生成的提醒消息发送到与所述提醒模板相关联的订户设备。
23.根据权利要求21所述的系统,其中,所述数据存储进一步被配置为,保持与每个提醒模板相关联的类别,其中,所述消息收发引擎进一步被配置为 确定与所述提醒消息相关联的类别;以及基于所述类别的规则来确定是否传递所述提醒消息以及是否确定了所述提醒消息是重复的。
24.根据权利要求21所述的系统,其中,所述订户设备进一步被配置为,将订阅提醒模板的请求发送到所述消息收发引擎;其中,所述消息收发引擎进一步被配置为,接收所述请求并且将所述订户设备添加到所述数据存储中的提醒模板与订户设备的所述多个关联。
全文摘要
一种方法包括接收来自内容提供者的内容消息,其中,内容消息包括至少一个内容项。该方法进一步包括验证包括在内容消息中的至少一个内容项相对于内容历史的重复。
文档编号G06F7/00GK102317902SQ200980156548
公开日2012年1月11日 申请日期2009年11月24日 优先权日2008年12月12日
发明者林志坚 申请人:维里逊专利及许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1