经由MMS将图像添加至草稿文档的制作方法

文档序号:21789806发布日期:2020-08-07 20:43阅读:262来源:国知局
经由MMS将图像添加至草稿文档的制作方法

优先权要求

本申请要求于2017年12月28日提交的美国申请序列号15/856,357的优先权的权益,其全部内容通过引用并入本文中。

本文公开的主题总体上涉及数据的处理。具体地,在一些示例实施方式中,本公开内容提出了用于经由多媒体消息服务(mms)将图像添加至草稿的系统和方法。

附图说明

在附图的图中以示例而非限制性的方式示出一些实施方式。

图1是示出根据一些示例实施方式的适于经由mms将图像添加至草稿的网络环境的网络图。

图2是示出根据一些示例实施方式的适于经由mms将图像添加至草稿的电子商务服务器的部件的框图。

图3是示出根据一些示例实施方式的适于编辑草稿的用户界面的框图。

图4是示出根据一些示例实施方式的适于经由mms将图像添加至草稿的用户界面的框图。

图5是示出根据一些示例实施方式的适于经由mms将图像添加至草稿的数据库模式的框图。

图6是示出根据一些示例实施方式的电子商务服务器在执行经由mms将图像添加至草稿的方法时的操作的流程图。

图7是示出根据一些示例实施方式的在执行经由mms将图像添加至草稿的方法时的服务器和装置的通信的通信图图示。

图8是示出根据一些示例实施方式的可以安装在机器上的软件架构的示例的框图。

图9是根据示例实施方式的计算机系统形式的机器的图形表示,在该机器内可以执行指令集以使该机器执行本文所讨论的方法中的任何一种或更多种方法。

具体实施方式

示例方法和系统涉及经由mms将图像(例如,照片)添加至草稿。示例仅代表可能的变化。除非另有明确说明,否则部件和功能是可选的并且可以被组合或细分,并且操作可以在顺序上变化或者被组合或细分。在以下描述中,出于说明的目的,阐述了多个具体细节以提供对示例实施方式的透彻理解。然而,对于本领域技术人员将明显的是,可以在没有这些具体细节的情况下实践本主题。

用户可以通过与服务器交互来创建草稿文档。例如,服务器可以提供包括文本字段的网页,这些文本字段由用户经由客户端装置的web浏览器来填充。图像(例如,照片)可以从客户端装置上传至服务器以包括在草稿文档中。在一些情况下,要包括在草稿文档中的图像并不存储在客户端装置上,而是存储在第二装置(例如,移动电话)上。

服务器可以(例如,使用短消息服务(sms))向第二装置发送消息。该消息可以提示用户用包括要添加至草稿的图像的消息(例如,多媒体消息服务(mms)消息)进行响应。服务器接收图像并(例如,通过更新在客户端装置上正在显示的网页)修改草稿。该过程使得用户能够使用包括键盘的第一装置(例如,台式计算机或膝上型计算机)来键入草稿的文本并且使用包括摄像机的第二装置(例如,移动电话或平板计算机)来将图像添加至草稿,而不必将图像从第二装置传送至第一装置。

过去,将图像从移动装置传送至台式计算机需要用通用串行总线(usb)或其他硬连线连接来连接移动装置。这个过程是麻烦的,因为它需要用户找到所需的线缆、将线缆附接至两个装置、导航移动装置的文件结构来找到图像以及将图像复制到台式计算机。可替选地,可以通过首先将图像传送至云上的文件或图像存储应用,然后将图像从云传送至台式计算机来传送图像。该过程还需要用户执行多个步骤:从移动装置登录到云应用、上传文件、从台式计算机登录到云应用、以及下载文件。用本文描述的系统和方法,用户既不需要硬连线连接也不用必须在多个装置上登录到云账户。

本文描述的系统和方法的另一方面是减少的处理和存储器存储。在经由台式计算机传送文件的现有方法中,台式计算机必须在从移动装置接收图像并将图像上传至服务器中存储图像并且使用处理器周期。通过将图像直接从移动装置传送至创建草稿文档的服务器,节省了台式计算机的计算资源。

图1是示出根据一些示例实施方式的适于经由mms将图像添加至草稿的网络环境100的网络图。网络环境100包括电子商务服务器120、sms网关130以及装置150a、150b、150c和190,其全部经由网络140以通信方式彼此耦接。装置150a、150b和150c可以被统称为“多个装置150”,或者一般地被称为“装置150”。电子商务服务器120和sms网关130可以是基于网络的系统110的一部分。装置150可以使用web客户端180a、应用客户端180b或mms客户端170与电子商务服务器120交互。如下文关于图8至图9所描述的,电子商务服务器120、sms网关130、装置150和装置190可以各自在计算机系统中整体或部分地实现。

电子商务服务器120经由网络140向其他机器(例如,装置150和190)提供电子商务应用。电子商务服务器120还可以直接连接至sms网关130或与sms网关130集成。电子商务应用可以为用户提供彼此直接购买和出售物品、从电子商务应用提供商购买和向电子商务应用提供商出售物品、或者两者的方式。

sms网关130提供用于发送和接收sms和mms消息的程序接口。sms网关130可以被电子商务服务器120使用以发送请求图像的sms消息并且接收包括图像的mms消息。

图1中还示出了用户160。用户160可以是人类用户(例如,人类)、机器用户(例如,由软件程序配置成与装置150和电子商务服务器120交互的计算机)、或其任何合适的组合(例如,由机器辅助的人类或由人类监督的机器)。用户160不是网络环境100的一部分,但是与装置150相关联并且可以是装置150的用户(例如,装置150a、150b和150c的所有者)。例如,装置150可以是属于用户160的传感器、台式计算机、车辆计算机、平板计算机、导航装置、便携式媒体装置或智能电话。装置190可以与不同的用户相关联。

在一些示例实施方式中,电子商务服务器120从用户(例如,用户160)接收草稿物品列表。物品列表描述了可以购买的物品。例如,用户可以创建物品列表,该物品列表描述了该用户所拥有的可以由另一用户经由电子商务服务器120来购买的物品。物品列表包括文本、一个或更多个图像或两者。用户可以使用装置150a的web客户端180a或装置150b的应用客户端180b来提供草稿物品列表的文本。用户可以使用装置150c的mms客户端170来提供草稿物品列表的一个或更多个图像。电子商务服务器120可以将完成的物品列表提供给其他客户端装置,诸如与不同用户相关联的装置190。

图1所示的任何机器、数据库或装置可以在由软件修改(例如,配置或编程)成执行本文针对该机器、数据库或装置所描述的功能的专用计算机的通用计算机中实现。例如,将在下文关于图8至图9讨论能够实现本文所描述的方法中的任何一个或更多个方法的计算机系统。如本文所使用的,“数据库”是数据存储资源并且可以存储被结构化为文本文件、表格、电子表格、关系数据库(例如,对象关系数据库)、三元组存储、分层数据存储或其任何合适的组合的数据。此外,图1所示的机器、数据库或装置中的任何两个或更多个可以被组合成单个机器、数据库或装置,并且本文针对任何单个机器、数据库或装置所描述的功能可以在多个机器、数据库或装置之中细分。

网络140可以是使得能够在机器、数据库和装置(例如,电子商务服务器120和装置150)之间或之中进行通信的任何网络。因此,网络140可以是有线网络、无线网络(例如,移动或蜂窝网络)或其任何合适的组合。网络140可以包括构成专用网络、公共网络(例如,因特网)或其任何合适的组合的一个或更多个部分。

图2是示出根据一些示例实施方式的电子商务服务器120的部件的框图。电子商务服务器120被示出为包括通信模块210、mms模块220、草稿模块230和存储模块240,所有这些模块都被配置成(例如,经由总线、共享存储器、交换机或应用编程接口(api))彼此通信。可以使用硬件(例如,机器的处理器)或硬件和软件的组合来实现本文描述的模块中的任何一个或更多个模块。例如,本文描述的任何模块可以将处理器配置成执行本文中针对该模块描述的操作。此外,这些模块中的任何两个或更多个模块可以被组合成单个模块,并且本文中针对单个模块描述的功能可以在多个模块之中细分。此外,根据各种示例实施方式,本文中描述为在单个机器、数据库或装置内实现的模块可以跨多个机器、数据库或装置分布。

通信模块210被配置成发送和接收数据。例如,通信模块210可以通过网络140接收文本数据并且将所接收的数据发送至草稿模块230。

mms模块220被配置成发送和接收sms和mms消息。例如,可以发送sms消息来提示移动装置(例如,移动电话或平板计算机)的用户发送图像作为响应。可以从移动装置接收包括图像的mms消息。可以将所接收的图像提供给草稿模块230以包括在草稿中。

草稿模块230被配置成提供用于接收草稿文档的用户界面并且接收草稿文档的文本。例如,可以通过草稿模块230呈现(下文关于图3描述的)用户界面300,并且可以经由应用接口或web接口接收文本。存储模块240被配置成存储关于草稿和发布的文档的数据。

图3是示出根据一些示例实施方式的适于编辑草稿文档的用户界面300的框图。如在图3中可以看到,用户界面300包括标题310(“草稿”)、文本区域320以及按钮330、340和350。

用户界面300可以响应于用户创建新文档或访问现有文档而显示。文本区域320显示(例如,从文档的先前草稿检索的、由用户输入到文本区域320中的或其任何合适的组合的)文档的文本。草稿文档可以是网站的文章、在线市场上销售的物品的描述、或用于另外的目的的文档。按钮330可操作以选择要从显示用户界面300的装置上传的图像文件。例如,可以呈现文件拾取器界面以使得用户能够选择存储在用户的计算机的硬盘驱动器上的文件。所选择的文件可以被上传至电子商务服务器120以包括在草稿中。

按钮340可操作以开始从除了显示用户界面300的装置之外的装置向电子商务服务器120提供一个或更多个图像的过程。例如,可以提示用户输入移动电话号码。电子商务服务器120使文本消息被发送至所输入的电话号码。用户可以用包括图像附件的mms消息来响应文本消息。电子商务服务器120接收mms消息并访问图像,以将图像添加至草稿。

按钮350可操作以发布草稿文档。例如,草稿文档可以仅可由(例如,如下文关于图5讨论的草稿表550中所指示的)草稿的作者访问,但是发布的文档可以由所有用户访问。

图4是示出根据一些示例实施方式的适于经由mms将图像添加至草稿的用户界面400的框图。如在图4中可以看到,用户界面400包括标题410(“mms”)、所接收的文本消息420以及外发的mms消息430。在电子商务服务器120检测到用户与用户界面元素的交互之后(例如,在用户160操作用户界面300的按钮340之后),可以在装置150c的屏幕上示出用户界面400。

所接收的文本消息420是从电子商务服务器120接收的并且包括针对用户的提示。用户用包括图像的mms消息430来响应所接收的文本消息420。所接收的文本消息420包括(例如,在报头(header)数据中的)返回电话号码,并且图像由mms客户端170发送至该返回电话号码。所接收的文本消息420可以包括文档的标识符、文档所提到的物品(例如,在电子商务服务器120上列出的用于销售的物品)的标识符、或另外的标识符。标识符可以是文档的标题(例如,由用户输入的标题、由电子商务服务器120生成的标题、或其任何合适的组合)或另外的标识符(例如,在数据库中诸如在下文关于图5讨论的草稿标识符字段570中使用的唯一标识符。)

图5是示出根据一些示例实施方式的适于经由mms将图像添加至草稿的数据库模式500的框图。数据库模式500包括用户表510和草稿表550。用户表510包括用户字段520、移动号码字段530以及行540a、540b和540c。草稿表550包括用户字段560、草稿标识符(id)字段570以及行580a、580b和580c。

行540a至540c中的每行存储针对用户的信息。用户字段520存储针对每个用户的用户名或其他唯一标识符。移动号码字段530存储针对每个用户的移动电话号码。因此,当电子商务服务器120经由mms从用户请求图像时,用户表510可以用于识别用户的移动电话号码,并且用户界面400的文本消息420可以被发送至所识别的移动电话号码。

行580a至580c中的每行存储针对草稿文档的信息。用户字段560存储草稿的作者的用户名。草稿id字段570存储针对草稿的唯一标识符。草稿表550可以由电子商务服务器120使用以进行访问控制。例如,在(例如,通过验证密码)认证用户之后,电子商务服务器120可以使得用户能够选择草稿以进行编辑。草稿表550还可以用于将所接收的图像(例如,通过使用用户界面400所接收的图像)与草稿相关联。从与用户相关联的移动电话号码接收的图像可以被添加至与同一用户相关联的草稿。当多个草稿与用户相关联时,所接收的图像可以被添加至(例如,如添加至草稿表550的时间戳字段中所指示的)用户最近编辑的草稿。

图5的用户表使得能够识别特定用户帐户及其相关联的草稿,使得能够向台式计算机仅提供与特定草稿相关联的图像。这节省了台式计算机用户的精力,否则该台式计算机用户将必须针对每个列表识别正确的图像。另外,图5的数据库结构通过避免不必要地将图像下载到台式计算机和从台式计算机上传图像来节省计算资源(处理器周期和存储存储器两者)。

图6是示出根据一些示例实施方式的电子商务服务器在执行经由mms将图像添加至草稿的方法600时的操作的流程图。方法600中的操作可以通过电子商务服务器120使用上文关于图2描述的模块来执行。

在操作610中,草稿模块230接收经由mms将图像添加至草稿的用户请求。例如,可以按压、点击或触摸用户界面300的按钮340来指示用户希望向草稿添加图像。在一些示例实施方式中,用户请求包括在线市场上的用户账户的标识符(例如,与图5的用户表510的用户字段520相对应的值)。

在操作620中,mms模块220将sms或其他文本消息发送至移动装置。在一些示例实施方式中,mms模块220从数据库模式500的用户表510检索移动装置的电话号码。响应于接收到sms消息,移动装置(例如,装置150c)可以显示用户界面400。mms模块220可以经由sms网关130发送文本消息。

在操作630中,mms模块220从移动装置接收包括要添加至草稿的图像的mms消息。在一些示例实施方式中,mms模块220经由sms网关130接收mms消息。在操作640中,草稿模块230将所接收的图像添加至草稿。例如,所接收的图像可以由存储模块240存储并且草稿表550的图像字段可以被更新成指示存储的图像是草稿的一部分。作为另一示例,存储草稿的文件可以被修改成包括图像本身或者对所存储的图像的引用。

图7是示出根据一些示例实施方式的在执行经由mms将图像添加至草稿的方法时服务器和装置的通信的通信图图示700。通信图图示700包括电子商务服务器120与装置150a、150c和190之中的通信710、720、730、740、750、760和770。

在通信710中,装置150a(例如,膝上型计算机或台式计算机)向电子商务服务器120发送草稿的文本数据。例如,用户可以将文本输入到用户界面300的文本区域320内,该用户界面300在web客户端180a的web浏览器实现中显示。响应于从用户接收到文本,web客户端180a可以经由http将文本经由网络140(例如,因特网)发送至电子商务服务器120。

在通信720中,装置150a向电子商务服务器120发送经由mms添加图像的请求。例如,用户可以与用户界面300的按钮340交互。

在通信730中,响应于接收到添加图像的请求,电子商务服务器120向装置150c(例如,移动电话或平板电脑)发送请求图像的sms消息。在通信740中,装置150c用包括图像的mms消息响应sms消息。在一些示例实施方式中,用户使用用户界面400提供图像。电子商务服务器120可以将所接收的图像并入到电子发布(例如,网络日志、新闻站点或在线目录)中。

在接收到图像之后,电子商务服务器120更新草稿并且在通信750中将包括图像的更新后的草稿发送至装置150a。更新后的草稿可以显示在装置150a的屏幕上(例如,在包括图像的用户界面300的更新版本中)。

在通信760中,装置150a批准该草稿通过电子商务服务器120发布。例如,用户可以操作用户界面300的按钮350并且web客户端180a可以经由http发送发布草稿的指令。

在通信770中,电子商务服务器120向装置190发送包括图像的发布的文档。例如,另外的用户可以浏览由电子商务服务器120发布的文档并且接收所发布的文档。

根据各种示例实施方式,本文描述的方法中的一种或更多种方法可以促进经由mms将图像添加至文档。因此,本文描述的方法中的一种或更多种方法可以促进将图像添加至文档而不需要用户首先将图像从图像捕获装置传送至文档编辑装置。

当这些影响被综合考虑时,本文描述的方法中的一种或更多种方法可以消除对某些工作或资源的需要,否则在将图像添加至文档时将涉及这些工作或资源。可以通过本文描述的一种或更多种方法来减少用户在传送图像时所花费的工作。可以类似地减少由(例如,在网络环境100内的)一个或更多个机器、数据库或装置所使用的计算资源。这样的计算资源的示例包括处理器周期、网络流量、存储器使用、数据存储容量、功耗和冷却能力。

模块、部件和逻辑

某些实施方式在本文中被描述为包括逻辑或多个部件、模块或机制。模块可以构成软件模块(例如,实施在非暂态机器可读介质上的代码)或硬件实现的模块。硬件实现的模块是能够执行某些操作的有形单元,并且可以以某种方式配置或布置。在示例实施方式中,一个或更多个计算机系统(例如,单机、客户端或服务器计算机系统)或一个或更多个处理器可以由软件(例如,应用或应用部分)配置为操作以执行如本文描述的某些操作的硬件实现的模块。

在各种实施方式中,硬件实现的模块可以机械地或电地实现。例如,硬件实现的模块可以包括被永久配置成(例如,作为专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic))执行某些操作的专用电路或逻辑。硬件实现的模块还可以包括由软件临时配置成执行某些操作的(例如,如包括在通用处理器或其他可编程处理器内的)可编程逻辑或电路。应当理解,机械地、在专用和永久配置的电路中、或在临时配置的电路(例如,由软件配置)中实现硬件实现的模块的决定可以由成本和时间考虑来驱动。

因此,术语“硬件实现的模块”应当被理解为涵盖有形实体,是被物理构造、永久配置(例如,硬连线)或者临时或暂时配置(例如,编程)成以特定方式操作和/或执行本文描述的特定操作的实体。考虑硬件实现的模块被临时配置(例如,编程)的实施方式,硬件实现的模块中的每一个不需要在任一时刻处被配置或实例化。例如,在硬件实现的模块包括使用软件配置的通用处理器的情况下,通用处理器可以在不同时间被配置为相应的不同的硬件实现的模块。软件因此可以将处理器配置成例如在一个时刻处构成特定的硬件实现的模块,并且在不同的时刻处构成不同的硬件实现的模块。

硬件实现的模块可以向其他硬件实现的模块提供信息并且从其他硬件实现的模块接收信息。因此,所描述的硬件实现的模块可以被视为通信地耦接。在同时存在多个这样的硬件实现的模块的情况下,可以通过信号传输(例如,通过连接硬件实现的模块的合适的电路和总线)来实现通信。在多个硬件实现的模块在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件实现的模块可以访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件实现的模块之间的通信。例如,一个硬件实现的模块可以执行操作,并且将该操作的输出存储在与其通信地耦接的存储器装置中。另外的硬件实现的模块然后可以在随后的时间处访问存储器装置,以检索并处理所存储的输出。硬件实现的模块还可以启动与输入或输出装置的通信,并且可以对资源进行操作(例如,信息的收集)。

本文描述的示例方法的各种操作可以至少部分地由被临时地配置(例如,通过软件)或永久地配置成执行相关操作的一个或更多个处理器来执行。无论是被临时地配置还是被永久地配置,这样的处理器可以构成进行操作以执行一个或更多个操作或功能的处理器实现的模块。在一些示例实施方式中,在本文中提及的模块可以包括处理器实现的模块。

类似地,本文描述的方法可以是至少部分地处被理器实现。例如,方法的操作中的至少一些可以由一个或更多个处理器或处理器实现的模块来执行。操作中的某些操作的执行可以分布在一个或更多个处理器中,不仅驻留在单个机器中,而且跨多个机器部署。在一些示例实施方式中,一个处理器或多个处理器可以位于单个位置(例如,在家庭环境、办公室环境或服务器群内),而在其他实施方式中,处理器可以跨多个位置分布。

一个或更多个处理器还可以操作以支持在“云计算”环境中或作为“软件即服务”(saas)的相关操作的执行。例如,操作中的至少一些可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作是经由网络(例如,因特网)以及经由一个或更多个适当的接口(例如,应用编程接口(api))可访问的。

电子设备和系统

示例实施方式可以以数字电子电路、以计算机硬件、固件或软件或者以它们的组合来实现。示例实施方式可以使用诸如如下计算机程序的计算机程序产品来实现:该计算机程序有形地包含在信息载体中例如机器可读介质中,以用于由数据处理设备例如可编程处理器、计算机或多个计算机执行或控制所述数据处理设备的操作。

计算机程序可以以包括编译语言或解释语言的任何形式的编程语言来编写,并且计算机程序可以以任何形式部署,包括作为单机程序或作为模块、子例程或适于在计算环境中使用的其他单元。计算机程序可以被部署成在一个计算机上或者在一个站点处或跨多个站点分布并通过通信网络互连的多个计算机上执行。

在示例实施方式中,可以由一个或更多个可编程处理器来执行操作,一个或更多个可编程处理器执行计算机程序以通过对输入数据进行操作并生成输出来执行功能。方法操作还可以由专用逻辑电路例如现场可编程门阵列(fpga)或专用集成电路(asic)来执行,并且示例实施方式的设备可以被实现为专用逻辑电路例如现场可编程门阵列(fpga)或专用集成电路(asic)。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络来进行交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在部署可编程计算系统的实施方式中,将理解硬件和软件架构两者都值得考虑。具体地,将理解的是,是以永久配置的硬件(例如,asic)、以临时配置的硬件(例如,软件和可编程处理器的组合)还是以永久和临时配置的硬件的组合来实现特定功能的选择可以是设计选择。下面阐述了可以在各种示例实施方式中部署的硬件(例如,机器)架构和软件架构。

软件架构

图8是示出可以安装在上文描述的装置中的任何一个或更多个上的软件架构802的框图800。图8仅是软件架构的非限制性示例,并且可以理解,可以实现许多其他架构来促进本文所描述的功能。软件架构802可以由硬件诸如图9的包括处理器910、存储器930和i/o部件950的机器900来实现。在该示例中,软件架构802可以被概念化为层的堆栈,其中每一层可以提供特定功能。例如,软件架构802包括层诸如操作系统804、库806、框架808和应用810。在操作上,根据一些实现方式,应用810通过软件堆栈来调用应用编程接口(api)调用812并且响应于api调用812接收消息814。

在各种实现方式中,操作系统804管理硬件资源并提供公共服务。操作系统804包括例如内核820、服务822和驱动器824。在一些实现方式中,内核820充当硬件与其他软件层之间的抽象层。例如,内核820提供存储器管理、处理器管理(例如,调度)、部件管理、联网和安全设置以及其他功能。服务822可以针对其他软件层提供其他公共服务。驱动器824可以负责控制底层硬件或与底层硬件接口。例如,驱动器824可以包括显示驱动器、摄像机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、音频驱动器、电力管理驱动器等。

在一些实现方式中,库806提供可以由应用810利用的低级公共基础设施。库806可以包括系统库830(例如,c标准库),系统库830可以提供函数诸如存储器分配函数、串操纵函数、数学函数等。另外,库806可以包括api库832诸如媒体库(例如,支持各种媒体格式的呈现和操纵的库,各种媒体格式诸如运动图像专家组4(mpeg4)、高级视频编码(h.264或avc)、运动图像专家组层面3(mp3)、高级音频编码(aac)、自适应多速率(amr)音频编解码、联合图像专家组(jpeg或jpg)或便携式网络图形(png))、图形库(例如,用于在显示器上的图形环境中以二维(2d)和三维(3d)进行渲染的opengl框架)、数据库库(例如,提供各种关系数据库功能的sqlite)、web库(例如,提供web浏览功能的webkit)等。库806还可以包括各种其他库834来向应用810提供许多其他api。

根据一些实现方式,框架808提供可以由应用810利用的高级公共基础设施。例如,框架808提供各种图形用户接口(gui)功能、高级资源管理、高级位置服务等。框架808可以提供广泛的可由应用810利用的其他api,其中的一些api可以专用于特定操作系统或平台。

在示例实施方式中,应用810包括家庭应用850、联系人应用852、浏览器应用854、图书阅读器应用856、位置应用858、媒体应用860、消息传送应用862、游戏应用864以及其他应用诸如第三方应用866的广泛分类。根据一些实施方式,应用810是执行在程序中限定的功能的程序。可以采用各种编程语言诸如面向对象的编程语言(例如,objective-c、java或c++)或程序化编程语言(例如,c或汇编语言)来创建以各种方式构造的应用810中的一个或更多个。在具体示例中,第三方应用866(例如,通过除特定平台的供应商之外的实体使用androidtm或iostm软件开发工具包(sdk)而开发的应用)可以是在移动操作系统诸如iostm、androidtmphone或其他移动操作系统上运行的移动软件。在该示例中,第三方应用866可以调用由移动操作系统(例如,操作系统804)提供的api调用812来促进本文描述的功能。

示例性机器架构和机器可读介质

图9是示出根据一些示例实施方式的机器900的部件的框图,机器900能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种方法。具体地,图9示出了计算机系统的示例形式的机器900的图形表示,在该计算机系统内可以执行用于使机器900执行本文讨论的方法中的任何一种或更多种的指令916(例如,软件、程序、应用、小应用、应用程序或其他可执行代码)。在替选实施方式中,机器900为独立装置操作或者可以耦接(例如,联网)至其他机器。在联网部署中,机器900可以在服务器-客户端网络环境中以服务器机器或客户端机器的资格进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器900可以包括但不限于服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动装置、可穿戴装置(例如,智能手表)、智能家庭装置(例如,智能电器)、其他智能装置、web装置、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器900采取的动作的指令916的任何机器。此外,虽然仅示出了单个机器900,但是术语“机器”还应被认为包括单独地或联合执行指令916以执行本文中讨论的方法中的任何一种或更多种方法的机器900的集合。

机器900可以包括处理器910、存储器930和i/o部件950,处理器910、存储器930和i/o部件950可以被配置成经由总线902彼此进行通信。在示例实施方式中,处理器910(例如,中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)、另外的处理器或其任何合适的组合)可以包括例如可以执行指令916的处理器912和处理器914。术语“处理器”旨在包括可以包括可以同时执行指令的两个或更多个独立处理器(也称为“核”)的多核处理器。尽管图9示出了多个处理器,但是机器900可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器、或其任何组合。

存储器930可以包括处理器910经由总线902可访问的主存储器932、静态存储器934以及存储单元936。存储单元936可以包括机器可读介质938,在其上存储实施本文描述的方法或功能中的任何一个或更多个的指令916。指令916在其由机器900执行期间还可以完全或至少部分地驻留在主存储器932内、静态存储器934内、处理器910中的至少一个内(例如,在处理器的高速缓存存储器内)或其任何合适的组合。因此,在各种实现方式中,主存储器932、静态存储器934和处理器910被认为是机器可读介质938。

如本文所使用的,术语“存储器”是指能够临时或永久地存储数据的机器可读介质938,并且可以被认为包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存和高速缓冲存储器。虽然机器可读介质938在示例实施方式中被示出为单个介质,但是术语“机器可读介质”应当被认为包括能够存储指令916的单个介质或多个介质(例如,集中式数据库或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还应当被认为包括能够存储用于由机器(例如,机器900)执行的指令(例如,指令916)的任何介质或多个介质的组合,使得当指令由机器的一个或更多个处理器(例如,处理器910)执行时,使机器执行本文描述的方法中的任何一种或更多种。因此,“机器可读介质”是指单个存储设备或装置,以及包括多个存储设备或装置的“基于云”的存储系统或存储网络。因此,术语“机器可读介质”应当被认为包括但不限于以固态存储器(例如,闪存)、光学介质、磁介质、其他非易失性存储器(例如,可擦除可编程只读存储器(eprom))或其任何合适的组合的形式的一个或更多个数据储存库。术语“机器可读介质”具体地排除非法定信号本身。

i/o部件950包括各种部件来接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量结果等。通常,应该理解,i/o部件950可以包括图9中未示出的许多其他部件。i/o部件950根据功能被分组,仅仅是为了简化下面的讨论,并且分组决不是限制性的。在各种示例实施方式中,i/o部件950包括输出部件952和输入部件954。输出部件952包括视觉部件(例如,显示器诸如等离子体显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt))、声学部件(例如,扬声器)、触觉部件(例如,振动马达)、其他信号发生器等。输入部件954包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。

在一些其他示例实施方式中,i/o部件950包括生物计量部件956、运动部件958、环境部件960或定位部件962,以及各种的其他部件。例如,生物计量部件956包括检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件958包括加速度传感器部件(例如,加速计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件960包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器部件(例如,检测附近物体的红外传感器)、气体传感器(例如,机器嗅觉检测传感器、为了安全检测危险气体的浓度或测量大气中的污染物的气体检测传感器)、或可以提供与周围物理环境相对应的指示、测量或信号的其他部件。定位部件962包括位置传感器部件(例如,全球定位系统(gps)接收器部件)、高度传感器部件(例如,高度计或气压计,其检测气压,从该气压可以得到高度)、方位传感器部件(例如,磁力计)等。

通信可以使用各种技术来实现。i/o部件950可以包括通信部件964,该通信部件964可操作成分别经由耦接982和耦接972将机器900耦接至网络980或装置970。例如,通信部件964包括网络接口部件或与网络980接口的另一合适的装置。在进一步的示例中,通信部件964包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(nfc)部件、部件(例如,低功耗)、部件、以及经由其他模态提供通信的其他通信部件。装置970可以是另外的机器或各种外围装置(例如,经由usb耦接的外围装置)中的任一种。

此外,在一些实现方式中,通信部件964检测标识符或包括可操作以检测标识符的部件。例如,通信部件964包括射频识别(rfid)标签读取器部件、nfc智能标签检测部件、光学读取器部件(例如,用于检测一维条形码诸如通用产品代码(upc)条形码、多维条形码诸如快速响应(qr)码、aztec码、数据矩阵、数据标志符号(dataglyph)、最大编码(maxicode)、pdf417、超代码(ultracode)、2d的统一商业代码缩减空间符号体系(uccrss)条形码以及其他光学代码的光学传感器)、声学检测部件(例如,用于识别标记的音频信号的麦克风)或其任何合适的组合。另外,可以经由通信部件964得到各种信息,诸如经由互联网协议(ip)地理定位的位置、经由信号三角测量的位置、经由检测可以指示特定位置的nfc信标信号的位置等。

传输介质

在各种示例实施方式中,网络980的一个或更多个部分可以是自组织网络、内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另外类型的网络、或者两个或更多个这样的网络的组合。例如,网络980或网络980的一部分可以包括无线或蜂窝网络,并且耦接982可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或另外类型的蜂窝或无线耦接。在该示例中,耦接982可以实现各种类型的数据传输技术中的任何数据传输技术,诸如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、gsm演进的增强数据速率(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动通讯系统(umts)、高速分组接入(hspa)、微波接入全球互通(wimax)、长期演进(lte)标准、由各种标准设置组织限定的其他数据传输技术、其他长距离协议或其他数据传输技术。

在示例实施方式中,经由网络接口装置(例如,包括在通信部件964中的网络接口部件)使用传输介质并且利用多个公知的传输协议中的任何一个(例如,超文本传输协议(http))来通过网络980传输或接收指令916。类似地,在其他示例实施方式中,经由耦接972(例如,对等耦接)使用传输介质向装置970发送或接收指令916。术语“传输介质”应当被认为包括能够存储、编码或携带针对由机器900执行的指令916的任何无形介质,并且包括数字或模拟通信信号或其他无形介质来促进这样的软件的通信。

此外,机器可读介质938是非暂态的(换句话说,不具有任何暂态信号),因为其不包含传播信号。然而,将机器可读介质938标记为“非暂态”不应被解释为意味着介质不能移动;该介质应当被认为是可从一个物理位置运输至另一物理位置。另外,由于机器可读介质938是有形的,因此该介质可以被认为是机器可读装置。

语言

在整个说明书中,多个实例可以实现被描述为单个实例的部件、操作或结构。虽然一种或更多种方法的个体操作被示出和描述为单独的操作,但是个体操作中的一个或更多个可以同时执行,并且不要求以所示的顺序执行操作。在示例配置中被呈现为分离部件的结构和功能可以被实现为组合的结构或部件。类似地,被呈现为单个部件的结构和功能可以被实现为单独的部件。这些和其他变型、修改、添加和改进落入本文主题的范围内。

虽然已经参照具体的示例实施方式描述了本发明主题的概述,但是在不偏离本公开内容的实施方式的较宽范围的情况下可以对这些实施方式作出各种修改及改变。仅仅为了方便,本发明主题的这样的实施方式在本文中可以单独地或共同地通过术语“发明”来指代,并且如果事实上公开了多于一个公开内容或发明构思,则并不旨在将本申请的范围主动限制为任何单个公开内容或发明构思。

本文示出的实施方式被足够详细地描述,使得本领域的技术人员能够实践所公开的教导。可以使用以及从本文示出的实施方式得出其他实施方式,使得可以在不偏离本公开的范围的情况下进行结构和逻辑替代和改变。因此,具体实施方式不应被认为是限制性的意义,并且各种实施方式的范围仅由所附权利要求以及被称为这样的权利要求的等同方案的全部范围来限定。

如本文所使用的,术语“或”可以被解释为包括性或排他性意义。此外,可以为在本文中描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且特定操作在特定说明性配置的上下文中示出。功能的其他分配被预见并且可以落入本公开内容的各种实施方式的范围内。通常,在示例性配置中呈现为单独资源的结构和功能可以被实现为组合的结构或资源。类似地,呈现为单个资源的结构和功能可以被实现为单独的资源。这些和其他变型、修改、添加和改进落入由所附权利要求表示的本公开内容的实施方式的范围内。因此,说明书和附图应被认为是说明性的而不是限制性意义的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1