用于数据处理的方法和装置的利记博彩app

文档序号:7919187阅读:401来源:国知局

专利名称::用于数据处理的方法和装置的利记博彩app
技术领域
:本发明的实施例一般涉及呈现管理(presencemanagement)领域,并且更特别地,涉及呈现管理系统中的联系人状态更新。
背景技术
:对于移动设备(例如蜂窝电话、个人数据助理等)的用户的两种典型的关注在于当〗吏用即时消息收发类型应用时,通过传送和接收数据所耗用的功率以及字节速率使用。通常,通过通用分组无线业务(GPRS)提供数据服务的移动计划对于在特定时间段内使用的字节量进行收费。基于诸如GPRS和增强型数据速率GSM演进(EDGE)这样的空中网络服务对用户可用的带宽是相当有限的。在相同时间一起使用许多设备应用(例如,即时消息收发器(IM)、Web浏览器和同步客户机)耗用了该有限带宽,并且导致数据传输中的延迟。
发明内容一种方法,其包括在接收到联机联系人的呈现状态已经改变的指示之后,更新所述联才A^系人的呈现状态。记录状态对于所述联M系人已经改变的指示。对于具有包括所述联4碌系人的联系人列表的联机身份,确定联系人状态保持事件已经发生。在对于所述联机身份发生了释放事件之后,将所述联机联系人的呈现状态上的改变传播至对所述联机联系人感兴趣的联机身份的客户机设备。通过参照附图,可以更好地理解本发明实施例,并且使得众多目的、特征和优点对于本领域的技术人员显而易见。图1描绘了在发生联系人状态更新保持事件(holdevent)之后保持联系人状态更新的服务器的例子;图2描绘了用于保持联系人状态更新的示例操作的流程图;图3描绘了基于联系人的优先值来调整联系人信息的流动的示例呈现管理系统;图4描绘了向联系人分派优先值的示例操作的流程图;图5描绘了动态更新联系人的优先值的示例操作的流程图;图6描绘了利用映射值来传送联系人信息的示例呈现管理系统;图7描绘了使用映射值来写入联系人信息的示例操作的示例流程图;图8描绘了从分层可扩展联系人结构中清除信息的示例操作的流程图;以及图9描绘了示例计算机系统。具体实施方式以下描述包括体现当前所描述的本发明实施例的技术的示例性系统、方法、技术、指令序列和计算机程序产品。然而,要理解,可以在没有这些具体细节的情况下实施所描述的实施例。例如,尽管示例涉及联系人列表,然而可以以各种结构中的任何一种来对联系人进行编码,并且实施例不应当限于诸如M或数组这样的"列表"类型结构。联系人列表的示例实现包拾軟列表(hashtable)、树、树和表的混合,等等。在其它实例中,为了不模糊本说明书,并未详细示出公知的指令实例、协议、结构和技术。以下描述使用术语"身份,,、"联系人,,、"呈现管理"、"呈现管理系统,,。术语"身份,,和"联系人,,被用于指代对用户的表示,但却是从不同的角度来看。例如,第一用户具有身份"用户1"。用于"用户1"的联系人列表包括联系人"用户2"。笫二用户具有身份"用户2",并且维护包括联系人"用户1"的联系人列表。就第一用户而言,"用户1"是身份而"用户2"是联系人。就第二用户而言,"用户2"是身份而"用户1"是联系人。在本说明书中,"联机"通常在这两个术语"身份,,和"联系人"之前,因为这些术语表示联机呈现。术语"呈现管理"用于指代管理联系人的联机呈现信息的功能性。术语"呈现管理系统"用于指代对呈现管理信息(例如,联系人的状态、联系人信息,等等)进行读、写、传送、处理和/或显示的设备(例如,客户机、服务器、移动电话等)。管理联系人的联机呈现信息涉及从联系人向感兴趣的身份传播联系人状态更新。对于某一身份来说,联系人列表可以包括数百至数千的联系人。当那些联系人之一改变呈现状态时(例如,从有空到不要打扰),该改变被从联系人的设a播到服务器、传播到维护联系人列表的身份的一个或多个设备。尽管这种单一改变或状态更新耗用少量资源,然而在不同时间发生的对大量联系人的状态更新却耗用较为可观的资源量(包括带宽和功率)。虽然功耗对于台式计算机来说可能不是什么因素,但是对于在具有较为有限的电源的设备(例如移动电话、个人数据助理等)上的大^e^莫和/或频繁的状态更新来说,功耗可能是重要的因素。图i描绘了在发生联系人状态更新保持事件之后保持联系人状态更新的服务器的例子。设备101包括客户机联系人列表管理器102和用于身份"Mag"的联系人列表103。所描绘的联系人列表103具有联系人"Dad,,、"Dan"、"Jus"、"Kim"、"CT2"以及相应的呈现状态"移动-不要打扰(MOBILE-DND)"、"DND(不要打扰)"、"ONLINE(联机),,、"ONPHONE(电话中)"、"MOBILE(移动),,。对于Mag的呈现状态指示"AVAILABLE(有空)"。低功率事件发生在设备101处(例如,设备由于缺乏使用而进入睡眠模式,设备101从外部电源切换到内部电池,等等)。当检测到低功率事件时,客户M系人列表管理器102将Mag的呈现状态从"AVAILABLE(有空),,改变为"INACTIVE(非活动的)"。低功率事件仅仅是联系人状态更新保持事件的一个例子。联系人状态更新保持事件的其它例子包括手动呈现状态改变、自动呈现状态改变、手动低功率事件、自动低功率事件、低4吏用事件等。在联系人状态更新保持事件之后,客户机联系人列表管理器单元102使得从设备101经由网络109向服务器115发送通知。该通知向服务器115通知Mag的呈现状态已经变为"INACTIVE(非活动的)"。服务器115包括服务器联系人列表管理器111、用于Mag的联系人列表105,以及主联机联系人列表107。所描绘的联系人列表105具有与在设备101处的联系人列表103中的那些联系人相同的联系人。服务器115为包括Mag在内的多个身份维护联系人列表。仅描绘了用于Mag的联系人列表105以避免不必要地使示例说明复杂化。服务器115还维护主联机联系人列表107。主联机联系人列表107跟踪所有联机联系人(即"所连接的"联系人)的呈现状态。所描绘的活动联系人列表107具有联系人"Mag"、"Dad"、"Dan"、"Jus"、"Kim"、"CT2"和"UT7"以及相应的呈现状态"INACTIVE(非活动的)"、"MOBILE-DND(移动-不要打扰)"、"DND(不要打扰)"、"ONLINE(联机)"、"ONPHONE(电话中)"、"MOBILE(移动),,和"INOFFICE(在办公室)"。服务器联系人列表管理器111向感兴趣的身份的联系人列表传播对于在活动联系人列表107中的联系人的状态更新。响应于来自设备101的通知,服务器联系人列表管理器lll实现多个更新。服务器联系人列表管理器111更新联系人列表105和主联^系人列表107来反映Mag的呈现状态变成"INACTIVE(非活动的)"。服务器联系人列表管理器111还记录以下指示由于在设备处发生联系人状态更新事件(即,呈现状态更新成INACTIVE),将要在服务器115处保持联系人状态更新而不进一步将其传播至该设备101。在图1的示例说明中,服务器联系人列表管理器111被描绘为更新联系人列表105中的值(例如比特)来指示将要在服务器处停止联系人状态更新。在某一时刻,联系人Jus的呈现状态从ONLINE(联机)改变为LUNCH(午餐)。服务器联系人列表管理器111在活动联系人列表107中更新Jus的呈现状态并且为Mag在联系人列表105中更新呈现状态。然而,对Jus的联系人状态更新并不被传递至设备101。服务器联系人列表管理器111制止向设备101传递对Mag的联系人状态更新,而设置与联系人列表105相关联的值或比特来指示将要保持联系人状态更新。在设置该保持值时,若干联系人的呈现状态可以改变,也许是多次。实际上,联系人的呈现状态可以改变若干次并且最后返回到保持事件之前的呈现状态。当释放事件发生时,联系人列表105中的联系人的状态更新被传送至设备101。释放事件可以发生在服务器115处或者可以发生在设备101处。释放事件的例子包括时间周期的截止时间、从设备101到服务器115的关于电源已经改变的通知、传送了指示高使用或正常使用的使用事件、Mag的状态从INACTIVE到较为活动的呈现状态的自动或手动改变、在服务器115处对于传送呈现状态的改变的指令,等等。在释方文事件发生之后,可以有区别地实现关于确定要传送哪些状态更新的任务。在第一例子中,服务器联系人列表管理器lll可以为联系人列表中的所有联系人维护当前的呈现状态以及联系人的初始呈现状态。在释放事件之后,服务器联系人列表管理器111在列表上游走并且比较当前的和初始的呈现状态,以便确定自从设置保持值之后哪些联系人具有不同的呈现状态。在另一例子中,联系人列表中的每个联系人均与"修改比特(dirtybit),,相关联。如果在保持期间对于联系人来说发生了呈现状态上的改变,那么服务器联系人列表管理器lll设置修改比特,其指示改变已经发生。服务器联系人列表管理器111确定哪些联系人设置了其修改比特,并且为那些联系人传送联系人状态更新。除了有区别地实现任务之外,不同的实现可以不同地存储和组织数据。例如,图1中所描绘的联系人列表很可能不维护在整个联系人列表中联系人的冗余指示,尽管这样的实现也是可能的。实施例可以维护与身份关联的结构以;sjt联系人及其信息的引用。服务器处的"联系人列表,,会标识身份(例如Mag)并且具有对主联机联系人列表的引用(例如,指针、散列值、索引等)。另外,主联系人列表不一定限于联机联系人,其还可以指示脱机联系人。在另一实施例中,在服务器处的综合联系人列^示联系人的呈现状态,并且包括(或引用)标识了(例如通过散列值、指针、索引等)感兴趣的身份的结构。而在另一实施例中,服务器联系人列表管理器111可以分离于联系人列表来维护用于身份的保持值的结构,并且不一定集成到联系人列表中。图2描绘了用于保持联系人状态更新的示例操作的流程图。在块201处,接收以下通知在用于身份XYZ的设备处已经发生联系人状态更新保持事件。在块203处,设置值来指示将要保持对XYZ的联系人的状态更新。从块203到块205的虚线指示控制流不一定处于特殊的时间(例如,在块203和205的操作之间经过的时间可以变化)。在块205处,为联系人ABC(其处于XYZ的联系人列表中)接收呈现状态更新。在块207处,在服务器中XYZ的联系人列表中应用所接收到的对ABC的呈现状态更新。在块209处,设置值来指示呈现状态对于身份ABC来说已经改变。虚线表示从块209到块211的控制流。在块211处,检测影响XYZ联系人列表的释放事件。在块213处,确定自从保持事件以来XYZ联系人列表中已经改变了呈现状态的那些联系人。在块215处,XYZ联系人列表中被确定自从保持事件以来已经改变了呈现状态的那些联系人的呈现状态被传送至身份XYZ的设备。跨呈现管理系统来保持对联系人的呈现状态更新降低了带宽耗用和功耗。越少的状态更新被传送,从而越少的数据被通过网络传输。具有有限供电的设备处理越少地对联系人的呈现状态更新,从而处理传送状态更新的消息和向这种消息传输确认就花费越少的功率和周期。还可以依照与联系人关联的优先值来调整对诸如呈现状态这样的关于联系人的信息的传送。可以针对特定环境收集与联系人有关的各种参数并利用其来向联系人分派优先值。基于所分派的优先值来调整关于联系人的信息流动。与具有较低优先值的那些联系W目比,可以从一个或多个服务器向客户机设备更频繁地传送具有较高优先值的联系人有关的信息。另夕卜,可以将与关联于满足一个或多个准则(例如门P艮优先值)的优先值的联系人有关的信息从服务器预取到客户机设备。图3描绘了基于联系人的优先值来调整联系人信息流动的示例呈现管理系统。呈现管理系统包括经由网络315进行通信的设备301和服务器313。设备301包括联系人优先化单元307、用于即时消息收发应用的联系人列表303,以及用于电子邮件应用的联系人列表305。所描绘的联系人列表303具有联系人Dad、Dan、Jus、Kim和CT2。所描绘的联系人列表305具有联系人Dad、Jus和Mag。联系人优先化单元307基于联系人的渗透性(pervasiveness)和对即时消息收发应用和电子邮件应用的数据的评估,将优先值与联系人列表303和305中的联系人进行关联。联系人优先化单元307可以使用许多优先化方案中的任何一种。优先化方案的例子包括仅基于设备301上的联系人的渗透性来进行优先化、仅基于对使用联系人的应用的数据的评估来进行优先化、基于一个或多个试探来进行优先化,或者优先化方案的任何组合。在图3中,联系人Dad和Jus在联系人列表303和305中均出现。联系人Dad和Jus被分派了比分派给其他联系人的优先值要高的优先值(或初步优先值),因为Dad和Jus在联系人列表303和305中均出现。联系人在多个联系人列表中的重复出现意味着较为频繁的联系和/或将在较大的可能性下访问这些联系人。所分派的优先值可以是初步的,因为联系人优先化单元307可以基于其它参数(例如,用户的访问历史、与联系人关联的注释和/或标记等)来调整所分派的优先值。联系人优先化单元307还可以基于所观察的事件(例如,联系人被访问的时间、传输给联系人的数据、与联系人的通信内容以及通信类型,等等)来动态调整所分派的优先值。另外,可以对应用进行不同的加权,由此向具有较大权重的应用所使用的联系人提供较多的权重。联系人优先化单元307向服务器313传送优先值。联系人优先化单元307还预取与具有最高优先值的联系人(例如,具有高于给定门限值的优先值的那些联系人)有关的信息。服务器313包括联系人列表309,其被描绘为与联系人列表303具有相同的联系人。服务器联系人列表管理器311将所传送的优先值与联系人列表309中的联系人进行关联。在某一时刻,接收对CT2的呈现状态更新。服务器联系人列表管理器311在联系人列表309中更新CT2的呈现状态。服务器联系人列表管理器311然后确定与CT2关联的优先值,并且相应地传送该呈现状态更新。例如,可以立即传送与"A,,的优先值相关联的联系人的信息,而可以在时间周期的最早截止时间或在另一消息上捎带着将与"C"的优先值相关联的联系人的信息传送至即时消息JlUC应用。图4描绘了向联系人分派优先值的示例操作的流程图。在块401处,对于利用联系人的每个应用开始操作循环。在块403处,确定应用所利用的联系人。例如,构建列表或者在已有的列表中标记联系人。在块407处,对于在块403处所确定的每个联系人开始另一操作循环。在块409处,检查与联系A^目关的数据。例如,检查类别标记以便确定商务联系人和个人联系人。在块411处,根据所检查的数据,应用一个或多个试探来获得联系人的优先值。例如,可以向被标记为商务联系人的联系人分派较大的优先值。在块413处,在联系人优先化列表中指示该联系人,除非该联系人已经在优先化列表中。同样在块413处,所获得的优先值与其关联。在一个实施例中,分离于现有的联系人列表而构建联系人优先化列表。在另一实施例中,现有联系人列表之一被用作联系人优先化列表。在另一实施例中,现有联系人列表之一被定义用来容纳用于优先化联系人的优先值。在块415处,递增用于联系人的应用计数器。在块417处,控419。在块419处,控制要么返回块401要么在不存在利用联系人的其它应用的情况下前进到块421。在块421处,基于对应的应用计数器更新每个联系人的优先值。在块423处,将优先值传送给服务器。图5描绘了用于动态更新联系人的优先值的示例操作的流程图。在块501处,监控利用联系人的应用。在块503处,在所监控的应用之一处检测事件。在块505处,确定所检测的事件是否影响联系人中任何一个的优先级。如果所检测的事件影响了联系人之一,那么控制流向块507。如果不影响,那么控制流回块501以便继续监控。在块507处,对于每个受影响的联系人开始操作循环。在块509处,基于所检测的事件来确定对于与受影响的联系A^目关联的优先值的调整。在块511处,基于所确定的调整来调整优先值。在块513处,标记联系人以便指示在优先值上的改变。在块514处,控制要么循环回到块507要么在不存在其它受影响的联系人的情况下前进到块515。在块515处,将所改变的优先值传送给服务器。在图4和图5中描绘的操作旨在帮助理解实施例,而不应当用来限制实施例。例如,可以重新计算而不是调整优先值。实施例可以计算一个或多个附加值并且基于另一参数选择优先值。例如,可以计算新的优先值,并且然后基于时间来选择旧的或新的优先值。如另一例子,可以不用像所描绘的那样实现块513。实施例可以构建受影响的联系人及其优先值的列表。此外,以上操作假设出于客户机的角度。可以在服务器处实现用于获得优先值或调整优先值的操作。例如,服务器可以基于从客户机设备检测到的特定行为(例如,暗示有威胁或被泄密的客户机设备的行为)来调整优先值。如另一例子,服务器可以基于服务器上的当前负栽来设置缺省优先值并且将那些优先值传送给客户机设备。尽管以上说明描绘了通过处理消息传输频率来较为有效地传送联系人信息,然而还可以通过处理消息的内容来较为有效地传送联系人信息。呈现管理系统可以利用映射值来传送联系人信息。联系人信息可以存储在分层可扩展结构("分层可扩展联系人结构")中。呈现管理系统中的设备利用映射方案来将联系人值(例如,电子邮件地址、电话号码等)映射到分层可扩展联系人结构的合适字段。当呈现管理系统中的设M送数千联系人的信息时,采用映射值来定位分层可扩屑_联系人结构减小了消息的大小,因而减少了特别是企业恥漠方面的资源耗用(例如带宽)。图6描绘了利用映射值来传送联系人信息的示例呈现管理系统。客户机619包括分层可扩展联系人结构607、联系人管理单元603和联系人映射方案的表示601。联系人结构607包括联系人标识符"xyz@emailaddy.com"。出于说明目的,电子邮件地址被用作联系人标识符。另一值(例如,昵称、完全法定名称、移动电话号码、名字和号码的组合,等等)可以被用作联系人标识符。联系人xyz@emailaddy.com被描绘为具有以下联系人信息主电子由卩件xyz@emailaddy.com电话办7>室(555)555-1234家庭(555)555-4321地址家庭街道100ThisStreet城市Nowhere州Texas昵称Inventor(发明人)在图6中,将条目描绘为还编码了条目索引"23"。用于联系人xyz@emailaddy.com的条目可以编码条目索引或可以不编码条目索引。联系人映射方案表示601被描绘为将联系人字段标识符(例如,主电子邮件、电话等)映射到如下的较为紧凑的值<条目索引>主电子邮件1电话2电话,办/>室2,1电话,家庭2,2地址3地址,家庭3,1地址,家庭,街道3,1,1地址,家庭,城市3,1,2地址,家庭,州3,1,3昵称4在图6中,联系人列表管理器601接收xyz@emailaddy.com的联系人信息605(例如用户输入信息)。联系人信息包括家庭街道地址"100DThisStreet;"、办公室电话号码"(555)555-0000;"和昵称"Co-Inventor(共同发明人)"。客户机联系人列表管理器603利用联系人信息在联系人结构607中更新对应的条目。客户机联系人列表管理器603然后确定对于利用联系人信息而更新的字段的映射。利用映射方案表示601,客户机联系人列表管理器603确定以下映射"家庭街道地址"映射到"3,1,1;"、"办公室电话,,映射到"2,2;",以及"昵称"映射到"4."。客户机联系人列表管理器603使用联系人字段标识符的映射值生成紧凑型更新消息609,并且将新的联系人信息以及紧凑型更新消息609传送给服务器617。紧凑型更新消息609将信息编码如下23,2,1,"(555)555-0000",3,1,1,"100DThisStreet",斗,"Co-I證ntor,,接收紧凑型更新消息609的服务器617包括服务器联系人列表管理器611、联系人映射方案613和分层可扩展联系人结构615。联系人映射方案表示613代表与映射方案表示601相同的映射方案。可以使用不同的技术来在客户机619与服务器617之间建立映射方案。例子包括客户机619和服务器617协商建立映射方案、客户机619选择映射方案并将该选择传送给服务器617、服务器617选择映射方案并将所选择的映射方案传送给客户机619,等等。分层可扩展联系人结构615包括联系人xyz@emailaddy.com的条目。依照联系人映射方案表示613所表示的映射,服务器联系人列表管理器611利用消息609中的联系人信息来更新联系人结构615。服务器联系人列表管理器611确定xyz@emailaddy.com映射到条目"23"。很多技术可用于将条目映射到映射值并且可以随用于存储联系人信息的结构类型而变化。用于条目的映射方案的例子包括对条目编号、散列标识值(例如,主电子邮件地址),等等。进一步地,实施例可以对标识了条目的值使用一种映射方案而对条目的字段和子字段4吏用另一种映射方案。在确定条目23映射到xyz@emailaddy.com之后,服务器联系人列表管理器611将"2,1"映射到字段"电话"和子字段"办公室"。服务器联系人列表管理器611将"3,1,1"映射到字段"地址,,和子字段"家庭"然后到"街道,,。服务器联系人列表管理器611还将"4"映射到字段"昵称"。图7描绘了用于使用映射值来写入联系人信息的示例操作的示例流程图。在块701处,接收具有用于联系人的一个或多个值以及所映射的联系人字段值的更新消息。在块702处,读取所接收的消息的第一值。在块703处,确定分层可扩展联系人列表结构是否包括对应于第一读取值的条目。如果第一读取值对应于联系人列表结构中的条目,那么控制流向块707。如果不对应,那么控制流向块705。在块705处,对于第一读取值,将条目添加到联系人列表结构。控制从块705流向块707。在块707处,在联系人列表结构中选择条目(要么是新添加的条目要么是匹配条目)。在块709处,读取消息中的下一值。在块711处,将读取值映射到该条目的对应的联系人字段。在块713处,读取消息中的下一值。在块715处,确定读取值是映射值还是联系人字段值。例如,映射值可以是第一数据类型(例如整数),而将联系人字段值读为第二数据类型(例如串文字)。在另一例子中,可以使用定界符来区分映射值与联系人字段值。如另一例子,可以按照这样的方式构造消息,即在该方式下,可以使用读取值的位置来确定读取值是映射值还是联系人字段值。如果读取值是映射值,那么控制流向块717。如果读取值是联系人字段值,那么控制流向块719。在块717处,将所读取的映射值映射到对应的子字段。控制从块717流回到块713。在块719处,将联系人字段值写入所映射的字段或子字段中。在块721处,确定是否已到达消息的末端。如果已到达消息的末端,那么控制流向块723。如果消息仍具有较多的值要读取,那么控制流回到块709。在块723处,确认成功更新了所选择的条目。例。例如,可以不从消息中读取值。当接收到消息时,可以将消息解析成分量并将其存储在不同过程所读取的不同緩冲器中。如另一例子,可以不单独读取映射索引。例如,可以使用定界符来标识一串映射值的末端。联系人列表管理器或关联的过程或线程可以继续读取所有的映射值,直到读取了映射值定界符。然后使用读取值的聚合来直接映射到子字段,而不是从父字段向下游走到各级子字段。图8描绘了用于从分层可扩展联系人结构中清除信息的示例操作的流程图。在块801处,接收用于联系人的移除消息。在块802处,读取移除消息的第一值。在块803处,确定联系人列表结构是否包括对应于第一读取值的条目。如果第一读取值不对应于第一读取值,那么控制流向块805。如果第一读取值对应于条目,那么控制流向块807。在块805处,生成指示联系人不在列表中的通知。在块807处,选择对应于第一读取条目的条目。在块809处,读取直到映射值定界符的值。在块811处,将读取值映射到所选择的条目的对应字段或子字段。在块813处,确定所映射的字段或子字段具有联系人字段值或者所映射的字段或子字段是分层标签(例如,"电话"可以是"办公室"和"家庭"电话号码的标签)。如果所映射的字段或子字段具有值,那么控制流向块815。如果所映射的字段或子字段操作为分层标签,那么控制流向块821。在块815处,清除联系人字段值。在块817处,确定是否已到达移除消息的末端。如果已到达消息的末端,那么控制流向块819。如果还没有到达消息的末端,那么控制流向块809。在块819处,确认处理了移除消息。在块821处,提示确认将要清除所有子字段。如果确认将要清除分层标签的所有子字段,那么控制流向块823。如果没有确认,那么控制流向块825。在块823处,清除子字段的值。控制从块823流向块817。在块825处,呈现分层标签下的子字段,并且提示选择所呈现的子字段中的特定子字段以便对值进行清除。在块827处,清除任何所选择的子字段的值。控制从块827流向块817。在图7和图8的流程图中所描绘的示例操作假i殳消息具有用于一个联系人的信息。消息可以具有用于多个联系人的信息。可以通过数据类型、值大小、联系人定界符等来标识消息中的每个联系人。另外,图8中的操作可以有所不同以便适应包括指定了移除操作的命令的消息。用户可以指定并且消息编码表示该指定的命令,而不是确定是否清除特定的字段值或所有子字段的值。进一步地,可以实现附加操作。例如,为不同的字段或子字段重新分派条目或添加条目可以引起对映射方案表示进行更新的操作。使用直接映射允许高效传送利用一个或多个分层可扩展联系人结构所表示的联系人的联系人信息。当在数千的M^莫上进行对联系人的通信时,为该高效传送所保存的资源是相当多的。另外,该直接映射在不破坏映射的情况下考虑了联系人结构的灵活性。可以按照需要重新索引每个条目并且所更新的数据结构在设备(例如,服务器设备与客户机设备)之间保持同步。例如,当删除了多个电话号码条目并且添加了新的电话号码条目时,新的电话号码条目可以取代旧的电话号码条目。参照图6作为说明,可以修改联系人结构以便列出商务地址而不是家庭地址。尽管将移除家庭字段,然而对家庭地址元素的映射可以被重新用于商务地址元素。该灵活性和循环利用4吏得映射保持紧凑。可以将所描述的实施例提供为计算机程序产品或软件,该计算机程序产品或软件可以包括在其上存储了指令的机器可读介质,可以使用该指令来编程计算机系统(或其它电子设备)以便实现根据本发明实施例的过程,而不管目前描述与否,因为文中并没有枚举每种可设想的变化。机器可读介质包括用于以机器(例如计算机)可读的形式(例如软件、处理应用)来存储或传输信息的任何机制。机器可读介质可以包括但不限于磁存储介质(例如软盘);光存储介质(例如CD-ROM);磁光存储介质;只读存储器(ROM);随机访问存储器(RAM);可擦可编程存储器(例如EPROM和EEPROM);闪速存储器;或者适于存储电子指令的其它类型的介质。另外,可以用电、光、声或其它形式的传4K言号(例如,载波、红外信号、数字信号等)或者导线、无线或其它通信介质来体现实施例。图9描绘了示例计算机系统。计算机系统包括处理器单元卯l(可能包括多个处理器、多个核心、多个节点和/或实现多线程等)。计算机系统包括存储器907。存储器907可以是系统存储器(例如一个或多个高速緩存、SRAM、DRAM、零电容RAM、双晶体管RAM、eDRAM、EDORAM、DDRRAM、EEPROM、NRAM、RRAM、SONOS、PRAM等)或以上已描述的机器可读介质可能的实现中的任何一种或多种。计算机系统还包括总线903(例如,PCI、ISA、PCI-Express、HyperTransport、InfiniBand⑧、NuBus等)、网^S^口909(例如,ATM接口、以太网接口、帧中继接口、SONET接口、无线接口等),以及存#^殳备911(例如,光存储器、磁存储器等)。系统还包括联系人列表管理器921。联系人列表管理器921被配置以便实现以上用于保持和/或释放联系人状态更新、优先化联系人、基于联系人的优先值来调整联系人信息流动以及映射分层可扩展联系人结构的字段和子字段的功能性中的任何一个或多个。尽管被示作分离单元,然而可以将联系人列表管理器921实现为编码于存储器907中的软件、处理单元卯l中的逻辑,以及软件和硬件这二者,等等。进一步地,实现物可以包括在图9中未示出的更少的或附加的组件(例如,视频卡、音频卡、附加网络接口、外围设备等)。处理器单元卯l、存储设备911、联系人列表管理器921和网^口卯9耦合于总线903。尽管被示作耦合于总线卯3,然而存储器卯7可以耦合于处理器单元卯l。虽然参照各种实现和开发描述了实施例,但是可以理解,这些实施例是说明性的并且本发明的范围不限于此。通常,可以用与任何硬件系统一致的设施来实现如文中所描述的用于保持和/或释放联系人状态更新、优先化联系人、基于联系人的优先值来调整联系人信息流动以及映射分层可扩展联系人结构的字段和子字段的技术。有可能存在很多变化、修改、添加和改进。进一步地,对于联机联系人的呈现状态更新并不要求用户在计算机处改变呈现管理应用上的呈现状态。如先前所陈述的,可以在包括移动电话、智能电话、膝上型计算机、个人数据助理、游戏控制台等在内的各种设备上维护呈现状态。另外,呈现状态的改变并不要求用户的交互(或者缺乏交互,例如,到空闲状态的改变)。举例来说,遗漏对移动电话的呼叫可以触发与该移动电话关联的联系人的呈现状态的改变。如另一例子,服务器可以触发该服务器所维护的联系人的呈现状态的改变(例如,当网络通信业务量达到给定门限时,服务器迫4吏所有呈现状态成为"暂时不可用")。可以为文中作为单个实例而描述的组件、梯:作或结构提供多个实例。最后,各种组件、操作和数据存储之间的边界在某种程度上是任意的,并且在特定的说明性配置的上下文中说明了特定的操作。设想了对功能性的其它分配并且其可以落入本发明的范围内。通常,可以将示例性配置中呈现为分离组件的结构和功能性实现为组合的结构或组件。类似地,可以将呈现为单个组件的结构和功能性实现为分离组件。这些以及其它的变化、修改、添加和改进都可以落入本发明的范围内。权利要求1.一种方法,其包括接收对于在第一设备处发生联系人状态更新保持事件的指示,所述第一设备用于由呈现管理应用所表示的联机身份;响应于接收到对于发生所述联系人状态更新保持事件的指示,指示将要在第二设备处保持为所述身份所维护的一组一个或多个联机联系人的状态更新;当所述呈现管理应用继续表示所述身份联机时,至少部分地基于所述指示在所述第二设备处维护联机身份的所述一组一个或多个联机联系人的状态;以及在释放事件发生之后,向所述第一设备释放对所述一组一个或多个联机联系人的状态的更新。2.根据权利要求1的方法,其中所述联系人状态更新保持事件包括以下之一手动低功率事件、自动低功率事件、低使用事件、状态设置事件。3.根据权利要求1的方法,其中所述释放事件包括以下之一时间周期的截止时间、功率改变事件、使用改变事件,以及状态改变事件。4.根据权利要求1的方法,其中所释放的状态更新表示对一组一个或多个联系人的状态的净改变。5.根据权利要求1的方法,其中所述维护状态包括为一组联系人中的第一联系人设置比特,以便为所述一组联系人中的第一联系人标识改变。6.根据权利要求1的方法,其进一步包括在被传输至所述笫一设备的其它数据上捎带所述状态更新。7.根据权利要求1的方法,其中与在检测到发生所述联系人状态更新保持事件之前相比,所述第一设备为所述呈现管理应用传输状态消息的频繁度降低。8.根据权利要求1的方法,其进一步包括当处于对所述呈现管理应用来说的低使用模式下时,为感兴趣的联系人维护所述身份的状态。9.根据权利要求1的方法,其进一步包括如果在给定时间周期内未接收到保持活性消息,则重新设置所述身份的状态。10.—种方法,其包括在接收到联机联系人的呈现状态已经改变的指示之后,更新所述联机联系人的呈现状态;记录呈现状态对于所述联机联系人已经改变的指示;对于具有包括所述联机联系人的联系人列表的联机身份,确定联系人状态保持事件已经发生;以及在对于所述联机身份发生了释放事件之后,将所述联机联系人的呈现状态上的改变传播至对所述联机联系人感兴趣的联机身份的客户机设备。11.根据权利要求10的方法,其中所述联系人状态更新保持事件包括以下之一手动低功率事件、自动低功率事件、低使用事件、状态设置事件。12.根据权利要求10的方法,其中所述释放事件包括以下之一时间周期的截止时间、功率改变事件、使用改变事件,以及状态改变事件。13.根据权利要求10的方法,其进一步包括检测对于所述联机身份发生了所述联系人状态保持事件;以及记录对于所检测到的联系人状态保持事件的指示。14.一种装置,其包括网,口,其被配置以便传送和接收数据;以及联系人列表管理器,其被配置以便在接收到联系人的呈现状态已经改变的指示之后更新所述联系人的呈现状态,记录呈现状态对于所述联系人已经改变的指示,以及在以下情况下将所述联系人的呈现状态上的改变传播至对所述联系人感兴趣的身份的设备至少部分地基于对所述身份发生了联系人状态保持事件的指示而允许将联系人状态更新传播至所述设备。15.根据权利要求14的装置,其中所述联系人列表管理器被进一步配置以便对于所述身份检测所述联系人状态更新保持事件的发生,以及记录对于所述发生的指示。16.根据权利要求14的装置,其中所述联系人列表管理器被进一步配置以便检测释放事件的发生,并且其被配置以便在检测到所述释放事件之后清除对于发生保持事件的指示。全文摘要本发明提供了一种用于数据处理的方法和装置。为联系人管理联机呈现信息涉及从联系人向感兴趣的身份传播联系人状态更新。对于某一身份,联系人列表可以包括成百上千的联系人。当那些联系人之一改变呈现状态时(例如,从有空到不要打扰),所述改变被从所述联系人的设备传播到服务器、传播到维护所述联系人列表的身份的一个或多个设备。尽管这种单一改变或状态更新耗用少量资源,然而在不同时间发生的对大量联系人的状态更新却耗用较为可观的资源量,包括带宽和功率。虽然功耗对于台式计算机来说可能不是什么因素,但是对于在具有较为有限的电源的设备(例如移动电话、个人数据助理等)上的大规模和/或频繁的状态更新来说,功耗可能是重要的因素。文档编号H04L12/58GK101404665SQ20081014982公开日2009年4月8日申请日期2008年9月27日优先权日2007年10月2日发明者G·M·比德尔,M·L·马斯特森申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1