具体实施方式
可以在如图1和2所示的通信设备上实施本文所述的实施例。通信设备可以在图3和4所示的无线通信系统或企业系统上与其他设备进行通信。通信设备100可以是具有双向通信和高级数据通信能力(包括通过收发器台的网络与其他移动设备或计算机系统进行通信的能力)的移动设备。通信设备100还可以具有语音通信能力。
图1是通信设备100的示例实施例的框图。通信设备100包括多个组件,例如控制通信设备100的整体操作的主处理器102。通过通信子系统104来执行包括数据和语音通信的通信功能。可以由解码器103对通信设备100接收的数据进行解压缩和解密,根据任何合适的解压缩技术以及根据各种标准的加密/解密技术(例如数据加密标准(DES)、三重DES、或高级加密标准(AES))来进行操作。典型地,依照于恰当的标准对图像数据进行压缩和解压缩,如JPEG,而典型地,依照于恰当的标准对视频数据进行压缩和解压缩,如H.26x和MPEG-x系列标准。
通信子系统104从无线网络200接收消息并向无线网络200发送消息。在通信设备100的本示例实施例中,依照于以下中的一项或多项来配置通信子系统104:全球移动通信系统(GSM)、通用分组无线服务(GPRS)标准、增强数据GSM环境(EDGE)和通用移动通信服务(UMTS)。依然正在定义新的标准,但是相信它们将具有与本文所述的网络行为的相似之处,并且本领域技术人员还应当理解本文所述的实施例意在使用将来开发出的任何其他适合的标准。将通信子系统104和无线网络200相连的无线链路表示一个或多个不同的射频(RF)信道,该RF信道根据针对GSM、GPRS、EDGE或UMTS以及可选地其他网络通信所指定的定义的协议来操作。在具有更新网络协议的情况下,这些信道能够同时支持电路交换语音通信和分组交换数据通信。
在变型实施方式中,其他无线网络也可以与通信设备100相关联。可以部署的不同类型的无线网络包括例如数据中心型无线网络、语音中心型无线网络以及同时在相同的物理基站上支持语音和数据通信的双模网络。结合的双模网络包括但不限于码分多址(CDMA)或CDMA2000网络、GSM/GPRS网络、如EDGE和UMTS的第三代(3G)网络。数据中心型网络的一些其他示例包括WiFi 802.11TM、MobitexTM以及DataTACTM网络通信系统。其他语音中心型数据网络的示例包括如GSM的个人通信系统(PCS)网络和时分多址(TDMA)系统。主处理器102还与附加子系统进行交互,如随机存取存储器(RAM)106、闪存108、显示器110、辅助输入/输出(I/O)子系统112、数据端口114、键盘116、扬声器118、麦克风120、短距通信122以及其他设备子系统124。
通信设备100的一些子系统执行通信相关功能,反之其他子系统可以提供“驻留”或设备上功能。作为示例,显示器110和键盘116可以同时用于通信相关功能(如输入用于在网络200上发送的文本消息)以及设备驻留功能(计算器或任务列表)。
在设备100中包括呈现或布局电路或引擎125。当用户指定在显示器110上要观看数据文件时,呈现电路或引擎125分析并处理数据文件用于在显示器110上可视化。可以将呈现电路或引擎125实施为硬件、软件或硬件和软件的结合。
通信设备100可以在已经完成所需网络注册或激活过程之后,在无线网络200上发送和接收通信信号。网络接入与通信设备100的订户或用户相关联。为了标识订户,通信设备100要求向SIM/RUIM接口128插入SIM/RUIM卡126(即订户标识模块或可抽取用户标识模块),以与网络通信。SIM/RUIM卡126是一种类型的传统“智能卡”,其可以用于标识通信设备100的订户并且个性化通信设备100等。没有SIM/RUIM卡126,通信设备100不能完全操作用于与无线网络200的通信。通过将SIM/RUIM卡126插入SIM/RUIM接口128,订户可以接入所有订购的服务。服务可以包括:web浏览和消息发送,如电子邮件、语音邮件、短消息服务(SMS)、以及多媒体消息发送服务(MMS)。更高级的服务可以包括:销售点、现场服务和销售自动化。SIM/RUIM卡126包括处理器和用于存储信息的存储器。一旦将SIM/RUIM卡126插入SIM/RUIM接口128,其与主处理器102耦合。为了标识订户,SIM/RUIM卡126可以包括一些用户参数,如国际移动订户标识(IMSI)。使用SIM/RUIM卡126的优点是订户不一定绑定任何单一物理移动设备。SIM/RUIM卡126还可以存储针对移动设备的附加订户信息,包括数据簿(或日历)信息以及最近的呼叫信息。备选地,还可以将用户标识信息编程到闪存108中。
通信设备100可以是电池供电的设备,包括用于接收一个或多个可再充电电池130的电池接口132。在至少一些实施例中,电池130可以是具有嵌入式微处理器的智能电池。电池接口132与调节器(图中未示出)耦合,调节器协助电池130向通信设备100提供功率V+。尽管当前的技术使用电池,未来的技术(例如微燃料电池)可以向通信设备100提供功率。
通信设备100还包括在下面更详细描述的操作系统134和软件组件136至146。一般将由主处理器102执行的操作系统134和软件组件136-146存储在持久存储器中,如闪存108,其可以备选地是只读存储器(ROM)或类似的存储单元(图中未示出)。本领域技术人员将理解可以将操作系统134和软件组件136至146的一部分(如特定的设备应用或其一部分)临时加载到易失性存储器中,如RAM 106。如本领域技术人员众所周知的,还可以包括其他软件组件。
控制基本设备操作的包括数据和语音通信应用在内的软件应用136的子集将一般地在移动设备100的制造期间安装在移动设备100上。其他软件应用包括消息应用138,其可以是允许通信设备100的用户发送和接收电子消息的任何合适的软件程序。消息应用138存在对于本领域技术人员来说众所周知的各种备选。一般将用户已经发送或接收的消息存储在移动设备100的闪存108中或通信设备100的某个其他合适的存储单元中。在至少一些实施例中,可以将一些发送和接收的消息在远离设备100的地方存储,如在与通信设备100进行通信的相关联的主机系统的数据存储器中。
软件应用还可以包括设备状态模块140、个人信息管理器(PIM)142、以及其他合适的模块(图中未示出)。设备状态模块140提供持久性,即设备状态模块140确保在持久存储器(如闪存108)中存储重要的设备数据,使得当通信设备100关闭或掉电时不会丢失数据。
PIM 142包括用于组织和管理用户感兴趣的数据项的功能,例如但不限于:电子邮件、联系人、日历事件、语音邮件、约会和任务项。PIM应用具有经由无线网络200发送和接收数据项的能力。PIM数据项可以经由无线网络200与移动设备订户在主机计算机系统上存储和/或关联的对应数据项进行无缝地集成、同步和更新。该功能在通信设备100上关于这些项创建了镜像主机计算机。当主机计算机系统是移动设备订户的办公计算机系统时,这特别有用。
通信设备100还包括连接模块144以及信息技术(IT)策略模块146。连接模块144实施通信设备100与通信设备100被授权与之进行接口连接的无线基础设施和任何主机系统(例如企业系统)进行通信所需的通信协议。图3和4中给出了无线基础设施和企业系统的示例,在下面更详细地描述。
连接模块144包括可以与通信设备100集成以允许通信设备100使用与企业系统相关联的任何数目的服务的应用编程接口(API)组。连接模块144允许通信设备100建立与主机系统的端到端安全的、认证的通信管道。由连接模块144所提供接入的应用子集可以用于从主机系统向通信设备100传递IT策略命令。这可以用无线或有线的方式来完成。然后可以将这些指令传递给IT策略模块146以修改设备100的配置。备选地,在一些情况下,IT策略更新还可以在有线连接上进行。
还可以在通信设备100上安装其他类型的软件应用。这些软件应用可以是在制造通信设备100之后添加的第三方应用。第三方应用的示例包括游戏、计算器、实用工具等等。
可以通过以下各项中的至少一项将附加应用加载到通信设备100上:无线网络200、辅助I/O子系统112、数据端口114、短距通信子系统122、或任何合适的设备子系统124。应用安装中的灵活性增加了通信设备100的功能,并且可以提供增强的设备上功能、通信相关的功能或兼而有之。例如,安全通信应用可以使得能够使用通信设备100来执行电子商务功能和其他这种金融交易。
数据端口114使得订户能够通过外部设备或软件应用来设置偏好,并且通过无线通信网络之外的方式向通信设备100提供信息或软件下载,来扩展通信设备100的能力。备选的下载路径可以例如用于通过直接从而可靠和可信的连接向通信设备100加载加密密钥,以提供安全的设备通信。数据端口114可以是实现通信设备100和另一计算设备之间的数据通信的任何合适的端口。数据端口114可以是串行或并行端口。在一些实例中,数据端口114可以是包括用于数据传输的数据线和用于提供向通信设备100的电池130充电的充电电流的供电线的USB端口。
短距通信子系统122提供了通信设备100和不同系统或设备之间的通信,同时不需要使用无线网络200。例如,子系统122可以包括用于短距通信的红外设备和相关联的电路和组件。短距通信标准的示例包括由红外数据联盟(IrDA)开发的标准、BluetoothTM、以及由IEEE开发的802.11TM标准族。
在使用中,将由通信子系统104来处理接收到的信号,如文本消息、电子邮件消息或网页下载,并且将其输入至主处理器102。然后主处理器102将处理接收到的信号,用于向显示器110或备选地向辅助I/O子系统112输出。订户也可以使用例如键盘116以及显示器110和可能的辅助I/O子系统112来撰写数据项,如电子邮件消息。辅助子系统112可以包括以下设备:触摸屏、鼠标、轨迹球、红外指纹检测器、或具有动态按钮按压能力的滚轮。键盘116优选地是字母数字键盘和/或电话类型的键区。然而,还可以使用其他类型的键盘。可以通过通信子系统104在无线网络200上发送撰写的项。应当理解,如果显示器110包括触摸屏,则辅助子系统112依然可以包括一个或多个上面标识出的设备。
对于语音通信,通信设备100的整体操作实质上是类似的,除了将接收到的信号输出至扬声器118,并且由麦克风120来生成用于发送的信号。可以在通信设备100上实施备选的语音或音频I/O子系统,如语音消息记录子系统。尽管主要通过扬声器118来完成语音或音频信号输出,显示器110也可以用于提供附加信息,如主叫方的标识、语音呼叫的持续时间、或其他语音呼叫相关信息。
图2示出了通信子系统组件104的示例框图。通信子系统104包括接收机150、发射机152以及相关联的组件,如一个或多个嵌入式或内置天线单元154和156、本地振荡器(LOs)158以及处理模块,如数字信号处理器(DSP)160。通信子系统104的具体设计取决于通信设备100预期操作所在的通信网络200。因此,应当理解,图2所示的设计仅作为一个示例之用。
将天线154通过无线网络200接收到的信号输入至接收机150,接收机150可以执行公共接收机功能,如信号放大、降频转换、滤波、信道选择以及模数(A/D)转换。对接收到的信号进行A/D转换允许更复杂的通信功能,如在DSP 160中要执行的解调和解码。由DSP 160以类似方式来处理要发送的信号,包括调制和编码。将这些DSP处理过的信号输入发射机152,用于数模(D/A)转换、升频转换、滤波、放大和经由天线156在无线网络200上发送。DSP 160不仅处理通信信号,还提供对接收机和发射机的控制。例如,可以通过DSP 160中的自动增益控制算法来自适应地控制应用于接收机150和发射机152中的通信信号的增益。
通信设备100和无线网络200之间的无线链路可以包含一个或多个不同的信道(一般是不同的RF信道)以及在通信设备100和无线网络200之间使用的相关联的协议。一般由于对整体带宽和通信设备100的有限电池功率的限制,因此RF信道是应当节省的有限资源。当通信设备100是完全操作的时,典型地,仅当发射机152正在向无线网络200发送时才接通或打开发射机152,否则关闭它以节省资源。类似地,周期性地关闭接收机150以节省功率,直到需要在指定的时间段中接收信号或信息(如果有的话)为止。
图3是无线网络200的节点202的示例实施方式的框图。实际中,无线网络200包括一个或多个节点202。与连接模块144相结合,通信设备100可以与无线网络200中的节点202进行通信。在图3的示例实施方式中,依照于通用分组无线服务(GPRS)和全球移动系统(GSM)技术来配置节点202。节点202包括具有关联的塔台206的基站控制器(BSC)204、针对GSM中的GPRS支持而添加的分组控制单元(PCU)208、移动交换中心(MSC)210、归属位置寄存器(HLR)212、访问位置寄存器(VLR)214、服务GPRS支持节点(SGSN)216、网关GPRS支持节点(GGSN)218、以及动态主机配置协议(DHCP)220。该组件列表并不意味着其为GSM/GPRS网络中的每个节点202的组件的无遗漏列表,而是共同用在通过网络200进行的通信中的组件的列表。
在GSM网络中,MSC 210与BSC 204和陆地线路网络(例如公共交换电话网络(PSTN)222)耦合,以满足电路交换要求。通过PCU 208、SGSN 216和GGSN 218到达公共或私有网络(互联网)224(本文中一般也称作共享网络基础设施)的连接表示用于有GPRS能力的移动设备的数据路径。在利用GPRS能力扩展的GSM网络中,BSC 204还包含与SGSN 216相连接的分组控制单元(PCU)208,以控制分段、无线信道分配以及满足分组交换要求。为了跟踪通信设备100的位置以及电路交换和分组交换管理的可用性,在MSC 210和SGSN 216之间共享HLR212。由MSC 210来控制对VLR 214的接入。
站台206是固定收发机台,并且与BSC 204一起形成了固定的收发机设备。固定的收发机设备提供针对特定覆盖区域的无线网络覆盖,一般将其称作“小区”。固定的收发机设备经由站台206向其小区中的移动设备发送通信信号并且接收通信信号。固定的收发机设备一般在其控制器的控制下,依照于特定的、通常预定的通信协议和参数,来执行如对要发送到通信设备100的信号的调制以及可能的编码和加密的功能。固定的收发机设备类似地对从其小区中的通信设备100接收的任何通信信号进行解调和可能的解码和解密(如果需要)。通信协议和参数可以在不同的节点之间变化。例如,一个节点可以部署不同的调制方案并且以不同于其他节点的频率进行操作。
对于注册到特定网络的所有通信设备100,在HLR 212中存储永久性配置数据,如用户简档。HLR 212还包含每一个注册的移动设备的位置信息,并且可以对HLR 212进行查询以确定移动设备的当前位置。MSC 210负责位置区域组,并且在VLR 214中存储当前在其负责区域中的移动设备的数据。此外,VLR 214还包含与访问其他网络的移动设备相关的信息。VLR 214中的信息包括从HLR 212发送至VLR 214的用于更快接入的永久性移动设备数据。通过将附加信息从远程HLR212节点移动至VLR 214,可以减少这些节点之间的业务量,使得可以用更快的响应时间来提供语音和数据服务,且同时要求对计算资源的更少使用。
SGSN 216和GGSN 218是针对GPRS支持(即,GSM中的分组交换数据支持)而添加的单元。通过跟踪每个通信设备100的位置,SGSN216和MSC 210在无线网络200中具有类似的责任。SGSN 216还执行针对无线网络200上的数据业务的安全功能和接入控制。GGSN 218提供与外部分组交换网络的互联连接,并且经由在网络200中操作的互联网协议(IP)骨干网络与一个或多个SGSN 216相连。在正常操作期间,给定的通信设备100必须执行“GPRS附着”以获取IP地址并接入数据服务。由于综合服务数字网络(ISDN)地址用于路由呼入和呼出呼叫,该要求在电路交换语音信道中不出现。当前,所有支持GPRS的网络使用私有、动态分配的IP地址,从而要求与GGSN 218相连的DHCP服务器220。存在很多种动态IP分配机制,包括使用远程认证拨入用户服务(RADIUS)服务器和DHCP服务器。一旦完成GPRS附着,建立从通信设备100通过PCU 208以及SGSN 216到GGSN 218中的接入点节点(APN)的逻辑连接。APN表示可以接入直接互联网兼容服务或私有网络连接的IP隧道的逻辑端点。APN还表示针对网络200的安全机制,在其范围中必须将每个通信设备100分配给一个或多个APN,并且通信设备100不能在没有首先执行对已经授权其使用的APN的GPRS附着的情况下交换数据。可以认为APN类似于互联网域名,例如“myconnection.wireless.com”。
一旦完成GPRS附着操作,创建隧道并且使用在IP分组中可支持的任何协议在标准IP分组中交换所有业务。这包括隧道传输方法,如基于IP的IP,在这种情况下,一些IPSecurity(Ipsec)连接用于虚拟私有网络(VPN)。将这些隧道称为分组数据协议(PDP)上下文,并且网络200中存在有限数目的可用隧道。为了最大化使用PDP上下文,网络200将为每一个PDP上下文运行空闲定时器,以确定是否存在活动的缺失。当通信设备100没有正在使用其PDP上下文,则可以解除分配该PDP上下文,并且将IP地址返回至由DHCP服务器220所管理的IP地址池。
图4是示出了主机系统250的示例配置的组件的框图,通信设备100可以与连接模块144相结合同该主机系统250进行通信。典型地,主机系统250将是公司企业或其他局域网(LAN),但在变型实施方式中也可以是例如家庭办公计算机或某个其他私有系统。在图4所示的示例中,将主机系统250示为通信设备100的用户所属的组织的LAN。典型地,多个移动设备可以通过无线网络200的一个或多个节点202与主机系统250进行无线通信。
主机系统250包括通过网络260而彼此相连的多个网络组件。例如,具有用于用户通信设备100的附随支架264的用户台式计算机262a位于LAN连接上。例如,可以通过串行或通用串行总线(USB)连接将通信设备100的支架264与计算机262a耦合。其他用户计算机262b-262n也位于网络260上,并且每一个可以配备有附随支架264。支架264便于将信息(例如,PIM数据、便于安全通信的私有对称加密密钥)从用户计算机262a加载到通信设备100,并且对于在为了使用而初始化通信设备100的过程中经常执行的大量信息更新来说,支架264可以是特别有用的。下载至通信设备100的信息可以包括用在消息交换中的证书。
本领域技术人员应当理解,典型地,用户计算机262a-262n还连接至其他外围设备,如打印机等,在图4中未显式地示出这些外围设备。此外,为了便于说明,在图4中仅示出了主机系统250的网络组件的子集,并且,本领域技术人员应当理解,对于该示例配置,主机系统250将包括未在图4中显式示出的附加组件。更一般地,主机系统250可以表示组织的更大网络(未示出)的较小部分,并可以包括与图4的示例实施例中示出的组件不同的组件和/或可以以与图4的示例实施例中示出的拓扑不同的拓扑而布置。
为了便于通信设备100的操作以及通信设备100与主机系统250的组件之间的消息和消息相关数据的无线通信,可以提供多个无线通信支持组件270。在一些实施方式中,无线通信支持组件270可以包括消息管理服务器272、移动数据服务器274、web服务器(例如超文本传输协议(HTTP)服务器275)、联系人服务器276、以及设备管理器模块278。HTTP服务器还可以位于企业系统之外,如附着至网络224的HTTP服务器279所示。设备管理器模块278包括IT策略编辑器280和IT用户属性编辑器282,以及用于允许IT管理员配置通信设备100的其他软件组件。在备选实施例中,可以存在提供IT策略编辑器280和IT用户属性编辑器282的功能的一个编辑器。支持组件270还包括数据存储器284以及IT策略服务器286。IT策略服务器286包括处理器288、网络接口290和存储器单元292。处理器288控制IT策略服务器286的操作,并执行与如下所述的标准化IT策略相关的功能。网络接口290允许IT策略服务器286与主机系统250和通信设备100的各种组件进行通信。存储器单元292可以存储在实施IT策略时使用的功能以及相关数据。本领域技术人员了解如何实施这些各种组件。如本领域技术人员公知的,还可以包括其他组件。此外,在一些实施方式中,数据存储器284可以是任何一个服务器的一部分。
在该示例实施例中,通信设备100通过无线网络200的节点202和共享网络基础设施224(例如服务提供商网络或公共互联网)与主机系统250进行通信。可以通过一个或多个路由器(未示出)来提供对主机系统250的接入,并且,主机系统250的计算设备可以从防火墙或代理服务器266的后面进行操作。代理服务器266提供了针对主机系统250的安全节点和无线互联网网关。代理服务器266智能地将数据路由至主机系统250中的正确的目的地服务器。
在一些实施方式中,主机系统250可以包括无线VPN路由器(未示出),以便于主机系统250和通信设备100之间的数据交换。无线VPN路由器允许直接通过特定无线网络来与通信设备100建立VPN连接。无线VPN路由器可以与互联网协议(IP)版本6(IPV6)和基于IP的无线网络一起使用。该协议可以提供充足的IP地址,使得每个移动设备具有专用的IP地址,从而使得能够在任何时间向移动设备推送信息。使用无线VPN路由器的优点在于:其可以是现货供应的VPN组件,并且不要求分离的无线网关和分离的无线基础设施。在该备选实施方式中,优选地,VPN连接可以是传输控制协议(TCP)/IP或用户数据报协议(UDP)/IP连接,用于向通信设备100直接传输消息。
由主机系统250的消息服务器268初始接收预期针对通信设备100的用户的消息。这种消息可以源自任何数目的源。例如,发送者可以经由共享网络基础设施224、可能通过应用服务提供商(ASP)或互联网服务提供商(ISP)从以下各项发送消息:主机系统250中的计算机262b;与无线网络200或不同无线网络相连接的不同移动设备(未示出);或者不同计算设备或能够发送消息的其他设备。
典型地,消息服务器268充当在组织中和在共享网络基础设施224上交换消息(特别是电子邮件消息)的主接口。典型地,组织中已建立以发送和接收消息的每个用户与消息服务器268所管理的用户账户相关联。消息服务器268的一些示例实施方式包括MicrosoftExchangeTM服务器、Lotus DominoTM服务器、Novell GroupwiseTM服务器、或公司环境中安装的其他合适的邮件服务器。在一些实施方式中,主机系统250可以包括多个消息服务器268。消息服务器268还可以适于提供消息管理之外的附加功能,例如,包括与日历和任务列表相关联的数据管理。
当消息服务器268接收到消息时,典型地将其存储在与消息服务器268相关联的数据存储器中。在至少一些实施例中,数据存储器可以是消息服务器268与之进行通信的分离的硬件单元,如数据存储器284。随后可以通过接入消息服务器268,取回消息并将其传输至用户。例如,在用户计算机262a上操作的电子邮件客户端应用可以请求在与消息服务器268相关联的数据存储器上存储的与用户账户相关联的电子邮件消息。然后,从数据存储器中取回这些消息,并将其本地存储在计算机262a上。与消息服务器268相关联的数据存储器可以存储通信设备100上本地存储的每个消息的拷贝。备选地,与消息服务器268相关联的数据存储器可以存储通信设备100的用户的所有消息,并且在通信设备100上仅可以存储较少消息以节省存储器。例如,可以在通信设备100上存储最近的消息(即,在例如过去两到三个月中接收到的消息)。
当操作通信设备100时,用户可能希望将电子邮件消息取回以传输至通信设备100。在通信设备100上操作的消息应用138还可以从消息服务器268请求与用户账户相关联的消息。消息应用138可以被配置(由用户或由管理员可能依照于组织的IT策略来配置)为在用户引导时、以某个预定义时间间隔、或在发生某个预定义事件时发起该请求。在一些实施方式中,向通信设备100分配其自身的电子邮件地址,并且,当消息服务器268接收到具体寻址至通信设备100的消息时,将这些消息自动重定向至通信设备100。
消息管理服务器272可以用于具体提供对要由移动设备处理的消息(如电子邮件消息)的管理的支持。一般地,尽管消息依然存储在消息服务器268上,但是消息管理服务器272可以用于控制何时、是否以及如何向通信设备100发送消息。消息管理服务器272还便于对在通信设备100上撰写的消息的处理,该消息被发送至消息服务器268以用于后续传输。
例如,消息管理服务器272可以针对新的电子邮件消息来监视用户的“邮件箱”(例如,与消息服务器268上的用户账户相关联的消息存储器),并对新的消息应用用户可定义的过滤器来确定是否和如何将消息中继至用户的通信设备100。消息管理服务器272还可以通过与之相关联的编码器(未示出),使用任何合适的压缩/解压缩技术(例如YK压缩、JPEG、MPEG-x、H.26x、以及其他已知技术)来压缩消息数据,并对消息进行加密(例如使用如数据加密标准(DES)、三重DES、或高级加密标准(AES)之类的加密技术),并经由共享网络基础设施224和无线网络200将消息推送至通信设备100。消息管理服务器272还可以接收在通信设备100上撰写的消息(例如使用三重DES加密的消息),对所撰写的消息进行解密和解压缩,在期望时对所撰写的消息重新格式化以使得这些消息看上去源自用户计算机262a,并将所撰写的消息重新路由至消息服务器268以用于传输。
可以定义(例如,由管理员根据IT策略)并由消息管理服务器272来强制执行与要从通信设备100发送和/或由通信设备100接收的消息相关联的特定属性或限制。例如,这些属性或限制可以包括:通信设备100是否可以接收加密的和/或签名的消息、最小加密密钥大小、是否必须对传出的消息进行加密和/或签名、以及是否要将从通信设备100发送的所有安全消息的拷贝发送至预定义的拷贝地址。
消息管理服务器272还可以适于提供其他控制功能,例如向通信设备100仅推送特定消息信息或消息服务器268上存储的消息的预定义部分(例如“块”)。例如,在一些情况下,当由通信设备100从消息服务器268初始取回消息时,消息管理服务器272可以向通信设备100仅推送消息的第一部分,其中,该部分具有预定义的大小(例如2KB)。然后,用户可以请求:由消息管理服务器272向通信设备100以类似大小的块传输消息的更多部分,可能多至最大预定义的消息大小。相应地,消息管理服务器272便于对传送至通信设备100的数据类型和数据量更好地进行控制,并可以有助于最小化对带宽或其他资源的潜在浪费。
移动数据服务器274包含存储与公司相关的信息的任何其他服务器。移动数据服务器274可以包括但不限于:数据库、在线数据文档储存库、客户关系管理(CRM)系统、或企业资源规划(ERP)应用。移动数据服务器274还可以通过HTTP服务器275或其他合适的web服务器(如文件传输协议(FTP)服务器)与互联网或其他公共网络相连接,以取回HTTP网页和其他数据。典型地,通过合适的防火墙和其他保护性机制,将针对网页的请求路由通过移动数据服务器274,然后到HTTP服务器275。然后,web服务器取回互联网上的网页,并将其返回给移动数据服务器274。如上面关于消息管理服务器272所述的,典型地,向移动数据服务器274提供编码器277,或将移动数据服务器274与编码器277关联,编码器277允许使用任何合适的压缩技术(例如YK压缩、JPEG、MPEG-x、H.26x以及其他已知技术)对所取回的数据(如所取回的网页)进行解压缩和压缩,并对其进行加密(例如使用加密技术,如DES、三重DES、或AES),然后经由共享网络基础设施224和无线网络200将其推送至通信设备100。尽管编码器277仅针对移动数据服务器274而示出,但是应当理解,消息服务器268、消息管理服务器272、以及HTTP服务器275和279中的每一个也可以将编码器与之相关联。
联系人服务器276可以以类似于通信设备100上的地址簿的方式提供针对用户的联系人列表的信息。相应地,对于给定的联系人,联系人服务器276可以包括联系人的姓名、电话号码、工作地址和电子邮件等等信息。联系人服务器276还可以提供包含与主机系统250相关联的所有联系人的联系人信息在内的全局地址列表。
本领域技术人员应当理解,不需要将消息管理服务器272、移动数据服务器274、HTTP服务器275、联系人服务器276、设备管理器模块278、数据存储器284和IT策略服务器286实施在主机系统250中的分离的物理服务器上。例如,可以将与消息管理服务器272相关联的一些或全部功能与消息服务器268或主机系统250中的某个其他服务器相结合。备选地,主机系统250可以包括多个消息管理服务器272,特别是在需要支持大量移动设备的变型实施方式中。
设备管理器模块278向IT管理员提供了图形用户界面,IT管理员与该图形用户界面进行交互以配置通信设备100的各种设置。如上所述,IT管理员可以使用IT策略规则来定义通信设备100上许可的特定应用的行为,如电话、web浏览器或即时信使的使用。IT策略规则还可以用于设置组织对通信设备100要求的配置设置的特定值,如自动签名文本、WLAN/VoIP/VPN配置、安全型要求(例如加密算法、密码规则等等)、指定允许在通信设备100上运行的主题或应用等等。
在便携式电子设备显示器上呈现针对大屏幕显示器上的可视化而原始优化或准备的数据文件通常要求在小屏幕便携式电子设备显示器上可视化之前的附加处理。根据实施例,由图1所示的呈现引擎125完成该附加处理。本领域技术人员应当理解,可以以硬件、软件或其结合的方式来实施呈现引擎,并且呈现引擎可以包括专用的图像处理器和关联的电路,或者可以在主处理器102中实现呈现引擎。
在客户端通信设备和客户端浏览器应用通过网络与服务进行通信的上下文中描述本文所述的实施例。如上所述,通信设备100可以从图4的移动数据服务器274接收与来自外部web服务器或其他服务器的资源相关的数据,移动数据服务器274进而经由HTTP服务器275与公共网络(如互联网)相连接,使得移动数据服务器274与外部web服务器或其他服务器进行通信。对来自外部服务器的数据的接收可以绕过移动数据服务器274,并且,可以代之以从主机网络外部的HTTP服务器279接收数据。不管客户端设备100依靠何种手段接收资源以用于显示,呈现引擎125都可以呈现通过网络224从服务器接收的资源,以在客户端设备的显示器110上显示。
参照图5A,示出了在通信设备100的显示器110上显示的横幅插入或广告510的第一实施例。可以将在显示器110上显示的内容500划分为横幅510和其他内容,如用于在设备100上执行的应用的用户界面520。横幅510可以向用户显示与在用户界面520中显示的内容相关或不相关的信息。例如,应用可以是电视节目列表浏览器(如图5A所示),其允许用户搜索并显示针对指定区域和/或时间段的电视节目,并获得详细的节目信息。横幅510可以是针对界面520中显示的搜索结果中列出的特定节目的广告或未列出的另一节目的广告,但也可以被确定为用户在考虑到用户的搜索参数的情况下可能感兴趣。或者,横幅510可以是针对发生在用户区域中的事件的广告,该用户区域是利用在通信设备处操作的GPS功能来确定的或基于在用户的搜索中定义的区域来确定的。备选地,该事件可以是网络上的广播,使得用户的精确区域是不相关的。横幅510甚至可以是针对可用于购买的产品的广告,该产品与用户界面520中显示的内容不相关。在这种情况下,横幅510可以包括或参考提供用于销售的广告产品的零售商或零售商列表。尽管在电视节目列表浏览器的上下文中阐述了本文所述的实施例,但是本领域技术人员应当理解,在设备100上执行的应用和显示横幅510的上下文可以是任何应用或上下文,而不限于电视节目列表浏览器。例如,在设备100上执行的应用可以是任何娱乐、实用工具、或生产率应用,并且,其主体可以与横幅510的内容无关。作为另一个示例,应用可以是web浏览器应用,在这种情况下,在设备100上显示的内容可以是用户选择向设备100提供服务的网页,并且再一次,网页的内容可以与横幅510的内容无关。
在本文所述的该示例和其他示例中,横幅510可以不包括实际的广告,即,意在说服用户从事动作过程或使用特定商品或服务的通信。横幅510可以本质上是信息性的,如公共服务提醒。尽管参照横幅510使用术语“横幅”,但横幅510不需要以传统横幅形状而定型或以传统横幅定向而定位。一般地,“横幅”典型地包括在用户界面上的特定区域中显示的基于图像的文件,例如作为在设备100上显示的用户界面的顶部、底部、左部、右部或中部的带状物。然而,横幅510可以是更小或更大的图形,或具有不同形状。当与其他内容一起提供时(如网页上的横幅广告),横幅510的形状和位置通常由服务于其他网页内容的服务提供商来定义,或在图5A的示例中,由在设备100上执行的应用的开发者来定义,或由设备100的操作系统来定义。尽管大多数横幅是基于图像的,但是它们可以包含富媒体,如动画图形或视频。用于动画横幅的公共平台是来自Adobe Systems Incorporated,San Jose,California,USA的Adobe Flash。Flash横幅的显示要求设备100通过执行专用的播放器应用或插件来支持Flash文件格式。经由web浏览器界面向用户显示的广告包括前述内容以及其他类型的特效广告,如浮动广告,其在设备上已经显示的现有内容(如用户所请求的网页)上移动。再一次,使用这种特效广告要求预期显示这些广告的通信设备100支持广告所使用的文件格式或平台。横幅510还可以包括要在显示器110的具体区域中呈现的HTML代码,而不是图像文件或视频或Flash文件。横幅510可以包括这些技术中的任一种。换言之,横幅510是可在显示器110上与其他内容相结合地显示且事实上可嵌入其他内容中(例如,将图形嵌入网页中)的对象,但是一般与同该对象一起显示的或该对象所嵌入的其他内容无关地维护和存储该对象,并且通常从不同服务器向通信设备100提供该对象,并且响应于来自设备100的分离的且具有不同地址的请求。为了简单起见,在无动画的、基于图像的广告的上下文中提供本文所述的示例。
在应用执行之前或期间,在网络上向设备100提供用于在通信设备100上呈现横幅510的数据。设备100可以将横幅510及其关联的数据存储在存储器中,以便当在设备100上启动合适的应用时取回;当启动应用时,设备100确定存在存储在存储器中以使用该应用而显示的横幅510数据。如果从设备存储器未得到横幅510数据,则设备操作系统或应用可以在网络上发起来自提供横幅510数据的服务器的请求。提供横幅510数据的服务器可以是提供由该应用所使用的其他数据的服务器,或可以是由操作提供应用数据的服务器的相同第三方所操作的分离的服务器。例如,如果设备100上执行的应用是电视节目列表应用,则电子节目指南服务器可以提供用于填充电视列表或对用户的搜索请求进行响应的数据。还可以从相同的电子节目指南服务器提供横幅510,或从由电子节目指南内容提供商所操作的另一个服务器提供横幅510,但是备选地,可以由另一个服务器向设备100提供横幅510,例如由与内容提供商订约以提供在内容提供商的内容旁边显示的横幅广告的广告服务所操作的一个服务器提供横幅510。当在通信设备100上启动电视节目列表应用时,该应用可以发起对所标识出的统一资源指示符(URI)的请求,以获得横幅510数据。可以由设备100发送应用的请求,并且将该请求具体寻址至提供横幅510数据的服务;作为响应,服务将在网络上向设备100提供横幅510数据。备选地,可以向确定应当如何对该请求提供服务的另一个服务发送请求;例如,接收该请求的服务可以根据该请求中嵌入的数据来确定该请求被特定应用调用,然后可以从另一个服务获得恰当的横幅510数据,然后将该数据提供给设备100。在如web浏览器应用之类的应用的情况下,浏览器可以在网络上取回网页,其包含面向浏览器的、使用嵌入的URI来请求嵌入的对象(即横幅510)的指示。浏览器将呈现网页,并且,一旦解析了该指示,则浏览器向URI发送请求。URI可以是包括横幅510在内的资源的地址,因此,持有横幅510的服务器将通过提供横幅510来对请求进行响应。备选地,通过URI寻址的资源可以执行标识由另一个服务持有的恰当横幅510的指令,并可以代表浏览器来取回该横幅510的拷贝,然后将该横幅510发送至设备100。
可以动态地选择在横幅510中或与横幅510一起提供的信息。例如,提供横幅510的服务器可以基于从在设备100上执行的应用发送的请求中嵌入的数据,来选择要提供的实际横幅510;网页浏览器的请求中可以包括令牌或其他标识信息,用于标识网页、与应用相关的其他数据、通信设备100的类型、被服务器用于选择恰当横幅510的其他信息。例如,如果在请求中发送的数据指示了从其发送了请求的设备100处于特定国家或地理区域中,则响应于该请求而发送的横幅510可以是具有具体针对该区域的居民的内容的横幅。
被提供给设备100以用于显示的横幅510可以相对简单,仅包括与URI相关联的图形文件,该URI包括设备100通过网络可接入的资源(例如网页或其他文档)的地址。向设备100提供包括横幅510在内的文件以及URI。当在设备100处接收到促动横幅510或与横幅510相关联的指令的输入时,例如,通过检测光标移动至横幅510或焦点移动至横幅510,然后经由用户界面子系统112激活横幅510(例如,按下键盘的键、在显示横幅510的触摸屏的区域上的轻击、或本领域技术人员公知的其他动作和界面子系统),通信设备100或应用发起响应动作。该响应动作可以是针对在网络上与横幅510一起提供的URI处的资源的请求。处理请求的服务器的响应可以是提供资源本身。如果在通信设备100处执行的应用是web浏览应用,则浏览应用可以发送针对由URI标识的资源的HTTP请求;如果资源是另一个网页,则浏览应用将在显示器110的当前观看区域中显示该新资源,或打开新窗口或观看区域来显示该新资源。如果横幅510是包括富媒体特征的更复杂的元素(如视频或Flash技术),则横幅510可以是交互式的;用户可能能够使用输入子系统112之一来与横幅510进行交互,例如回答调查问题或玩在横幅510中提供的游戏。一般而言,横幅通常与URI相关联,使得接收到的输入可以触发取回与横幅相关的其他资源的指令。一旦响应于接收到的输入而取回并在设备100上向用户显示了该新资源,则该新资源可以向用户显示与横幅510的主题相关的新信息。如果该新资源是网页或其他小应用程序或应用,则该新资源可以向用户提供某个功能。如果该新资源是网页,则用户可以与在网页上展示的各种元素进行交互。
因此,横幅广告可以是独自有效的,这是因为其是向设备100的用户显示的并潜在地给用户留下印象。然而,必须由设备100接收输入指令,例如通过用户采取点击横幅或促动横幅的积极动作以获得与横幅510的主题相关的其他信息。用户可能不希望在观看横幅510时这么做,而是可能希望将进一步的调查推延另一天。然而,用户可能忘记这么做;并且,在下一次启动或使用相同网页或应用时,可能已经改变被选择以向设备100传输的横幅510。或者,用户可能不希望获得其他信息,这是因为促动横幅510不仅涉及中断对当前应用的使用,还要等待设备100在网络上取回其他信息。因此,在横幅广告依赖于用户将其他信息“拉回”到设备的程度上,要求用户促动横幅510以取回新资源是不方便的,这降低了该广告形式的有效性。
相应地,向横幅510提供在通信设备100处使用的附属数据。附属数据可以是事件相关信息、联系人信息、或资源相关信息,如事件开始和结束日期、描述、地址、电话号码等等。在图5A的示例中,横幅510包含与用户区域中的递补选举相关的公共服务提醒,并邀请用户“点击此处”来对投票了解更多。该特定横幅510可以是与第一URI相关联的图形文件,使得当接收到促动URI的输入指令时,设备100在网络上发起针对由该URI标识的资源的请求。因此,第一URI是资源相关信息的一个示例。然而,该第一URI可以不包含在包括横幅510本身在内的文件中;可以在横幅510文件之外定义与URI的关联,使得该信息可用于在设备100上执行的应用。可以在向设备100提供横幅510的同时或在向设备100提供横幅510之前,向设备100提供关联的URI。例如,当启动应用时,应用可以在网络上向第一服务发起针对提供第一横幅510和关联的URI的请求,然后一旦接收到横幅510和URI,就显示横幅510。如果该应用取回并向用户显示网页,则在设备100处接收的网页可以使用网页的代码中的HTML锚元素(<a>)将横幅510与URI相关联。从而向设备100提供关联的URI,有可能在设备100接收到横幅510之前。网页可以包括附属信息,例如作为与横幅510元素相关联的网页文档中的附加XML格式标签,但是这很可能要求web服务器向设备100提供网页以生成定制的网页HTML代码,来伴随横幅510。如果根据从设备100接收到的个体化请求来动态选择横幅510,则这要求web服务器处有附加资源。此外,如果预期向除了web浏览应用之外还执行其他应用的设备100提供横幅510,则可以在没有伴随的网页HTML代码的情况下向设备100发送横幅510。
因此,在一个实施例中,横幅510可以包含嵌入包括横幅510在内的文件中的附属数据。如果横幅510是图形,则该附属数据可以包括在与图形文件相关联的元数据或标签中。该元数据可以嵌入文件本身中;例如,图形文件可以被配置为包括可扩展元数据平台(XMP)元数据。XMP是遵循XML结构的标准,用于提供嵌入文件中的元数据的定义、创建和处理。用于将数据嵌入图形文件中的其他标准是已知的,例如可交换图像文件格式(EXIF)和IPTC-IIM。这些标准总体上定义了要嵌入文件中的数据类型,如创建者、标题和版权信息。然而,具体地,可以将XMP标准扩展为包括其他数据类型。因此,以伪XML结构存储在文件中的附加数据可以包括:
当然,可以改变前述示例中的各种名称和值,并且包括附属数据的格式化或方法可以改变,并且不需要以前述标签格式或名称-值对格式而表达。向文件中嵌入或添加附属信息的其他方法是本领域技术人员公知的。在该示例中,针对事件开始日期和结束日期、提醒时间(即,用于定义事件开始之前的时间的以小时为单位的值,在该时间可以调用提醒功能)、事件类型(如日历事件、任务、摘要项(docket item)、电子邮件、或可利用前述数据定义的其他事件或功能)、事件位置、事件名称、以及事件描述,给出了数据。不是所有这种数据都是被要求的。当用户促动包括该附加数据在内的横幅510或在设备100处接收到促动包括该附加数据在内的横幅510的指令,而不是发起针对关联的URI的请求时,设备100处发起的响应动作可以包括提取嵌入横幅510文件中的元数据。由于如果此时不在永久性存储器中,则横幅510很可能至少是临时存储的,因此不必在网络上请求附属信息。然后,设备100解析所提取出的元数据并自动调用设备100处的其他应用,以处理数据并创建适当事件。在本示例中,设备100可以提取数据并确定事件类型是“日历”事件,这是因为在EventType元数据中指定它。然后,设备100将调用设备100上的日历应用,以创建日历约会,从而利用对应的元数据来填充日历约会的各种域。因此,可以在设备100上利用以下各项来创建日历约会:由EventStartDate和EventEndDate元数据指定的开始日期和时间、根据ReminderTime提前三个小时发出的提醒、“检查你的选民登记卡”的位置(尽管可以利用用户自身的位置或以横幅510传输的其他信息来替代该数据)、以及以上阐述为EventName和EventDescription的约会名称和描述。可以包括与日历约会相关的其他数据或所创建的无论什么其他类型的事件,如参与者姓名。如果事件是与其他人的会议,则可以利用在元数据中标识出的其他参加者的姓名来填充日历约会。可以由姓名或电子邮件地址标识其他参加者。如果将提供横幅510的服务标识为参加者,则由于日历约会创建,可以向服务发送消息,从而提供了用户展示出对横幅510的兴趣的确认。然而,这种通信可以首先要求用户的同意。
如果通信设备100能够执行多任务,则当当前应用依然在前台操作时,可以在后台自动启动日历约会,结果是:用户对当前应用的体验并非可视地被日历应用在设备上的显示中断。否则,如果设备的操作系统不能以该方式执行多任务,则其可以暂时将当前应用切换至日历应用,使得可以添加和保存约会,可选地请求用户确认新约会是正确的且应当被保存,然后切换回到显示用户的应用。尽管后一种情况向用户展示了中断,但是该中断少于以下情况;要求用户通过促动横幅510来取回网页从而获得与横幅510的主题相关的更多信息,其中,可以在发起日历约会之前从该网页获得相关信息。在该实施例中,将充足的信息与横幅510一起传输,使得用户可以存储充足的信息以供稍后参考,并可以容易地建立提醒或约会,以查看横幅510的主题。如果事件的描述包括URI,则存储日历事件还存储了URI,用户可以稍后使用该URI来在不必调用浏览器应用的情况下获取更多,取回该URI处的资源,然后将该URI加入书签以供稍后参考。
如上所述,促动横幅510导致日历约会的自动创建。备选地,利用在设备100处检测到的主动作(如在设备100处检测到的左键点击(即,多按钮用户界面设备上的诸如鼠标或轨迹球设备之类的左侧按钮或主按钮的促动)或某个其他主动作或指令)促动横幅510可以导致设备100在网络上发送针对关联的URI的请求,而使用在设备处检测到的辅动作(如右键点击)促动横幅510可以拉出上下文菜单以供用户选择发送针对URI的请求或根据嵌入的数据创建日历约会的选项,如图5B所示。在图5B中,显示上下文菜单540,以向用户给出接入与横幅542相关联的资源的选项(“Visit this webpage”)、创建日历事件544的选项(“Create calendar appointment”)、创建任务项546的选项(“Createtask item”)、或取消并退出上下文菜单548的选项(“Cancel”)。
在另一个实施例中,横幅510可以不具有嵌入包括横幅510本身在内的文件中的附属信息。取而代之,当向通信设备100发送时,可以在“包裹”文件的或处于文件之前的包封中提供该附属信息。可以以名称-值对或任何其他合适的格式来提供该附属信息。当在通信设备100处接收到包括横幅510在内的文件及其包封时,如果用户促动横幅510以便基于横幅的附属数据来在设备100上创建日历约会或其他项,则设备100从包封中提取附属数据,并暂时或永久地将其存储在存储器中以供稍后接入。当从存储器中删除包括横幅510本身在内的文件时,可以从设备100处的存储器中删除所提取出的附属数据。
在另一实施例中,附属信息既不包括在包括横幅510在内的文件中,也不包括在与横幅510一起发送至设备100的包封或其他数据中。在这种情况下,应用或设备100可以被配置为使得当促动横幅510时,在显示器110上调用上下文菜单,向用户提供发起取回附属信息以在设备100处创建日历或其他事件的选项。再一次,如果设备100的操作系统能够以该方式执行多任务,则设备100可以在网络上向与横幅510相关联的URI发送针对附属信息的请求,同时用户继续使用当前应用。
同样如上所述,事件不需要是日历约会。其可以是任务事件,在这种情况下,与事件相关联的附属信息可以包括到期日期、提醒日期、以及名称和描述;其可以是与摘要程序一起使用的摘要事件;或者其可以是与在设备100上操作的应用相关联的任何其他类型的事件项。在设备100处创建的事件甚至可以是电子邮件、SMS或如下所述用于发送至各个接收者或用于张贴至用户所订购的服务的其他消息。附属信息可以包括接收者或服务的电子邮件或其他消息收发地址、消息的主题行、以及甚至消息体的内容;可以将附属信息中包括的日期或时间解释为发送消息的日期或事件。设备100将调用恰当的应用,以使用针对横幅510而提供的附属信息来创建任务项、摘要项、或电子邮件。
存在横幅510及其附属信息的其他用途。附属信息可以简单地利用以下描述来定义日历事件或任务事件,该描述包括URI以及在时间上接近的开始和结束日期(如果附属信息定义了日历事件)或单个到期日期(如果附属信息定义了任务事件)。当设备100接收到或检测到促动横幅510的指令(例如通过用户促动动作)时,在设备100上保存日历约会或任务项,并且该日历约会或任务项有效地充当对用户通过取回由URI标识的资源来获得更多信息的提醒。描述中存储的URI可以包括与产生日历事件或其他事件的特定横幅510相关联的令牌或某个其他一般唯一的代码。当从设备100发送请求时,该请求可以包括该令牌或唯一代码。处理该请求的服务器可以使用令牌或唯一代码来存储与用户对横幅510的兴趣相关的信息,或取回具体针对该横幅510的信息。
如果横幅510正在对商品或服务做广告,则附属信息可以包括与零售商的位置和销售事件相关的信息,所包括的信息还可以被存储为日历或任务项。如果横幅510正在对电视节目做广告,则附属信息可以包括与频道以及开始和结束时间、节目名称以及可选的描述相关的信息或其他信息。
因此,图6A示出了用于使用该附属信息在通信设备100处创建事件的方法,其中,该附属信息包括在包括横幅510在内的文件中。在600,在设备100处接收横幅510和附属信息。如上所述,可以分别或一起接收横幅510文件和附属信息。然后在602,在设备100处呈现横幅510以进行显示。在604,设备100检测设置与横幅510相关联的事件的指令或命令的调用。在606,响应于该命令,设备100从包括横幅510本身在内的文件中或从与横幅510相关联地接收到的分离的文件中提取相关的附属信息。然后在608,设备100根据所提取出的附属信息来确定要创建什么类型的事件(例如日历约会、任务项等等)。在610,设备100使用所提取出的附属信息来创建并保存新的事件,调用为此所必需的恰当应用。
图6A的过程假定使用附属信息可以生成仅一种类型的事件。这可以发生在附属信息明确地定义了事件类型(如“日历”)的情况下。在图6B中,示出了修改后的过程,其中,因为在附属信息中可能不存在对事件类型的明确定义,或者在设备100处创建事件之前设备100向用户展示了上下文菜单以选择一个或多个选项的情况下,附属数据能够用于在设备100处生成多种类型的事件。在620,如上所述,在设备100处接收横幅510和附属信息。然后在622,在设备100处呈现横幅510以进行显示。在624,设备100检测对调用与横幅510相关联的上下文菜单的指令或命令的调用。在626,响应于该命令,设备100首先从包括横幅510本身在内的文件中,或从与横幅510相关联地接收到的分离的文件中,提取相关的附属信息,以确定附属信息是否定义了特定的事件类型。如果附属信息定义了特定的事件类型,则在628,设备100在显示器110上显示包括创建所定义的事件类型的选项在内的上下文菜单。如果附属信息未定义特定的事件类型,则在630,设备100显示包括创建能够通过附属信息生成的至少一种事件类型的选项在内的上下文菜单。在632,设备检测从上下文菜单中选择的指令或命令,并确定该命令是否是要求创建事件的命令。如果该命令是创建事件的命令,则在634,创建并保存事件。如果该命令是针对不同动作的,则在636,设备100执行该不同动作。
如果附属信息尚未存储在设备100处,则可以使用如图6C所示的过程。在660,在设备100处接收横幅510,然后在662,呈现横幅510以进行显示。在664,设备100检测调用上下文菜单或根据横幅510创建事件的用户命令。然后在666,设备100确定当前是否存储了横幅510的附属信息。如果确定了附属信息已经存在于设备100处,则过程可以从图6A的步骤604或图6B的步骤626处继续。然而,如果确定了附属信息未存在于设备100处,则在668,设备在网络上向服务器发起针对附属信息的请求。可以将该请求寻址至与已经在设备100处存储的横幅510相关联的URI。在670,一旦设备100接收到具有附属信息的响应,则过程可以从图6A的步骤604或图6B的步骤626处继续。
与横幅510相关联的附属信息可以用于生成设备100处的其他个人信息条目,如地址簿条目。附属信息可以提供联系人信息,如地址、电子邮件地址、以及电话号码。下面提供示例伪XML内容。
如果联系人是商业或职业联系人,则可在附属数据中编码的附加信息包括营业时间。另外,可以提供附加描述数据。例如,如果联系人是餐厅,则描述数据甚至可以包括菜单信息。设备100可以使用上述方法来创建和保存地址簿条目。
可以将前述实施例与“智能”日历、任务、或将事件与用户的物理位置或可用性进行相关的其他应用相结合地实施。如上所述,可以向通信设备100提供GPRS技术,或通信设备100可以被配置为使用用于确定设备100的大致位置的其他定位技术。如果与横幅510相结合地接收的附属信息包含充足的位置信息,则“智能”应用可以将提醒或警报适配为使得在有用和相关的时间向用户显示该提醒或警报。例如,上述的横幅510可以包含与特定项目的销售相关的主题。如果设备100已经被操作为存储与该横幅510相关的任务项,则该任务项可能包括到期日期(对应于销售的最后日期)、名称和描述以及可选的URI、提醒时间,以及除了该数据之外的具有可由设备100解析的格式的定位信息。如果以基于XML的格式向设备提供了附属信息,则可以在如<banner:EventLocation>lat43.6478long-79.4007</banner:EventLocation>之类的名称-值对中提供定位信息。在该定位信息与在设备100处存储的事件相关联的情况下,当设备100获得与其当前位置相关的更新信息时,设备100可以提供用户可在设备100确定了其处于与事件相关联的位置处或附近时观看或感知的更新。因此,在设备100处基于横幅510的附属数据而创建的任务项可能已经被配置为在任务的到期日期之前八个小时向用户发出提醒,以确保用户有充足的时间来执行任务。或者,任务项可能根本还没有包括提醒时间,但是设备100将仅在该任务的到期日期出现时才会提供警报。然而,如果设备100确定了其处于任务项位置附近(例如,在1公里内,或在某个其他指定的临近值内),则设备100可以经由显示器110或经由另一个界面子系统112(如振动界面、听觉界面等等)来发出与任务相关的立即警报。从而可以向用户发出执行该任务的机会的警报,这是由于他或她已经发现自己在附近。
在另一个实施例中,事件可以是可与特定相关日期或时间范围相关联的任务项,使得不能在该范围之外完成该任务。在图5A的示例中,横幅510的主题是仅在所定义的12个小时时间段内发生的事件,所以,事件开始时间之前的提醒对于用户来说可能不如该时间段内的提醒有用。在这种情况下,如果设备100确定了其处于任务项位置的附近,则设备100可以确定当前时间是否处于任务的相关时间段内;如果不处于,则设备100不对用户发出警报。如果当前时间处于相关时间段内,则设备100要发出警报。
图7示出了可针对该实施例实施的方法。在700,如上所述,在设备100处存储事件。在705,设备100使用GPS或其他手段来检测其当前地理位置。接下来,在710,设备100向其存储器(例如个人信息存储器)查询与当前地理位置附近的地理位置相关联的任何事件(日历约会、任务等等)。如果找到事件,则在715,设备100可以确定当前时间是否处于所找到的事件的相关时间段内。如果确定了当前时间处于相关时间段内,则在720发出警报。如果当前时间不处于相关时间段内,则设备100可以等待当前地理位置的进一步更新。设备100可以跳过确定当前时间是否处于相关时间段内的步骤,因此,在720,设备将简单地针对该所找到的事件向用户发出警报。
设备100还可以被配置为定制基于用户当前与事件的位置的距离而提供的提醒或警报的定时。设备100可以被配置为确定用户到达与特定位置相关联的且在设备100处存储的每个事件的大致旅行时间。可以根据向设备100提供的与典型交通流量、一天中的时间、以及交通方法相关的数据来确定旅行时间;从而,例如如图8所示,在800,设备100可以首先通过网络从地理位置服务获得其当前位置,然后在805,通过网络来查询地图服务,在查询中提供设备的当前位置和事件位置。在810,设备100从地图服务接收基于交通模式(例如步行、驾车、或公共交通)而估计出的从当前位置到事件位置的旅行时间。来自地图服务的响应可以包括针对所有交通模式而估计出的旅行时间,或可以仅提供在查询中标识出的一个所估计出的旅行时间。在815,设备100将所估计出的旅行时间同事件到期日期(其可以是日历约会的开始时间或任务的相关日期或时间范围内的最后时间)与当前时间之差进行比较。如果所估计出的旅行时间超过事件到期日期与当前时间之差,则在820,设备100可以向用户就该事件发出立即提醒或警报,即便该事件已被预先配置为在不同时间发出警报或提醒也是如此。从而向用户给出进行其他布置的机会(如果可能的话);备选地或附加地,如下所述,在830,设备100可以被配置为发起要在网络上发送的命令。如果事件到期日期与当前时间之差大于所估计出的旅行时间,则设备100可以什么都不做并在800处等待对当前位置的新的更新,或者在该差值处于特定范围(例如15分钟或更少)内的情况下,设备100仍可以在825发出提醒,从而向用户给出对将要到来的事件的某种警告。
可以提供对前述实施例的进一步增强。设备100还可以被用户配置为存储与用户相关的地理地标的定位数据。在各个位置处,可以例如响应于用户输入的命令,调用应用,以确定和存储定位数据,从而与由用户或设备100定义的标记相关联地存储定位数据,所定义的标记是例如“家”、“工作”、“小屋”、“妈妈和爸爸的房子”、“火车站”、“酒馆”、“食品店”等等。地理地标可以表示用户定期、半定期或甚至不经常去的位置。尽管用户可以将特定位置显式地定义为“家”等等,但是设备100还可以被配置为基于对整个工作日中设备的地理位置的采样,来确定至少“家”的位置和“工作”位置。典型地,很多用户与其通信设备100一起一般在每天的大约9a.m.和5p.m.之间出现在工作相关位置,并至少从午夜到6a.m.出现在家中。设备100可以被配置为在若干天中,一天若干次地自动获得并存储对其地理位置的读数,并根据该数据,基于结果的频率和接近度,确定“工作”和“家”的大致位置。
当设备100随后获得对其当前位置的读数时,设备100可以将当前定位数据与所存储的定位数据进行比较,以确定设备100是否处于任何一个先前存储的位置的附近。尽管设备100可以记录每个标记的特定纬度和经度值,但是应当理解,定位数据容易出错。设备100可以被配置为确定:处于由所存储的可标识数据标识出的标记位置的25、50或100米(或某个其他预定容许值)之内的任何当前定位读数有资格被说成“处于”该特定标记位置,而指示设备处于在设备100处存储的标记位置的1公里(或某个其他预定值)之内的当前定位读数是处于该标记位置的“附近”。
可以不总是利用定位数据来填充与例如已经在设备100处显示的横幅510相关联的在设备100处创建的事件。如果未提供涉及事件位置的数据,则设备100可以被配置为将事件与由用户标识出的缺省位置相关联。典型地,该缺省位置将是“家”或“工作”。在其他实施例中,可以在通信设备100处建立规则,该规则用于将设备100处的地址簿中的特定条目与这些所定义的位置之一相关联;例如,可以自动地将地址簿中被标识为用户的职业联系人的所有条目(例如,具有与用户的工作地址相同的工作地址的个人,或在地址簿中被显式地标签或标识为“工作”联系人的个人)与在设备处存储的“工作”位置相关联。可以自动地将地址簿中被标识为用户的家庭联系人的所有条目(例如,具有与用户的家庭地址相同的家庭地址的个人,或被显式地标签或标识为“家庭”联系人的个人)与在设备处存储的“家”位置相关联。如果在设备100处创建了将这种“工作”联系人标识为参与者或参加者的事件,则可以向该事件数据缺省地分配“工作”位置,除非已经针对该事件提供了明确的定位数据。因此,如果将缺省位置分配给在设备100处创建的事件,则设备依然可以执行如图8的方法之类的方法。
在另一实施例中,事件管理应用(不管是日历应用、任务应用还是某个其他应用)可以被配置为基于与已调度的事件相关的用户位置来调用其他动作。例如,事件可以涉及在设备100用户操作或控制下的另一个设备或系统,例如电视、个人录像机、个人计算机、家庭能源管理系统、或某个其他设备管理系统。现在很多设备和系统(例如上述那些)是支持网络或甚至是支持无线的,使得它们能够在互联网连接上由操作远程设备的用户来配置或控制,互联网连接可以包括固定的或无线连接。可以在允许用户与安装在用户住宅或甚至另一个位置处的家庭网络进行通信的通信设备100上安装和执行应用,该应用控制一个或多个设备,例如个人录像机(PVR)、自动调温器等等。该应用可以允许用户配置设备的操作条件或触发器;例如用户可以使用设备100的应用对用户家庭(或另一个位置)中的PVR进行编程,以记录给定的节目。这种应用还可以提供节目列表浏览和搜索能力,允许用户搜索电视节目,然后使用该应用向PVR发送指令,以一旦发现电视节目,则自动地记录该电视节目。可以在设备100上执行家庭能源管理应用,以允许用户控制电器的操作,例如用户家中的自动调温器,例如通过针对一天中特定的时间来设置自动调温器;在较热的月份中,用户可以使用设备100上的应用对自动调温器编程,以在平日将住宅维持在26C或更高的温度,但是在平日4:30pm时打开空调,使得在用户从工作返回家中之前将房子冷却到舒适的温度。
可以将使用通信设备100对设备和系统的远程配置与上述“智能”特征相结合。如以上图7的上下文中讨论的,如果设备100基于设备100的位置确定了用户将由于他或她距事件位置太远而错过约会或任务,则除了向用户显示警报之外或者代替向用户显示警报,设备100可以被配置为自动采取关于与可使用设备100控制的设备或系统相关联的事件的其他动作。例如,设备100处存储的事件可以是被调度为在8:00和9:00pm之间运行的用户希望观看的电视节目。已经根据参照图5A到图5B和6A到6C所述的方法在设备上生成和存储了事件。因此,例如,被提供给设备以用于创建可被存储为日历约会的事件的附属数据可能包括:
取代包括事件的位置(被标识为EventLocation),附属数据可以省略该字段并仅提供事件参考号码(EventReference),该事件参考号码可以参考涉及外部位置处的事件的数据。PVR或电子节目指南服务可以使用该参考号码来标识特定节目在特定时间的无线电广播。参考号码的使用避免了标识特定频道的要求,这是因为频道标识符可以根据用户所订购的服务而变化。在另一实施例中,附属数据可以包括这种频道标识符。
因为在该实施例中不存在针对该事件而定义的位置,所以设备100可以插入针对该事件位置的缺省位置标识符,如“家”。备选地,可以在设备100上定义规则,使得向具有如上述示例中所提供的事件参考值的任何事件或具有包括频道标识符在内的附属数据的任何事件给出缺省位置标识符“家”。在另一备选方案中,附属信息可以定义不同的事件类型,如“节目”;然后,规则可以将“家”位置标识符分配给该事件。当然,用户可以编辑事件数据以指定该事件的不同位置,例如如果用户正在城外旅行。将位置分配给事件是特别有用的,这是因为设备100可以调整事件时间以反映设备100当前所处的时区。
如以上参照图8所述的,如果设备100确定从设备的当前位置到“家”位置的估计旅行时间超过事件开始时间与当前时间之差,则如步骤820所述,设备100可以向用户发出警报;然而,设备100还可以被配置为自动发起将用户家中的PVR编排为记录电视节目的命令。可以在网络上向用户所订购的外部第三方服务发送该命令;由此,第三方服务可以向用户的PVR发送指令。从而,不要求用户为了将PVR编排为记录用户可能错过的节目,而采取附加步骤对通信设备100处的涉及即将到来的事件的提醒或警报进行响应。
备选地,设备100可以不在网络上发送在实际事件之前到目前为止布置编排PVR的命令。更确切地,在事件的所调度的开始之前的短时间内,设备100可以联系定位服务以确定设备100的当前地理位置。如果设备100此时确定了其不位于事件位置的附近,则此时,设备100可以发起指示PVR记录节目的命令。这可以恰在事件开始之前发生;然而,为了确保PVR及时接收到指令,设备100可以确定其位置,并在必要时,在事件开始之前大约至少15分钟发起命令。
可以将前述解决方案应用至可远程控制的其他系统或设备上。如上所述,家庭能源管理程序可以被配置为在用户预期返回家庭之前的特定时间打开空调单元(例如,通过将自动调温器设置为更低的温度)。此时,设备100可以联系定位服务来确定其当前位置。再一次,如果设备确定从设备的当前位置到“家”位置的估计旅行时间超过事件(更低温度的设置和/或空调单元的预定)开始时间与当前时间之差,则设备100可以发起要向自动调温器发送的命令,以延迟事件的开始时间,例如通过将开始时间延迟恰当数量以反映用户估计的返回时间。类似于上述PVR示例,设备100可以向第三方服务发送命令,然后其将命令在网络上中继至自动调温器。因此,总体上可以遵循图8所示的过程,尽管820处的提醒或警报可以是可选的,并且设备100在步骤830发起命令。
如果事件是即使当用户不在缺省位置处依然对于用户可接入的一个事件(例如电视节目,当用户不在家时电视节目可以是可观看的),则设备100可以被配置为更新在其存储器中存储的已调度的事件,以反映用户的当前位置。例如,如果设备100确定了其在不同的时区中,并确定返回事件位置的估计旅行时间将导致用户错过事件,则设备100可以确定是否可以针对用户的当前时区或位置重新调度该事件。即使用户旅行至不同的时区,作为日历事件主题的电视节目依然是可用的,尽管在不同的时间。因此,当设备100获得关于其位置的当前位置信息时,其可以验证其时区以及当前时区是否已经与已经调度的即将到来的日历事件、任务或其他定时事件所在的时区不同。已检查的即将到来的事件可以是仅针对下一个八、十二或二十四小时而调度的那些事件,这是因为用户可以设法在不久的将来返回至原始时区。然后,设备100可以尝试更新事件以反映已改变的时区。如果事件包括外部事件参考号码,则设备100可以向与事件相关联的外部服务(如电子节目指南服务)发送查询,以获得与事件相关的更新的信息。外部服务可以响应新的或更新的信息,使得设备100可以改变在其存储器中存储的事件的已调度的时间。
在图9中示出了该过程。在900,设备100从地理定位服务获得其当前位置。然后,根据如此获得的数据,在905,设备100确定是否由于设备100位于与上次对网络验证其当前时间不同的时区而导致了时间改变。如果尚未改变,则该过程结束;然而,可以注意到,图8的方法可以从步骤805继续。如果已存在这种改变,则在910,设备100向其数据存储器查询事件,例如日历约会、任务、以及根据先前时区而设置的在下一个预定时间段(例如八、十二或二十四小时)中的其他基于时间的事件。如果不存在这种事件,则过程结束;但是如果存在这种事件,则设备100尝试更新每个这种事件。
首先,在915,设备100可以确定该事件是否包括外部事件参考,外部事件参考用于指示可以从外部服务获得与该事件相关的信息。如果不存在外部事件参考,则设备100可以或可以不更新针对该事件而设置的时间。对于不具有外部参考的每个事件,在920,设备100可以确定是否存在与事件相关联的位置信息,位置信息用于指示参照不同时区中的位置调度了时间;即,该时间是否是位置相关的。例如,如果与“家”位置相关联地存储了设备100上的事件,则可以根据“家”时区来固定该事件的时间;因为设备100现在处于新的时区,所以在925,设备100可以对事件开始和结束时间进行移位,以反映新时区中的相同时间。因此,如果将该“家”事件被调度为在5:00pm开始,那么,如果设备已经向前移动一个时区,则设备可以将该“家”事件修正为在4:00pm开始。如果事件与不同时区中的位置不相关联,则设备100不修正该事件的时间。
如果存在外部事件参考,则在930,设备100可以向与参考相关联的外部服务发起查询,以获得更新的信息。然后在935,设备100可以基于响应于该查询而接收到的信息来更新事件,包括:在需要时更新事件的时间。
“智能”特征还可以与地址簿(不仅与基于时间的事件)相结合地进行操作。当设备100获得与其当前位置相关的更新的信息时,设备100可以检查来自设备100处的地址簿中列出的被确定与设备的当前位置邻近的所选联系人的更新。可以通过接入由地址簿中存储的与该地址簿条目相关联的URI所标识出的资源,来获得该更新;设备100可以在网络上向该URI自动发送查询,并接收对地址簿条目的任何更新,并且可选地接收涉及特殊供应的附加的附属数据。对设备查询的响应可以包括例如用于描述事件的附属数据(如限时供应),然后,设备100可以将该附属数据自动存储为日历事件,同时向用户发出提醒或警报。因此,当用户正在联系人业务附近携带者他或她的通信设备100旅行时,设备100可以向用户发出与来自该业务的特殊供应相关的警报。设备100还可以基于地理位置信息来估计其未来位置或路线;例如,设备100可以向地图服务发起针对与其地址簿中标识出的与设备的当前路线邻近的地点相关的信息的查询。可以通过与相应测量次数相关的重复的地理位置测量来估计当前的路线;例如,基于这种数据,可以确定设备正在特定道路上旅行。然后,设备100可以对地址簿查询具有该道路上的地址的所有联系人,然后请求针对这些联系人中的每一个的更新,然后相应地向用户发出通知。为了限制经由通信设备100向用户发出的警报的数目,设备100可以被配置为使得用户可以显式地指示他或她希望接收到针对哪个联系人的这种警报。例如,在地址簿应用中,用户可能能够编辑个体地址簿条目,以选中或取消选中接收涉及该联系人的警报的选项。
设备100和横幅510还可以被配置为允许用户参与社交网络。一般来说,社交网络服务在本领域公知的;除了允许订购用户分享关于他们自己的不同级别的个人信息以外,很多社交网络服务还允许用户通过以下操作来表达他们对商品或服务的意见或偏好:向服务张贴用户撰写的消息;向服务张贴与产品的网站的超链接;或向服务的数据库添加信息以指示该用户已经购买该产品。可以使用户的消息和活动对于一般公众可见、仅对于该服务的其他订户可见、或仅对于被用户标识为“朋友”的那些订户可见。
在该另一实施例中,设备100上的地址簿应用可以被配置为允许用户向每个地址簿条目添加其他属性,以指示该联系人是否是“朋友”、“家庭”、“商业合伙人”、“供货商”、“客户”或其他这种类别的联系人。用户可能能够定义他或她自己针对联系人的标记,或从如前所述的预定义标记集合中进行选择。一般地,用户可以将这些不同类别的联系人与不同的亲密度级别进行相关;用户可能愿意与“朋友”更深地分享个人细节,与“家庭”分享一些个人细节,与“商业合伙人”仅分享工作相关细节,以及与“供货商”或“客户”几乎不分享任何信息(如果有的话)。换言之,用户可能具有的各种类别的联系人落在亲密度的图谱(spectrum)上,其中,一个极端是用户愿意分享他或她可能张贴到社交网络服务的任何信息,而另一个极端是除了可能分享工作相关联系人地址和职业履历以外,用户根本不愿意分享任何信息。结果,用户仅愿意听到或阅读到被认为是“朋友”或“家庭”的那些人的个人细节,而对听到来自“商业合伙人”或“供货商”的个人信息不那么感兴趣。因此,各种类别的联系人还可以落在兴趣的图谱上,其中,一个极端是用户愿意接收与联系人愿意分享的联系人相关的任何信息,而另一个极端是用户可能根本不希望接收任何信息。
通信设备100的用户可以利用横幅510来调用另一动作,以使用社交网络服务或消息收发服务来至少向地址簿中标识出的用户联系人的子集传达横幅510的主题的信息或背书(endorsement)。如图5C所示,可以在设备处接收到调用与横幅510相关联的上下文菜单560的指令,例如通过用户促动横幅510来调用。上下文菜单560可以包括与其他人“共享”与横幅510有关的信息的选项。在第一实施例中,可以提供单个共享选项;在后续步骤中,用户可以选择社交网络或消息收发媒体以用于共享信息,并可选地定制消息;或者,上下文菜单560可以列出可用的社交网络,例如用户已经订购的那些社交网络,或已在设备上安装分离应用的那些社交网络。图5C所示的上下文菜单560在562示出了前一选项。当设备检测到选择该“共享”信息选项的指令时,设备100可以如上所述提取或下载与横幅510有关的附属信息。然后,设备100可以调用另一应用以许可用户编辑对社交网络服务的帖子。当启动社交网络应用时,设备100可以利用从横幅510的附属数据中提取的URI或其他数据,来自动填充由用户编辑的帖子的字段。接收者或读者可以使用URI来观看横幅510本身,或观看如包含其他信息在内的网页之类的资源。然后,用户可以编辑帖子的内容以在期望时添加内容。备选地,设备100可以调用消息收发应用来许可用户编辑和发送消息,如电子邮件、SMS或即时消息。当启动消息收发应用时,设备100可以利用从横幅510的附属数据中提取的URI或其他数据来自动填充消息体字段。然后再一次,用户可以在发送之前编辑该消息。
如果向社交网络服务发送了该帖子,则典型地使用社交网络服务所提供的配置特征来定义这种帖子的接收者或读者;例如,服务可以具有隐私设置,隐私设置确定了谁具有阅读用户的帖子的权限。如果发送作为电子邮件、SMS或即时消息的消息,则当编辑消息时,用户可以标识消息的接收者。设备100还可以被配置为基于用户在地址簿中定义的联系人类别将消息寻址至缺省的接收者集合;例如,仅可以向“朋友”和“家庭”发送该消息。还可以在发送之前由用户编辑缺省接收者集合。
在另一实施例中,用户可以提交对横幅510的推荐。图5D示出了可在设备100上调用的上下文菜单的示例。上下文菜单570包括“recommend this item(推荐该项)”选项572,用户可以选择该选项以提交推荐。当选择了该选项时,设备100可以构造并向服务(例如向设备提供了横幅510的服务)发送具有用户的标识信息的消息。可选地,还可以向用户提供提交对横幅510的主题的评论或评价的机会。服务将用户的标识信息与横幅510相关联地存储,从而维护用户对横幅510和/或关联的商品、服务或作为横幅510主题的信息性消息的兴趣的记录。向服务发送消息可能要求用户在先对提供横幅510的服务进行了订购;该服务可以是社交网络服务。当服务的另一订户观看相同横幅510时,可以在其他订户的通信设备100上将横幅510与推荐消息580一起显示,如图5E所示,指示了第一用户推荐该横幅510。
如上所述,可以通过用户的联系人类别来定义谁能看到由第一用户提交的推荐消息580。例如,可以在通信设备100处配置以下选项:仅“朋友”将被许可观看用户提交给服务的推荐。如果在通信设备100处配置了该选项,则可以将该选项与推荐消息一起发送给服务。备选地,用户可以直接登录到服务中并定义:该推荐仅可被属于与服务相关的“朋友”类别的那些联系人观看。在另一备选方案中,通信设备100上的地址簿可以与服务由代表用户而维护的地址簿同步,使得用户不需要既向设备100上的联系人又向服务上的联系人分配类别。取而代之,用户仅需要在一个地方分配类别,并且这些分类将与另一位置同步。或者,设备100可以被配置为仅将“朋友”联系人与服务同步。这样,用户可以定义亲密度图谱上的哪个子集的联系人能够看到用户的推荐消息580。
通信设备100上的用户是否能看到来自另一用户的推荐580还可能取决于用户是否已经表达过对看到该另一用户的推荐的兴趣。换言之,用户可以基于推荐者在用户所定义的兴趣图谱上的位置,来定义他或她能看到谁的推荐。用户可能仅对看到“朋友”和“家庭”的推荐感兴趣,而对看到其他人的推荐不感兴趣。可以在设备100处配置该选项,但是然后可以向服务发送该选项以用于记录用户的偏好。将来,当服务标识并准备要向用户设备发送的横幅510时,服务可以确定是否有用户的任何联系人已经提供关于该横幅510的推荐和/或评论,以及用户的选项是否许可在用户设备100上显示该推荐。如果这两个条件都满足,则可以与横幅510同时或大致同时向设备100发送推荐580。
可以向进行推荐的用户给出在横幅510上包括评价或评论的选项。在图5E和5F的示例中,最初,在推荐消息580中仅可以显示推荐者的身份。调用与消息580有关的指令(例如通过点击或促动消息)可以拉出如图5F所示的另一视图,其中,如框592所示,可以观看由该用户提交的评论或评价。可选地,如框594所示,还可以同时显示其他推荐者的评论或评价。由于大量的推荐者可能过度地模糊了横幅510的视图,因此不是每个推荐者都可以在推荐消息580中标识出。可以与横幅510同时或大致同时向设备100传输推荐以及评价或评论。推荐以及可选的评价或评论甚至可以嵌入包括横幅510本身在内的文件中,或嵌入包裹横幅510文件的包封中。
图10A和10B示出了用于实施该过程的方法。首先参照图10A,在1000,在通信设备100处向用户显示第一横幅510。用户决定推荐该横幅510,并调用指示用户推荐横幅510的命令,该命令是在1005检测到的。可选地,在该步骤,向用户给出输入伴随该推荐的评论或评价的机会。在1010,向服务发送推荐以及可选的评论或评价以供存储。在1015,服务将该推荐与横幅510和用户相关联地加以存储。在该过程期间的任何时刻,用户可以定义被许可观看推荐和可选的评论的接收者或服务的其他用户的集合。
现在参照图10B,在服务已经针对横幅510注册了推荐之后,下一次向用户提供横幅510时,在1030,服务首先确定是否已经关于横幅注册了任何推荐。如果不存在推荐,则在1045,如前所述,服务向用户设备发送横幅510和任何附属数据;附属数据将不包括任何推荐数据。如果存在推荐,则在1035,服务将推荐者与用户愿意从其接收推荐的订户(即,用户已标识为感兴趣的那些订户)的列表进行比较。如果不存在用户愿意从其接收推荐的推荐者,则再一次,过程移动至1045。然而,如果存在这种推荐者,则在1050,服务准备向设备100发送推荐数据以及横幅510。在1040,服务可以通过将与用户感兴趣的这些推荐者有关的推荐数据嵌入包括横幅510或附属数据在内的文件中,或备选地通过构造包含推荐数据在内的分离文件以发送至设备,来完成该发送。
本文公开的系统和方法仅作为示例展示,并且不意味着限制本申请的范围。上述系统和方法的其他变化对于本领域技术人员来说是显而易见的,并且同样地被认为在本申请的范围中。
可以在一个或多个数据存储器中存储系统和方法的数据。数据存储器可以是很多不同类型的存储设备和编程构造,例如RAM、ROM、闪存、编程数据结构、编程变量等等。应当注意到数据结构描述了供计算机程序使用的在数据库、程序、存储器或其他计算机可读媒体中用于组织和存储数据的格式。
可以在很多不同类型的计算机可读媒体上提供适于提供上述系统和方法的代码,包括计算机存储机制(例如CD-ROM、磁盘、RAM、闪存、计算机硬盘驱动器等等),该存储机制包含由处理器执行的用于执行所述方法的操作并实施本文所述系统的指令。
可以将本文所述的计算机组件、软件模块、功能和数据结构直接或间接地彼此相连,以允许它们的操作所需的数据的流动。还应当注意到模块或处理器包括但不限于执行软件操作的代码单元,并且可以将模块或处理器实施为例如代码的子程序单元,或实施为代码的软件功能单元,或实施为对象(如在面向对象范例中),或实施为小应用,或以计算机脚本语言,或实施为另一种类型的计算机代码。
本专利文档的一部分公开包含受到版权保护的材料。当出现在专利和商标局的专利文件或记录中时,版权所有者不反对由专利文档或专利公开中任意一项来进行传真复制,但在其他无论什么情况下保留所有版权。