与本地配对的设备同步以使用点到点通信从远程服务器获得数据的制作方法

文档序号:11635302阅读:158来源:国知局
与本地配对的设备同步以使用点到点通信从远程服务器获得数据的制造方法与工艺



背景技术:

通过广域网(wan)从远程服务器将数据库或其它逻辑数据对象的内容和/或结构下载到平板电脑、电话或其它移动计算设备可以是漫长和宽带密集型任务。而且,可能存在多次期望将数据从一个设备传送或复制到另一个设备。然而,依照计算资源、时间和带宽,通过wan从远程服务器下载许可、验证信息、模式和数据可以是繁重的。

附图说明

图1是根据一个实施例的方法、设备和系统的框图。

图2是根据一个实施例的方法的流程图。

图3是根据一个实施例的方法的流程图。

图4是根据一个实施例配置的设备的框图。

具体实施方式

图1是根据一个实施例的方法、设备和系统的框图。如在其中所示的,附图标记102指代耦接到包括例如互联网的wan106的数据存储设备。数据存储设备102可包括例如网络附加存储(nas)、存储区域网络(san)、服务器或在wan106上的地址位置处的其它计算设备。数据存储设备102可存储例如数据库104、配置文件、xml文件或任何其它逻辑数据结构。例如,数据库可包括移动计算设备的用户的图片和视频的集合,或在企业领域中配置实施例的情况下,可包括例如客户关系管理(crm)数据库。本文中,为了简洁和简单起见,下面将引用“数据库”作为示例性逻辑数据结构,应当理解,术语“数据库”在本文中明确地旨在包含任何形式的此类逻辑数据结构。移动或其它计算设备110可以耦接到局域网(lan)108,如可以是移动或其它计算设备112。移动计算设备110、移动计算设备112既可以耦接到lan108,又可以耦接到wan106。

根据一个实施例,移动计算设备中的一个诸如移动计算设备110可以存储数据库104的完整副本、其部分副本,或可以仅存储数据库104的模式(schema)。例如,由移动计算设备110存储的数据库104的模式可包括数据库104的逻辑组织(例如,文件结构),以及对存储在数据库104中的数据、文件和其它逻辑数据构造的引用(例如,完全限定的路径)。可存在其中第二移动计算设备诸如在图1中的112处所示的希望获得或访问数据库104的实例。此类可以是当移动计算设备112是新的移动计算设备或被新发出给用户时的情况。此类还可以是当移动计算设备简单地先前尚未访问数据库104时的情况。

一个实施例能够进行数据库或其它逻辑数据结构从第一移动计算设备诸如移动计算设备110到第二移动诸如lan108内的移动计算设备112的对等、点到点或以其他方式的直接传送。实际上,在建立正确的验证和/或许可(若有的话)之后,这样的传送可通过lan108以lan速度进行,或可以使用对等、点到点或其它快速通信协议进行。本文中,假设与典型的通过wan106相比,可以在移动设备110和移动设备112之间更快地进行数据传送,并且具有更少的延迟。

根据一个实施例,移动计算设备110、移动计算设备112可被配对,以便建立验证、信任和/或许可,并且可以使用对等通信协议,进行从移动计算设备110、移动计算设备112中的一个到移动计算设备112中的另一个的数据诸如数据库模式,而不会涉及lan108之外的设备。根据一个实施例,可以由许多例如短距离数据传送协议诸如蓝牙、近场通信(nfc)等中的任一个实现或促进此类对等通信。根据一个实施例,在移动计算设备110、移动计算设备112之间传送的数据库模式可以仅包括模式自身;也就是,数据库的逻辑结构和对包含在其中的文件或其它数据结构的引用,排除掉数据库数据或数据库文件自身。其后,当已经接收到图1中的114处所示的数据库模式的移动计算设备的用户希望访问由刚刚接收的数据库模式114引用的数据时,如果其接收数据库模式的移动计算设备具有数据,仍然存在于相同的lan108内且在相同的lan108内是可访问的,或仍然耦接到请求计算设备,则可以使用对等通信协议从该移动计算设备请求和获得对数据的访问。供选择地,可以从wan106上的远程位置(诸如从nas102)请求和获得访问由刚刚接收到的数据库模式114引用的数据。

根据一个实施例,诸如在图1中的110处所示的移动计算设备可以通过其网络接口从wan106上的地址位置请求逻辑数据对象。根据一个实施例,逻辑数据对象可以包括模式诸如例如数据库的模式。例如,移动计算设备110可以从wan106上的nas102请求所选择的数据库或其它模式。然后,nas102可以传送所请求的模式,并且移动计算设备110可以接收所请求的模式。然后,可以由移动设备110存储所接收的模式,并且所接收的模式可以被存储在移动设备110内。还可以由移动计算设备110请求数据库104的全部或部分内容,数据库104的全部或部分内容还可以被传送到移动计算设备110,并且由移动计算设备110存储。由移动计算设备110接收和存储的数据库模式还可以包括nas102的地址和对由数据库104存储或引用的数据、文件或其它逻辑数据构造的引用(例如,路径和/或指针)。例如,当向移动计算设备110请求时,可以传送数据库104的模式,于是,其后在后台中或按需要,由数据库104包含或引用的数据、文件和其它逻辑数据构造可以被传送到移动计算设备110。本文中,引用“模式”,但是应当理解,可以由更通用的短语“逻辑数据对象”替换该术语。再者,本文中重复引用“移动”计算设备。然而,应当理解,可以用大多数任何计算设备(无论是否是移动的)实施实施例。

另一个移动计算设备(比如说lan108上的移动计算设备112)可期望访问数据库104。移动计算设备110可通过经由wan106访问nas102请求且获取对数据库104的访问,只要呈现足够的凭证。然而,此类请求和访问可相当缓慢,如通过潜在地缓慢的、不可靠的公用网络进行的。然而,根据一个实施例,不是通过wan106访问数据库104,移动计算设备112可以如图1中(1)处所示的将消息发送到移动计算设备110,从移动计算设备110(代替从nas102)请求数据库104的模式。当在lan108上发现移动计算设备110时,当通过验证、信任和许可信息的互换以对等方式与其配对时和当确定事实上移动计算设备110存储数据库模式的副本时,可以对移动计算设备110作出这样的模式请求。许多发现协议中的任一个可以被用于确定lan108上有资格的移动计算设备的存在,可以从lan108上有资格的移动计算设备请求数据库模式。此类发现协议的示例包括蓝牙服务发现协议(sdp)、dns服务发现(dns-sd)、动态主机配置协议(dhcp)、互联网存储名称服务(isns)、用于java对象的jini(java智能网络架构,javaintelligentnetworkinfrastructure)、服务位置协议(slp);用于发现rtp会话的会话通告协议(sap);简单服务发现协议(ssdp);通用即插即用(upnp)的组成部分;用于web服务的统一描述、发现和集成(uddi);网络代理自动发现协议(wpad);ws-发现(web服务动态发现);xmpp服务发现(xep-0030)或\xrds(可扩展资源描述符序列,extensibleresourcedescriptorsequence),仅仅例举一些可能。

响应于来自移动计算设备112的模式请求,移动计算设备110可以从其本地存储器检索所请求的模式,并且可以将所请求的模式的副本发送到请求的移动计算设备112,如在图1中的(2)处表明的。可以使用对等通信,以可以高于通过wan106的通信的点到点通信的速度特性,将该模式从移动计算设备110传送到移动计算设备112。已经从移动计算设备110接收所请求的数据库模式114的移动计算设备112可以将所接收的模式存储在其存储器中,或本地可容易地访问的存储器中。

在该阶段中,根据一个实施例,移动计算设备112存储数据库104的模式的副本。因而,移动计算设备112具有对数据库104的结构的全部访问,但不具有对其中包含或引用的数据的全部访问。例如,然而,移动设备112没有存储由数据库104的所接收的模式包含或引用的文件或其它数据中的任一个。根据一个实施例,然后,如果移动设备110仍然处于与移动设备112的对等通信中,或以其他方式诸如通过lan108对于移动计算设备112是可访问的,则移动计算设备112可以从移动设备110请求一个或更多个所选择的文件或模式中引用的其它逻辑数据构造。如果实际上移动计算设备110仍然处于与移动计算设备112的对等通信中,或可以重新建立此类通信,则其可以对此类请求作出响应,并且将所请求的文件、数据或其它逻辑数据结构提供给移动计算设备112,只要移动计算设备110实际存储所请求的数据、(一个或更多个)文件或(一个或更多个)其它逻辑数据结构。可以使用对等通信协议,实现从移动计算设备110到移动设备112的此类数据传送,并且可以整个在lan108内发生从移动计算设备110到移动设备112的此类数据传送。

然而,如果在lan108上,移动设备110不再是可达到的,或事实上,移动设备110没有存储所请求的数据、(一个或更多个)文件或(一个或更多个)其它逻辑数据结构的本地副本,则移动计算设备112可以通过wan106从远程计算设备102进行请求。在图1中(3)处示出该请求。然后,远程计算设备102(在因此开发的示例中为nas)可以访问存储在数据库104中的所请求的数据、(一个或更多个)文件和/或其它逻辑数据结构,并且将其提供到移动计算设备112,如图1中的(4)处所示的,只要移动计算设备持有对访问此类数据必需的许可和/或其它凭证。然后,从nas102如此接收的数据可以根据模式存储在本地或对于移动计算设备112可访问的存储器中。

根据一个实施例,可以周期性地更新由移动计算设备110提供到移动计算设备112的模式。当移动计算设备112通过wan106连接到nas102时,这样的更新可以起源于nas102。然而,根据一个实施例,由移动设备112存储的模式可以通过与其通信的另一个移动计算设备进行更新。例如,如果由移动计算设备110存储的模式比由移动计算设备112存储的模式更近,则可以由移动计算设备110更新存储在移动计算设备112中的模式。供选择地,如果由移动计算设备112存储的模式比由移动计算设备110存储的模式更新,则可以由移动计算设备112更新存储在移动计算设备110中的模式,从而颠倒先前建立的模式和数据提供者以及模式和数据请求者角色。可以异步地或以调度的规则间隔进行该更新。以该方式,可以保持由移动计算设备112存储的模式与由nas102存储的模式和/或由移动计算设备110存储的模式同步。可以实施发布订阅模型以传播对lan内的或耦接到wan106的所选择的计算设备的改变。供选择地,当建立移动计算设备之间的点到点连接时,可以传播改变。可以实施其它消息传递方案。

可存在其中一个计算设备的计算马力或可访问带宽远远超过(eclipse)另一个计算设备的计算马力或可访问带宽的实例。在该情况下,在提供(confer)与其它移动计算设备交换合适的信息之后,更有能力的移动计算设备可以承担通过wan从(例如)nas102请求更新的模式和/或数据的责任。已经获得此类更新的模式和/或数据,然后,更有能力的移动计算设备可以使用对等通信,将所获得的模式和/或数据传送到其相对较少能力的设备(conferee)。

为了确定两个模式中的哪个是最新的,当请求模式或将模式从一个移动计算设备发送到lan108上的另一个时,模式请求和/或模式自身可以包括时间戳,该时间戳指示何时最后一次修改模式。例如,当从另一个移动计算设备请求模式的副本时,如果请求的接收方自己的模式副本旧于请求的移动计算设备上的副本,则请求的接收方可以不发送所请求的模式。类似地,如果移动计算设备被发送(无论是否请求)模式,则如果所接收的模式的时间戳旧于其已经本地存储的模式的时间戳,则其可不用其刚刚接收的副本替换其当前存储的模式。

根据一个实施例,第二移动计算设备112可以依据模式请求,发送访问权限,并且移动计算设备110可以依据模式请求,接收访问权限。访问权限可以包括验证信息、信任信息、授权信息和/或对限定模式请求者的权限有效的任何其它信息或凭证。响应于此,访问权限和模式请求的接收方可以仅发送与所接收的访问权限兼容的模式的该部分。这可以是整个模式、模式的一部分或没有模式的任何一部分。

图2是根据一个实施例的方法的流程图。如其中所示的,框b21要求由第一移动计算设备(诸如图1中的110)请求存储在地址位置(诸如wan106上的nas102的地址)处的逻辑数据对象(数据库、文件、xml对象等)的模式114。然后,移动计算设备110可以从wan106上的地址位置接收所请求的模式,并且可以将所接收的模式存储在第一移动计算设备110中,如图2中的b22处所示的。然后,如b23处所示的,第一移动计算设备110可以从第二移动计算设备(诸如图1中的移动计算设备112)接收模式请求。其后,然后,如在b24处所示的,响应于模式请求,第一移动计算设备110可以使用对等或其它点到点通信,将存储在wan上的地址位置处的逻辑数据对象的所存储的模式的副本从第一移动计算设备110发送到第二移动计算设备112。根据一个实施例,发送到第二移动计算设备112的所存储的模式的副本缺乏(即,不包括)由所存储的模式引用的数据或数据文件。根据一个实施例,发送到第二移动计算设备112的所存储的模式的副本可以包含由所存储的模式引用的数据中的一些或全部。

然而,图2从模式请求的接收方的视点示出根据一个实施例的方法的方面,图3从作出模式请求且接收所请求的模式的移动计算设备的视点示出根据一个实施例的计算机实施的方法的方面。框b31要求使用对等或其它点到点通信,将对模式的请求从第一移动计算设备诸如图1中的112发送到第二移动计算设备诸如图1中的110处所示的。根据一个实施例,所请求的模式可以是或包括存储在广域网(wan)上的远程地址位置处的逻辑数据对象(例如,数据库或其它数据构造)的模式。如在b32处所示的,然后,移动计算设备112可以使用对等通信方法,从第二移动计算设备110接收所请求的模式的副本,并且然后可以将模式的所接收的副本存储在第一移动计算设备112中或存储在对于第一移动计算设备112可访问的位置中。根据一个实施例,在已经从第二移动计算设备110接收模式的副本之后,然后,第一移动计算设备112可以从第一移动设备110(模式的发送者)或从在所存储的模式中指定的wan上的地址位置请求在所存储的模式中引用的数据,如在b33处所示的。当需要由模式引用的一个或更多个文件或其它数据构造时,可以直接在框b32之后或其后很久进行框b33。然后,框b34要求从移动计算设备110或wan上的地址位置(例如,nas或wan上的其它服务器)接收所请求的数据,并且根据所接收的和所存储的模式,将所接收的数据存储在第一移动计算设备中(例如,在由所接收的模式限定的文件结构内的适当地方中)。根据一个实施例,所接收的和所存储的模式可以缺乏由所接收的模式引用的数据或数据文件。

在另一个例示性实施方式中,一些组织具有耦接到具有单个共享的wan连接诸如例如图书馆或学校的lan的许多计算设备。对于这样的共享的wan连接为次佳的(低带宽)的这并不少见,因为在农村地区或世界的其它地区是常见的。这样的环境中,lan上的计算设备中的一个的用户可以访问搜索引擎主页。响应于此,搜索服务器可以将许多文件(图像、样式表、javascript文件等)下载到用户的计算设备。然而,这些下载的文件对于该搜索引擎的所有用户都是相同的。不是每个计算设备通过wan从搜索引擎服务器请求相同的文件,可以从lan内的单个计算设备请求这些文件。然后,文件从其请求的单个计算设备可以在需要时利用lan内的通信或对等通信信道,将这些文件提供到请求的计算设备。以该方式,不是每个计算设备从缓慢的wan连接请求相同的文件,这些设备可以代替地利用lan或对等通信信道,从本地计算设备请求相同的文件,以取得数据,而不是用完wan连接上的有限带宽。

作为另一个示例,第一计算设备可以检查天气预测。另一个附近的第二计算设备还可以检查相同的天气预测。然而,不是从天气预测服务器请求相同的数据,可以从第一计算设备(第一计算设备已经具有所存储的期望的预测)请求此类天气数据。以该方式,天气预测服务器端点不再需要由在第一计算设备附近的第二另一个计算设备进行访问。对于本领域中的技术人员可以出现其它实施方式和应用。

图4例示可以利用其实施实施例的计算设备400的框图。计算设备400可以包括例如nas、san、主机、服务器和/或其它电子设备。计算设备400可以包括总线401或用于通信信息的其它通信机制,以及与总线401耦接用于处理信息的处理器402。处理器可以经配置用于进行关于图1、图2和图3所示和所描述的功能。计算设备400可以另外包括耦接到总线401用于存储将由处理器402执行的信息和指令的随机访问存储器(ram)404或其它动态存储设备404(被称为主存储器)。主存储器404也可以被用于在由处理器402执行指令期间存储临时变量或其它中间信息。计算设备400也可以包括耦接到总线401用于存储用于处理器402的静态信息和指令的只读存储器(rom)和/或其它静态存储设备406。数据存储设备407诸如磁盘、固态盘和/或光盘可以耦接到总线401用于存储信息和指令。网络接口设备408诸如调制解调器或网络(例如,诸如以太网)卡也可以耦接到总线401,以提供对网络(诸如图1中106和108处所示的)的访问。

计算设备400也可以经由总线401耦接到显示设备421,用于将信息显示给计算机用户。可以提供其它用户界面机制,如在422和423处所示的,用于将方向信息和命令选择通信到处理器402。一个实施例与经配置用于通过lan提供和/或接收模式对象的计算设备400的使用有关,如本文中所示和所描述的。根据一个实施例,响应于(一个或更多个)处理器402执行包含在存储器404中的指令的序列,可以由一个或更多个计算设备400进行本文中所描述的处理。可以从另一个计算机可读的和非暂时介质诸如数据存储设备407和/或从远程定位的服务器将此类指令读取到存储器404中。包含在存储器404中的指令的序列的执行可以使(一个或更多个)处理器402实施上述方法和功能。在供选择的实施例中,取代软件指令可以使用硬连线电路以实施实施例,或硬连线电路可以与软件指令组合使用以实施实施例。因此,所描述的实施例不限于硬件电路和软件的任何具体组合。

关于图1-图4所示和所描述的功能和结构使得能够进行对等或点到点传送,对等或点到点传送允许用户迅速地访问远程数据库或其它数据构造,且不必下载其全部副本。可以以对等速度传送设备配置和偏好,从而与先前可能的相比,使得用户能够使新的或其它设备与现有设备更迅速地同步。显著地,使从一个设备到另一个设备的更快的数据传送成为可能,而不用访问wan(例如,互联网)。而且,除了从一个设备到另一个的模式的直接点到点传送,实施例使得能够使用例如点到点或对等通信协议,从一个设备到另一个设备的许可和/或其它凭证的传送,以访问例如远程数据库。

虽然已经描述了本公开的某些实施例,但是已经仅以示例的方式呈现这些实施例,并且这些实施例不旨在限制本公开的范围。实际上,可以以各种其他形式体现本文中描述的新颖方法、设备和系统。还有,可以在不脱离本公开的精神的情况下,在本文中描述的方法和系统的形式上作出各种省略、替补和改变。所附权利要求书和它们的等价物旨在覆盖如将落入本公开的范围和精神内的此类形式或修改。例如,本领域的技术人员将理解,在各种实施例中,真实物理和逻辑结构可以与图中所示的这些不同。根据实施例,可以去除上面示例中描述的某些步骤,可以添加其它的。再者,上面公开的具体实施例的特征和属性可以以不同方式组合以形成额外的实施例,所有这些落入本公开的范围内。虽然本公开提供了某些优选的实施例和应用,包括没有提供本文中阐述的所有特征和优点的实施例的对于本领域中的普通技术人员明显的其它实施例也在本公开的范围内。相应地,旨在仅由引用所附权利要求书限定本公开的范围。

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