用于由动态群组共享数据的方法和装置的制作方法

文档序号:7884961阅读:272来源:国知局
专利名称:用于由动态群组共享数据的方法和装置的制作方法
用于由动态群组共享数据的方法和装置
背景技术
服务提供商和设备制造商(例如,无线、蜂窝等)持续受到例如通过提供有竞争力的网络服务给消费者提供价值和便利的挑战。在许多普及的网络服务中,数字数据被共享。在一个群组的数据共享服务中,将数据从网络的一个用户发送给用户选择的接收方。例如使用电子邮件(email)、短消息服务(SMS)消息、即时消息收发(IM)消息,用户将数字数据发送给用户已知的一方或多方。尽管用户料想数据与接收方相关,但是用户可能不会意识到与数据相关的其它方。在第二群组服务中,接收方自愿接收来自用户的数据。然而,在该第二群组服务中,数据在大的、相对固定的群组的成员中被共享,而不考虑数据与一个或多个成员的相关性。例如,张贴到用户的社交网页上的评论和其它数字对象在被接受为该用户的朋友的那些人当中共享,而不考虑所述张贴的相关性。类似地,TWITTER (推特)消息被发送给用户的自选的追随者,而不考虑消息与一个或多个追随者的相关性。因为其它人自愿加入这些群组,因此第二群组的服务中的成员关系会变得庞大,并且涉及广泛的感兴趣范围。例如,社交网络群组可包括数百个成员,一些TWITTER群组包括数千个甚至是几十万个追随者。因此,仅有最普通的帖子适于共享。

发明内容
因此,需要一种基于要共享的数据的相关性由动态群组共享数据的方法,其不存在现有技术方法的一个或多个缺陷。根据一个实施例,一种方法包括:确定要由第一群组的成员的设备共享的第一数字数据集。该方法还包括:确定当前是第一群组的成员的一个或多个实体。该方法进一步包括:至少部分地促发动作,所述动作基于来自第一群组的任何成员的输入而导致第一群组的成员方面的改变。根据另一实施例,一种装置包括:至少一个处理器,以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为利用所述至少一个处理器来至少部分地促使所述装置确定要由第一群组的成员的设备共享的第一数字数据集。还促使该装置确定当前是第一群组的成员的一个或多个实体。进一步促使该装置至少部分地促发动作,所述动作基于来自第一群组的任何成员的输入而导致第一群组的成员方面的改变。根据另一实施例,一种携带了一个或多个指令的一个或多个序列的计算机可读存储介质,当由一个或多个处理器执行时,所述一个或多个指令的一个或多个序列至少部分地促使装置确定要由第一群组的成员的设备共享的第一数字数据集。还促使该装置确定当前是第一群组的成员的一个或多个实体。进一步促使该装置至少部分地促发动作,所述动作基于来自第一群组的任何成员的输入而导致第一群组的成员方面的改变。根据另一实施例,一种装置包括:用于确定要由第一群组的成员的设备共享的第一数字数据集的模块。该装置还包括:用于确定当前是第一群组的成员的一个或多个实体的模块。该装置进一步包括:用于至少部分地促发动作的模块,所述动作基于来自第一群组的任何成员的输入而导致第一群组的成员方面的改变。根据另一实施例,一种方法包括:促进对至少一个接口的访问,所述至少一个接口被配置为指示要由第一群组的成员的设备共享的第一数字数据集。所述接口还被配置为指示当前是第一群组的成员的一个或多个实体。所述接口被进一步配置为接受来自第一群组的成员的输入,其指示了对第一群组的成员的改变。根据另一实施例,一种方法包括:促进对至少一个接口的访问,所述至少一个接口被配置为允许访问至少一个服务,所述至少一个服务被配置为至少实施上述方法之一的步骤。根据另一实施例,一种计算机程序产品包括一个或多个指令的一个或多个序列,当由一个或多个处理器执行时,所述一个或多个指令的一个或多个序列促使装置至少实施上述方法之一的步骤。根据下面的详细描述,仅通过说明多个特定实施例和实现方式(包括被设想实现本发明的最佳模式),本发明的其它方面、特征和优点是显而易见的。本发明还能够具有其它的和不同的实施例,并且其若干细节可在各种明显的方面进行修改,而全都不偏离本发明的精神和范围。因此,应当认为附图和说明书本质上是说明性的而不是限制性的。


本发明的实施例是通过示例而不是限制的方式来说明的,在附图中:图1是根据一个实施例的能够由动态群组共享数据的系统的示意图;图2A是根据一个实施例的将数字数据集与动态群组相关联的群组墙(groupwall)的数据结构的组件的示意图;图2B是根据一个实施例的用于服务器上的应用编程接口的消息的组件的示意图,所述服务器提供了由动态群组共享数据;图3是根据一个实施例的在由动态群组共享数据的用户设备上的客户端过程的流程图;图4A-4C是根据一个实施例的在图3的过程中所利用的用户接口的示意图;图5是根据一个实施例的用于由动态群组共享数据的服务器过程的流程图;图6是根据一个实施例的在由动态群组共享数据的网络服务上的代理过程的流程图;图7是可用于实现本发明实施例的硬件的示意图;图8是可用于实现本发明实施例的芯片集的示意图;以及图9是可用于实现本发明实施例的移动终端(例如,手机)的示意图。
具体实施例方式公开了用于由动态群组共享数据的方法、装置和计算机程序的示例。在下面的描述中,出于解释的目的,阐述了多个特定的细节,以便提供对本发明的实施例的全面理解。然而,本发明的实施例可不利用这些特定细节实现,或者可利用等效布置来实现,这对本领域技术人员来说是显而易见的。在其它实例中,以框图的形式描述已知的结构和设备,以避免不必要地混淆本发明的实施例。
如在这里使用的,术语“数字数据”涉及可以按照机器可读形式表示的任何数据,其中包括可用于呈现由人观察的内容的数据,例如文本、音频、音乐、图像、视频、较大图像的缩略图表示、游戏、图形、表格、地图、图表、文档或电子表格等。数字数据“项目”是数字数据的一部分,诸如单个图像、音频片段或视频剪辑(其被呈现为整体而没有细分)。“数字数据集”是一个或多个数字数据项目的集合。如在这里所使用的,关于共享数字数据,“群组”是一个或多个成员的集合。如在这里所使用的,“群组墙”是要由特定实体群组的全部成员的设备来共享的数字数据集。每个群组成员实体是操作与通信网络连接的至少一个设备的人或组织。可由作为特定群组的成员的任何实体按照整体或部分的方式来查看群组墙。如在这里所使用的,“动态群组”是这样的群组,即对该群组来说,成员方面的改变取决于来自该群组的任何成员的输入。根据各个实施例,对应于动态群组建立一个或多个群组墙。因而,群组墙的动态群组的成员可以根据任何成员对被共享的数字项目集的主观响应来添加或移除成员。不同于电子邮件,数字项目的提供商不需要知道会发现感兴趣的数字项目的所有实体一初始成员可以分别添加一个或多个其它成员,而所述一个或多个其它成员反过来也可以添加或移除其它成员。不同于社交网络或TWITTER,为要共享的每个数字项目集定义不同的群组。随着数字项目集演化成更为特定的内容,可以移除与所述特定的内容无关的一个或多个成员。此后为了方便,除非根据上下文另外明示,术语“群组墙”指的是用于动态群组的群组墙。尽管通常而言单个成员创建了群组墙,但是动态群组的每个成员具有相等的权力来添加或移除成员、张贴数字数据项目或关闭群组墙。如在这里所使用的,术语“上下文”涉及指示了设备状态或设备的用户的推断状态(inferred state)或者这二者的数据。由上下文指示的状态包括:时间、最近在设备上运行的应用、最近在设备上呈现的万维网页面、当前通信(诸如电子邮件、SMS消息、頂消息)中的关键词、设备的当前和最近的位置(例如,来自全球定位系统、GPS或小区塔标识符)、移动性、活动性(例如,在餐馆吃饭,在酒吧喝酒,在电影院看电影,在家或朋友家看视频,在体育馆锻炼,在商务旅程中的旅行,在假期旅行,等等)、感情状态(例如,高兴、繁忙、平静、匆忙等)、兴趣(例如,音乐类型,进行的运动、观看的运动)、联系人或者联系群体(例如,家庭,朋友,同事等)等等或者某种组合。尽管针对在动态群组成员(成员是人)之间在用户移动终端(如图9所示)上共享数字数据描述了各个实施例,但是可以设想,可利用与通信网络连接的由代表个人或若干人的组织的实体所操作的其它设备(诸如桌上型和膝上型计算机)使用这里描述的方法。图1是根据一个实施例的能够由动态群组共享数据的系统100的示意图。如图1所示,系统100包括经由通信网络105与一个或多个网络服务IlOa至IlOn (在下文中统称为网络服务110)具有连接的用户设备(UE) IOla至IOlm (在下文中统称为UElOl)。通过示例的方式,系统100的通信网络105包括一个或多个网络,诸如数据网络(未示出)、无线网络(未示出)、电话网络(未示出)或其任何组合。可以设想,数据网络可以是任何局域网(LAN)、城域网(MAN)、广域网(WAN)、公共数据网络(例如,因特网)、短距离无线网络或者任何其它合适的分组交换网络,诸如商业上拥有的私有分组交换网络,例如,私有电缆或光纤网络等,或者其任何组合。另外,无线网络可以是例如蜂窝网络,并且可以采用各种技术,包括全球演进增强型数据速率(EDGE)、通用分组无线电服务(GPRS)、全球移动通信系统(GSM)、因特网协议多媒体子系统(MS)、通用移动电信系统(UMTS)等,以及任何其它合适的无线介质,例如,全球微波接入互连(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真(WiFi)、无线LAN (WLAN)、蓝牙 、因特网协议(IP)数据组播、卫星、移动ad-hoc (特定)网络(MANET)等,或其任意组合。UElOl是任何类型的移动终端、固定终端或便携式终端,包括移动手机、站台、单元、设备、多媒体计算机、多媒体书写板、因特网节点、通信器、桌上型计算机、膝上型计算机、笔记本计算机、网本计算机、书写板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)音频/视频播放器、数字照相机/摄像机、定位设备、电视接收机、无线电广播接收机、电子书设备、游戏设备或其任何组合,包括这些设备的附属设备和外围设备,或者其任意组合。还可以设想,UElOl可以支持针对用户的任何类型的接口(诸如“可佩带式”电路等)。当UElOl的第一用户(例如UElOla的用户)生成数字数据项目或者在UElOl上从本地或者通过网络服务110之一从远程获得数字数据项目时,该用户可以确定应当与UElOl的一个或多个其他用户(例如,UElOlm的用户)共享该数字数据项目,其中所述一个或多个其他用户会发现一些感兴趣的或相关的数据项目的主题。如果第一用户将数字数据项目粘贴到电子邮件或頂或SMS消息中,则第一用户可将该数字数据项目发送给少数或少部分联系人。然而却不知道感兴趣的其他人或者他们的联系信息。原始接收方之一可以将消息转发给原始接收方已知的其他人,但是来自接收了转发消息的实体的输入不会自动地被分享给原始接收方和第一用户,或者不会被轻易地分享给已被其它接收方转发了该消息的其他人。替代地,如果原始用户将数据项目粘贴到社交网页,或者将数据项目包括在TWITTER消息中,那么对该项目不感兴趣的数百或数千人,或者原始用户不想与之共享该项目的那些人,也会接收到该项目。为了解决这一问题,图1的系统100引入了利用动态群组共享数字数据集的能力。在群组墙服务120处,将数字数据集的数字数据项目张贴到群组墙,并且一个或多个其他用户作为成员被添加到群组中。群组墙服务120将群组墙的存在通知给其他成员,并允许他们观看所张贴的数据项目以及以其它方式在群组墙上进行操作,例如,修改群组墙。那些其它成员可以将评论或其它数字数据项目张贴到群组墙,并从群组中添加或移除成员。以这种方式,群组成员关系发展成包括与所述张贴相关的那些实体,如由组合的成员关系所确定的那样。群组墙服务120包括群组墙数据存储器124,其存储与群组成员关系信息相关联的数字数据集。API122允许了其它网络服务110访问群组墙服务120的功能,例如,允许合并到一个或多个万维网页面或由其它网络服务110所提供的其它应用。群组墙服务120在相应的网络服务110至IlOn上通过群组墙代理过程129a至129η(在下文中统称为群组墙代理129)间接与一个或多个UElOl作用。例如,网络服务110通过万维网浏览器107 (其基于通过代理129和ΑΡΙ122与群组墙服务120交换的数据来呈现由网络服务110提供和控制的页面)直接与UElOl进行交互。在一些实施例中,群组墙服务120还直接与一个或多个UElOl作用,例如通过客户端过程127 (其对ΑΡΙ122进行访问),或者通过万维网浏览器107 (其呈现由群组墙服务120提供和控制的页面)。
UElOla至UElOlm还分别包括相应的上下文引擎103a至103m,在下文中将其统称为上下文引擎103。根据传感器的完善度和每个UElOl上的算法,上下文引擎103确定出每个UElOl或其用户的状态或者某种组合。甚至单个UElOl也包括确定以下内容的上下文引擎103:用于UElOl的设备标识符、当前时间,以及与UElOl直接进行通信的通信网络105内的网络接入节点的标识符。在所说明的实施例中,至少一些上下文引擎103包括近场通信(NFC)模块104,其检测在直接通信范围内的其它UElOl。在一些情况下,最起码的是,UElOla直接(而不是通过网络105间接)将消息发送给这样的邻近UElOlm。作为示例,UE101、网络服务110和群组墙服务120相互进行通信,并与使用已知的、新的或仍在开发中的协议的通信网络105的其它组件进行通信。在该上下文中,协议包括定义了通信网络105内的网络节点如何基于在通信链路上发送的信息来彼此交互的规则集合。所述协议在每个节点内在不同的操作层是有效的,从生成和接收各种类型的物理信号,到选择用于传输那些信号的链路、到由那些信号所指示的信息格式、到标识出在计算机系统上执行的哪个软件应用发送或接收该信息。在开放式系统互联(OSI)参考模型中描述了用于在网络上交换信息的概念上不同的协议层。通常通过交换离散的数据分组来实现网络节点之间的通信。每个分组通常包括
(I)与特定协议相关联的头部信息,以及(2)在头部信息后面并且含有可以独立于该特定协议来处理的信息的有效载荷信息。在一些协议中,分组包括(3)在有效载荷后面并且指示了有效载荷信息的结束的尾部信息。头部包括诸如分组的源、其目的地、有效载荷的长度以及由该协议使用的其它属性的信息。经常,在用于该特定协议的有效载荷中的数据包括用于与OSI参考模型的更高的不同层相关联的不同协议的头部和有效载荷。用于特定协议的头部通常指示了用于在其有效载荷中所含的下一协议的类型。据说较高层的协议被封装在较低层的协议中。在穿过诸如因特网的多个异构网络的分组中所包括的头部通常包括:物理(层I)头部、数据链路(层2)头部、网络间(层3)头部和传输(层4)头部,以及如由OSI参考模型定义的各种应用头部(层5、层6和层7)。在各种设备上执行的过程常常使用广泛公知并被使用的网络通信的客户端-服务器模型来进行通信。根据客户端-服务器模型,客户端过程将包括请求的消息发送给服务器过程,并且服务器过程通过提供服务来进行响应。服务器过程还可返回具有响应的消息给客户端过程。通常客户端过程和服务器过程在被称为主机的不同计算机设备上执行,并使用用于网络通信的一个或多个协议经由网络进行通信。术语“服务器”通常用来指的是提供服务的过程,或者是在其上操作该过程的主机。类似地,术语“客户端”通常用来指的是进行请求的过程,或者是在其上操作该过程的主机。如在这里所使用的,术语“客户端”和“服务器”涉及过程,而不是主机,除非上下文中另有明示。此外,由于包括可靠性、伸缩性和冗余性等在内的原因,由服务器实施的过程可被分解以便运行作为在多个主机(有时被称为层级)上的多个过程。在与通信网络连接的大部分设备(被称为节点)上可用的已知的客户端过程是万维网客户端(被称为“web浏览器”或简称为“浏览器”),其通过根据超文本传输协议(HTTP)格式化的消息来与被称为万维网(WWW)服务器(其提供web页面)的大量服务器中的任何一个进行交互。如图1所示,UElOla-1Olm包括浏览器107。尽管出于说明的目的,在图1中以特定布置将过程和数据结构描述为整体块,然而可以设想,这些组件或其部分的功能可被组合到一个或多个组件中,或者由与通信网络105连接的相同设备、不同设备或不同数量的设备上的等效功能的其它组件来实施。图2A是根据一个实施例的将数字数据集与动态群组相关联的群组墙的数据结构200的组件的示意图。数据结构200是在图1中所示的群组墙数据存储器124的特定实施例。出于说明的目的,尽管在图2A和图2B中将数据结构和消息及字段描述为单个设备上按照特定顺序的整体块,但是在其它实施例中,数据结构或消息或字段或其部分可以按照不同顺序被安排在一个或多个消息中或者存储器的一个或多个部分中或者在与通信网络105连接的一个或多个节点上的一个或多个数据库中,或者省略一个或多个字段或其部分,或者添加附加字段,或者以某种组合方式来改变消息或数据结构。群组墙数据结构200包括用于每个群组墙的墙条目字段210,其中省略号指示了用于其它群组墙的墙条目字段210。因而,数据存储器200用于确定要由第一群组的所有成员共享的第一数字数据集;但也用于确定要由第二群组的所有成员的设备共享的不同的第二数字数据集。为多个不同的群组墙收集墙条目字段的优势在于:可以更为容易地利用网络105上的带宽消耗来完成对多个墙的搜索。数据存储器200中的多个墙条目字段210是实现这一优势的示例手段。每个群组墙条目字段210包括墙标识符(ID)字段212、一个或多个用户字段220(其中省略号指示其它用户字段220),以及一个或多个张贴字段230 (其中省略号指示其它张贴字段230)。用于单个墙条目记录210的张贴字段230的集合构成了由群组的所有成员共享的数字数据集。墙ID字段212持有指示了用于数据结构200中所有群组墙条目字段210当中的墙的唯一标识符的数据。例如,在一些实施例中,墙ID字段包括唯一地标识了墙的序列号。在一些实施例中,墙ID字段212包括基于来自创建了墙的用户的输入而提供给群组墙的名称,诸如特别给定的主题名称,或者与该墙的第一帖子中所包括的评论或数据对象相关联的关键词,或者某种组合。在一些实施例中,墙ID至少部分地基于创建了墙的UElOl的用户或UElOl的上下文。例如,如果Alice创建了具有关于滑雪的帖子的群组墙,则墙名称“Alice滑雪”作为墙的名称被包括在墙ID字段212中。序列号的优势在于对唯一值的紧凑表示,并且含有这样的序列号的墙ID是实现该优势的示例手段。用户提供的或推断的名称的优势在于:相比于两个序列号,通过提供用户能够更为容易区分的自然名称,避免了用户的混淆。在墙ID字段212中包括群组墙名称是实现该优势的示例手段。用户字段220持有指示了实体的数据,所述实体是将在群组墙上共享数据的群组的成员。在所说明的实施例中,用户字段220包括用户标识符(ID)字段222、时间字段224和馈给类型字段226。用户ID字段222持有唯一地指示了作为成员的实体的数据,例如电子邮件地址或蜂窝电话号码。在一些实施例中,用户ID字段222包括指示了用户名称的数据,例如个人的姓和名或者组织的公司名称。唯一的用户ID字段提供了避免关于哪些用户是群组墙的哪些成员的不确定性的优势,并且用户ID字段是用于实现该优势的示例手段。用户名称提供了允许用户轻易地确定出用户ID表示的是谁的优势,从而使得能够更精确地输入关于要包括谁和要排除谁的决定。将用户名称包括进来是用于实现更精确地确定群组成员关系的优势的示例手段。时间字段224持有指示了用户被添加到群组中的时间的数据。为了确定应当发送多少个针对群组墙的以往的帖子以便在由字段222中标识的用户所操作的UElOl上进行呈现,这样的时间是有用的。通过避免陈旧的或先前发送的帖子,保留了(conserve)在服务120的主机上和在UElOl上的处理时间以及在网络105上的带宽。将时间字段224包括进来是用于实现降低处理和带宽消耗这一优势的示例手段。在一些实施例中,时间字段224包括指示了将用户从群组中移除的时间的数据。在被移除之前,将用户的移除时间省略或用空值来填充。将移除时间包括进来而不删除用于被移除成员的用户字段220的优势在于:允许了关于禁止添加先前所移除的成员的逻辑。时间字段224的移除部分的时间是用于实现这一优势的示例手段。馈给类型字段持有指示了如何通知用户在群组墙上的活动的数据。活动包括张贴到群组墙上的任何数字对象或评论以及对群组中任何成员的添加或移除。例如,当在群组墙上发生活动时,指示了简单通知的数据导致SMS消息被发送给在字段222中标识的成员。该消息包括显示了针对群组墙的帖子的web页面的链接。指示了墙馈给(wall feed)的数据指出:用于当前群组墙的所有活动促使墙被呈现在由字段222中指示的非移除成员的UElOl上,例如通过在web页面中包括数字数据集以及在成员的UElOl上打开浏览器窗口。指示了聚合馈给(aggregate feed)的数据指出:每个墙(对于该墙来说,在字段222中标识的用户是非移除成员)上的所有活动将被呈现在该成员的UElOl上。例如,生成特定于用户的web页面,并且在该web页面上编辑其中用户是当前成员的所有群组的所有帖子。当任何材料被添加到该web页面时,打开成员的UElOl上的浏览器窗口(如果还没有打开的话),以便呈现具有来自多个群组墙的聚合的数字数据项目的该web页面。馈给类型字段是用于实现以下优势的示例手段:通过仅发送用户所期望的数据来保留网络带宽以及服务120的主机和UElOl上的处理功率。在所示实施例中,张贴字段230包括用户标识符(ID)字段232、时间字段234、数据项目字段236和上下文令牌字段238。用户字段232持有指示了以下内容的数据:将接下来的一个或多个数字数据项目张贴到群组墙的群组成员。时间字段234持有指示了张贴数字数据项目的时间的数据。数据项目字段236指示了一个或多个数字数据项目(诸如评论的文本)、持有数字数据项目的文件(诸如音频文件或视频文件)的通用资源标识符(URI)、存储在文件中的数据对象的缩略图,或者完整的数字项目。要进行共享的任何项目被包括在数据项目字段中,包括了由群组墙服务器所生成的指明何时在群组中添加或移除成员的文本。上下文令牌字段238持有指示了 UElOl的上下文或UElOl的用户的推断上下文(inferred context)的数据,其中从UElOl接收被张贴的数字数据项目。例如,上下文令牌指示了:在进行张贴时UElOl的时间和地点,以及用户的任何推断状态。现有技术中已知的用于表达上下文的任何方法均可用作字段238中的上下文令牌。上下文令牌字段238是用于实现以下优势的示例手段:提供了针对与特定上下文(例如,在饭店或“星期六”晚间俱乐部吃饭)相关的张贴来搜索一个或多个群组墙的能力。图2B是根据一个实施例的在提供由动态群组共享数据的服务120上的应用编程接口(API) 122的消息250的组件的示意图。消息250由客户端127或代理129发送给群组墙服务120的API122。消息250包括墙ID字段252、命令字段254以及一个或多个变量名称和值对字段256。对于API的使用是用于获得以下优势的示例手段:将群组墙服务120的功能性提供给任何网络服务120以及客户端127。在一个实施例中,客户端127和网络服务110控制用户接口,并且仅使用API来从群组墙数据存储器124获得数据,或者将数据输入到群组墙数据存储器124中。在一些实施例中,一个或多个用户接口也由群组墙服务120来提供,并且可通过API122获得。可通过服务120来获得用户接口的优势在于:减少了在每个客户端127或代理129上开发新颖的用户接口的时间和费用。墙ID字段252持有指示了要在哪个群组墙上进行操作的数据。命令字段254持有指示了正在执行哪个API命令的数据。每个变量名称和值对字段256持有指示了在执行命令时所涉及的值的数据。例如,在所述实施例中,如以下参照图3较为详细描述的,API接受用于墙修改操作 CREATE (创建)、ADD (添加)、REMOTE (移除)、POST (张贴)、COMMENT (评论)、FEED (馈给)以及诸如VIEW (查看MPSEARCH (搜索)的墙检索操作的命令。在一些实施例中,将M0DIFYAPI (修改API)命令包括进来以便请求接口向用户提示上述的一个或多个命令。在一些实施例中,所有接口由客户端127或代理129控制;并且省略了 MODIFY API命令。CREATE命令用于创建新的群组墙;并且API消息250在字段254中包括CREATE,并具有指示了发送命令的用户的变量名称值对字段256。在一些实施例中,API消息具有:用于发送了命令的设备的上下文的一个或多个变量名称值对字段256,以及用于群组墙的用户提供的名称(如果有的话)的字段256。CREATE命令是用于实现发信号通知启动了新的群组墙的优势的示例手段。ADD命令用于将成员添加到群组中;并且消息250包括字段252中的墙ID、字段254中的ADD以及用于每个用户的变量名称值对字段256,例如字段256中的“USERID=useridiemailservice.com”以及用于进行发送的用户(the sending user)的字段256。类似地,REMOVE命令用于从群组中移除成员;并且消息250包括字段254中的REMOVE和用于将要移除的每个成员的变量名称值对字段256,例如“USERID=userid@emailservice.com”以及用于进行发送的用户的字段。ADD和REMOVE命令是用于实现动态改变群组的成员关系的优势的示例手段。POST命令指示了包括在数字数据集中的一个或多个数字数据项目;并且消息250包括字段252中的墙ID、字段254中的P0ST,以及用于进行张贴的用户的变量名称值对字段256和用于被张贴的每个数字数据项目的另一字段256,例如,在一个字段256中的“音频=音频文件的URI”和在另一字段256中的“地图=地图对象的URI”。COMMENT命令指示了与被张贴的数字数据项目相关联的一个或多个评论。API消息250包括字段254中的COMMENT和用于进行评论的用户的变量名称值对字段256以及指示了被张贴的项目的另一字段256和指示了评论的另一变量名称值对字段256,例如,在一个字段256中的“音频=音频文件的URI ”,以及在另一字段256中的“文本=我喜欢这首歌”。FEED命令指示了如何向成员通知在群组墙中的活动。API消息250包括字段254中的FEED和指示了进行发送的用户的一个变量名称值对字段256以及指示了通知的类型的另一字段256,例如“电子邮件”、“SMS”、“墙馈给”或“聚合馈给”。VIEW命令指示了要查看的群组墙。API消息250包括字段252中的墙ID、字段254中的VIEW和用于进行请求的用户的变量名称值对字段256。SEARCH命令指示了针对被张贴到任何群组墙(其中进行请求的用户作为成员)的数字数据项目的搜索准则。SEARCH API消息250包括字段252中的墙ID (仅当将搜索限于单个墙(否则那里是空值)的时候)、字段254中的SEARCH和用于进行请求的用户的变量名称值对字段256以及用于每个搜索准则的另一字段256,例如“关键词=鱼”和“上下文=当前位置”和“上下文=午餐”,以便找到具有与在附近位置将鱼用作午餐有关的张贴的群组墙。图3是根据一个实施例的用于由动态群组共享数据的用户设备上的客户端过程300的流程图。在一个实施例中,客户端127实施过程300并在UElOl上实现,例如在如图8所示的包括处理器和存储器的芯片集或在图9所示的移动终端中。在各种其它实施例中,一个或多个步骤或其部分由网络服务上的代理过程129或由群组墙服务120或特定组合来实施,并且例如在如图7中所示的计算机系统中实现。尽管出于说明的目的在图3中以及在图5和图6的后续流程图中将步骤示为按照特定顺序的整体块,但是在各种其它实施例中,以不同的顺序或者在时间上重叠、串行或并行地执行一个或其它步骤或其部分,或者省略一个或多个步骤或其部分,或者添加附加步骤,或者以某种组合的方式来改变方法。在步骤301,接收用于群组墙的用户输入。任何方法均可用于接收该输入。例如,在一些实施例中,在步骤301期间,通过群组墙客户端过程127,通过另一本地应用或网络服务110的客户端过程,或者通过网络服务110的代理过程129,或者通过从网络服务110接收并在浏览器107处呈现的web页面,或者通过从群组墙服务120接收并在浏览器107处呈现的web页面,或者通过某种组合来向用户提示输入。出于说明的目的,假设响应于由单独的应用(例如网络服务110的客户端过程)呈现的用户接口而接收到某种输入,并且响应于从群组墙服务120 (通过客户端127、代理129或浏览器107)接收的用户接口而接收到某种输入。图4A-4B是根据各种实施例的在图3的过程中利用的用户接口的示意图。图4A是说明了在UElOl处呈现的示例屏幕401的示意图。屏幕401包括显示器的设备工具栏410部分,其包括零个或多个活动区域。众所周知的是,活动区域是显示器的一部分,用户可以使用指点设备(例如光标和光标移动设备或触摸屏)指向该部分以便促使活动由包括显示器的设备来启动。此外,活动区域的已知形式是独立按钮、无线电按钮、下拉菜单、滚动列表和文本框。尽管出于说明的目的,在图4A至图4C中将区域、活动区域、窗口和工具栏描述为特定屏幕上按照特定布置的整体块,但是在其它实施例中,一个或多个屏幕、窗口或活动区域或其部分以不同顺序来安排,具有不同类型,或者省略掉一个或多个,或者包括附加区域,或者按照某种组合方式来改变用户接口。出于说明的目的,假设设备工具栏410包括活动区域411、413、415a和415b。活动区域411由用户激活以便显示安装在UElOl上可被启动来开始执行的应用,诸如电子邮件应用或视频播放器。活动区域413由用户激活以便显示UElOl的当前上下文,诸如当前日期、时间和位置。在一些实施例中,活动区域413是缩略图,其描述了当前时间或移动终端的信号强度或这二者,并且在被激活时进行扩展。活动区域415a由用户激活以便显示嵌入到UE的工具,诸如照相机、闹钟、自动拨号器、联系人列表、GPS和web浏览器。活动区域415b由用户激活以便显示UE上存储的内容,诸如图片、视频、音乐、语音备忘录等。屏幕401还包括应用用户接口(UI)区域420,其中显示的数据由当前执行的应用来控制,例如像游戏这样的本地应用或网络服务110的客户端过程,或者群组墙客户端过程127,或者浏览器107。根据一些实施例,应用UI区域420包括SHARE(共享)活动区域422,SEARCH WALLS(搜索墙)活动区域424和AVAILABLE WALLS (可用墙)活动区域426。SHARE活动区域422(诸如按钮)被激活来创建新的群组墙,其具有可通过当前执行的应用获得的一个或多个数字数据项目。SEARCH WALLS活动区域424 (诸如按钮)被激活以便在UElOl的用户当前作为成员的一个或多个墙当中搜索内容,如下面较为详细的描述。AVAILABLE WALLS活动区域426 (诸如具有滚动条427的滚动列表)列出了用户作为成员的一个或多个预先存在的群组墙,并且其被激活以便查看所选择的群组墙。如果用户不是预先存在的群组墙的成员,那么忽略活动区域426。在一些实施例中,在活动区域426中列出的群组墙是那些由当前运行的与UI420相关联的应用建立的群组墙。在一些实施例中,在区域426中列出的群组墙是用户作为成员的任何群组墙,如由群组墙服务120所提供的,这与用于创建该墙的应用无关。如果用户激活了 SHARE按钮422,则呈现墙操作用户接口(UI)。在一些实施例中,对SHARE按钮解除激活(例如,变灰并且是无响应的),直到用户在应用UI区域420内选择了要共享的数字数据项目,诸如链接、图像或者音频或视频剪辑。图4B是描述了在UElOl处呈现的示例屏幕402的示意图。屏幕402包括设备工具栏410部分以及墙操作用户接口(UI)区域430。在所描述的实施例中,墙操作UI区域430部分地遮掩了应用UI区域420。墙操作Π区域430包括用于用户来修改或创建群组墙的活动区域。在所述实施例中,墙操作Π区域430包括指示了以下内容的活动区域:用于新的群组墙的名称、群组墙的一个或多个其他成员、张贴的数字项目、在群组墙检测到活动时要接收的通知(馈给)类型,或者某种组合。在一些实施例中,墙操作UI区域430由UElOl上的群组墙客户端127来生成。在一些实施例中,墙操作UI区域430是由群组墙服务120在UElOl上的浏览器107中打开的web页面。在一些实施例中,墙操作UI区域430是从群组墙服务120发送给网络服务110上的群组墙代理129并由网络服务110在UElOl上的浏览器107中打开的web页面。在所述实施例中,墙操作UI区域430包括OK (确认)按钮432、CANCEL (取消)按钮434、ADD/REMOVE MEMBERS (添加/移除成员)区域440以及活动区域451、453、455和457。墙操作Π区域430还可被调用给现有的群组墙,如在稍后部分中的详细描述。这里,在创建新的群组墙期间描述了墙操作UI区域430。当用户完成对区域430中的其它活动区域的操作时,OK按钮432由用户激活,并且希望利用用户输入来创建或改变群组墙。当用户完成对区域430中的其它活动区域的操作时,CANCEL按钮434由用户激活,并且希望不会利用自上次激活OK按钮以来的用户输入来创建或改变群组墙。NAME (名称)活动区域451 (诸如文本框)持有指示了群组墙的名称的文本。在一些实施例中,在创建新的群组墙期间,例如基于共享的第一数字数据项目或UElOl的当前上下文或者某种组合,而在NAME活动区域中指示了所建议的名称。在一些实施例中,在创建新的群组墙期间,NAME活动区域是空白的,并且对OK按钮解除激活,直到用户将文本输入到NAME活动区域451中。OBJECT (对象)活动区域453 (诸如缩略像或文本框)持有指示了要由UElOl的用户张贴到群组墙的数字数据项目的数据。在一些实施例中,对象是当SHARE活动区域422被激活时在应用UI区域420中所选择的对象,并且其由缩略像、URI或某种组合来指示。在一些实施例中,数字数据项目是成员提供的文本,并且活动区域453是显示该文本的文本框。在一些这样的实施例中,UElOl的用户将输入单独的文本作为数字数据项目,并且活动区域453是空白的,直到用户键入特定文本。COMMENT (评论)活动区域455 (诸如文本框)持有指示了以下内容的文本:由UElOl的用户张贴的与在OBJECT活动区域453中指示的至少一个数字数据项目相关联的评论。FEED (馈给)活动区域457 (诸如下拉菜单)持有指示了以下内容的数据:针对被通知了当前群组墙上的活动的UElOl的用户的馈给类型。例如,活动区域457中的下拉菜单持有用于以下中的一个或多个的选择:用于电子邮件通知的“email”、用于SMS消息通知的“SMS”、用于根据当前群组墙的每个新的活动来自动打开墙用户接口(如下面参照图4C所描述)的“wall feed (墙馈给)”(如果尚未打开的话),或者用于根据其中用户作为成员的任何群组墙的每个新的活动来自动打开墙用户接口的“aggregate feed (聚合馈给)”(如果尚未打开的话)。在一些实施例中,选项之一(例如“SMS”)是预先选择的,并且可由用户改写。ADD/REMOVE MEMBER(添加/移除成员)区域440包括一个或多个活动区域,用于指示要针对群组墙的群组的成员来添加或移除哪些用户。在所示实施例中,区域440包括INNEAR FIELD (处于近场)活动区域442、SMILAR CONTEXT (类似的上下文)活动区域444、BY USER ID (通过用户ID)活动区域446和SELF (本人)活动区域448。IN NEAR FIELD活动区域442 (诸如按钮)被激活以便指示其设备处在近场通信(NFC)的范围内的所有用户。可以基于与网络接入提供商的数据库中的相应用户标识符相关的设备标识符来确定那些用户。当激活区域442时,呈现了新的用户接口(未示出),其为近场中的每个用户提供了具有对于每个用户是否已经是成员的指示的活动区域,例如一对无线电按钮(如果是成员,则填充一个按钮,如果不是成员,则填充另一按钮)。该接口还包括用于进行全部添加的活动区域和用于进行全部移除的活动区域(例如,将所有无线电按钮设置为成员,或者将所有无线电按钮设置为非成员)。因而,在一些实施例中,活动区域442包括:基于近场通信来确定当前作为群组成员的一个或多个实体。SIMILAR CONTEXT活动区域444 (诸如按钮)被激活以便指示其设备处于类似状态(例如,位置、移动性、活动、在联系人列表上)的所有用户,或者处于类似的推断状态(例如,在家观看视频)的所有用户。可以基于被传递给群组墙服务120的上下文信息来确定那些用户。当激活区域444时,呈现新的用户接口(未示出),其为每个用户提供具有对于每个用户是否已经是成员的指示的活动区域,例如一对无线电按钮(如果是成员,则填充一个按钮,如果不是成员,则填充另一按钮)。该接口还包括用于进行全部添加的活动区域和用于进行全部移除的活动区域(例如,将所有无线电按钮设置为“成员”,或者将所有无线电按钮设置为“非成员”)。因而,活动区域444用于:基于一个或多个实体的设备的上下文来确定当前作为群组成员的一个或多个实体。BY USER ID活动区域446 (诸如按钮)被激活以便通过用户ID来指示成员。当激活区域446时,呈现新的用户接口(未示出),其提供活动区域(例如文本框)来指示每个当前成员的用户ID,并且如果要移除所指示的用户,则填充无线电按钮。该接口包括至少一个空白的文本框,以便输入新成员的用户ID。SELF活动区域448 (诸如一对无线电按钮)被激活以便指示当前呈现了 UI区域430的UElOl的用户(被称为“本人”)。填充一个无线电按钮以便指示本人是群组成员;填充另一无线电按钮以便指示将本人从群组成员中移除。在开始时,在一些实施例中,本人自动地是成员。当激活OK时,创建新的群组墙,其具有例如通过被发送给群组墙服务120的API122的一个或多个API命令消息所提供的属性。墙操作UI区域430被关闭。返回到图4A,如果用户选择了 SEARCH WALLS按钮424,则呈现搜索用户接口(未示出),其中用户可以输入搜索准则来在用户作为成员的任何墙上找到群组墙数字数据项目。在各种实施例中,用户可以通过以下内容来搜索群组墙数字数据项目:创建的时间、创建期间的位置、任何其它上下文或关键词或者某种组合。“可用的墙”区域426列出了 UElOl的用户作为成员的群组墙,诸如所有的墙、仅是那些由用户最近创建的群组墙、仅是具有新近活动的一个或多个群组墙,或者仅是满足搜索准则的零个或多个墙。在由UElOl的用户选择了这些墙之一时,呈现群组墙Π区域470。图4C是描述了在UElOl处呈现的示例屏幕403的示意图。屏幕403包括设备工具栏410部分以及群组墙用户接口(UI)区域470。在所述实施例中,群组墙UI区域470部分地遮掩了应用Π区域420。群组墙Π区域470包括活动区域以便用户进行查看、在群组墙上进行操作或关闭群组墙或者某种组合。在一些实施例中,群组墙UI区域470由UElOl上的群组墙客户端127生成。在一些实施例中,群组墙Π区域470是由群组墙服务120在UElOl上的浏览器107中打开的web页面。在一些实施例中,群组墙UI区域470是从群组墙服务120发送给网络服务110上的群组墙代理129并由网络服务110在UElOl上的浏览器107中打开的web页面。在所述实施例中,群组墙UI区域470包括OPERATE (操作)按钮472、CL0SE (关闭)按钮474和POSTS (张贴)按钮480。激活CLOSE按钮以便关闭群组墙UI区域470,并且展现出在区域470后面的呈现内容。由用户激活OPERATE按钮以便修改群组墙,例如,通过使用墙操作UI区域430来添加评论、张贴新的数字数据项目或改变群组的成员关系(如以上参照图4B所描述的)。张贴区域480呈现了被张贴到群组墙的数字数据项目和评论。例如,呈现由群组成员所张贴的图像482,并随之呈现示出了由群组成员所张贴的评论的文本框484。其它数字数据项目由省略号来指示。在一些实施例中,在张贴区域480中呈现的数字数据项目包括自动生成的数据项目(其指示了针对群组而言被添加或移除的用户)。因而,群组墙是包括指示了以下内容的数据的数字数据集:针对群组而言被添加或移除的成员。返回图3,在步骤301中,提示并接收用户输入,例如使用一个或多个上述的用户接口。在步骤303,确定用户输入是否指示要创建新的群组墙。例如,检测到在应用Π420上选择对象之后用户激活SHARE活动区域422。在各种实施例中,由客户端127或由将应用UI发送给UElOl的服务(诸如本地应用、网络服务110或群组墙服务120)来进行该确定。如果是的话,那么实施步骤305和307。在步骤305,确定用户上下文以便由群组墙服务120来使用。例如,客户端127请求来自上下文引擎103a的用户的推断上下文以及UElOla的当前上下文,并接收作为响应的一个或多个上下文令牌。在步骤307,确定要在UElOl上呈现墙操作Π区域430。在一些实施例中,由客户端127或由将应用UI发送给UElOl的服务(诸如本地应用、网络服务110或群组墙服务120)来进行该确定。如果是在创建新的群组墙期间,则生成群组墙标识符(诸如序列号),例如从群组墙服务120返回的消息中接收。在一些实施例中,如果用户还没有提供名称,则所建议的名称也在步骤307中提供。在一些实施例中,步骤307包括:例如通过检测用户对活动区域451的文本输入,确定群组墙名称。该确定过程将墙操作UI区域430提供给客户端127或在UElOl上呈现接口的浏览器107。在一些实施例中,在步骤307期间生成CREATE命令并在API消息中将其发送给群组墙服务120。CREATE命令消息指示了:字段252中的群组墙标识符,以及一个或多个变量名称和值对字段256中的群组墙名称和创建了该群组墙及UElOl上下文的用户。在一些实施例中,在步骤307中,在激活了墙操作Π区域430上的OK按钮时,将CREATE命令API消息放置在队列中,以便发送给群组墙服务120,如下面参照步骤337所描述的。在步骤311,确定用户输入是否指示了要针对群组而添加或移除一个或多个成员。例如,检测到用户激活ADD/REMOVE MEMBER区域440中的一个或多个活动区域442、444、446或448。在各种实施例中,由客户端127或由将墙操作Π区域430发送给UElOl的服务(诸如群组墙服务120或网络服务110上的代理129)来进行该确定。如果是的话,那么实施步骤313。因为操作了 ADD/REMOVE MEMBER区域440来确定谁已经是群组成员,所以步骤313包括:确定当前作为群组成员的一个或多个实体。在步骤313,为要发送给群组墙服务120的API消息250确定出针对成员而被添加或移除的用户。ADD (或REMOVE)命令消息指示了:字段252中的群组墙标识符,以及一个或多个变量名称和值对字段256中的针对成员而被添加(或移除)的用户ID。在一些实施例中,在步骤313期间,在API消息中将ADD或REMOVE命令发送给群组墙服务120。在一些实施例中,在步骤313中,将ADD或REMOVE命令API消息放置在队列中,以便在激活了墙操作UI区域430上的OK按钮时发送给群组墙服务120,如下面参照步骤337所描述的。在初始创建之后,作为成员的后续成员可以添加或移除其他成员。因而,步骤313包括:至少部分地促发基于来自任何群组成员的输入而导致群组成员方面的改变的动作。第一群组的成员方面的改变包括:添加不同的实体作为第一群组的成员,或者移除当前作为第一群组的成员的实体,或者这二者。在步骤315,确定用户输入是否指示一个或多个数字数据项目要被张贴到群组墙上。例如,检测到用户激活一个或多个OBJECT活动区域453或COMMENT活动区域455。在各种实施例中,由客户端127或由将墙操作UI区域430发送给UE101的服务(诸如群组墙服务120或网络服务110上的代理129)来进行该确定。如果是的话,那么实施步骤317。在步骤317,为要发送给群组墙服务120的API消息250确定张贴的对象或评论。POST (或COMMENT)命令消息指示了:字段252中的群组墙标识符,以及一个或多个变量名称和值对字段256中的对象(例如,图像、音频剪辑、URI)或评论文本或UE101的用户的用户ID。因而,步骤317包括:确定要由第一群组的所有成员的设备共享的第一数字数据集。在一些实施例中,在步骤317期间,在API消息中将POST或COMMENT命令发送给群组墙服务120。所以,群组墙是包括了由群组的一个或多个成员张贴的多个数字数据项目的数字数据集。在一些实施例中,在步骤317中,将POST或COMMENT命令API消息放置在队列中,以便在激活了墙操作UI区域430上的OK按钮时发送给群组墙服务120,如下面参照步骤337所描述的。由群组墙服务120将所张贴的对象和评论存储在字段236中,以及将步骤305中所确定的上下文存储在字段238中。在步骤321,确定用户输入是否指示了用于通知群组墙上的活动的馈给类型。例如,检测到用户激活FEED活动区域457。在各种实施例中,由客户端127或由将墙操作UI区域430发送给UElOl的服务(诸如群组墙服务120或网络服务110上的代理129)来进行该确定。如果是的话,那么实施步骤323。在步骤323,为要发送给群组墙服务120的API消息250确定群组墙活动通知类型。FEED命令消息指示了:字段252中的群组墙标识符,以及一个或多个变量名称和值对字段256中的活动通知的类型(例如,电子邮件、SMS、墙馈给,或者聚合馈给)。在一些实施例中,在步骤323期间,在API消息中将FEED命令发送给群组墙服务120。在一些实施例中,在步骤323中,将FEED命令API消息放置在队列中,以便在激活了墙操作UI区域430上的OK按钮时发送给群组墙服务120,如下面参照步骤337所描述的。在步骤331中,确定用户输入是否指示取消对群组墙的改变(自从上一个OK活动区域被激活以来)。例如,检测到用户激活CANCEL按钮434。在各种实施例中,由客户端127或由将墙操作UI区域430发送给UElOl的服务(诸如群组墙服务120或网络服务110上的代理129)来进行该确定。如果是的话,那么实施步骤333。在步骤333,取消要发送给群组墙服务120的API消息250。在一些实施例中,在步骤323期间,在API消息中将CANCEL命令发送给群组墙服务120。在所述实施例中,将API消息的队列删除或以其它方式清空,而不发送给群组墙服务。在步骤339,关闭墙操作UI区域430。在步骤335,确定用户输入是否指示接受对群组墙的改变(自从上一个OK活动区域被激活以来)。例如,检测到用户激活OK按钮432。在各种实施例中,由客户端127或由将墙操作Π区域430发送给UElOl的服务(诸如群组墙服务120或网络服务110上的代理129)来进行该确定。如果是的话,那么实施步骤337。在步骤337,使得在队列中累积的要发送给群组墙服务120的API消息250被转发给群组墙服务120。在步骤339,关闭墙操作Π区域430。在一些实施例中,还将一个或多个API命令消息发送给处在近场通信(NFC)范围内的任何成员,从而使得即使在没有连接到通信网络105和群组墙服务120的情况下,这样的成员也可以共享数字数据项目。在一些实施例中,步骤339包括:将新创建的群组墙添加到AVAILABLE WALLS活动区域426。在步骤341,确定是否要呈现群组墙。例如,确定用户是否已从AVAILABLE WALLS活动区域426中选择了群组墙来进行显示;或者已经接收到针对可用群组墙之一的群组墙馈给,或者已经接收到针对组合的群组墙的聚合馈给。在各种实施例中,由客户端127或由将应用Π区域420发送给UElOl的服务(诸如本地应用、网络服务110或群组墙服务120)来进行该确定。如果是的话,那么实施步骤343。在一些实施例中,当通信网络105不可用时,在步骤341期间,从近场通信范围(NFC)内的其他成员接收用于群组墙的一个或多个数字数据项目。在步骤343,在UElOl上呈现所选择的或所馈给的群组墙(或者所有的用户群组墙的聚合),例如,在群组墙用户接口区域470中。例如,确定出要在UElOl上呈现群组墙Π区域470。在各种实施例中,由客户端127或由将应用UI发送给UElOl的服务(诸如本地应用、网络服务110或群组墙服务120)来进行该确定。该确定过程从群组墙服务120接收群组墙信息,并将群组墙UI区域470提供给客户端127或在UElOl上呈现接口的浏览器107。在一些实施例中,当与通信网络105的连接中断时,步骤343包括:使用在客户端127中可用的群组墙Π区域470的版本,显示经由近场通信(NFC)从其他成员接收到的一个或多个数字数据项目。因而,步骤343包括:确定要在群组成员的设备上呈现群组墙(数字数据集)。在步骤345,确定用户输入是否指示在所呈现的群组墙上进行操作。例如,检测到用户激活OPERATE按钮472。在各种实施例中,由客户端127或由将群组墙UI区域470发送给UElOl的服务(诸如群组墙服务120或网络服务110上的代理129)来进行该确定。如果是的话,那么控制返回到步骤305,接下来按照上述那样确定当前上下文,并且呈现墙操作UI区域430。在步骤345,如果确定用户输入指示不在所呈现的群组墙上进行操作,例如,如果检测到用户激活CLOSE按钮474,那么实施步骤361。在步骤361,确定是否满足结束条件,例如,UElOl掉电或者关闭与应用UI420相关联的应用。如果是的话,那么该过程结束。如果不是,那么控制返回到步骤301以便提示用户进行附加输入。如果在步骤303中确定不创建新的群组墙,那么在步骤351中,确定用户输入是否指示希望搜索其中用户作为成员的群组墙。例如,检测到用户激活SEARCH WALLS按钮424。在各种实施例中,由客户端127或由将应用UI发送给UElOl的服务(诸如本地应用、网络服务110或群组墙服务120)来进行该确定。如果是的话,那么实施步骤355,否则实施步骤353。在步骤353中,列出其中用户作为成员的可用群组墙,例如在AVAILABLE WALLS活动区域426中。控制进入到上述步骤341,以便确定是否选择了可用群组墙或者是否已经将可用墙之一上的活动馈给到UElOl。在步骤355,从用户获得搜索准则,并且通过具有SEARCH命令的API消息250 (其中在一个或多个变量名称和值对字段256中具有该准则)将其传递给群组墙服务120。如上所述,搜索准则特别包括关键词或上下文令牌或者某种组合。因而,步骤355包括搜索准贝U,其含有以下中的至少一个:位置、人、数字对象类型、关键词或上下文。在步骤355中从群组墙服务120接收所得到的结果并在上述步骤353中将其列出。图5是根据一个实施例的用于由动态群组共享数据的服务器过程500的流程图。在一个实施例中,群组墙服务120实施过程500,并且在诸如包括如图8所示的处理器和存储器的芯片集或如图7所示的通用计算机上实现。在各种其它实施例中,一个或多个步骤或其部分可由网络服务上的代理过程129或由UElOl上的群组墙客户端127或某种组合来实施。在步骤501,确定缺省的墙属性。例如,将缺省的馈给类型设置为SMS消息。在步骤503,确定在API消息250中是否接收到墙修改API命令,例如,CREATE、ADD、REMOVE、POST、COMMENT或FEED。如果不是,则控制进入到下面描述的步骤521。在一些实施例中,步骤503包括对发送了 API命令消息的用户进行认证,例如通过验证标识了用户的字段具有有效的认证令牌,或者询问用户给出凭证(诸如口令),并且如果口令正确的话则生成认证令牌。在一些实施例中,从可信的网络服务Iio上的代理120转发API命令消息以便认证用户,并且在过程500期间不再由群组墙服务120实施进一步的认证。在步骤503中,如果确定接收到墙修改API命令,那么在步骤505中,确定该命令是否为CREATE命令。如果是的话,那么在步骤507中,例如基于CREATE API消息250中的一个或多个变量名称和值字段256,确定至少一些上下文。将群组墙数据存储器124中具有类似上下文的其他用户确定为新群组的潜在成员,例如,响应于以上所描述的用户选择SIMILARCONTEXT活动区域444而进行呈现。例如,用户的张贴(帖子)被存储在一个或多个现有群组墙的张贴字段230中,并且将字段232中的用户ID与字段238中的上下文令牌进行关联。在一些实施例中,该信息用于发现与创建了新的群组墙的用户处于类似上下文中的其他用户。例如,在创建消息中指示的上下文指示了 UElOl在午餐时间位于特定餐馆。在一个或多个群组墙条目字段210的张贴字段230中标识了近期在午餐时间在相同附近区域的餐馆中向任何群组墙进行张贴的其他人。在一些实施例中,根据与创建了群组墙的用户相关联的一个或多个联系人列表(诸如通过代理129由网络服务110所提供的社会联系人)来确定具有类似上下文的用户。因而,步骤507包括:至少部分地基于一个或多个实体的设备的上下文来确定当前是第一群组的成员的一个或多个实体。在一些实施例中,省略了步骤 507。在步骤509中,准备群组墙的新实例。例如,确定用作群组墙ID的下一序列号,生成候选墙条目字段210,其具有被插入到墙ID字段212中的缺省名称和新生成的序列号,以及第一用户字段220(其具有被插入到用户ID字段222中的发送了创建消息的实体的用户ID、被插入到字段224中的当前时间,以及被插入到字段226中的缺省馈给类型)。在一些实施例中,缺省名称与序列号相同。在一些实施例中,缺省名称基于的是用户ID (例如,Alicel23)和上下文中的第一重要项目(例如餐馆,因而产生缺省名称“Alicel23餐馆”)。在步骤509还确定出用于访问呈现了墙条目字段210的web页面的URI链接。在步骤511,促使将区域430中所呈现的墙操作Π发送给UElOl (通过网络服务110上的代理129,或者UElOl上的浏览器107或客户端127)。还发送用于墙操作UI的任何支持数据,诸如缺省名称、缺省馈给类型以及具有类似上下文的用户的列表。控制返回到步骤503以便确定所接收的下一 API命令。在步骤505中,如果确定墙修改API命令不是CREATE命令,那么在步骤513中,确定墙修改API命令是否是指示结束创建或修改群组墙的CANCEL或OK命令。如果不是,例如,如果API命令是ADD、REMOVE、POST、COMMENT或FEED命令,则控制进入步骤515。在步骤515中,基于API命令在候选墙条目记录210中累积对群组墙的改变。例如,接收一个或多个POST命令。如果在消息中指示的用户是用于在墙ID字段252中指示的墙的群组成员,那么使用来自该消息的数字数据项目来将POST字段230添加到墙条目字段210。类似地,接收一个或多个COMMENT命令。如果在消息中指示的用户是在墙ID字段252中指示的群组的成员,那么使用来自该消息的数字数据项目来将评论文本添加到墙条目字段210的数据项目字段236中。因而,步骤515包括:确定由第一群组的所有成员的设备共享的第一数字数据集。步骤515包括:确定第一数字数据集(群组墙)包括由第一群组的一个成员所张贴的数字数据项目或由第一群组的一个或多个成员所张贴的多个数字数据项目。
在步骤515期间还处理一个或多个接收到的ADD命令。如果在消息中指示的用户是在墙ID字段252中指示的群组的成员,那么使用来自该消息的数字数据项目来将用户字段220添加到群组墙的墙条目字段210。类似地,在步骤515期间处理一个或多个接收到的REMOVE命令。如果在消息中指示的用户是在墙ID字段252中指示的群组的成员,那么使用来自该消息的数字数据项目来移除群组墙的墙条目字段210的用户字段220 (或者将移除时间添加到时间字段224 )。在一些实施例中,在步骤515期间,当实现ADD或REMOVE命令时,群组墙服务器添加张贴字段230,其中数据项目字段236持有指示了以下内容的数据:被添加或移除的一个成员或多个成员,以及动作由什么成员发起。因而,步骤515包括:确定当前是第一群组的成员的一个或多个实体。步骤515还包括:至少部分地促发基于来自第一群组的任何成员的输入而导致第一群组的成员方面的改变的动作。在ADD命令的情况下,第一群组的成员方面的改变至少包括添加不同的实体作为第一群组的成员。在REMOVE命令的情况下,第一群组的成员方面的改变至少包括移除当前是第一群组成员的实体。在步骤515期间还处理一个或多个接收到的FEED命令。如果在消息中指示的用户是在墙ID字段252中指示的群组的成员,那么使用来自该消息的数字数据项目来为群组墙的墙条目字段210的馈给类型字段226设置内容。在步骤513中,如果确定墙修改API命令是CANCEL或OK命令,那么实施步骤517。如果API命令是CANCEL,则撤销(drop)自从上一个OK命令以来的所有改变,例如,不将候选墙条目插入到群组墙数据存储器200中。如果API命令是0K,则接受自从上一个OK命令以来的所有修改,例如,将候选墙条目插入到群组墙数据存储器200中,并且基于用于该成员的字段226中所存储的馈给类型,将通知发送给群组的全部其余的成员。例如,将SMS消息发送给每个新成员,其指示了该活动和用于访问群组墙的URI。示例消息是:“在[URI],Alicel23已将您添加到群组墙Al ice123餐馆”,其中URI指示了在SMS消息中充当链接的活动区域,该链接在显示出图4C的区域470中所描述的群组墙UI的web页面上打开浏览器107。其它示例性通知SMS消息是:“在[URI],Alicel23已在群组墙Alicel23餐馆上张贴了地图”以及“在[URI],Bob456已从群组墙Alicel23餐馆中移除了 Charles789”。如果刚刚更新的群组墙的成员请求了墙馈给,那么(并不发送SMS消息或者并不是在发送SMS消息之外)控制进入到步骤523,如在下面所描述的。如果刚刚更新的群组墙的成员请求了聚合馈给,那么步骤517包括(并不发送SMS消息或者并不是在发送SMS消息之外)将新的张贴字段添加到用于该用户的聚合的web页面,并且控制进入到步骤523,如下面所描述的。否则,控制返回到步骤503以便如上所述那样处理下一 API命令。因而,步骤517包括:确定要将通知消息发送给第一群组的新添加的成员的设备,其中该通知指示了第一数字数据集的标识符(例如URI)。在一些实施例中,在群组墙服务120处并没有(从客户端127或代理129)接收到任何的墙API命令消息,除非并且直到用户已经选择了 UElOl上的OK按钮432。在这些实施例中,没有CANCEL API命令或OK API命令;并且省略了步骤513。控制从步骤505转到步骤515至步骤517。在步骤503,如果确定没有接收到墙修改API命令,那么在步骤521,确定是否接收到对于查看群组墙的实例的请求,例如,是否接收到VIEWAPI命令。如果不是,则控制进入到步骤531,这在下面进行描述。如果是的话,那么在步骤523确定在消息中指示的用户是否是在墙ID字段252中指示的群组的成员。如果是的话,那么将用于所请求的群组墙的墙条目记录210的最新张贴(帖子)的数据项目字段236中的一个或多个数字数据项目转发给UElOl。因而,步骤521和523包括:响应于来自成员的设备的对于呈现项目的请求,确定在该成员的设备上呈现第一数字数据集。数字数据项目被直接发送给UElOl上的浏览器107或UElOl上的客户端127,或者通过网络服务110上的代理129被间接发送给UElOl上的浏览器107。在一些实施例中,从群组墙服务120发送整个群组墙Π区域470。在一些实施例中,群组墙Π的一些部分(诸如关闭按钮474和操作按钮472以及区域470的大小和位置)在客户端127中是可获得的,并且仅将来自数据项目字段236的数字数据发送给客户端127。因而,步骤523包括:确定在第一群组的成员的设备上呈现第一数字数据集。通过接收一个或多个附加的CREATE API命令(以及在一些实施例中的相应的OKAPI命令),利用不同的成员关系来创建附加的群组墙。一个用户可以是多个群组墙的成员。因而,步骤505至517包括:确定由第二群组的所有成员的设备共享的不同的第二数字数据集。因此,步骤517的通知包括:确定在作为第一群组和第二群组这二者的成员的实体的设备上呈现指示了第一数字数据集的标识符的数据和指示了第二数字数据集的标识符的数据,例如,在AVAILABLE WALLS活动区域426中。在步骤525中,确定用户输入是否指示要修改墙,例如,检测到用户激活操作按钮472。如果是的话,则控制进入上述的步骤511,以便发送墙操作Π区域430,如图4B所示。否则,控制进入到步骤531。在步骤531,确定是否接收到对于搜索一个或多个群组墙的请求。例如,确定是否接收到SEARCH API命令。如果是的话,那么实施步骤533。步骤533包括:搜索其中进行请求的用户作为成员的所有群组墙的张贴,以及找到具有与搜索准则最高匹配度的墙的群组墙ID。将这些最佳匹配的群组墙呈现给用户,例如在图4A中描述的AVAILABLE WALLS活动区域426中,由此可以使用VIEW API命令来选择和查看一个或多个群组墙。在一些实施例中,仅仅是匹配的张贴被检索并在web页面中进行聚合,该web页面的URI被返回给进行请求的UE101。在一些实施例中,发送最佳匹配的群组墙或最佳匹配的张贴的聚合,以便呈现给用户,例如,在如图4C中描述的群组墙Π区域470中。然后控制进入到步骤503,以便确定从用户接收到的下一 API命令。如果接收到SEARCH API命令却没有任何搜索准则,那么步骤533包括:促使在UElOl上呈现搜索用户接口(未示出)以便提示用户输入搜索准则,例如关键词和上下文以进行匹配。在各种实施例中,搜索Π在客户端127中可获得,或者被从代理127发送,或者直接或通过代理129从群组墙服务120发送到客户端127或浏览器107。使用在UElOl处的用户响应来填充准则;以及发送具有所包括的搜索准则的SEARCH API消息250。因此,步骤533包括:确定第一数字数据集和第二数字数据集中的哪一个在实质上满足从实体的设备接收到的搜索准则,其中该实体是第一群组和第二群组这二者的成员。在各种实施例中,搜索准则包括以下中的至少一个:位置、人、数字对象类型、关键词或上下文。在步骤535,确定是否满足结束条件。如果是的话,则该过程结束。否则,该过程在上述的步骤503中继续。图6是根据一个实施例的用于由动态群组共享数据的网络服务上的代理过程600的流程图。过程600由网络服务110上的代理127来实施。在步骤601,确定网络服务的用户,例如通过基于凭证(诸如口令)的认证服务。在步骤605中,SHARE活动区域(例如,按钮422)或SEARCH WALLS活动区域(例如,按钮424)或AVAILABLE WALLS列表活动区域(例如,可用的墙滚动列表426)或某种组合被包括在用于网络服务的应用用户接口(UI)中。在步骤605,在区域420中呈现应用用户接口。在步骤611,确定是否接收到指示了修改群组墙的动作的用户输入,例如,检测到激活应用UI区域420中的SHARE按钮422或者激活群组墙UI区域470上的OPERATE按钮472。如果是的话,那么在步骤613中,通过一个或多个API命令消息250将用于创建或修改群组墙的用户输入(例如,CREATE命令或MODIFY命令)发送给群组墙服务。在步骤615,从群组墙服务120请求墙操作UI区域430,并将其发送给客户端127或浏览器107以便在UElOl上呈现。在一些实施例中,代理129或客户端127已具有墙操作Π区域430,并且步骤614包括:从群组墙服务120仅请求支持数据,诸如用于新墙的墙ID或者具有类似的上下文的用户的列表。从客户端127或浏览器107接收用户对于墙操作UI的输入,并将其在一个或多个墙修改API消息250 (诸如用于CREATE、ADD、REMOVE、POST、COMMENT和FEED API命令的消息)中传递给群组墙服务120。然后,群组墙服务120基于步骤615中发送的用户输入来修改群组墙数据存储器124。然后,控制进入到步骤641以便确定是否满足结束条件。在步骤621,确定是否接收到指示了查看群组墙的动作的用户输入,例如,用户已经选择了在AVAILABLE WALLS活动区域426中列出的群组墙。如果是的话,那么在步骤623中,将命令发送给群组墙服务120以便获得对所选择的墙的查看。例如,将VIEW API命令消息发送给群组墙服务120的API122,其指示了该用户。在步骤625,从群组墙服务120接收群组墙UI区域470或者用于张贴区域480的数字数据项目。步骤625包括:将群组墙UI区域470或者用于区域480的数字数据项目发送给UE101以便呈现在群组墙Π区域470中。然后控制进入到步骤641。在步骤631,确定是否接收到指示了搜索一个或多个群组墙的动作的用户输入,例如,检测到用户激活SEARCH WALLS活动区域424。如果是的话,那么在步骤633中,确定搜索准则。在一些实施例中,通过将Π发送给客户端127或浏览器107,促使用户接口呈现在UE101上。在一些实施例中,客户端127包括搜索准则UI,并且来自UE101的消息指示了搜索准则。当获得搜索准则时,将SEARCH API命令消息发送给群组墙服务120,以便搜索群组墙数据存储器124。在步骤635,从群组墙服务120接收最佳满足搜索准则的那些墙的群组墙列表(例如,通过墙ID或URI ),或者由最佳满足搜索准则的那些张贴所组成的聚合的web页面的URI。步骤635包括:发送要在应用UI区域420的AVAILABLE WALLS活动区域426中呈现的列表,或者利用具有满足搜索准则的张贴(帖子)的聚合的web页面来打开浏览器107中的窗口。然后,控制进入到步骤641。在步骤641,确定是否满足结束条件(例如,关闭为当前用户建立的网络服务的实例)。如果是的话,则该过程结束。否则,控制返回到步骤605,以便将用于区域420的应用UI发送给另一 UE101。可以经由软件、硬件、固件或者软件和/或固件和/或硬件的组合来有利地实现在此描述的用于由动态群组共享数据的过程。例如,可以经由处理器、数字信号处理(DSP)芯片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等来有利地实现在此描述的过程。下面详述了用于执行所述功能的这样的示例性硬件。图7图示了可以在其上实现本发明实施例的计算机系统700。尽管针对特定的设备或装置描述了计算机系统700,但是可以设想,图7中的其它设备或装置(例如,网络元件、服务器等)可以部署所描述的系统700的硬件和组件。计算机系统700 (例如,经由计算机程序代码或指令)被编程为如在此描述的由动态群组共享数据,并且包括用于在计算机系统700的其它内部和外部组件之间传递信息的通信机制,诸如总线710。信息(也称为数据)被表示为可测量现象的物理表达,典型的是电压,但在其它实施例中,包括诸如磁、电磁、压力、化学、生物、分子、原子、亚原子和量子交互的现象。例如,北极和南极磁场或者零和非零电压表示二进制数位(比特)的两个状态(O,I)。其它现象可以表示更高基底的数位。测量之前的多个同时量子状态的叠加表示量子比特(qubit)。一个或多个数位的序列构成了用于表示字符的数目或代码的数字数据。在一些实施例中,通过特定范围内的可测量值的近连续体来表示称为模拟数据的信息。计算机系统700或其一部分构成了用于实施由动态群组共享数据的一个或多个步骤的装置。总线710包括信息的一个或多个并行导体,从而使得在耦合到总线710的设备当中快速地传输信息。用于处理信息的一个或多个处理器702与总线710耦合。处理器(或多个处理器)702按照与由动态群组共享数据有关的计算机程序代码所指定的那样对信息执行操作集合。计算机程序代码是为处理器和/或计算机系统的操作提供了用于实施指定功能的指令的一组指令或声明。例如可以用被编译成处理器的原生指令集的计算机编程语言来编写代码。也可以直接使用原生指令集(例如,机器语言)来编写代码。操作集合包括从总线710带入信息并且将信息置于总线710上。操作集合通常还包括诸如通过加法或乘法或者比如“或(0R)”、“异或(X0R)”和“与(AND)”这样的逻辑运算来:比较两个或更多信息单元,将信息单元的位置进行移位,以及组合两个或更多信息单元。可以由处理器执行的操作集合中的每个操作由称为指令的信息而被表示给处理器,诸如一个或多个数位的操作代码。要由处理器702执行的操作序列(诸如操作代码序列)构成了处理器指令,也称为计算机系统指令或简单地称为计算机指令。处理器可以单独地或组合地被实现为机械、电、磁、光、化学或量子组件等。计算机系统700还包括耦合到总线710的存储器704。诸如随机存取存储器(RAM)或其它动态存储设备的存储器704存储信息,包括用于由动态群组共享数据的处理器指令。动态存储器允许计算机系统700改变存储在其中的信息。RAM允许独立于在相邻地址处的信息来存储和检索被存储在称为存储地址的位置处的信息单元。存储器704还被处理器702用于存储在处理器指令的执行期间的临时值。计算机系统700还包括只读存储器(R0M)706或者耦合到总线710的其它静态存储设备,用于存储计算机系统700不会改变的静态信息(包括指令)。特定存储器包括易失性储存器,当断电时,易失性储存器会丢失在其上存储的信息。也耦合到总线710的是非易失性(永久)存储设备708,诸如磁盘、光盘或闪卡,用于存储包括指令的信息,非易失性存储设备708即使当计算机系统700关闭或以其它方式断电时也进行存留。从外部输入设备712 (诸如含有由人类用户操作的字母数字键的键盘)或传感器将信息(包括用于由动态群组共享数据的指令)提供给总线710来由处理器使用。传感器检测其附近的状况,并且将那些检测结果变换成与用于表示计算机系统700中的信息的可测量现象相兼容的物理表达。耦合到总线710的主要用于与人类进行交互的其它外部设备包括显示设备714,诸如阴极射线管(CRT)、液晶显示器(IXD)、发光二极管(LED)显示器、有机LED(OLED)显示器、等离子体屏幕或者用于呈现文本或图像的打印机,以及指点设备716,诸如鼠标、轨迹球、光标方向键或运动传感器,用于控制在显示器714上呈现的小型光标图像的位置以及发布与显示器714上所呈现的图形元素相关联的命令。在一些实施例中,例如,在计算机系统700在没有人类输入的情况下自动地实现所有功能的实施例中,省略了外部输入设备712、显示设备714和指点设备716中的一个或多个。在所图示的实施例中,诸如专用集成电路(ASIC)720的专用硬件耦合到总线710。专用硬件被配置以便出于专用目的而足够快地执行处理器702不执行的操作。专用IC的例子包括:用于为显示器714生成图像的图形加速器卡、用于加密和解密在网络上发送的消息的密码板、语音识别以及针对专门的外部设备的接口,诸如重复地执行在硬件中更为高效实现的一些复杂操作序列的机器臂和机械扫描设备。计算机系统700还包括耦合到总线710的通信接口 770的一个或多个实例。通信接口 770提供了耦合到与其自己的处理器一起操作的各种外部设备(诸如打印机、扫描仪和外部盘)的单向或双向通信。通常,耦合是针对网络链路778,网络链路778连接到本地网络780,具有其自己的处理器的各种外部设备连接到本地网络780。例如,通信接口 770可以是个人计算机上的并行端口或串行端口或通用串行总线(USB)端口。在一些实施例中,通信接口 770是综合服务数字网络(ISDN)卡或数字订户线路(DSL)卡或者向对应类型的电话线路提供信息通信连接的电话调制解调器。在一些实施例中,通信接口 770是将总线710上的信号转换成用于在同轴电缆上的通信连接的信号或转换成用于在光纤电缆上的通信连接的光信号的电缆调制解调器。又例如,通信接口 770可以是用于向兼容的LAN(诸如以太网)提供数据通信连接的局域网(LAN)卡。也可以实现无线链路。对于无线链路,通信接口 770发送或接收或者既发送又接收携带了信息流(诸如数字数据)的电、声或电磁信号,包括红外信号和光信号。例如,在无线手持设备(诸如像蜂窝电话这样的移动电话)中,通信接口 770包括被称为无线电收发器的无线电频带电磁发射机和接收机。在某些实施例中,通信接口 770使得能够从UElOl连接到通信网络105,用于由动态群组共享数据。术语“计算机可读介质”在此用于指的是参与向处理器702提供信息(包括用于执行的指令)的任何介质。这样的介质可以采用很多形式,包括但不限于计算机可读存储介质(例如非易失性介质、易失性介质)和传输介质。非瞬态介质(诸如非易失性介质)包括例如光盘或磁盘,诸如存储设备708。易失性介质包括例如动态存储器704。传输介质包括例如双扭线电缆、同轴电缆、铜导线、光纤电缆以及在没有导线或电缆的情况下通过空间行进的载波,诸如声波和电磁波,包括无线电波、光波和红外波。信号包括通过传输介质传送的在幅度、频率、相位、极化或其它物理属性方面的人为瞬时变化。计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带或任何其它磁介质、CD-ROM、CDRff, DVD、任何其它光介质、穿孔卡、纸带、光标记片材、具有孔图案或其它光可识别标记的任何其它物理介质、RAM、PROM、EPROM、FLASH-EPROM、EEPROM、闪速存储器、任何其它存储器芯片或卡式盒、载波,或者计算机可以从其进行读取的任何其它介质。在此使用术语“计算机可读存储介质”来指代除了传输介质之外的任何计算机可读介质。
在一个或多个有形介质中编码的逻辑包括以下中的一个或两个:在计算机可读存储介质上的处理器指令以及专用硬件,诸如ASIC720。网络链路778通常使用传输介质来通过一个或多个网络向使用或处理信息的其它设备提供信息通信。例如,网络链路778可以通过本地网络780提供针对主机计算机782或针对由因特网服务提供商(ISP)操作的设备784的连接。ISP设备784进而通过现在常被称为因特网790的网络的公共全球分组交换通信网络来提供数据通信服务。被称为服务器主机792的连接到因特网的计算机托管了响应于在因特网上接收到的信息而提供服务的进程。例如,服务器主机792托管了提供表示出用于在显示器714处呈现的视频数据的信息的进程。可以设想,系统700的组件可以按照各种配置被部署在其它计算机系统内,例如主机782和服务器792。本发明的至少一些实施例涉及对用于实现在此描述的一些或所有技术的计算机系统700的使用。根据本发明的一个实施例,响应于处理器702执行包含在存储器704中的一个或多个处理器指令的一个或多个序列,由计算机系统700来实现那些技术。这样的指令(也称为计算机指令、软件和程序代码)可以从诸如存储设备708或网络链路778的另一计算机可读介质读入到存储器704中。包含在存储器704中的指令序列的执行使得处理器702实现在此描述的方法步骤中的一个或多个。在替代实施例中,诸如ASIC720的硬件可以代替软件或与软件相组合地用来实现本发明。因此,本发明的实施例不限于硬件和软件的任何具体组合,除非在此另外明确陈述。通过通信接口 770在网络链路778和其它网络上传送的信号携带了去往和来自计算机系统700的信息。计算机系统700可以通过网络780、790等经由网络链路778和通信接口 770来发送和接收信息,包括程序代码。在使用因特网790的例子中,服务器主机792通过因特网790、ISP设备784、本地网络780和通信接口 770来传送由从计算机700发送的消息所请求的用于特定应用的程序代码。所接收到的代码可以当其被接收到时由处理器702来执行,或者可以被存储在存储器704中或存储设备708或其它非易失性存储器中以用于以后执行,或者二者皆可。以这种方式,计算机系统700可以按照载波上的信号的形式来获得应用程序代码。各种形式的计算机可读介质可以涉及将一个或多个序列的指令或数据或两者携带到处理器702来执行。例如,指令和数据可以初始地被携带在诸如主机782的远程计算机的磁盘上。远程计算机将指令和数据加载到其动态存储器中,并且使用调制解调器在电话线路上发送指令和数据。计算机系统700本地的调制解调器在电话线路上接收指令和数据,并且使用红外发射机来将指令和数据转换成在充当网络链路778的红外载波上的信息。充当通信接口 770的红外检测器接收在红外信号中携带的指令和数据,并且将表示指令和数据的信息置于总线710上。总线710将该信息携带到存储器704,处理器702从存储器704中检索该指令,并且使用与指令一起发送的一些数据来执行该指令。在存储器704中接收到的指令和数据可以视情况在由处理器702执行之前或之后被存储在存储设备708上。图8图示了可以在其上实现本发明实施例的芯片集或芯片800。芯片集800被编程以便如在此描述的由动态群组共享数据,并且包括例如相对于图7描述的合并在一个或多个物理封装(例如,芯片)中的处理器和存储器组件。举例来说,物理封装包括在结构配件(例如,基板)上的一个或多个材料、组件和/或导线的布置,以便提供一个或多个特性,诸如物理强度、大小的保持和/或电子交互的限制。可以设想,在某些实施例中,芯片集800可以在单个芯片中实现。可以进一步设想,在某些实施例中,芯片集或芯片800可实现为单个“片上系统”。还可以设想,在某些实施例中,不会使用分离的ASIC,例如,这里描述的全部相关功能可由一个或多个处理器执行。芯片集或芯片800或其一部分构成了用于实施提供与可用功能相关联的用户接口导航信息的一个或多个步骤的装置。芯片集或芯片800或其一部分构成了用于实现由动态群组共享数据的一个或多个步骤的装置。在一个实施例中,芯片集或芯片800包括诸如用于在芯片集800的组件当中传递信息的总线801的通信机制。处理器803具有到总线801的连接,以便执行指令和处理在例如存储器805中存储的信息。处理器803可以包括一个或多个处理核心,每个核心被配置成独立地执行。多核处理器使得能够在单个物理封装中进行多处理。多核处理器的例子包括两个、四个、八个或更多数目的处理核心。替代地或附加地,处理器803可以包括经由总线801而联合配置的一个或多个微处理器,以便使得能够独立执行指令、流水线操作和多线程。处理器803还可以附配有一个或多个专用组件来执行某些处理功能和任务,诸如一个或多个数字信号处理器(DSP) 807或者一个或多个专用集成电路(ASIC) 809。DSP807通常被配置成独立于处理器803而实时地处理真实世界的信号(例如,声音)。类似地,ASIC809可以被配置成执行较为通用的处理器不容易执行的专用功能。在此描述的有助于实现本发明功能的其它专用组件可以包括:一个或多个现场可编程门阵列(FPGA)(未示出)、一个或多个控制器(未示出),或者一个或多个其它专用计算机芯片。在一个实施例中,芯片集或芯片800仅包括一个或多个处理器以及一些支持和/或涉及和/或用于所述一个或多个处理器的一些软件和/或固件。处理器803和所附组件具有经由总线801与存储器805的连接。存储器805包括动态存储器(例如,RAM、磁盘、可写光盘等)和静态存储器(例如,ROM、CD-ROM等)这二者,用于存储可执行指令,当执行所述可执行指令时实现在此描述的本发明步骤以便由动态群组共享数据。存储器805还存储了与本发明步骤的执行相关联的或通过本发明步骤的执行而生成的数据。图9是根据一个实施例的能够在图1的系统中操作的用于通信的移动终端(例如,手机)的示例性组件的示意图。在一些实施例中,移动终端900或其一部分构成了用于实现由动态群组共享数据的一个或多个步骤的装置。通常,常常关于前端和后端特性来定义无线电接收机。接收机的前端包括所有的射频(RF)电路,而后端包括所有的基带处理电路。如在本申请中使用的,术语“电路”指的是以下两者:(I)仅硬件实现(诸如仅在模拟和/或数字电路中的实现),以及(2)电路和软件(和/或固件)的组合(例如,如果可应用于特定情境的话,则是处理器(包括数字信号处理器)、软件和存储器的组合,它们一起工作以便使得诸如移动电话或服务器的装置来执行各种功能)。“电路”的该定义适用于本申请中(包括任何权利要求中)对该术语的所有使用。作为进一步的例子,如在本申请中使用的并且如果可应用于特定情境的话,术语“电路”还将覆盖仅一个处理器(或多个处理器)及其(或它们)附配的软件和/或固件的实现。如果可应用于特定情境的话,术语“电路”还将覆盖例如在移动电话中的基带集成电路或应用处理器集成电路,或者在蜂窝网络设备或其它网络设备中的类似集成电路。
电话的相关内部组件包括主控制单元(MCU) 903、数字信号处理器(DSP) 905,以及接收机/发射机单元(包括扩音器增益控制单元和扬声器增益控制单元)。主显示单元907向用户提供显示器,从而支持用于执行或支持由动态群组共享数据的步骤的各种应用和移动终端功能。显示器907包括显示电路,该显示电路被配置成显示移动终端(例如,移动电话)的用户接口的至少一部分。另外,显示器907和显示电路被配置成促进用户对移动终端的至少一些功能的控制。音频功能电路909包括扩音器911和扩音器放大器,扩音器放大器放大了从扩音器911输出的语音信号。从扩音器911输出的已放大的语音信号被馈送到编码器/解码器(编解码器)913。无线电部件915放大功率并转换频率,以便经由天线917与包括在移动通信系统中的基站通信。如本领域中已知的,利用来自耦合到双工器921或循环器或天线开关的PA919的输出,功率放大器(PA)919和发射机/调制电路可在操作上响应于MCU903。PA919还耦合到电池接口和功率控制单元920。在使用中,移动终端901的用户向扩音器911讲话,并且他或她的语音连同任何检测到的背景噪声被转换成模拟电压。然后,该模拟电压通过模数转换器(ADC) 923被转换成数字信号。控制单元903将数字信号路由到DSP905中用于在其中进行处理,诸如语音编码、信道编码、加密和交织。在一个实施例中,使用蜂窝传输协议(诸如全球演进的增强数据速率(EDGE)、通用分组无线电服务(GPRS)、全球移动通信系统(GSM)、因特网协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等)以及任何其它合适的无线介质(例如微波接入(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真(WiFi)、卫星等或其任意组合),通过未单独示出的单元来编码经处理的语音信号。然后,编码信号被路由到均衡器925,用于补偿在通过空气传输期间发生的诸如相位和幅度失真这样的任何依赖于频率的损伤。在均衡了比特流之后,调制器927将该信号与在RF接口 929中生成的RF信号进行组合。调制器927通过频率或相位调制来生成正弦波。为了准备用于传输的信号,上变频器931将从调制器927输出的正弦波与由合成器933生成的另一正弦波进行组合,以便实现期望的传输频率。然后,信号被发送通过PA919以便将信号增加到适合的功率级别。在实际系统中,PA919充当可变增益放大器,其增益根据从网络基站接收到的信息而受到DSP905的控制。然后,该信号在双工器921中被过滤并且可选地被发送到天线耦合器935以便匹配阻抗,从而提供最大功率传输。最后,该信号经由天线917被传送到本地基站。自动增益控制(AGC)可以被供应来控制接收机的最后阶段的增益。该信号可以从那里被转发到远程电话,远程电话可以是另一蜂窝电话、任何其它的移动电话或者连接到公共交换电话网络(PSTN)或其它电话网络的陆线。经由天线917来接收被传送到移动终端901的语音信号,并且由低噪声放大器(LNA) 937立即放大。下变频器939降低载波频率,而解调器941去掉RF仅留下数字比特流。然后,该信号经过均衡器925并由DSP905进行处理。数模转换器(DAC)943转换该信号并将所得到的输出通过扬声器945传送到用户,所有的这些都在主控制单元(MCU) 903 (其可被实现为中央处理单元(CPU)(未示出))的控制之下。MCU903从键盘947接收包括输入信号的各种信号。与其它用户输入组件(例如,扩音器911)相组合的键盘947和/或MCU903包括用于管理用户输入的用户接口电路。MCU903运行用户接口软件以便促进用户控制移动终端901的至少一些功能,从而在动态群组内共享数据。MCU903还向显示器907和语音输出切换控制器分别递送显示命令和切换命令。此外,MCU903与DSP905交换信息,并且可以访问可选地被合并的SM卡949和存储器951。另外,MCU903执行终端所需要的各种控制功能。DSP905可以根据实现方式来对语音信号执行各种常规数字处理功能中的任何功能。另外,DSP905根据由扩音器911所检测到的信号来确定本地环境的背景噪声级别,并且将扩音器911的增益设置成被选择用于补偿移动终端901的用户的自然倾向的级别。编解码器913包括ADC923和DAC943。存储器951存储了包括呼入音调数据的各种数据,并且能够存储包括经由例如全球因特网而接收到的音乐数据在内的其它数据。软件模块可以驻留在RAM存储器、闪速存储器、寄存器或本领域已知的任何其它形式的可写存储介质中。存储设备951可以是但不限于单个存储器、CD、DVD、R0M、RAM、EEPR0M、光储存器、磁盘存储器、闪速存储贮存器或者能够存储数字数据的任何其它非易失性存储介质。可选地被合并的SM卡949携带了例如重要信息,诸如蜂窝电话号码、供应服务的载波、预订细节和安全信息。SIM卡949主要服务于标识出无线电网络上的移动终端901。卡949还含有用于存储个人电话号码登记簿、文本消息和特定于用户的移动终端设置的存储器。尽管已经结合多个实施例和实现方式描述了本发明,但是本发明并不如此受到限制,而是覆盖了落入所附权利要求的范围之内的各种明显的修改和等同布置。尽管在权利要求当中的特定组合中表达了本发明的特征,但是可以设想这些特征可以按照任何组合和顺序来布置。
权利要求
1.一种方法,其包括: 确定要由第一群组的成员的设备共享的第一数字数据集; 确定当前作为第一群组的成员的一个或多个实体;以及 至少部分地促发基于来自第一群组的任何成员的输入而导致第一群组的成员方面的改变的动作。
2.根据权利要求1所述的方法,其中至少部分地促发导致第一群组的成员方面的改变的动作至少包括:添加不同的实体作为第一群组的成员。
3.根据权利要求1-2中任一项所述的方法,其中至少部分地促发导致第一群组的成员方面的改变的动作至少包括:移除当前作为第一群组的成员的实体。
4.根据权利要求1-3中任一项所述的方法,其中所述实体是人。
5.根据权利要求1-4中任一项所述的方法,其中确定当前作为第一群组的成员的一个或多个实体进一步包括:至少部分地基于处于近场通信中的设备,确定当前作为第一群组的成员的所述一个或多个实体。
6.根据权利要求1-5中任一项所述的方法,其中确定当前作为第一群组的成员的一个或多个实体进一步包括:至少部分地基于所述一个或多个实体的设备的上下文,确定当前作为第一群组的成员的所述一个或多个实体。
7.根据权利要求1-6中任 一项所述的方法,其中所述第一数字数据集包括:由第一群组的一个成员张贴的数字数据项目。
8.根据权利要求1-7中任一项所述的方法,其中所述第一数字数据集包括:由第一群组的一个或多个成员张贴的多个数字数据项目。
9.根据权利要求1-8中任一项所述的方法,其中所述第一数字数据集包括:指示了针对第一群组而被添加或移除的成员的数据。
10.根据权利要求1-9中任一项所述的方法,其进一步包括:确定要在第一群组的成员的设备上呈现所述第一数字数据集。
11.根据权利要求10所述的方法,其中确定要在第一群组的成员的设备上呈现所述第一数字数据集进一步包括:响应于来自所述成员的设备的对于呈现所述项目的请求,确定要在所述成员的设备上呈现所述第一数字数据集。
12.根据权利要求1-11中任一项所述的方法,其进一步包括:确定要将通知消息发送给第一群组的新添加的成员的设备,其中所述通知指示了所述第一数字数据集的标识符。
13.根据权利要求1-12中任一项所述的方法,其进一步包括:确定要由第二群组的成员的设备共享的不同的第二数字数据集。
14.根据权利要求13所述的方法,其进一步包括:确定要在作为第一群组和第二群组这二者的成员的实体的设备上呈现指示了所述第一数字数据集的标识符的数据和指示了所述第二数字数据集的标识符的数据。
15.根据权利要求13-14中任一项所述的方法,其进一步包括:确定所述第一数字数据集和所述第二数字数据集中的哪一个在实质上满足从作为第一群组和第二群组这二者的成员的实体的设备接收到的搜索准则。
16.根据权利要求15所述的方法,其中所述搜索准则包括以下中的至少一个:位置、人、数字对象类型、关键词或上下文。
17.一种装置,其包括: 至少一个处理器;以及 至少一个存储器,其包括用于一个或多个程序的计算机程序代码, 所述至少一个存储器和所述计算机程序代码被配置为利用所述至少一个处理器来使得所述装置至少实施以下操作: 确定要由第一群组的成员的设备共享的第一数字数据集; 确定当前作为第一群组的成员的一个或多个实体;以及 至少部分地促发基于来自第一群组的任何成员的输入而导致第一群组的成员方面的改变的动作。
18.根据权利要求17所述的装置,其中至少部分地促发导致第一群组的成员方面的改变的动作使得所述装置至少:确定要添加不同的实体作为第一群组的成员。
19.根据权利要求17-18中任一项所述的装置,其中至少部分地促发导致第一群组的成员方面的改变的动作使得所述装置至少:确定要移除当前作为第一群组的成员的实体。
20.根据权利要求17-19中任一项所述的装置,其中所述实体是人。
21.根据权利要求17-20中任一项所述的装置,其中确定当前作为第一群组的成员的一个或多个实体进一步使得所述装置:至少部分地基于处于近场通信中的设备,确定当前作为第一群组的成员的所述一个或多个实体。
22.根据权利要求17-21中任一项所述的装置,其中确定当前作为第一群组的成员的一个或多个实体进一步使得所述装置:至少部分地基于所述一个或多个实体的设备的上下文,确定当前作为第一群组的成员的所述一个或多个实体。
23.根据权利要求17-22中任一项所述的装置,其中所述第一数字数据集包括:由第一群组的一个成员张贴的数字数据项目。
24.根据权利要求17-23中任一项所述的装置,其中所述第一数字数据集包括:由第一群组的一个或多个成员张贴的多个数字数据项目。
25.根据权利要求17-24中任一项所述的装置,其中所述第一数字数据集包括:指示了针对第一群组而被添加或移除的成员的数据。
26.根据权利要求17-25中任一项所述的装置,其中进一步使得所述装置确定要在第一群组的成员的设备上呈现所述第一数字数据集。
27.根据权利要求26所述的装置,其中确定要在第一群组的成员的设备上呈现所述第一数字数据集进一步使得所述装置:响应于来自所述成员的设备的对于呈现所述项目的请求,确定要在所述成员的设备上呈现所述第一数字数据集。
28.根据权利要求17-27中任一项所述的装置,其中进一步使得所述装置确定要将通知消息发送给第一群组的新添加的成员的设备,其中所述通知指示了所述第一数字数据集的标识符。
29.根据权利要求17-28中任一项所述的装置,其中进一步使得所述装置确定要由第二群组的成员的设备共享的不同的第二数字数据集。
30.根据权利要求29所述的装置, 其中进一步使得所述装置确定要在作为第一群组和第二群组这二者的成员的实体的设备上呈现指示了所述第一数字数据集的标识符的数据和指示了所述第二数字数据集的标识符的数据。
31.根据权利要求29-30中任一项所述的装置,其中进一步使得所述装置确定所述第一数字数据集和所述第二数字数据集中的哪一个在实质上满足从作为第一群组和第二群组这二者的成员的实体的设备接收到的搜索准则。
32.根据权利要求31所述的装置,其中所述搜索准则包括以下中的至少一个:位置、人、数字对象类型、关键词或上下文。
33.根据权利要求17-32所述的装置,其中第一群组的至少一个成员的设备是移动电话,其进一步包括: 用户接口电路和用户接口软件,其被配置为促进用户通过使用显示器来控制所述移动电话的至少一些功能,并被配置为对用户输入进行响应;以及 显示器和显示电路,其被配置为显示所述移动电话的用户接口的至少一部分,所述显示器和显示电路被配置为促进用户控制所述移动电话的至少一些功能。
34.一种携带了一个或多个指令的一个或多个序列的计算机可读存储介质,当由一个或多个处理器执行时,所述一个或多个指令的一个或多个序列使得装置至少实现权利要求1-16中任一项的至少一个方法。
35.一种方法,其包括促进对至少一个接口的访问,所述至少一个接口被配置以便: 指示要由第一群组的成员的设备共享的第一数字数据集; 指示当前作为第一群组的成员的一个或多个实体;以及 接受来自第一群组的成员的输入,所述输入指示了对第一群组的成员的改变。
36.一种方法,其包括促进对至少一个接口的访问,所述至少一个接口被配置为允许访问至少一个服务,所述至少一 个服务被配置为实现权利要求1-16中任一项的至少一个方法。
37.一种包括一个或多个指令的一个或多个序列的计算机程序产品,当由一个或多个处理器执行时,所述一个或多个指令的一个或多个序列使得装置至少实现权利要求1-16中任一项的方法的步骤。
38.一种包括用于实现权利要求1-16中任一项的方法的装置的设备。
全文摘要
用于由动态群组共享数据的技术包括确定要由第一群组的成员的设备共享的第一数字数据集。确定当前作为第一群组的成员的一个或多个实体。至少部分地促发基于来自第一群组的任何成员的输入而导致第一群组的成员方面的改变的动作。在一些实施例中,这些技术包括确定要由第二群组的成员的设备共享的不同的第二数字数据集。
文档编号H04L12/58GK103098421SQ201180043261
公开日2013年5月8日 申请日期2011年8月24日 优先权日2010年9月15日
发明者H·P·布伦德莫, S·M·奥尔森, M·T·王, J·拉皮埃尔 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1