具体实施方式
以下将参照示出了优选实施例的附图,对不同实施例进行更加充分的说明。然而,还可以提出大量不同的形式,因而所述实施例不应被理解为局限于此处所阐述的实施例。相反,提供这些实施例是为了使本公开更加透彻全面,并充分地将公开范围传达给本领域技术人员。在整个说明中,相同的数字表示相同的单元。
***配置移动无线通信设备使其指示针对于特定帐户或设备的特征。数据库存储着多个指示符,这些指示符指示不同的无线运营商、电子邮件服务供应商、以及设备类型。当通过移动办公平台24配置移动无线通信设备使其远程访问电子邮件时,配置模块访问数据库,并向移动无线通信设备上载指示无线运营商、电子邮件服务供应商或设备类型中至少一项的指示符。指示符至少包含移动无线通信设备上的铃声的声音数据。
在另一方案中,指示符能够作为图像数据予以实现,图像数据包括聚焦和非聚焦的功能区图标以及已读和未读消息图标。***可以包括包含图像数据的便携式网络图形(PNG)图像映射。图像数据可以包括要显示在移动无线通信设备上的颜色。图像数据还可以是针对于 要在移动无线通信设备上显示的字体大小、字体、图形、文本、图标或分辨率的。铃声的声音数据至少可由铃声曲调和响度形成。指示符可以是用于功能区图标的数据。服务簿应用数据可以包含统一资源定位符(URL),指示何处能够下载到针对于特定服务的指示符内容.
在另一方案中,***配置移动无线通信设备,并指示针对于特定帐户或设备的特征。数据库存储用于移动无线通信设备上的便携式网络图形(PNG)图像映射以及铃声的声音数据。图像映射含有图像数据,并且图像数据和声音数据包含指示不同无线运营商、电子邮件供应商以及设备类型的指示符。入口点内容服务同数据库协同工作,向移动无线通信设备上载指示符。指示符包括服务簿应用数据,后者包含指示何处能够下载到针对于特定服务的指示符内容的资源定位符。
还提出了一种方法方案。
首先参考图1,直接访问(DA)电子邮件分发和同步***20支持对不同邮件源的直接访问,使消息可以从源邮箱直接传送至移动无线手持设备。因此,对于集成的外部源邮件账户,无需使用不同的邮件存储器,并且在本地电子邮件存储器中也不需要电子邮件的永久副本。
虽然此图将对象描绘为在功能上相互独立,但这种描述只以说明为目的。对所属领域技术人员而言,显而易见,可以将图中所示的对象任意合并,或划分成独立的软件、固件或硬件组件。此外,同样,对所属领域技术人员而言,显而易见,无论如何对其进行合并与划分,这些对象既可实现于同一计算设备,又可任意分布于由一个以上的网络所连接的不同计算设备之上。
直接访问***20使电子邮件用户能够将电子邮件从第三方电子邮件服务推送至各种移动无线通信设备25。用户无需创建手持电子邮件账户以获取对现有外部电子邮件账户的直接访问。直接访问***20无需执行某些现有***中所采用的汇聚过程,就可以正常工作,在所述汇聚过程中,将电子邮件从多个不同的源邮箱汇聚到一个单独的目标邮箱中。换言之,无需将电子邮件存储于中间目标邮箱,而可以方便地从源邮件存储器直接访问电子邮件。
如图1所示,直接访问***20说明性地包括:Web客户端(WC) 引擎22和移动办公平台(MOP)24。Web客户端引擎22和移动办公平台24协同工作,使用户可以比如通过一个以上的无线通信网络27从移动无线通信设备25直接访问其电子邮件。Web客户端引擎22和移动办公平台24既可位于相同的位置,也可位于不同的位置,并实现于一个以上的服务器中。Web客户端引擎22说明性地包括下面将予以进一步详细讨论的:端口代理30,用于通过无线通信网络27同无线通信设备25进行通信;工作者32;监管员34;以及附件服务器36。报警服务器38以虚线显示,并且在一优选实施例中不使用报警服务器,但是在其他实施例中,报警服务器可以作为***的一部分。
移动办公平台24说明性地包括:DA代理服务器40、代理服务器应用程序接口(API)42以及同DA代理服务器协同工作的高速缓存器44。移动办公平台24还说明性地包括下面将予以进一步详细讨论的:负载平衡及高速缓存器(LBAC)模块46、事件服务器48、通用代理服务器(UP)伺服小程序(Servlet)54、AggCron模块56、移动办公平台(MOP)引擎58以及数据库(DB)引擎60。最近最少使用的(LRU)高速缓存器(cache)41高速缓存最新消息,并可以释放最近最少使用的消息和对象。
监管员34对其从直接访问代理服务器40接收到的新邮件通知进行处理。然后,监管员34根据其接收到的最近的UDP心跳,以用户数据报协议(UDP)分组的形式向负载最小的工作者32分配任务。在本说明中,心跳是一种用于监控服务器状态的工具。此外,监管员34将从直接访问代理服务器40接收到因新账户或变更账户向移动无线通信设备发送服务簿的新服务簿请求。服务簿可以是包含全部当前已定义的服务记录的类。该类可用于维护一组关于设备的信息,比如诸如账户的电子邮件地址之类的连接信息或服务。
工作者32是位于监管员34和端口代理30之间的中间处理代理,并负责Web客户端引擎22中的大多数处理。工作者32通过直接访问代理服务器从通用代理54获取电子邮件,并用压缩多用途互联网邮件扩展(CMIME)将邮件格式化为一种多用途互联网邮件扩展,并将其发送至端口代理30,以做进一步的处理。工作者的职责包括下列任务:(1) 发往手持设备的消息以及从手持设备接收到的消息;(2)消息应答、转发以及请求更多内容;(3)空中(over the air)文件夹管理操作(OTAFM);(4)附件阅览;以及(5)服务簿。
端口代理30充当基础设施和Web客户端引擎22其余部分间的传输层。负责向移动无线通信设备发送并从移动无线通信设备接收分组。为了用一个设备支持不同的集成邮箱,可以使用一个以上的服务簿,并且每个服务簿可以同一个集成邮箱相关联。端口代理30可以包括一个连接至中继的服务器中继协议(SRP)连接,但也可以处理多个SRP连接,且每个连接可以具有同服务簿相关的、唯一的全局唯一标识符(GUID)。附件服务器36为来自工作者32的文件/附件转换请求提供服务。
直接访问代理服务器40提供Web的分布式创作与版本管理(WebDAV)接口,工作者32利用该接口访问账户和邮箱信息。这提供了在远程服务器上创建、改变并移动文档的功能。通常,直接访问代理服务器40向其客户提供一个异步接口。LBAC模块46为通知服务器和Web客户端引擎22组件所用,以定位用于处理请求的适当的DA代理服务器。通用代理伺服小程序54将对分散邮件存储器的访问抽象为一个公共协议。事件服务器48对来自公司服务器52和/或邮件服务供应商50的新消息通知做出响应,所述新消息通知可以通过比如互联网40予以接收。通知由AggCron模块56和事件服务器48传送至直接访问代理服务器40,以便其可以发起对邮件服务供应商50和/或公司服务器52的源邮箱51、53中新邮件的查看。代理服务器API可以是简单对象访问协议(SOAP)守护进程42,并且是数据库60的主要接口,数据库60是移动办公平台24的主要的数据存储器。AggCron模块56也可以周期性地发起新消息查询。
图2是一幅高层方框图,示出了直接访问代理服务器40的用户接口组件。更具体地,直接访问代理服务器40说明性地包括标识符模块72,所述标识符模块72带有适于不同通信格式的各种下行代理服务器模块,如无线应用协议(WAP)代理服务器模块74和超文本标记语言(HTML)代理服务器模块76。毫无疑问,所属领域技术人员将意识 到,还可以使用适于其他通信格式的其他类型的代理服务器模块。
标识符模块72提供针对于直接访问***20的集中式认证服务和其他服务。可以在ID服务和直接访问***20间提供认证握手,以确保在用户被允许访问直接访问***20前,具有适当的凭证。可以无需用户重新输入任何登录凭证就能够从管理Web客户端切换到直接访问***,或从直接访问***切换到管理Web客户端。任何Web客户端和直接访问都可以代表用户共享会话管理信息。
WAP代理服务器74为移动办公平台24提供了用于配置源邮箱的、基于无线标记语言(WML)的用户接口。HTML代理服务器76在MOP24中提供用于对源邮箱进行配置的基于HTML语言的用户接口。代理服务器API42(SOAP守护进程)是数据库60的主要接口。引擎58是一个协议转换器,连接至源邮箱用于对配置参数加以验证。数据库60是移动办公平台24的主要的用户数据存储器。
图3、4和5分别示出了Web客户端引擎机80(图3)、引擎机82(图4)以及数据库计算机84(图5)。Web客户端引擎机80说明性地包括:监管员34、工作者36、以及端口代理38。中继86使用GUID与端口代理38协同工作。
引擎机82说明性地包括:直接访问代理服务器40、HTML代理服务器76、WAP代理服务器74、PDS模块88、UP伺服小程序54、LBAC模块46、发送邮件模块90、安全邮件客户(SMC)服务器92、安全套接字层(SSL)代理服务器94、汇聚引擎96、以及事件服务器48。SMC服务器92与比如驻留在某些公司网络上的相应的SMC模块协同工作,以便在移动办公平台24和源邮箱间传送电子邮件数据。数据库计算机84可以包括:作为SOAP守护进程的汇聚应用程序接口(API)100、管理控制台102、汇聚数据库104、AggCron模块56、SMC目录服务器106、以及发送邮件模块90。
Web客户端引擎22的各组件可以被配置为运行于不同的机器或服务器上。组件二进制文件和配置文件可置于网络上的目录中或置于本地硬盘上,能够访问这些网络上的目录或本地硬盘,使适当的组件在各机器上运行。根据一典型实施例,部署可以包括:一个监管员;两 个工作者;以及一个端口代理,用于支持30,000个外部源邮箱;然而,还可以采用其他配置。正如所属领域技术人员将意识到的那样,实际的生产部署可能取决于负载、性能和压力测试的结果。
针对移动办公平台24的直接访问组件、模块以及各种功能,通常以两种配置,即引擎机(图4)和数据库计算机(图5),来安装机器。虽然这些机器可以安装上述全部组件,但上述组件并非在所有应用中都需要全部激活(例如,汇聚可以同不支持推送技术的***一起使用,等等)。同样,实际的生产部署可能取决于负载、性能和压力测试的结果。
在一已知技术中,移动办公平台24架构有利地利用了一组将应用数据转换为表示信息的特定设备/语言可扩展样式表语言(XSL)文件。在一非限制性示例中,一构建过程接受非本地化XSL,并为各支持语言产生本地化XSL文件。当使用XSL时,在存储器中对其进行“编译”,并对其进行高速缓存以便反复使用。对模版进行预本地化和高速缓存的目的是为了减少产生表示页面所需的CPU周期。
还可以执行品牌化(Branding)。起初,本地化XSL文件可以构建WAP应用,以访问经汇聚的电子邮件账户。WAP代理服务器应用可以是可本地化的,并且支持多种WAP设备。对于应用的各逻辑页面,可以创建针对于特定设备的XSL,所述XSL可以针对各种支持语言/国家进行本地化。这种呈现方案不但可以支持WAP设备,还可以支持比如SMTP、HTML和POP代理服务器。在执行品牌化时,可以为各种不同品牌定制给定应用的各页面。
页面的品牌可以通过XSL导入予以实现,所述XSL导入包括使用用于XML处理的Java应用程序接口(API)(JAXP)特征进行动态导入。这无需对各合并的页面/品牌模版进行编译和高速缓存。作为实例,在样本模版目录中,可以将单一语言/国家的第一和第二页面同品牌化的第一和第二页面组合,从而产生多个不同的模版组合。还可以通过装载单一语言、设备/应用以及品牌的模版,估算(profile)应用的存储量需求。同其他设备相比HTML设备可以包含一组更大模版集。
在一已知技术中,移动办公平台24有利地构建过程,接受非本地 化文件和针对特定语言的属性文件,并将它们进行合并,以将各非本地化XSL转换为各种支持语言的XSL。无需对每种语言使用单独的XSL文件,并且可以去除内存使用公式中的语言因素。JAXP API可用于以Java类扩展XSL。扩展可以采取各种形式,例如,包括扩展元素以及扩展函数。可以通过创建并初始化带有区域设置的扩展对象,并将对象传送至转换器的方式,对模版进行转换。***可以消除大量导入,从而使用更少的内存。同Java类十分类似,HTML模版可以使用模版导入以支持模版的重用,并可以通过如派生或导入等机制重用其他Java类。
在直接访问***20中,用户在其移动无线通信设备25上接收来自多个外部账户的电子邮件,并在答复接收消息时保持答复和发送地址的一致性。例如,对于拥有集成Yahoo!账户(user@yahoo.com)和POP3账户的(user@pop3.com)的用户而言,如果他们在user@yahoo.com接收到一封电子邮件,则他们从设备25上生成的答复看上去将是来自user@yahoo.com的。类似地,如果用户在user@pop3.com接收到一封电子邮件,他们的答复看上去将是来自user@pop3.com的。
编辑新消息的用户还可以选择“发送”地址。当编辑新消息时,用户将具有选择“发送”地址的能力。根据源邮箱类型和协议,还可以通过源邮件服务发送消息。这项功能可以通过发送各源邮箱的配置得以支持,例如,作为一非限制性示例,向移动无线通信设备25发送各源邮箱51、53的服务簿。
如上所述,服务簿是一个可以包括全部当前已定义的服务记录的类。该类可用于维护一组关于设备的信息,如连接信息。服务簿可用于管理HTTP连接和邮件(CMIME)信息,如账户和结构。在移动无线通信设备25中,当从账户中删除源邮箱51、53时,可以发送删除服务簿请求。还可以利用一可视名称将服务簿再次发送至设备25,所述可视名称向用户指示该选项不再有效。
还可以对已发项目文件夹进行“同步”。例如,可以将全部由设备发起的已发消息传送至源账户,并将其存储在已发邮件文件夹中。 同样,在设备25上删除的消息也相应地从源邮箱51、53中删除。另一示例为,类似地可以将设备25上源自设备的消息的已读或未读标记传送至源邮箱51、53。正如所述领域技术人员将意识到的那样,虽然上述特征被描述为源相关和单向同步的,然而在某些实施例中可以额外地或相反地从源邮箱/账户向手持设备传送某些同步特征。
如有可能,邮件服务供应商或公司邮件服务器可用于提交外发消息。虽然这对某些邮件服务供应商或服务器而言是不可能的,但由于其可以提供多种优势,因此如有可能优选情况下要予以采用。例如,AOL的用户将受益于AOL特有的特征,如网站过滤(parental controls)。此外,作为一非限制性示例,AOL和Yahoo用户将看到其已发项目文件夹中的消息,并且以该方式传送的消息可能更符合最新的垃圾邮件策略,如发送方策略框架(SPF)和发送者Id。此外,通过公司邮件服务器52发送的消息在全局地址列表层面和个人层面都将具有适当的名称解析。然而,应当理解的是,利用邮件服务供应商50发送邮件可能依赖于伙伴协定和/或协议,而伙伴协定和/或协议取决于给定实现。
上述架构还有利地支持诸如消息体和附件的按需检索、以及多文件夹支持等特征。此外,正如所属领域技术人员将意识到的那样,在基本协议支持的情况下,可以使用“这是垃圾邮件”的按钮或标识符,实现公司标签和其他服务供应商特有的特征。
直接访问***20的一个特别优势在于,用户无需在集成另外的账户前对账户进行配置。然而,可以使用独立的电子邮件地址,并且有利的是,该地址无需受限于用户被要求管理的邮箱大小。例如,电子邮件账户可以由管理员进行管理,任何邮件都可以在一段预定时间后从***中予以清除(即,基于时间自动老化,对所有用户无邮箱大小限制)。
此外,用户可以有利地通过其移动无线通信设备25使用集成电子邮件账户创建、设置和选项的各个方面。因此,用户无需访问HTML网站,就可以比如更改设置、创建过滤器、或执行类似的功能。当然,也可以选择使用HTML网站。
随着使用直接访问******20的***互联网电子邮件服务的日 益成长,可以有利地将现行重点放在管理网站上,以向运营商管理员提供附加信息,支持团队及类似功能。然而,在一些实例中,可以将邮件连接器安装在个人计算机上,而该功能并非总是可以利用移动无线通信设备获得。
Web客户端引擎22可以有利地支持不同特征,所述特征包括:发往手持设备的消息(MTH)、从手持设备接收到的消息(MFH)、对消息进行转发/答复、请求阅览长消息(如大于2K的消息)的更多内容、请求阅览消息附件、以及空中文件夹管理(OTAFM)。下面将对这些功能予以阐述。
对于MTH功能,通过Web客户服务簿将用户的各集成电子邮件账户同用户设备进行联系。对于到达Web客户邮箱的各新消息,通常将含有新消息信息的通知发送至Web引擎监管员组件(图3),Web引擎监管员组件随即将任务分配给***中负载最小的可用工作者。选定的工作者32将对用户信息进行验证,从用户源邮箱检索新消息,并将其传送给用户设备。
在MFH功能中,同Web客户服务簿相关的MFH消息由Web客户端引擎22进行处理,并由工作者32通过简单邮件传输协议(SMTP)或本地发件箱传送至互联网49。如果用户开启了向已发项目文件夹保存已发消息的选项,直接访问代理服务器就将向该文件夹保存已发消息的副本。
在转发/答复/更多内容功能中,只要原始消息依然存在于直接访问代理服务器高速缓存器或用户邮箱中,用户就可以从移动通信设备25转发或答复MTH或MFH消息。对于MTH,工作者32可以比如向用户设备发送最开始的2K消息,或(小于2K的)完整消息。如果消息大于2K,用户可以请求更多内容(MORE),以阅览消息的下2K内容。在这种情况下,工作者32将通过从用户源邮箱检索原始消息的方式处理更多内容的请求,并发回设备所请求的2K消息。当然,在某些实施例中,可以发送2K以上的消息文本(或完整的消息)。
在附件阅览功能中,用户可以阅览常见文档格式(例如,MS Word、MS Power Point、MS Excel、Word Perfect、PDF、text等)或图象格式 (GIF、JPEG等)的消息附件。一旦接收到附件阅览请求,工作者32就可以通过直接访问代理服务器从用户源邮箱获取原始消息,提取所请求的附件,对其进行处理,并将结果发回用户设备,在本例中附件阅览请求是以请求更多内容的形式实现的。该处理要求原始信息尚未从用户Web客户邮箱中删除。
在向已发项目文件夹保存已发消息的功能中,如果用户开启了该选项,工作者32就将从用户设备发送而来的各MFH消息的副本放入邮箱中的用户已发项目文件夹。在空中文件夹管理中,Web客户OTAFM服务以无线方式令用户邮箱中的全部消息和文件夹同用户设备保持同步。
每当移动/删除了用户源邮箱中的消息,就可以同样相应地移动/删除设备上的相关消息,反之亦然。当移动/删除了设备上的消息,就可以同样相应地移动/删除用户源邮箱中的相关消息。类似地,当在用户Web客户邮箱中添加/删除/重命名了文件夹时,就可以在设备上添加/删除/重命名相关文件夹,反之亦然。***20可以有利地支持各种消息特征的不同子集。例如,在发往手持设备的消息的功能中,移动办公平台24可以负责连接各源邮箱51、53,以检测新电子邮件。针对每个新邮件,向Web客户端引擎22发送通知,监管员34根据此通知选出一个工作者32对该电子邮件进行处理。选定的工作者从直接访问代理服务器40获取额外的账户信息和邮件消息的内容,并将其传送给用户设备25。
在从手持设备接收到的消息的功能中,可以将MFH从Web客户工作者32送至直接访问代理服务器40。移动办公平台24随即利用本地发件箱或通过SMTP发送消息,将消息传送至互联网49。然而,应当理解的是,只要可能,本地发件箱可以提供更好用户体验,特别是在考虑到目前的反滥发倡议如SPF和发送方Id的情况下,尤其如此。
在从手持设备删除的消息的功能中,在将消息从设备25中删除时,Web客户端引擎22通过直接访问代理服务器40通知移动办公平台24。如此以来,移动办公平台就可以删除源邮箱中的同一消息了。
当处理更多内容/转发/答复/附件阅览请求时,Web客户工作者32 可以请求来自直接访问代理服务器40原始邮件。然后,直接访问代理服务器40对该请求予以处理,并将结果发送至移动无线通信设备25。该架构还可以支持比如消息部分的按需检索以及其他改进。
一旦集成了新的源邮箱51、53,就可以将来自报警服务器39的服务簿通知发送至监管员34,监管员将该通知分配给工作者32,以向设备发出服务记录。各源邮箱51、53可以同唯一的服务记录相关联。这样,各MFH消息就可以根据设备上的服务记录同源邮箱51、53进行关联。***20还可以周期性地查询集成外部邮箱,以查看新邮件并访问任意消息。***20还可以包含对汇聚组件查询带宽所做的优化,以便支持快速查询。***20还可以有利地支持较大的活动用户群并包含迅速增长的用户群。
负载平衡的拓扑结构可以组件的队列大小及其吞吐量作为依据。如前所述,可以用在一示例中被称为UDP心跳的机制监控这些负载统计信息。如果组件过载或队列长度较长,那么该组件从其他组件获得分配任务的可能性就会降低。相反,如果在最近几小时内该组件同其他组件相比完成了更多的任务,就将获得更多的分配任务。利用这种机制,负载就可以分散在各种不同的机器硬件上,即,为运行在处理能力较弱的机器上的组件所分配的任务将少于为运行在处理能力较强的机器上的组件所分配的任务。可以通过使用负载平衡器模块,例如由华盛顿西雅图的F5Networks生产的BIG-IP模块实现任意移动办公平台组件的总负载平衡。BIG-IP可以提供负载平衡和智能层7交换功能,并且可以对从互联网传送至任意用户接口组件,如WAP和HTML代理服务器的业务进行处理。正如所属领域技术人员将意识到的那样,使用BIG-IP或类似的模块可以为应用提供查询功能、容错以及会话管理功能。
通常,可以从一个单独的直接访问代理服务器40通过持久连接访问单个源邮箱。代表特定用户的任意请求可以始终发送至同一直接访问聚集分区(clustered partition)内的同一机器。由于某些组件是***级的,将为多个分区内的用户处理任务,因此这些组件可以被设计为以逐个请求的方式判断应同哪个直接访问分区进行通信。
负载平衡器和高速缓存器(LBAC)模块可以支持此功能。LBAC46是***级组件,可以执行两项重要功能。第一项功能是:提供从设备PIN到特定直接访问代理服务器40的映射,同时将信息高速缓存于存储器中,以实现快速访问并减轻中心数据库的负载。第二,由于直接访问代理服务器40将运行于聚集分区之中,因此,LBAC46可以将负载分散在任意分区内的全部直接访问代理服务器上。
LBAC46可由不同组件形成。例如,执行负载平衡的代码可以是安全邮件连接器的扩展版本。该代码还可以实现查找中心数据库并高速缓存查找结果(LBAC)。在一非限制性示例中,当工作者要求直接访问代理服务器40执行任务时,就为LBAC46提供一个设备PIN。LBAC46就可以通过在其高速缓存器中进行查找,确认哪个分区与该PIN相关,或从中心数据库检索分区标识符(并将结果高速缓存)。一旦得知了分区,LBAC46就查找其高速缓存器,以查看指定了该分区中的哪个直接访问代理服务器来处理针对此PIN的请求。如果不存在映射,LBAC就请求PDS在负载最小的DA代理服务器40上创建一个新的关联(依旧将结果高速缓存)。最后,LBAC46以连接信息对工作者32做出回应,以便用适当的直接访问代理服务器处理该特定请求。
安全邮件连接器88可运行于故障转移对(failover pair)中,故障转移对的一方是活动主节点(active master),另一方是辅助备份。可以实时地将内部数据结构从活动主节点复制给辅助备份。为了扩展和容错,可以运行多个LBAC46,但通常需要外部连接平衡组件,比如如前所述的BIG-IP组件。
Web客户端引擎22中的接收组件在进行处理前将其他组件分配给它的任务保存至磁盘上的任务存储器。接收组件可以更新任务的状态,当完成任务处理时还可以将任务从任务存储器中删除。如果组件出现故障或过程重新启动,就可以从任务存储器中恢复任务,并基于这些任务的当前状态,继续处理这些任务使之进入下一状态,节省了从头开始重新处理任务的时间。
从MTH/MFH的角度来说,任何恢复都可以通过当前查询行为和 Web客户端引擎22上的恢复机制予以实现。从邮件办公平台组件内部来看,在消息成功传送至Web客户端引擎22之前,一直不在分区数据库60中记录该消息。在下一查询间隔内,***可以重新“发现”消息,并尝试通知Web客户端引擎22。对于新邮件事件,如果事件丢失,***可以在接收到下一事件时或在下一查询间隔期间拾取该消息。对于支持通知的源,作为一非限制性示例,该间隔可以被设置为6小时。对于从Web客户端引擎22发送的消息,和已经被Web客户端引擎接收了的消息,可以用不同的Web客户端引擎组件对恢复予以处理。
可以有利地对Web客户端引擎22进行横向和纵向扩展。可以向直接访问代理服务器40注册/配置多个监管员34,以分散通知负载并提供可用的引擎服务。可以在同一机器或在多台机器上运行多个工作者32和端口代理30,以分散负载并实现冗余。随着用户数的增长,可以向***添加新组件,以实现高度的横向扩展。可以在不停机的情况下,自动将新组件添加至***或从***删除。业务可以被自动委托给新组件并从故障组件转移。可以多次部署移动办公平台24内的各个组件,以实现横向扩展。为了实现纵向扩展,各个移动办公平台24组件可以是具有可配置数量的线程、以在大负载下扩展的多线程过程。连接池可用于减少维护过多开放连接的开销。
图6是与图2所示的功能组件类似的BDA用户接口组件的高层架构图的另一实施例。下面将简要说明这些基本组件及它们的功能。
供应组件(PRV)110提供集中式数据库111或存储器,用于存取用户和设备标识符(ID)配置文件(profile)信息。在登录过程中,WAP和HTML代理74、76检索给出了用户和设备信息的ID配置文件。代理服务器针对特定的用户配置行为(如修改PIN)更新PRV110。Web客户端数据库112(WC DB)包含web客户端用户的账户信息。在登录过程中查询客户端数据库,以判断未知用户是不是web客户端用户,并判断该用户是否可以迁移。WAP代理服务器74提供基于无线标记语言(WML)的用户接口,以配置移动办公平台(MOP)中的源邮箱。HTML代理服务器74提供基于HTML的用户接口,以配置MOP中的源邮箱。Soap伺服小程序114(SOAP守护进程)提供到数据库存 储器的接口。Agg引擎116其协议转换器的作用,Agg引擎同源邮箱相连接,用于验证配置参数。移动办公平台数据库(MOP DB)118是MOP的主用户数据存储器。Web Admin向MOP提供账户状态发生改变的通知。供应组件110也提供帐户状态发生了诸如非活动、活动等改变的通知。供应组件(PRV)可用于通知并将用户从Web客户端(WC)服务迁移至互联网服务(IS),互联网服务具有可利用用户电子邮件账户从web浏览器获得的更多高级特征,并允许用户添加和编辑电子邮件账户。
Web客户端汇聚编程接口(WC AggAPI)122包括数据库124,并为WC账户提供集成源数据。查询WC AggAPI,以获取所要迁移至用户的新互联网服务(IS)账户的集成源配置数据。WC DB112提供web客户端账户信息。查询WC DB112,以获取所要迁移至用户的互联网服务(IS)账户的web客户端账户配置数据。***可以利用现有产品,如供应组件110和WebAdmin120。这些产品具有扩展特性。在该所述实施例中,功能从Aggcron转移至BDA代理服务器。该***提供到BDA代理服务器中分区数据库的直接连接。对数据库的访问可以来自一可配置连接池,可配置连接池将根据***的需要按需增长或缩减。该连接池能够从网络错误以及数据连接问题中恢复过来。
图7是一幅方框图,示出了含有数据库150和配置模块152以及配置模块子集的移动办公平台24,所述移动办公平台包括下面将予以详细描述的入口内容服务(ECS)。数据库150存储着多个指示符,包括针对于不同无线运营商、电子邮件(email)服务供应商和设备类型的,显示特征的图像数据以及诸如铃声曲调和响度之类的铃声的声音数据。无线运营商和电子邮件服务供应商可以是同一个或不同的公司。例如,某些电话公司提供无线电话服务和消息功能,而其它公司仅提供消息服务。当通过移动办公平台24配置移动无线通信设备使其远程访问电子邮件时,配置模块152访问数据库150,并向移动无线通信设备25上载针对于无线运营商、电子邮件服务供应商或设备类型其中之一的、具有图像数据和声音数据形式的、显示和铃声特征的指示符。数据库可以包括包含图形数据的便携式网络图形(PNG)图像映射。 在配置过程中,配置模块从数据库150获取所要显示和播放于移动无线通信设备上的,诸如图标、文本、图形、颜色信息、字体或铃声(如,铃声曲调(tune)、音调(tone)或响度)等任何特定的显示或者铃声。在本说明中,曲调类型涵盖了音调。这些不同的特征或指示符是基于无线运营商、电子邮件服务供应商或设备的。当该用户成功地配置了新帐户时,***或移动办公平台24就向移动无线通信设备推送或上载这些指示符。因此,可以向设备传送正确的图标或声音文件,并且不会因比如在制造过程中预载了未使用过的图标或声音数据文件而浪费存储空间。
应当理解的是,数据库150和配置模块152可以是与图1移动办公平台24中所示功能组件相同的功能组件,并且可与诸如数据库60、DA代理服务器40、以及其它功能组件的部分网站客户端引擎22协同工作。同样,根据所述领域技术人员所采用的***或设计类型,可以为参照图6予以说明的功能组件添加类似于图1所示功能组件的功能组件。
应当理解的是,配置模块152可以改变颜色、字体大小、字体、图形、文本、图标、分辨率或铃声。此外,配置模块152可以根据电子邮件服务供应商配置电子邮件收件箱,并为用户使用的每个电子邮件服务供应商建立电子邮件收件箱,使得在每个电子邮件服务供应商的各收件箱中显示特征各不相同。当在一个供应商电子邮件收件箱中收到电子邮件时,铃声可以发生改变,并且当在另一供应商电子邮件收件箱中接收到电子邮件时振铃声音再次改变。此外,可以从总邮箱中分离每个电子邮件服务供应商的各收件箱。无线运营商、电子邮件服务供应商和设备类型分别可以具有不同的显示或铃声指示符。总电子邮件收件箱应该含有所有消息,并且其它特定的邮箱不局限于来自特定电子邮件服务供应商的消息。
图8和图9是用于移动无线通信设备上的显示器的局部框图,并示出了针对不同服务供应商、无线运营商和设备所使用的不同的字体大小和字体、图标和图形。图8示出了一个具有显示器200的移动无线通信设备,其中显示了与图9中设备显示器所显示的无线运营商、电子邮件供应商和设备类型以及图形或者图标不同的无线运营商、电子邮件 供应商和设备类型以及图形或者图标。
图8是无线设备的显示器,其上列出了名为“Gread ConnectionProvider”的、带有特定图形206的电子邮件服务供应商204,后者以高速公路***作为其电子邮件服务和互联网的图形表示。无线运营商被列为“ABC Phone Service”208,并使用图形当作城市景观210。在底部示出的设备类型为“Great Circuit Telephone Device”212。扬声器发出的铃声214具有以音乐音调215为例并标以曲调1的第一振铃特征。
图9示出了另一显示器202以及电子邮件服务供应商“GreatestConnection Provider”220电子及其图形222啮合的齿轮。示出的电话或无线服务为“DEF Telephone Sevice”224并且其图形被示为一部电话。在228处以不同于图7中设备名称字体的字体示出了设备类型,并列出“Better Circuit Telephone Devices”。扬声器230提供与图8所示的设备200不同的铃声特征231。
图8和图9都示出了其中可以显示文本以及其它图形的显示器的中心区,显示信息包括消息、地址簿功能、电话功能、浏览器功能、日历功能、任务、记事簿、计算器、报警以及游戏。
图8在显示器上示出了通用桌面250,后者含有总邮箱252,以及邮箱程序中的特定收件箱254、256,每个邮箱与特定的电子邮件服务供应商(“Great Connection Provider”220和“Greatest ConnectionProvider”222)相对应。每个邮箱具有不同的图标256、258,“GreatConnection Provider”的图标是灯泡,“Greatest Connection Provider”的图标是锁。示出了诸如字体和字体大小等不同的显示特征。应当理解的是,不仅图形、文本、图标、字体大小、字体和分辨率可以是不同的,为了区分不同的无线运营商、电子邮件服务供应商和设备类型,颜色也可以是不同的。
同样可以提出一种方法,使数据库存储作为显示特征数据的指示符,显示特征数据包括图像数据和铃声数据,并向移动无线通信设备上载显示特征,如特定的图标、字体或其它图形。另外还提出了含有计算机可执行指令的计算机可读介质,并且该计算机程序可包含于参照图1和图7予以描述的移动办公平台组件上。
应当理解的是,当在移动无线通信设备上提供外部电子邮件帐户时,外部电子邮件帐户可能需要其应用程序入口点出现在功能区或移动无线通信设备上的其它位置。通过所谓入口点内容服务(ECS)153的HTTP服务可以提供该入口点的内容,入口点内容服务(ECS)153是上述组件的功能之一。例如,在图7的153中示出了ECS,并且ECS可以用于获取品牌化/主题内容。
例如,如果CMIME服务簿的应用数据包含指示从哪里可以下载到针对于特定服务的内容的统一资源定位符(URL网址),移动无线通信设备就可以尝试获取内容。如果服务簿为内容指定了一个URL,那么内容将自动下载。如果无法下载内容或者假如未指定URL,则可以显示默认图标。默认图标应该同用于统一消息列表入口点的图标类似,但应与后者有所区分。这个图标可以是有主题的。当用户集成新源邮箱帐户时,该URL可以被放置在CMIME服务簿中。该URL将使设备客户端能够使用对于得到正确内容(即,图标图像映射、声音数据等)来说的必要信息访问ECS153。
为了确定用于web客户端引擎发送给手持设备的CMIME服务簿的属性值,可以利用DAV PROPFIND命令查询MOP DA代理服务器。例如,以下示出了XML数据的服务簿部分:
下列字段与内容服务功能更加相关:
1)sb:enablecontentserviceicon—如果该XML组件值为‘真’,就将 sb:contentserviceurl的值填入服务簿,反之不显示功能区图标;
2)sb:contentserviceiconversion—该XML元素的值目前始终是1;以及
3)sb:contentserviceurl—如果该XML元素为空或不存在,则指示服务簿使用默认的设备功能区图标,反之将url填入服务簿(sb),并且手持设备将尝试从该URL获取图像。
从ECS153返回的内容可以包含图像数据(如图标图像数据)、铃声以及类似功能的数据。
图像数据包含手持设备所使用的入口点图像。这包括针对聚焦和未聚焦的功能区图标的图像以及已读和未读消息图标。可以在一个较大的便携式网络图形(PNG)图像映射中提供这些图像。图10是图像映射的示例,图像映射如300所示。图像映射300包括:“n”个像素的正常图标302、聚焦图标304、指示已读和未读内容的已读图标306和未读图标308,然而已读和未读图标在某些应用中不总能被用到,因而通常不是强制性的。
存在一些HTTP通信规范。作为一非限制性示例,内容服务可以遵循HTTP1.1RFC(请求评议),接受请求并产生响应。例如,如果客户端(手持设备)要求关闭连接,则需要在请求中予以指定。此外,HTTP1.1声明数据可以“形成数据块”—但这在内容服务响应中是不可能发生的。然而,要求手持设备客户端处理数据“块”。以下作为一非限制性示例示出了请求和响应的示例。
参数 | 说明 | 是否要求? |
TEAMON_URL | HTTP请求URL;参见以下内容以获取更多信息 | 是 |
TEAMON_SERVER | HTTP服务器和端口;例如“trunk.seattle.rim.net:8083” | 是 |
DEVICE_XMLDOC | 提供关于手持设备的信息。“profile”头是WAP标准 | 是 |
If-Modified-Since | 如果自该字段中指定的时间开始,未曾修改过请求图像,就将返回不带任何消息主体的304(未修改)响应。 | 否 |
ACCEPTABLE_CONTENT | 设备所支持的MIME内容类型的列表 | 是 |
USER_AGENT | 手持设备的用户代理 | 是 |
HTTP_RESPONSE_CODE | 来自http://www.w3.org/protocols/rfc2616/rfc2616-sec10.html#sec10.3的任意的有效响应代码,如“200OK”或“404未找到”;值得注意的是,可以返回3xx重定向代码,因此请求者应当能够对其进行处理。参见以下部分。 | 是 |
CONTENT_TYPE | 图像的MIME内容类型;如“image/png”;参见 http://www.iana.org/assignments/media-types以获取更多信息 | 是 |
CONTENT_LENGTH | 内容(可能是二进制)数据的整数长度 | 是 |
ICON_WIDTHICON_HEIGHT | 以像素为单位的实际图标图像尺寸宽度。以像素为单位的实际图标图像尺寸高度。 | 是,如果有效载荷是图像数据 |
ICON_INDICES | 以逗号分隔的PNG图像映射的整数索引列表;参见以下内容以获取更多信息 | 是,如果有效载荷是图像数据 |
PAYLOAD_DATA | 内容(可能是二进制)数据 | 是 |
作为非限制性示例存在一些HTTP响应代码。由于内容服务遵循HTTP1.1RFC,因而可以定义于http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10中的HTTP响应代码,如200、302、404、500、及类似代码作为响应。
一般而言,服务将以“200OK”作为响应,并提供所请求的内容。然而,有时可以3xx重定向代码作为响应,通常采用以下代码中的一种:
·“302找到”
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.3
·“304未修改”
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.5
服务还可以错误作为回应,通常采用以下代码中的一种:
·“404未找到”
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5
·“500互联网服务错误”
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1
手持设备客户端可以适当地处理上述响应中的任意一种。
存在一些参数细节。例如,TEAMON_URL是指向入口点内容服务的URL。具有以下格式:
/htmlc=400 & a=1 & item=ITEM & theme=THEME & locale
OCALE & icon_width=ICO
N_WIDTH & icon_height=ICON_HEIGHT
查询参数 | 说明 | 是否要求? |
ITEM | 指定所要获取的项目;目前唯一的合法值是“icon”。如果省略了这个查询参数,那么假定该参数是“icon” | 否 |
THEME | 品牌/主题名称;通常是运行商名称,如“tmobile”或“rogers” | 否 |
ICON_WIDTHICON_HEIGHT | 以像素为单位的预期图标宽度。以像素为单位的预期图标高度。 | 是,如果ITEM=icon |
ICON-INDICES的参数是包含PNG图像映射索引的、以逗号分隔的整数列表。每个索引都是从零计数的。省略的整数表示省略的图标图像。该列表具有以下格式:
索引 | 说明 |
A | 正常功能区图标的索引 |
B | 聚焦功能区图标的索引 |
C | 已读消息图标*的索引 |
D | 未读消息*的索引 |
例如“0,,1,”表明正常图标位于第一位置,已读消息图标位于第二位置,并且不存在未聚焦的或未读图标。
以下是存储在CMIME服务簿中的URL示例:
http:/bist.teamon.com/htmlc=400&a=1
以下是附加其它查询参数后URL可能的样子。这是对服务做出的实际URL请求的示例:
http://bist.teamon.com/htmc=400&a=item=icon&theme=std&icon_width=8&icon_height=8
以下是HTTP请求/响应的示例,包括头、用于从服务获取图标图像映射的业务:
存在“主题”所用的典型的有效字符串值。可以通过宽度和高度参数,在请求中以像素为单位指定图标大小。任何非零值都是有效的。图标尺寸可以随当前加载的主题发生变化。在图像映射中图标可以水平排列(并排),并且可以假定所有图标具有一致的大小。
在参照图11的以下示例中进一步说明了手持移动无线通信设备1000的示例。设备1000说明性地包括:机壳1200、键盘1400和输出设备1600。如图所示的输出设备是显示器1600,优选情况下,显示器是全图示LCD。可选地,还可以使用其他类型的输出设备。处理设备1800包含在机壳1200中,并耦合在键盘1400和显示器1600之间。处理设备1800对用户在键盘1400上的按键动作予以响应,控制显示器1600的工作,和移动设备1000的全部工作。
机壳1200可以垂直延长,或者可以具有其他大小和形状(包括翻盖式机壳结构)。键盘可以包括模式选择键,或者其他用于在文本输入和电话输入间切换的硬件或软件。
除了处理设备1800,图15中还示意性地示出了移动设备1000的其他部分。这些部分包括:通信子***1001;短程通信子***1020;键盘1400和显示器1600;其他输入/输出设备1060、1080、1100和1120;以及存储设备1160、1180和各种其他设备子***1201。优选情况下,移动设备1000是具有语音和数据通信能力的双向RF通信设备。此外,优选情况下,移动通信设备1000具有通过互联网(Internet)同其他计算机***通信的能力。
优选情况下,由处理设备1800执行的操作***软件存储于永久性存储器,如闪存1160中,但也可存储在其他类型的存储设备,如只读存储器(ROM)或类似的存储单元中。此外,可以将***软件、专用设备应用程序或其所属部分临时加载于易失性存储器,如随机存取存 储器(RAM)1180中。移动设备接收到的通信信号也可存储于RAM1180中。
除了它的操作***功能以外,处理设备1800还支持在设备1000上执行应用软件1300A-1300B。在制造过程中,可以将一组预定的、用于控制基本设备操作(如数据和语音通信1300A和1300B)的应用程序安装在设备1000上。此外,可以在制造过程中安装个人信息管理器(PIM)应用程序。优选情况下,PIM能够对数据项,如电子邮件、日历事件、语音邮件、约会和任务项进行组织和管理。优选情况下,PIM应用程序还可以通过无线网络1401发送并接收数据项。优选情况下,PIM数据项通过无线网络1401与所存储的或与主机***相关的设备用户的相应数据项进行无缝集成、同步以及更新。包含数据和语音通信功能在内的通信功能可通过通信子***1001予以实现,也可以用短程通信子***来实现。通信子***1001包括:接收机1500、发射机1520、以及一根以上的天线1540和1560。此外,通信子***1001还包括:诸如数字信号处理器(DSP)1580之类的处理模块以及本地振荡器(LOs)1601。通信子***1001的具体设计和实现取决于移动设备1000所要工作的通信网络。例如,移动设备1000可以包括被设计用于使用MobitexTM、Data TACTM或通用分组无线业务(GPRS)移动数据通信网络,以及被设计用于使用任意一种话音通信网络,如AMPS、TDMA、CDMA、PCS、GSM等的通信子***1001。移动设备1000还可用于单独的和集成的其他类型的数据和话音网络。
网络接入要求取决于通信***的类型。例如,在Mobitex和DataTAC网络中,利用同各设备相关的唯一个人身份号码或PIN向网络登记移动设备。然而,在GPRS网络中,网络接入与设备的用户相关。因此,为了在GPRS网络中使用,GPRS设备需要一个通常被称为SIM卡的用户识别模块。
当完成了所需的网络登记或激活过程,移动设备1000就可以通过通信网络1401发送和接收通信信号。将天线1540从通信网络1401接收到信号传送至接收机1500,接收机提供信号放大、下变频、滤波、信道选择等功能,还可以提供从模拟到数字的转换。接收信号的模数转 换使DSP1580可以执行更复杂的通信功能,如解调和译码。以类似的方式,所要发送至网络1401的信号由DSP1580进行处理(例如,调制和编码),然后被供至发射机1520,以进行数模转换、上变频、滤波、放大、并通过天线1560发送至通信网络1401。
除了处理通信信号,DSP1580还为接收机1500和发射机1520提供控制。例如,可以通过实现于DSP1580中的自动增益控制算法,自适应地对作用于接收机1500和发射机1520中通信信号上的增益加以控制。
在数据通信模式下,由通信子***1001对接收信号(如文本消息或下载的网页)进行处理,并将处理结果输入处理设备1800。然后,由处理设备1800对接收信号进行进一步地处理,以便将处理结果输出至显示器1600或其他辅助I/O设备1060。设备用户可以用键盘1400和/或其他辅助I/O设备1060,如触摸板、摇臂开关、指轮、或其他类型的输入设备编辑诸如电子邮件消息等数据项。然后,可以利用通信子***1001通过通信网络1401发送编辑好的数据项。
在语音通信模式下,除了将接收信号输出至扬声器1100,以及用麦克风1120产生发送信号以外,设备的全部操作基本上与数据通信模式相同。还可以在设备1000上实现可替换的语音或音频I/O子***,如语音消息记录子***。此外,还可以在语音通信模式下使用显示器1600,比如用以显示主叫方身份、语音呼叫的持续时间或其他语音呼叫的有关信息。
短程通信子***支持移动设备1000同其他相邻***或设备间的通信,相邻***或设备不必是相似设备。例如,短程通信子***可以包括红外设备以及相关的电路和组件,或BluetoothTM通信模块,以同同样支持红外、蓝牙功能的***和设备进行通信。
受益于前述说明及相关附图中的教导,所属领域技术人员将构思出本发明的许多改进方案和其他实施例。因此,应当理解的是,本发明不仅限于所公开的具体实施例,还意在将所述改进方案和实施例包含于所附权利要求的范围以内。