发明内容
本发明公开了用于创建业务提供商帐户和配置与其相关的设备的系统、装置和方法。一方面,一种方法,涉及接收经由用户接口由用户输入的帐户标识符,以启动用网络帐户登记用户设备。基于所述帐户标识符的域名部分确定一个或多个主机名。所述一个或多个主机名没有在所述用户设备上预配置。尝试与所述一个或多个主机名中的每个连接。所述连接尝试中的每个使用与所述网络帐户的类型关联的一个或多个应用协议。确定连接尝试中的至少一个导致成功连接,以及基于与所述成功连接关联的主机和协议组合在所述用户设备上配置用户帐户。
另一方面,一种装置,包括:处理器,用可执行指令对其编程,使得所述装置执行以下步骤:接收用户输入的帐户标识符;以及基于所述帐户标识符的域名部分确定一个或多个主机名。所述主机名没有在所述装置上预配置。所述装置还尝试与所述一个或多个主机名中的每个连接。所述连接尝试中的每个使用与网络帐户的类型关联的一个或多个应用协议。所述装置确定连接尝试中的至少一个导致成功连接;以及基于与所述成功连接关联的主机和协议组合在所述装置上配置用户帐户。
另一方面,一种计算机可读存储介质,包括可由装置执行的指令,用于执行以下操作,包括:a)接收经由用户接口由用户输入的帐户标识符,以启动用网络帐户登记用户设备;b)基于所述帐户标识符的域名部分确定一个或多个主机名(所述主机名没有在所述装置上预配置);c)尝试与所述一个或多个主机名中的每个连接(所述连接尝试中的每个使用与网络帐户的类型关联的一个或多个应用协议);d)确定连接尝试中的至少一个导致成功连接;以及e)基于与所述成功连接关联的主机和协议组合在所述用户设备上配置用户帐户。
另一方面,一种装置,包括:a)用于接收经由用户接口由用户输入的帐户标识符,以启动用网络帐户登记用户设备的装置;b)用于基于所述帐户标识符的域名部分确定一个或多个主机名的装置(所述主机名没有在所述装置上预配置);d)用于尝试与所述一个或多个主机名中的每个连接的装置(所述连接尝试中的每个使用与网络帐户的类型关联的一个或多个应用协议);e)用于确定连接尝试中的至少一个导致成功连接的装置;以及f)用于基于与所述成功连接关联的主机和协议组合在所述用户设备上配置用户帐户的装置。
上述方法、装置、和计算机可读介质可包括以下特征的任意组合。在一个变型中,基于所述帐户标识符的域名部分确定一个或多个主机名包括:在所述帐户标识符的域名部分前增加基于网络帐户的类型确定的一个或多个前缀。在这种情况下,在接收帐户标识符之后,并且在基于所述帐户标识符的域名部分确定一个或多个主机名之前,可执行以下操作:a)访问预定主机名的数据库,以确定处理网络帐户的已知主机;b)如果所述已知主机是从所述数据库确定,则使用所述已知主机在所述用户设备上配置所述用户帐户;以及c)如果所述已知主机不是从所述数据库确定,则根据基于所述帐户标识符的域名部分确定一个或多个主机名在所述用户设备上配置所述用户帐户。
在任一公开的变型中,所述网络帐户可包括电子邮件帐户,以及所述帐户标识符包括电子邮件地址。在这种情况下,基于所述帐户标识符的域名部分确定一个或多个主机名包括:a)经由域名业务确定与所述帐户标识符的域名部分关联的一个或多个邮件交换记录;以及b)基于所述一个或多个交换记录确定简单邮件传输协议(SMTP)主机名。在这些变型中,确定一个或多个主机名包括:基于所述SMTP主机名确定所述一个或多个主机名。同样,在这些变型中,基于所述SMTP主机名的主机名确定所述一个或多个主机名包括:基于所述SMTP主机名的域名部分确定一个或多个输入电子邮件主机名(所述一个或多个输入电子邮件主机名没有在所述用户设备上预配置)。同样,在这些变型中,所述SMTP主机名的域名部分不同于所述帐户标识符的域名部分。在这种情况下,基于所述SMTP主机名的主机名确定所述一个或多个主机名包括:基于所述SMTP主机名,访问预定主机名的数据库,以确定所述主机和协议组合。
在所有以上变型中,方法、装置、和计算机可读介质可执行:用与所述成功连接关联的所述主机和协议组合来更新数据库。在这种情况下,所述数据库用以通过所述主机和协议组合来配置其他用户帐户,其中所述其他用户帐户与所述帐户标识符的域名部分关联。同样,在以上变型中,方法、装置、和计算机可读介质可执行:接收经由用户接口由用户输入的帐户认证数据,以及尝试与所述一个或多个主机名中的每个连接还包括:使用所述帐户认证数据来尝试所述一个或多个主机名的每个的认证。
在所有以上变型中,所述连接尝试导致多个成功连接。在这种情况下,方法、装置、和计算机可读介质可确定与所述多个成功连接关联的优选主机和协议组合;以及进一步基于所述优选主机和协议组合配置所述用户帐户。在以上组合的另一变型中,方法、装置、和计算机可读介质可执行:基于一个或多个成功连接配置多个用户帐户。
这些和各个其他优点以及表征本发明的新颖性的特征通过所附权利要求中的细节来指出,并形成其一部分。然而,为了更好地理解本发明、其优点、和其使用所获得的目的,应参照形成其一部分的附图和说明性部分,其中示出和描述了根据本发明的系统、装置、和方法的代表性实例。
具体实施方式
参照附图来描述各个示例性实施例,这些附图构成说明书的一部分,并且其中通过图示示出可实现本发明的各个实施例。可理解,可利用其他实施例,在不脱离本发明的范围的情况下可做出结构和操作上的改变。
本发明涉及便于服务提供商帐户的创建和与帐户关联的设备的配置的方法、系统和装置。例如,各个公开的实施例便于在新设备上为业务(例如电子邮件、即时消息(IM)、社交网络、因特网协议话音(VoIP)、无线局域网(WLAN)、照片共享、内容定制业务等)配置现有帐户。如上所述,电子邮件业务是可使用本发明以使用户更便捷地在他们的移动设备上配置电子邮件消息的一个业务。
使用电子邮件作为一个实例,终端用户想要配置电子邮件程序(例如Outlook和移动设备电子邮件客户端)以访问来自其电子邮件提供商(例如HotmailTM,YahooTM,GmailTM等)的电子邮件。然而,许多用户不知道电子邮件提供商使用的POP或IMAP服务器,所以他们不能够配置他们的电子邮件客户端或他们不得不需要或寻求支持。服务器信息可以从他们的电子邮件提供商的Web站点或其他文档中找到。然而,这样的文档并非总是容易找到,并且可能不覆盖用户想要的特定邮件客户端。同样,这样的文档使用对于用户应用不一致和/或混淆的术语/缩略语。这阻碍了许多用户配置他们的电子邮件客户端。
在图1中,框图示出根据本发明实施例的可便于本地帐户建立的用户设备102。设备102可包括任何用户可操作的设备,包括移动装置,例如蜂窝电话、因特网平板电脑、导航单元、媒体播放器、个人数字助理(PDA)等。通常,用户希望经由网络106配置和存储与可用的各个业务108相关的帐户数据104。业务108可由设备102上运行的通用或专用客户端110来访问。客户端110的实例包括电子邮件112、文本或即时消息(IM)114、VoIP 116、和其他客户端118。其他客户端118可包括其他专用客户端(例如媒体定制)或通用客户端(例如浏览器、壳(shell))。
为了例示,将依据电子邮件帐户来描述用户设备的帐户配置功能。电子邮件是广泛使用的电子消息格式,其需要大量客户端配置。用户不仅必须知道他们的电子邮件地址120,他们还必须知道用于访问输入和输出邮件服务器的用户名(如果与地址120不同)和密码122,并且必须知道那些服务器的地址和其他细节(例如邮件协议、安全性)。同样,许多集成业务提供商(例如Yahoo!TM、Google TM)可使用电子邮件认证来访问其他网络业务,例如即时消息和应用服务器。由此,电子邮件帐户数据(例如电子邮件地址120和密码122)可用作配置多个帐户类型的开始点。
如上所述,建立帐户(例如当第一次使用设备102时)可包括向用户接口124输入电子邮件地址120(或其他帐户标识符),可选地还输入密码122。这个用户接口124常常包括键板或触摸屏,但是也可使用用户数据输入的其他手段,例如语音识别、条形码扫描、光符号识别、运动检测。将输入的数据120、122传送至帐户设置检测工具126,其包括自动建立本地帐户和在帐户数据库104中存储设置所需的逻辑。
帐户设置工具126可首先尝试利用预定数据来建立帐户。例如,数据库高速缓存128可包括用于公知业务提供商的数据(例如服务器地址、协议),例如Yahoo!TM邮件、Google TM。对于不太知晓的提供商,可通过接口132访问网络帐户检测业务130。相比于本地数据库128中包含的实际使用的帐户设置的数据库,网络检测业务130能够包含更大的数据库。此外,网络检测业务130可能比该数据库更易于保持最新状态,该数据库可因为与制造、分发、软件质量保证、本地化等相关的原因而被锁定至特定版本。接口132可用于除了初始帐户配置的其他目的而访问网络业务130,例如更新数据库高速缓存128中的预配置的项目。
即使精心配备的检测业务130也可能无法考虑可能由设备102访问的所有可能的电子邮件帐户。例如,许多家庭用户和小企业获得他们自己的域名并保持他们自己的电子邮件业务,在许多情况下,对于经由业务130尝试登记/检测所有那些帐户是不实际的。结果,帐户设置检测工具126可使用额外的网络工具134,以尝试自动确定建立电子邮件帐户所需的帐户数据。
例如,帐户设置检测工具126可尝试基于电子邮件地址120的域部分确定帐户的适当电子邮件服务器。地址的域部分是电子邮件地址的符号(“”)之后的部分。例如,在地址“b.bagginstheshire.com”中,该符号之前的文本“b.baggins”是本地部分,“theshire.com”是域部分。以下将更详细描述,地址120的这个域部分可提供有价值的线索,用于确定一些或所有期望的帐户信息。编程/网络工具134可协助确定这个额外的帐户数据。
编程工具134可包括在操作系统和/或设备102的应用中,或者可特定于检测工具126。这些工具可包括但不限于,域名业务(DNS)查询服务136、端口扫描仪(由“nmap”表示)138、场所确定业务(LOCALE)140、SMTP接口142、客户端电子邮件检索接口144(针对例如邮递协议(POP)和因特网消息访问协议(IMAP)的协议)、和安全传输层协议接口146(例如安全套接字层(SSL)和传输层安全(TLS))。可理解,也可利用其他工具,例如对于常用协议(例如超文本传输协议(HTTP)、会话发起协议(SIP)、简单网络管理协议(SNMP)等)的接口。通常,这些工具134可确定网络106上的各个服务器是否托管/支持用户帐户。
在电子邮件客户端112的领域中,为了支持全电子邮件功能,通常定义两种服务器。第一种服务器是输入电子邮件服务器,由POP/IMAP服务器148表示。可理解,在以下说明书中,术语“输入”和“输出”指的是从客户端112的角度的电子邮件的传送。输入邮件服务器148通常指的是对于邮件用户代理(MUA)(例如电子邮件客户端112)接收和存储电子邮件的邮件传送代理(MDA)。第二种服务器称为SMTP服务器150,其接收来自电子邮件客户端112的输出邮件。SMTP服务器150通常执行邮件传输代理(MTA)的业务,可涉及对于从其他MTA接收和/或向其他MTA发送的电子邮件的排队。然而,电子邮件协议的这个列表并非旨在穷举。例如,一些电子邮件系统(例如Microsoft TM Exchange TM和ActiveSyncTM)定义单服务器/协议,用于输入和输出电子邮件两者。其他邮件业务也可使用单输入点(例如HTTP服务器),用于发送和接收电子邮件两者。本领域普通技术人员可理解,这里描述的涉及输入和输出邮件服务器的概念可等同地适用于这样的单服务器和/或单协议电子邮件系统。
在设备102上建立帐户时涉及的一个任务是,典型地通过因特网协议(IP)地址可解析的主机名来识别输入和输出服务器148、150。通过DNS服务器152来执行对于IP地址的主机名的解析(反之亦然)。DNS服务器152保持主机名与特定域的IP地址的映射,并且还可保持邮件交换(MX)记录,其指定将接受对于给定域的电子邮件的服务器。以下将更详细描述,可采用这些和其他工具来智能地协助用户在用户设备102上自动建立帐户。
图1中所示的这个系统考虑了相比于当前可用的更加高级的电子邮件服务器发现。检测组件126可采用使用若干查询方法的算法,以发现尽可能多的电子邮件域,以及发现尽可能多地关于每个域的信息。此外,如果从现有数据库128、130不能够自动确定域的信息,则检测组件126将分析用户输入的设置,以确定组件126可向已知域的列表128、130增加的信息。以这样的方式,确保了在不能够自动检测域的邮件服务器时每个域仅一个用户需要提供详细的设置。用户输入的设置也可用于更新组件126使用的算法(这也可通过高速缓存来更新)。例如,如果大量用户输入的服务器名符合当前工具134没有使用的可预测模式,则可更新用于猜测服务器名的算法。
在检测组件126自动返回关于业务的详细信息的情况下,该信息可改变并且可针对使用检测组件126的不同应用/客户端110来分类。例如,检测组件126可确定一个应用110仅通过电子邮件域的高级帐户来工作,但是另一应用110通过相同域的所有帐户工作。帐户信息(例如在数据库128或服务器130中)也可通过若干不同标准来过滤,例如操作符或国家代码。这使得业务对于根据操作符协议提供不同访问的不同邮件业务是非常易变通的。
现在参照图2,流程图示出根据本发明实施例的帐户检测过程。通常,该过程包括基于用户提供的电子邮件地址和(可选的)密码的接收202确定帐户设置,后者用于测试设置。接下来,检查高速缓存204,以确定域(从电子邮件地址的域部分确定)是否可用。如果域信息可用,并且没有要执行的测试(在决定框206确定),则将高速缓存的服务器设置返回至客户端210。应注意,在这个特定情形下,将不需要将设置插入数据库208,因为他们是从数据库获得。如果确定204域没有在高速缓存中,则执行邮件服务器搜索212。以下,在图3-5的讨论中将更详细描述搜索212的详情。如果搜索212不成功,则该过程以错误214退出。如果搜索212成功,则到达决定框206,以确定是否执行测试。在这个情形下,测试涉及登录216到目标邮件服务器(根据高速缓存204或高级搜索212确定)和确定218登录是否成功。如果不成功,则导致错误214,否则可将验证的设置插入208数据库中,并且将设置返回至210呼叫应用。如框220所示,插入设置208可涉及在插入设置时应用偏好。例如,如果发现POP和IMAP两者,则数据库可仅期望插入208IMAP服务器。在另一安排下,可插入208两个项目,但是可增加排名或偏好标志,从而可在一些情形下选择一个项目而非另一个。数据库插入208可包括用于排名和/或包括服务器数据的其他区别。例如,插入208可考虑连接方法(例如安全与非安全连接)、响应(例如经由ping返回次数测量)、服务器的物理位置等。
现在参照图3,流程图示出根据本发明实施例的邮件服务器搜索212的细节。作为帐户设置(例如目标服务器名)预先未知的自动帐户过程的一部分,在图2中来描述搜索212。结果,进行尝试302以基于从用户的电子邮件地址确定的电子邮件域解析(例如经由DNS前向查询)若干已知主机名。通常,这些主机名可通过在域名前加主机名(作为前缀)来形成。例如,如果电子邮件地址为usermydomain.com,则尝试解析主机名,例如mail.mydomain.com、smtp.mydomain.com等。可尝试的其他前缀包括email、pop、imap、pop3、imap4、exchange、owa、http、https、webmail、www等。可理解,即使这些前缀中的一些可能通常不与电子邮件服务器关联,但实体将在相同IP地址多次托管不同业务。结果,在例如web服务器地址进行的电子邮件连接尝试可能总归是成功的。
如果确定304目标主机名解析302,则可尝试306连接至目标主机名。这些尝试306可涉及通过共同协议和安全类型的组合来重复。在可如何实现连接尝试306的一个实例中,可在对于POP(具有SSL的POP)、IMAP(具有SSL的IMAP)、SMTP(具有SSL的SMTP、具有TLS的SMTP)等的已知端口上作出连接尝试。连接尝试306可涉及使用实际目标协议连接,或可使用其他技术(例如SYN扫描)。如果连接至已知端口没成功,则可执行全端口扫描以查看目标主机是否重新映射输入端口。如果确定主机正在其他端口(例如不常用于电子邮件的端口)上侦听,则可执行额外步骤以确定在受影响的端口上是否使用协议和安全性。这个额外扫描可占用一些时间,并且可优选地在第一次获得应该执行这样的扫描的用户确认之后执行。
将在框306确定的每个成功连接添加308至对于这个电子邮件域的数据库高速缓存。可搜索所有可能的服务器名并存储,以返回尽可能多的信息。例如,如果服务器支持POP和IMAP,则算法可检测这两个协议,而并非在第一个协议之后停止。在一些配置中,数据库可跟踪不同主机名的通用性,可基于数据库高速缓存的内容细化搜索的内容和顺序。如框305和307所示,名解析302和连接尝试306的这个重复可继续,直到名组合已经穷尽或对于每个协议类型(例如POP、IMAP、SMTP)确定了一个服务器。在另一安排中,302、306的重复可继续,直到至少找到符合所需协议的最小集的服务器(例如POP/SMTP或IMAP/SMTP)。
在针对该域的公知主机名测试的结尾,系统确定310是否找到针对域的至少一个输入和输出服务器。如果找到了这些服务器,则搜索被认为是成功的。在这种情况下,返回312该设置,并且该过程可如图1所示继续。如果没有找到针对域的至少一个输入和输出服务器,则执行高级过程314。在图4中示出根据本发明实施例的例示高级过程314的细节的流程图。
高级过程314可首先通过经由电子邮件域的DNS查询获得402MX记录的列表来确定来自电子邮件域的SMTP服务器。然后,将在每个SMTP服务器上重复剩余逻辑。首先,确定404SMTP服务器是否在已知电子邮件提供商的列表中(例如图1的数据库高速缓存128或帐户检测业务130中)。如果该服务器属于已知提供商,则如框406、408、410所示,系统可返回与该提供商相关的设置。例如,如果mydomain.com具有匹配于模式*.google.com的SMTP服务器,这指示由GmailTM托管该域。Gmail服务器设置可先前由系统管理员输入至数据库130,因此系统可使用这些Gmail设置存储408针对这个域的服务器设置,以及将设置返回410至主叫应用。例如,提供商数据库130可将结果“.google.com in a MX record”与到“IMAP:imap.gmail.com”和“SMTP:smtp.gmail.com”两者的链接关联。
如果确定404SMTP服务器不匹配于已知提供商的列表,则执行发现处理412,这类似于关于图3所述的不同前缀302的使用。在这个阶段412,SMTP服务器数据可提供与服务器的身份相关的额外线索,或者可自身提供期望的输入邮件业务。如果在412找到有效主机名,则类似于关于图3所述的过程可执行连接尝试414和服务器更新416。同样,如果确定418识别了对于每个域的至少一个输入和输出服务器,则返回410那些设置,否则向客户端/呼叫方返回错误420。
为了提供MX查询402可如何改进服务器发现的实例,考虑在图3的步骤302,诸如pop.mydomain.com、imap.mydomain.com的主机名失败,结果进入过程314。在这个实例中,在图4中的402获得的MX记录得到smtp.mail.mydomain.com。因此,MX记录显示了提供商正在使用“mail.mydomain.com”的子域。基于这个信息,在步骤412的重复可通过猜测例如pop.mail.mydomain.com、imap.mail.mydomain.com等主机名合并这个子域。
可理解,在不脱离本发明的精神和范围的情况下可引入图2-4的过程的许多变型。例如,可通过使用轻量级进程、线程等并行执行DNS查询412和414的行为。在一些情形下,额外改进可有助于帐户发现。例如,保持其自己的电子邮件服务器的个人用户和小企业通常具有用于所有因特网业务的一个公开可路由的IP地址,包括对于电子邮件帐户的外部访问。网络地址转换(NAT)防火墙等可从因特网接收所有输入业务连接请求,以及管理针对防火墙后方的客户端的因特网业务。NAT防火墙可使用端口映射,将到达的连接请求(例如针对IMAP、POP、HTML、SMTP)路由至一个或多个内部服务器。
在这个特定情形下,当用户设备耦合至在防火墙的私人端上的局域网(LAN)时,建立电子邮件帐户所需的信息可能是可用的。例如,如果移动设备具有无线局域网(WLAN)功能,则该设备能够加入WLAN,并使用例如“tracert”(跟踪路由)和/或基于因特网的查询业务的工具软件以找到防火墙的公共IP地址。在这种情况下,自己可使用该公共IP地址,以检测和配置图3和4所述的客户端。在其他安排中,仍旧可期望确定与所述IP地址关联的主机名(例如IP地址可稍后改变)。在这种情况下,设备可进行反向DNS查询,以找到与所述IP地址关联的一个或多个主机名,并且可如上所述选择和使用那些主机名。
在上述情形下,可期望用户首先指示,在尝试确定域名之前他们在保持帐户的工作/私人LAN上(这样的数据可能在例如公共热点或蜂窝数据网络上无用)。如果用户首先指示在第一次配置设备时他们在这样的LAN上,则网络域名的反向DNS的使用也可有助于输入用户的电子邮件地址(例如在图2的数据输入202之前)。例如,设备可使用一设施确定NAT的公共IP地址,并随后用这个IP地址执行反向DNS查询。如果在这种情况下的结果是“gateway.mydomain.com”,则设备可列出具有在用户输入帐户建立时已经填充的“mydomain.com”的电子邮件帐户选项。在这种情况下,如果该猜测是正确的,则用户仅需要填入他们的用户名。
在上述情形的另一变型中,用户可具有从相同服务器可访问的多个帐户,并且系统能够使用相同数据来配置两个帐户。在一个实例中,用户可在相同域上具有帐户(例如joexyz.com和adminxyz.com),在这种情况下,用户能够使用预定句法在一个项上列出多个用户名(例如“xyz.com;joe,admin”)。在其他情况下,帐户可通过相同服务器来保持,但是可具有不同帐户域(例如joexyz.com和joezyx.org)。在这种情况下,假设存在为两个帐户工作的一个认证,用户能够一次输入两个帐户(例如使用分号分隔的列表)。或者,用户可依次输入帐户数据,并且图2-4中的帐户发现过程可发现对于这两个帐户的相同服务器。在这种情况下,可基于第一帐户的服务器/协议设置的发现加速对于第二帐户的服务器/协议设置的确定。在帐户发现涉及耗时过程(例如对于非标准端口映射的端口扫描)时,可能更是如此。
根据本发明实例性实施例的系统、方法、和装置也可使用称为“自动获知”的独立功能,这在图5A的流程图中示出。在这个算法中,用户输入502电子邮件地址和密码,导致确定一个或两个输入和输出邮件服务器失败504。然后,提示用户手动输入506邮件设置,并且向中心实体(例如网络服务器)提供这些以及电子邮件地址用于测试508。如果测试成功510,网络服务器尝试512基于服务器的用户名/主机名设置和电子邮件地址来确定模式。然后,将这些识别的模式插入514至在处理的队列。在图5B中的框516中示出如何管理这样的队列的实例。在处理的队列由管理员管理,并且可在数据库队列中接受该设置,或者如果认为不正确则拒绝。这个自动获知功能也可适用于确定可使用相同服务器/协议的多个帐户。
许多类型的装置可用于上述帐户自动配置。例如,用户逐渐获得和配置移动设备以访问这些帐户。现在参照图6,示出能够执行根据本发明实施例的操作的代表性移动计算设备600的实例。本领域普通技术人员可理解,示例性移动计算设备600仅是可与这样的移动设备相关的一般功能的代表,同样,陆线(landline)计算系统类似地包括计算电路以执行这样的操作。
处理单元602控制设备600的基本功能,并且可包括用于处理指令的一个或多个专用或通用逻辑单元。指令可通过处理单元602存储和/或在程序存储装置/存储器604中存储。在本发明的一个实施例中,与存储装置/存储器604相关的程序模块存储在非易失性电可擦除、可编程只读存储器(EEPROM)、闪速只读存储器(ROM)、硬盘驱动器等中,从而信息在移动终端断电时不丢失。也可通过计算机可读介质和/或计算机程序产品向存储装置/存储器604提供用于执行根据本发明的移动终端操作的相关软件。这样的软件也可经由数据信号发送至移动计算设备600,例如经由一个或多个网络(例如因特网和中间无线网络)电下载。
移动计算设备600可包括耦合至用于执行网络数据交换的处理/控制单元602的硬件和软件组件。移动计算设备600可包括用于维护有线或无线数据连接的任意组合的多个网络接口。所示的移动计算设备600包括用于执行网络数据交换的无线数据传输电路。这种无线电路包括用以执行多种功能(包括模数(A/D)转换、数模(D/A)转换、语音编码/解码、加密/解密、错误检测和纠正、比特流转换、过滤等)的数字信号处理器(DSP)606。通常耦合至天线610的收发器608发送输出无线电信号612,以及接收与无线设备关联的输入无线电信号614。这些组件使得设备600能够加入一个或多个网络615,包括移动服务提供商网络、本地网络、和公共网络(例如因特网)。
移动计算设备600还可包括耦合至处理/控制单元602的备选网络/数据接口616。备选网络/数据接口616可包括使用数据传输介质(包括有线和无线介质)的任意方式经由次数据路径通信的能力。备选网络/数据接口616的实例包括USB、蓝牙、以太网、602.11Wi-Fi、IRDA、超宽带、WiBree等。这些备用接口616还能够经由网络615(或经由直接和/或端对端通信链路)通信。
处理器602也可耦合至与移动终端关联的用户接口硬件618。移动终端的用户接口618可包括例如显示器620(例如液晶显示器)和转换器622。转换器622可包括能够接收用户输入的任意输入设备。转换器622也可包括能够生成媒体(例如文本、静态图片、视频、语音等的任意组合)的任意感测设备。其他用户接口硬件/软件可包括在接口718中,例如键板、扬声器、麦克风、语音命令、开关、触摸板/屏、定点设备、跟踪球、操纵杆、振动生成器、光等。本领域已知地,这些和其他用户接口组件耦合至处理器602。
程序存储装置/存储器604典型地包括用于执行功能和与移动计算设备600上的功能关联的应用的操作系统。程序存储装置604可包括只读存储器(ROM)、闪速ROM、可编程和/或可擦除ROM、随机存取存储器(RAM)、订户接口模块(SIM)、无线接口模块(WIM)、智能卡、硬盘驱动器、或其他可移除存储设备中的一个或多个。移动计算设备600的存储装置/存储器604还可包括用于执行根据本发明实施例的功能的软件模块。
具体地,程序存储装置/存储器604包括帐户检测组件624,其被配置为经由集成用户接口626和/或客户端应用628从用户接收帐户标识符。客户端628通常是能够经由用户接口618交互的用户程序,并且可通过一个或多个服务器630利用网络帐户。如上所述,客户端628可包括用于电子邮件、电话、文本消息、视频、媒体播放、导航、生产、联系人、日历、内容创建等的应用。客户端628本地存储用于访问网络帐户的帐户数据632。帐户数据632可包括例如用户名、密码、服务器身份、偏好的数据、和与网络业务630相关的其他数据。客户端628经由共同接口629访问帐户检测组件624,例如通过系统库和/或进程间通信访问的应用程序接口(API)。
帐户检测组件624可具有类似于图1中所示的组件126的特征。例如,帐户检测组件624可代表客户端628基于特定用户输入(例如帐户标识符和密码)提供帐户设置的自动检测。检测组件624可使用本地高速缓存数据库634,这是用帐户模板预先提供的,例如针对给定域的已知服务器名、针对服务器的已知连接参数、优选帐户/连接类型、主机名猜测规则等。检测组件624可基于通过客户端628和用户的其自身操作、以及还根据与网络组件(例如图1中的帐户检测业务130)的交互来更新数据库634。检测组件624还能够基于通过客户端628和/或设备用户的其自身操作来更新检测业务130。检测组件624可包括用于执行这些更新行为、以及用于能够对于一个或多个帐户数据库632的读取/写入的数据库接口624。
帐户检测组件624可包括用于发现、表征、和测试网络615的各个业务和设备的网络工具638。那些工具可包括关于图1所述的工具134的类型,以及本领域已知的其他工具设施,包括telnet(例如,用于发现/测试连接)、业务发现登记和协议(例如用于寻找Web业务的通用描述、发现和集成登记)、SNMP工具、“ping”和类似的基于用户数据报协议(UDP)的设施、“whois”、“nslookup”等。这些工具638可通过软件接口640操作,所述软件接口640提供对于接口硬件606、608、616、协议栈、连接管理、和其他操作系统级网络功能的访问。
尽管在电子邮件帐户的环境下描述了这里所述的帐户检测实例,但是可理解,这些概念可扩展到其他类型的帐户。这样的帐户可包括内容购买(例如数字音乐商店)、即时消息、VoIP、博客、企业特定帐户(例如顾客关系管理系统)等。这些帐户通常具有与电子邮件帐户一样的最小特征集:用户标识符、密码(或其他认证)、特定服务器和协议,其用以提供业务、安全设置、加密设置。由此,帐户检测组件624可通过插件642扩展,后者定义了这些不同帐户类型的动作、数据结构和行为。插件642可经由接口644来操作,所述接口644管理插件642的插入/删除,以及提供插件642和帐户检测核心组件624之间的通信的共同API。
提供图6的移动计算设备600,作为可应用本发明原理的计算环境的代表性实例。从这里提供的描述,本领域普通技术人员可理解,本发明等同地适用于各种其他当前已知的和未来的移动和陆线计算环境。例如,桌面和服务器计算设备类似地包括处理器、存储器、用户接口、和数据通信电路。因此,本发明适用于可经由网络传送数据的任意已知计算结构中。
这里所述和所示的任意步骤可使用通用或专用处理器中的可执行指令来实现,以及可存储在由这样的处理器执行的计算机可读存储介质(例如盘、存储器等)上。涉及“计算机可读存储介质”和“计算机”应理解为涵盖专用电路(例如场可编程门阵列、专用集成电路(ASIC)、信号处理设备)、计算机程序产品和其他设备。
为了图示和说明的目的提供了本发明示例性实施例的以上描述。这并非是穷举的或将本发明限制在公开的精确形式。根据以上教导,许多修改和变型是可能的。本发明的范围不限于这里的具体实施方式,相反由所附权利要求来确定。