CN105190601B - 移动设备上的基于区域的排序 - Google Patents

移动设备上的基于区域的排序 Download PDF

Info

Publication number
CN105190601B
CN105190601B CN201480014390.6A CN201480014390A CN105190601B CN 105190601 B CN105190601 B CN 105190601B CN 201480014390 A CN201480014390 A CN 201480014390A CN 105190601 B CN105190601 B CN 105190601B
Authority
CN
China
Prior art keywords
user
contact person
metadata
action
contacts list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480014390.6A
Other languages
English (en)
Other versions
CN105190601A (zh
Inventor
D·施瓦茨
P·陶西格南特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105190601A publication Critical patent/CN105190601A/zh
Application granted granted Critical
Publication of CN105190601B publication Critical patent/CN105190601B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

各实施例涉及实现基于区域的排序以及创建临时元数据排序值。在一种场景中,计算机系统发送对联系人列表的请求,其中该请求包括用户的区域的指示。联系人列表包括指定用户的联系人的联系人信息。计算机系统接收所请求的联系人列表,该列表包括用户的联系人的字段中的至少一个的追加的、区域特定的排序元数据的各个部分。然后,计算机系统使用排序元数据,根据所选排序准则来排序联系人列表的联系人,其中排序元数据包括用户的区域特定的排序顺序。在联系人被排序之后,计算机系统在用户界面中向用户呈现经排序的联系人。

Description

移动设备上的基于区域的排序
背景
计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等等在内的各种各样的功能。软件应用通常被设计成执行特定的任务,诸如用于草拟文档的文字处理器应用或者用于管理电子邮件、联系人和日历的个人信息管理程序。
通常,个人信息管理程序被配置成支持在程序内排序联系人、电子邮件或其他项。通常基于各种用户选择的准则来排序这些项。经常基于Unicode代码页面来排序各个项。尽管这样的排序可能适用于英语用户,但是对于外语用户而言它可能不被接受,因为其他语言可能具有用于排序单词的不同规则。例如,在丹麦语中,“Aa”被视为单一字母,而在荷兰语中,“ij”排序在“y”之后,而不是在“ih”和“ik”之间。当个人信息管理程序作为离线Web应用运行时,这样的排序可能进一步被复杂化。
发明内容
此处所描述的各实施例涉及实现基于区域的排序以及创建临时元数据排序值。在一个实施例中,计算机系统发送对联系人列表的请求,其中该请求包括用户的区域的指示。联系人列表包括指定用户的联系人的联系人信息。计算机系统接收所请求的联系人列表,该列表包括用户的联系人的字段中的至少一个的经追加的区域特定的排序元数据的各个部分。然后,计算机系统使用排序元数据,根据所选排序准则来排序联系人列表的联系人,其中排序元数据包括用户的区域特定的排序顺序。在联系人被排序之后,计算机系统在用户界面中向用户呈现经排序的联系人。
在另一个实施例中,计算机系统从用户接收对联系人列表的请求。计算机系统访问联系人列表中的用户的联系人中的至少一个,确定用户的当前区域,并基于所确定的区域来生成用户的联系人中的至少一个的排序元数据。排序元数据包括针对每一个联系人以及针对不同组排序准则的区域特定的元数据。计算机系统还向所述用户发送带有所生成的排序元数据的联系人列表,以便用户使用排序元数据,根据所选排序准则来排序联系人列表的联系人。
在再一个实施例中,处于离线模式的移动计算设备从用户接收向用户的联系人列表添加新联系人的请求。移动计算设备使用排序功能来排序多个相邻联系人,这些相邻联系人是新联系人要被放置在其之间的那些联系人。然后,移动计算设备基于相邻联系人中的每一个的联系人数据来创建新联系人的临时元数据值,并使用临时元数据值来排序包括新联系人的联系人列表中的联系人。
提供本概述是为了以精简的形式介绍将在以下具体实施方式中进一步描述的一些概念。该概述不意图标识所要求保护的主题的关键特征或基本特征,也不意图被用来帮助确定所要求保护的主题的范围。
附加的特征和优点将在以下的描述中被阐述,并且部分地可通过该描述而对本领域技术人员显而易见,或者可通过对本文中的教示的实践来习得。在此描述的各实施例的特征和优点可以通过在所附权利要求中特别指出的手段和组合来实现并获取。在此描述的各实施例的特征将在以下描述和所附权利要求书中变得更加完全显而意见。
附图简述
为了进一步阐明在此描述的各实施例的以上和其他特征,将参考附图来呈现更具体的描述。可以理解,这些附图仅是描绘在此描述的实施例的示例,因此将不被认为是对其范围的限制。各实施例将通过使用附图用附加特征和细节来描述和解释,附图中:
图1示出了此处所描述的各实施例可以在其中操作的计算机体系结构,包括实现基于区域的排序。
图2示出了用于实现基于区域的排序的示例方法的流程图。
图3示出了用于实现基于区域的排序的替代的示例方法的流程图。
图4示出了用于创建临时元数据排序值的示例方法的流程图。
图5A示出了其中排序元数据被追加到联系人字段的实施例。
图5B示出了其中为新联系人创建临时元数据值的实施例。
具体实施方式
此处所描述的各实施例涉及实现基于区域的排序以及创建临时元数据排序值。在一个实施例中,计算机系统发送对联系人列表的请求,其中该请求包括用户的区域的指示。联系人列表包括指定用户的联系人的联系人信息。计算机系统接收所请求的联系人列表,该列表包括用户的联系人的字段中的至少一个的经追加的区域特定的排序元数据的各个部分。然后,计算机系统使用排序元数据,根据所选排序准则来排序联系人列表的联系人,其中,所述排序元数据包括用户的区域特定的排序顺序。在联系人被排序之后,计算机系统在用户界面中向用户呈现经排序的联系人。
在另一个实施例中,计算机系统从用户接收对联系人列表的请求。计算机系统访问联系人列表中的用户的联系人中的至少一个,确定用户的当前区域,并基于所确定的区域来生成用户的联系人中的至少一个的排序元数据。排序元数据包括针对每一个联系人以及针对不同组排序准则的区域特定的元数据。计算机系统还向用户发送带有所生成的排序元数据的联系人列表,以便用户使用排序元数据,根据所选排序准则来排序联系人列表的联系人。
在再一个实施例中,处于离线模式的移动计算设备从用户接收向用户的联系人列表添加新联系人的请求。移动计算设备使用排序功能来排序多个相邻联系人,这些相邻联系人是新联系人要被放置在其之间的那些联系人。然后,移动计算设备基于相邻联系人中的每一个的联系人数据来创建新联系人的临时元数据值,并使用临时元数据值来排序包括新联系人的联系人列表中的联系人。
以下讨论现在是指可执行的多种方法和方法动作。应当注意,虽然这些方法动作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非是特别声明的或者是因为一个动作依赖于在执行该动作之前完成另一动作而需要的。
在此描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本文中描述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据的形式存储计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,此处描述的各实施例可包括至少两种显著不同种类的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM,ROM,EEPROM,CD-ROM,基于RAM、闪存、相变存储器(PCM)的固态驱动器(SSD),或其它类型的存储器,或者其他光盘存储、磁盘存储或其他磁存储设备,或可用于以计算机可执行指令、数据或数据结构形式存储所期望的程序代码资料且可被通用或专用计算机访问的任何其他介质。
“网络”被定义成允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路和/或数据交换机。当信息通过网络(硬连线、无线、或者硬连线或无线的组合)被传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可以包括如下的网络:所述网络可以用于以计算机可执行指令形式或数据结构形式承载数据或所期望的程序代码资料,并且可以被通用或专用计算机访问。上述的组合也应当被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓冲在网络接口模块(例如,网络接口卡或“NIC”)内的RAM中,然后最终被传输给计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行(或计算机可解释)的指令包括例如致使通用计算机、专用计算机、或专用处理设备执行某个功能或某组功能的指令。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,各实施例可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、平板、寻呼机、路由器、交换机等等。此处描述的各实施例还可在分布式系统环境中实践,在该环境中本地和远程计算机系统通过网络(要么经由硬连线数据链路、无线数据链路、要么经由硬连线和无线数据链路的组合)链接起来,每个计算机系统都执行任务(例如,云计算、云服务等)。在分布式系统环境中,程序模块可位于本地和远程存储器存储设备两者中。
在该说明书和下面的权利要求书中,“云计算”被定义为用于允许对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义不限于可从这样的模型(在被合适地部署时)中获得的任何其他多个优点。
例如,云计算当前被用于市场,以便提供对可配置计算资源的共享池的普遍存在且方便的按需访问。此外,可配置计算资源的共享池可经由虚拟化而被快速地供应,并可利用低管理努力或服务提供商干预来发布,并随后因此被缩放。
云计算模型可由各种特性组成,诸如按需自服务、广泛网络访问、资源池、快速灵活性、测定的服务等。云计算模型还可形成各种服务模型,诸如例如软件即服务(“SaaS”)、平台即服务(“PaaS”)以及基础结构即服务(“IaaS”)。云计算模型还可以使用不同的部署模型来部署,诸如私有云、社区云、公共云和混合云等。在该描述和权利要求书中,“云计算环境”是其中采用了云计算的环境。
除此之外或作为替代,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执行。作为示例而非限制,可被使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、程序专用的集成电路(ASIC)、程序专用的标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)以及其它类型的可编程硬件。
此处还描述的系统架构可包括多个独立组件,每个作为整体对系统功能作贡献。该模块性在着手处理平台可缩放性问题时,允许增加的灵活性,并且,为此提供各种优点。通过在受限功能范围内的更小规模部分的使用,系统复杂性和增长可被更容易地管理。通过这些松散耦合的模块的使用,平台容错性增强。随着商业需要规定,各组件可被增量式地增长。模块化开发也转化成减少了新功能的上市的时间。新功能可被添加或减去而不影响核心系统。
图1示出了其中可以采用至少一个实施例的计算机体系结构100。计算机体系结构100包括客户端计算机系统101。客户端计算机系统101可以是任何类型的本地或分布式计算机系统,包括云计算机系统。计算机系统包括用于执行各种不同功能的各模块。例如,通信模块105可以接收来自用户115的通信(诸如排序联系人的请求116或添加联系人的请求117),并可以向服务器计算机系统125发送以及从其接收通信。(与客户端计算机系统101相同,服务器计算机系统125可以是任何类型的本地或分布式计算机系统。)例如,通信模块105可以向服务器发送联系人列表请求121,并作为响应,接收联系人列表119。客户端列表可包括用户的联系人111中的任何一个或全部,以及包括电子邮件127和日历信息128的其他相关联的用户数据126。
在某些情况下,客户端计算机系统101可以被配置成运行个人管理web应用。个人管理web应用允许用户115通过web浏览器(例如,用户界面108)访问他的或她的电子邮件,联系人和日历信息。在某些情况下,可以在web应用未连接到因特网的离线或断开模式下使用个人管理web应用。在这样的场景中,用户117可能希望基于某一准则118(例如,姓氏)来排序他的或她的联系人。如此,向服务器的对联系人列表的任何请求(当在线时)将包括用户的区域112。服务器可以将区域特定的排序元数据120追加到联系人列表,该区域特定的排序元数据120可以被用来当用户的设备离线时以区域特定的方式排序用户的联系人。
如此,用户可以发送从服务器125接收联系人列表的请求121(在线时的某个点)。被发送到客户端计算机系统101的联系人列表119包括用户的联系人111和某些区域特定的元数据120。区域特定的元数据允许排序模块106甚至在web应用处于离线模式时也能排序联系人111。相应地,在离线模式使用web应用时,用户可以请求他的或她的联系人根据一种准则(例如,姓氏)被排序。排序模块106从本地数据存储110访问联系人111,并使用区域特定的元数据根据姓氏来排序联系人。可以基本上根据任何组的准则118来排序联系人,包括(但不仅限于),根据字段类型、名字、姓氏、公司名称、城市(地址位置),以及创建日期来排序。可以按升序或者降序排序联系人。可以准备经排序的联系人109以供由呈现模块107向用户呈现。然后,在用户界面108中呈现所准备的经排序的联系人。其他实施例包括创建排序元数据,并且在某些情况下,为新添加的联系人创建临时排序元数据。下面将分别参考图2、3以及4的方法200、300以及400来进一步说明这些概念中的每一个。
鉴于上述系统和体系结构,参照图2、3和4的流程图将更好地理解可根据所公开的主题实现的方法。为了简洁起见,作为一系列框示出和描述了方法。然而,应了解和明白,所要求保护的主题不受框的顺序的限制,因为某些框可以按不同的顺序进行,和/或与此处所描绘和描述的其他框同时进行。此外,并非所有的所示出的框都是实现下面所描述的方法所必需的。
图2示出了用于实现基于区域的排序的方法200的流程图。现在将频繁地参考图1的环境100的组件和数据以及如图5A和5B所示的各实施例来描述方法200。
方法200包括发送对联系人列表的请求的动作,该请求包括用户的区域的指示,联系人列表包括指定用户的一个或多个联系人的联系人信息(动作210),接收所请求的联系人列表的动作,接收到的联系人列表包括用户的联系人的字段中的至少一个的经追加的排序元数据的一个或多个部分,排序元数据是用户的区域特定的(动作220),从用户接收基于所选排序准则来排序联系人列表的联系人的请求的动作(动作230),使用排序元数据,根据所选排序准则来排序联系人列表的联系人的动作,排序元数据包括用户的区域特定的排序顺序(动作240),以及在用户界面中向用户呈现经排序的联系人的动作(动作250)。
在某些情况下,接收到的联系人列表被存储在数据存储中。更进一步,在某些情况下,排序是使用Unicode排序与排序元数据相结合来执行的。可以由服务器计算机系统125来计算排序元数据120。可以将此元数据追加到联系人列表,此元数据可以不是面向用户的数据(即,用户将不会看到经追加的元数据)。用户的联系人111的元数据中所生成的排序顺序列被用于排序,并且一般向用户隐藏。这些排序顺序列可包括可利用标准HTML5离线数据库规则(例如,Unicode字符串或者数字索引)排序的内容。
元数据中的排序索引可以在针对完整数据集(即,用户数据126)内的每一个项的同步时间被计算。可以为由用户115选择的基本上任何准则生成这些排序键(即,排序元数据120)。如此,每一个可排序的字段都可以具有所生成的排序键或排序索引。为了以适当的排序顺序显示数据,当确定邮箱的区域已经变化时,可以重新同步用户的用户数据126。用户数据的区域可以存储在用户配置对象中,从服务器125中检索用户配置对象,并将其存储在客户端计算机系统101的本地离线存储110中。如此,可以使用此调用-存储过程来标识区域变化。
在某些情况下,可以为用户的联系人的字段中的每一个以及为每一个排序准则生成排序元数据。例如,如图5A所示,联系人列表119可以具有多个不同的联系人,包括JohnDoe和Bob Smith。可以为每一个联系人添加排序元数据120。如此,John Doe和Bob Smith各自都具有第一排序顺序元数据值和第二排序顺序元数据值(对于John为501而对于Bob为503)。可以基于用户的名字来生成第一排序顺序值。如此,John Doe的第一排序顺序元数据值是标识在用户的区域中对于该准则(在此情况下为名字)对于该联系人的排序顺序的数字或其他标识符。
类似地,第二排序顺序字段可包括基于姓氏来标识每一个联系人的排序顺序的元数据值。可以使用基本上任意数量的准则,并且如此可以向联系人列表119添加基本上任意数量的字段或字段的列作为排序元数据120。然后,当用户想要在离线模式中排序他们的联系人时,图1的排序模块106可以使用搜索准则特定的、区域特定的元数据值来执行排序。如此,在一个具体示例中,如果用户想要基于名字(例如,使用请求116)来在离线模式中排序联系人,则排序模块106将对于每一个联系人按第一排序顺序来看元数据值并按该列中的值进行排序。联系人111(包括John Doe和Bob Smith)将使用用户的语言的排序规则根据名字来排序。
在在用户界面108中向用户呈现联系人之后,用户可以提供向现有的联系人添加联系人117或作出改变的输入。例如,用户可以改变现有的联系人的电子邮件地址、电话号码或公司网站。用户还可能希望基于新添加的联系人信息来进行排序。例如,用户可能希望基于电子邮件地址来排序,以发现他们的联系人中的有多少人在给定位置工作。下一次用户在线时,用户的联系人列表(及其他数据)将被同步,在该同步请求中,客户端计算机系统101可包括将对于新排序准则生成新排序元数据120或排序元数据120基于对所指出的准则的改变要被更新的指示。此排序元数据120将与经同步的联系人列表一起被传递到计算机系统。然后,排序模块106可以使用新排序元数据来基于新准则进行排序。
图3示出了用于实现基于区域的排序的方法300的流程图。现在将频繁地参考图1的环境100的组件和数据以及如图5A和5B所示的各实施例来描述方法300。
方法300包括从用户接收对联系人列表的请求的动作(动作310),访问联系人列表中的用户的联系人中的一个或多个的动作(动作320),确定用户的当前区域的动作(动作330),基于所确定的区域为用户的联系人中的至少一个生成排序元数据的动作,排序元数据包括针对每一个联系人以及针对一组或多组排序准则的区域特定的元数据(动作340),以及,基于所确定的区域为所述用户的联系人中的至少一个生成排序元数据的动作,排序元数据包括针对每一个联系人以及针对一组或多组排序准则的区域特定的元数据(动作350)。
如上文所指出的,并如图5A所示,排序元数据120可以作为联系人的数据字段的一部分来存储。排序元数据是区域特定的,并且如此如果用户的区域改变,则元数据将相应地改变。如此,例如,如果用户将他的区域从法国(即,法语)改变为丹麦(即,丹麦语),则客户端计算机系统101将向服务器计算机系统125发送一个指示(或许作为联系人列表同步请求121的一部分)以将区域的变化通知服务器。然后,元数据生成模块129将基于新区域为用户的联系人生成新排序元数据。排序元数据120将对于新区域(丹麦)是区域特定的,并且每一组排序准则都将具有其自己的元数据列。如此,用户将能够使用各种准则中的任何一种以区域特定的方式来排序联系人。应该注意的是,可以在任何时间改变或更新用户的当前区域,并且可以基于联系人列表请求121中的信息或其他客户端-服务器通信中的信息来确定对区域的改变。
类似地,服务器计算机系统125可以接收用户向他们的联系人列表添加了新联系人的指示。服务器可以作为例如在web应用已经被离线使用并现在上线之后可能发生的联系人列表同步的一部分来接收此指示。元数据生成模块129可以对于各种排序准则中的每一种以区域特定的方式为新联系人生成新排序元数据120。更进一步,当服务器计算机系统125接收到现有的联系人的联系人信息的一个或多个部分已经被更新的指示时,元数据生成模块129可以生成新(或更新现有的)排序元数据。
在某些实施例中,服务器计算机系统125可以分析任何接收到的改变以确定接收到的更新是否充分不同以触发排序元数据更新。例如,服务器可以分析联系人信息更新并确定改变只影响联系人的电话号码。由于用户不经常基于电话号码来排序,因此,服务器可以确定更新排序元数据可以被推迟,直到接收到更实质性或更重要的更新。接收到的任何改变可以被存储在(本地或分布式)数据存储中。此外,对将为其创建排序元数据的联系人信息的任何改变可以在一起进行批处理,并针对下一后继联系人列表同步被应用,或可以在接收到充分不同以触发排序元数据更新的更新时被应用。
图4示出了用于创建临时元数据排序值的方法400的流程图。现在将频繁地参考图1的环境100的组件和数据以及如图5A和5B所示的各实施例来描述方法400。
方法400包括在移动计算设备处接收来自用户的向用户的联系人列表添加新联系人的请求的动作,移动计算设备处于离线模式(动作410),使用排序功能(可能为Unicode排序功能)来排序多个相邻联系人的动作,相邻联系人包括在其之间将放置所述新联系人的联系人(动作420),基于多个相邻联系人中的每一个的联系人数据创建新联系人的临时元数据值的动作(可能为每当联系人的信息改变时)(动作430),以及使用临时元数据值排序包括所述新联系人的联系人列表中的联系人的动作(动作440)。
如图5B所示,可以向现有的联系人列表119添加新联系人505。当用户所使用的web应用处于离线模式时,可以添加新联系人。在这样的模式下,web应用不能与服务器125进行通信以请求区域特定的排序元数据。如此,客户端一侧的元数据生成模块113可以为不同的排序顺序列中的至少一个生成临时元数据值114。可以将新临时值502置于排序元数据120中。这些临时值可以是基于相邻联系人的值的近似值或推断值。为确定相邻者是谁,可以应用简单Unicode或其他排序功能。然后,基于Unicode排序,可以确定相对于其他联系人的新联系人的位置。在确定新联系人的位置之后(在此情况下,当基于姓氏来排序时,在JohnDoe和Bob Smith之间),可以创建临时元数据值并将其插入到排序元数据字段中。当联系人的信息改变时,当添加新联系人时,或基于当web应用处于离线模式时作出的其他改变,可创建此临时元数据。在客户端计算机系统101恢复其到服务器计算机系统125的连接之后,客户端可以通知服务器区域特定的排序元数据将被更新,还可以进一步通知服务器哪些联系人的信息被改变或是新创建的。然后,服务器侧元数据生成模块129可以为新联系人505和/或为任何其他联系人信息改变生成新排序元数据。在接收到新/更新的联系人的新生成的替换元数据值之后,可以移除临时元数据值。
相应地,提供了特别是在离线web应用场景中实现基于区域的排序的方法、系统和计算机程序产品。此外,还提供了创建临时元数据排序值的方法、系统和计算机程序产品,临时元数据排序值可以被用来在离线模式中进行排序直到可以生成合适的替换。
此处所描述的概念和特征可以按其他特定形式实现,而不背离其精神或描述性的特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。在权利要求书的等价物的含义和范围内的所有变化应被包含在其范围内。

Claims (10)

1.一种计算机系统,包括下列各项:
一个或多个处理器;
系统存储器;
一个或多个计算机可读存储介质,其上存储有计算机可执行指令,所述指令在由所述一个或多个处理器执行时导致所述计算机系统执行一种用于实现基于本土语言的排序的方法,所述方法包括下列各项:
发送对联系人列表的请求的动作,所述请求包括用户的当前位置,所述联系人列表包括指定用户的一个或多个联系人的联系人信息;
接收所请求的联系人列表的动作,接收到的联系人列表包括所述用户的联系人的字段中的至少一个的经追加的排序元数据的一个或多个部分,所述排序元数据是所述用户的当前位置的本土语言特定的;
从所述用户接收基于所选排序准则来排序所述联系人列表的联系人的请求的动作;
使用所述排序元数据,并且如果所述用户的当前位置的本土语言不同于用户的前一位置的本土语言,根据所述所选排序准则来排序所述联系人列表的联系人的动作,所述排序元数据包括对所述用户的当前位置的本土语言特定的排序顺序;以及
在用户界面中向所述用户呈现经排序的联系人的动作。
2.如权利要求1所述的计算机系统,其特征在于,进一步包括将接收到的联系人列表存储在数据存储中的动作。
3.如权利要求1所述的计算机系统,其特征在于,所述排序是使用Unicode排序与所述排序元数据相结合来执行的。
4.如权利要求1所述的计算机系统,其特征在于,针对多个不同的排序准则中的每一个,为所述用户的联系人的字段中的一个或多个生成排序元数据,以便所述排序元数据是所述排序准则特定的。
5.一种计算机系统,包括下列各项:
一个或多个处理器;
系统存储器;
一个或多个计算机可读存储介质,其上存储有计算机可执行指令,所述指令在由所述一个或多个处理器执行时导致所述计算机系统执行一种用于实现基于本土语言的排序的方法,所述方法包括下列各项:
从用户接收对联系人列表的请求的动作;
访问所述联系人列表中的所述用户的联系人中的一个或多个的动作;
确定所述用户的当前位置的动作;
基于所确定的用户的当前位置为所述用户的联系人中的至少一个生成排序元数据的动作,所述排序元数据对于所述用户的当前位置的本土语言是特定的;以及
向所述用户发送带有所生成的排序元数据的所述联系人列表的动作,以便所述用户使用所述排序元数据根据所选排序准则来排序所述联系人列表的联系人。
6.如权利要求5所述的计算机系统,其特征在于,还包括:
从所述用户接收选择了新位置的指示的动作;
基于所述新的位置为所述用户的联系人中的至少一个生成新排序元数据的动作,所述排序元数据包括针对每一个联系人以及针对一组或多组排序准则的本土语言特定的元数据;以及
向所述用户发送带有所述新排序元数据的所述联系人列表的动作,以便所述用户使用所述新排序元数据根据所选排序准则来排序所述联系人列表的联系人。
7.如权利要求5所述的计算机系统,其特征在于,还包括:
从所述用户接收向所述联系人列表添加了新联系人的指示的动作;
为包括新添加的联系人的所述用户的联系人中的至少一个生成新排序元数据的动作,所述排序元数据包括针对每一个联系人以及针对一组或多组排序准则的本土语言特定的元数据;以及
向所述用户发送带有所述新排序元数据的所述联系人列表的动作,以便所述用户使用所述新排序元数据根据所选排序准则来排序所述联系人列表的联系人。
8.如权利要求5所述的计算机系统,其特征在于,还包括:
从所述用户接收现有联系人的联系人信息已经被更新的指示的动作;
为包括其联系人信息已经被更新的联系人的所述用户的联系人中的至少一个生成新排序元数据的动作,所述排序元数据包括针对每一个联系人以及针对一组或多组排序准则的本土语言特定的元数据;以及
向所述用户发送带有所述新排序元数据的所述联系人列表的动作,以便所述用户使用所述新排序元数据根据所选排序准则来排序所述联系人列表的联系人。
9.一种移动计算设备,包括下列各项:
一个或多个处理器;
系统存储器;
一个或多个计算机可读存储介质,其上存储有计算机可执行指令,所述指令在由所述一个或多个处理器执行时导致所述计算机系统执行一种用于创建基于本土语言的临时元数据排序值的方法,所述方法包括下列各项:
在所述移动计算设备处接收来自用户的向所述用户的联系人列表添加新联系人的请求的动作,所述移动计算设备处于离线模式;
确定所述用户的前一位置的动作;
使用排序功能来排序多个相邻联系人的动作,所述相邻联系人包括所述新联系人要被放置在其间的联系人;
基于所述多个相邻联系人中的每一个的联系人数据来创建所述新联系人的、在所述用户的前一位置的基于本土语言的临时元数据值的动作;以及
使用所述用户的前一位置的基于本土语言的临时元数据值来排序包括所述新联系人的所述联系人列表中的联系人的动作。
10.如权利要求9所述的移动计算设备,其特征在于,当所述移动计算设备处于在线模式时,移除所述基于本土语言的临时元数据值并且基于用户的当前位置接收针对所述新联系人的替换元数据值。
CN201480014390.6A 2013-03-13 2014-03-06 移动设备上的基于区域的排序 Active CN105190601B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361779654P 2013-03-13 2013-03-13
US61/779,654 2013-03-13
US13/890,455 2013-05-09
US13/890,455 US9323780B2 (en) 2013-03-13 2013-05-09 Locale-based sorting on mobile devices
PCT/US2014/021047 WO2014164179A2 (en) 2013-03-13 2014-03-06 Locale-based sorting on mobile devices

Publications (2)

Publication Number Publication Date
CN105190601A CN105190601A (zh) 2015-12-23
CN105190601B true CN105190601B (zh) 2018-03-30

Family

ID=51533211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480014390.6A Active CN105190601B (zh) 2013-03-13 2014-03-06 移动设备上的基于区域的排序

Country Status (4)

Country Link
US (1) US9323780B2 (zh)
EP (1) EP2972970B1 (zh)
CN (1) CN105190601B (zh)
WO (1) WO2014164179A2 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9871917B2 (en) * 2013-03-15 2018-01-16 Qula Inc. System and methods to enable efficient and interactive management of communications
CN104184862B (zh) * 2013-05-27 2016-08-10 腾讯科技(深圳)有限公司 一种快速通讯方法和装置
US20170329793A1 (en) * 2016-05-13 2017-11-16 Microsoft Technology Licensing, Llc Dynamic contact suggestions based on contextual relevance
EP3669238A1 (en) * 2017-08-18 2020-06-24 Carrier Corporation Method to present a user with a menu of ranked building system based upon usage of building systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648920A (zh) * 2004-01-28 2005-08-03 微软公司 离线全局地址列表
CN102822811A (zh) * 2010-03-19 2012-12-12 微软公司 动态联系人列表管理

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016857A1 (en) * 2000-06-20 2002-02-07 Adi Harari Address contact information retrieval, synchronization, and storage system
US6947976B1 (en) 2000-07-31 2005-09-20 Vindigo, Inc. System and method for providing location-based and time-based information to a user of a handheld device
US8112544B2 (en) 2000-12-29 2012-02-07 International Business Machines Corporation System and method for providing customizable options on a wireless device
US20020147717A1 (en) 2001-01-26 2002-10-10 Barros Mark Alexander Communication device, system, method, and computer program product for sorting data based on proximity
CN100550929C (zh) * 2004-07-27 2009-10-14 夏新电子股份有限公司 手持设备的电话本的排序方法及查找方法
US7620404B2 (en) 2005-12-22 2009-11-17 Pascal Chesnais Methods and apparatus for organizing and presenting contact information in a mobile communication system
US7634463B1 (en) 2005-12-29 2009-12-15 Google Inc. Automatically generating and maintaining an address book
US7555534B2 (en) * 2006-02-15 2009-06-30 Microsoft Corporation Phonetic name support in an electronic directory
US8364711B2 (en) 2006-05-09 2013-01-29 John Wilkins Contact management system and method
US8364663B2 (en) * 2008-09-05 2013-01-29 Microsoft Corporation Tokenized javascript indexing system
US7996015B2 (en) 2008-10-15 2011-08-09 Sony Ericsson Mobile Communications Ab Location-based tagging and sorting of content on a mobile device
US20100241638A1 (en) 2009-03-18 2010-09-23 O'sullivan Patrick Joseph Sorting contacts
WO2010114205A1 (en) * 2009-03-29 2010-10-07 Lg Electronics Inc. Method and apparatus for providing enhanced address book with automatic contact management
US8805417B2 (en) * 2009-06-30 2014-08-12 Verizon Patent And Licensing Inc. Dynamic contact list display
US8437779B2 (en) 2009-10-19 2013-05-07 Google Inc. Modification of dynamic contact lists
US9094503B2 (en) 2010-02-11 2015-07-28 Apple Inc. Methods and apparatus for contact information representation
US8880555B2 (en) 2010-12-17 2014-11-04 Facebook, Inc. Ranking of address book contacts based on social proximity
US9449103B2 (en) * 2011-03-02 2016-09-20 International Business Machines Corporation Systems and methods for presenting electronic contact lists
US8909717B2 (en) 2011-05-19 2014-12-09 Blackberry Limited Presenting instant messaging contacts listed by proximity to set location
US10216785B2 (en) * 2012-08-20 2019-02-26 Facebook, Inc. Dynamically-sorted contact information
US8983849B2 (en) * 2012-10-17 2015-03-17 Nuance Communications, Inc. Multiple device intelligent language model synchronization
US8798596B2 (en) * 2012-12-30 2014-08-05 Gary Stephen Shuster Global contact synchronization
US9569080B2 (en) * 2013-01-29 2017-02-14 Apple Inc. Map language switching
US20140278349A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Language Model Dictionaries for Text Predictions
US9645706B2 (en) * 2013-03-14 2017-05-09 Microsoft Technology Licensing, Llc Generating and implementing localized jump lists

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648920A (zh) * 2004-01-28 2005-08-03 微软公司 离线全局地址列表
CN102822811A (zh) * 2010-03-19 2012-12-12 微软公司 动态联系人列表管理

Also Published As

Publication number Publication date
EP2972970A2 (en) 2016-01-20
WO2014164179A2 (en) 2014-10-09
EP2972970B1 (en) 2021-02-24
WO2014164179A3 (en) 2014-11-27
US20140280244A1 (en) 2014-09-18
CN105190601A (zh) 2015-12-23
EP2972970A4 (en) 2017-01-25
US9323780B2 (en) 2016-04-26

Similar Documents

Publication Publication Date Title
CA3051287C (en) Visual blockchain browser
CN105378696B (zh) 跨各设备提供未看见消息计数
US9959013B2 (en) System and method for creating a family tree data structure
US8965754B2 (en) Text prediction using environment hints
US10469626B2 (en) Systems and methods of address book management
US20190005025A1 (en) Performing semantic graph search
US20150281163A1 (en) User recommendations in a social media network
CN105190601B (zh) 移动设备上的基于区域的排序
US20160283548A1 (en) Recommending connections in a social network system
CN106537388A (zh) 对数据库进行分区
US8838509B1 (en) Site flow optimization
US10929412B2 (en) Sharing content based on extracted topics
US20170168870A1 (en) Task status tracking and update system
CN104156379A (zh) 联系人关联检索系统及方法
US20190392531A1 (en) Social connection recommendation based on similar life events
CN105144669B (zh) 生成并实现局部化跳转列表
US20220327160A1 (en) Delta-based conflict-free replicated data type arrays using dot stores that map dots to dot stores
US11625651B1 (en) Repository of customizable itineraries for travel planning
CN102402433A (zh) 模型、操作以及实现的分离
Ooley et al. Cloud Database Development—The Basics
Arumapperuma Graph search centered solution for contact information retrieval
Drouillon THE CLOUD & MOBILE LEARNING–A COMBINATION FROM HEAVEN
Stein Expertize: Human Cloud Computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant