CN103797473A - 点对点数据迁移 - Google Patents

点对点数据迁移 Download PDF

Info

Publication number
CN103797473A
CN103797473A CN201180073489.XA CN201180073489A CN103797473A CN 103797473 A CN103797473 A CN 103797473A CN 201180073489 A CN201180073489 A CN 201180073489A CN 103797473 A CN103797473 A CN 103797473A
Authority
CN
China
Prior art keywords
node
point
data
buffer memory
communication link
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.)
Granted
Application number
CN201180073489.XA
Other languages
English (en)
Other versions
CN103797473B (zh
Inventor
迈克尔·罗伯茨
杰米·罗伯茨
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.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development 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 Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of CN103797473A publication Critical patent/CN103797473A/zh
Application granted granted Critical
Publication of CN103797473B publication Critical patent/CN103797473B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching

Landscapes

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

Abstract

本发明公开了针对通过一个或多个点对点通信链路连接的节点之间的点对点数据迁移的示例。

Description

点对点数据迁移
背景技术
除非本文中另外指明,否则在这部分中描述的方法非本申请权利要求的现有技术,并且不因为被包含在这部分中而被认为是现有技术。
通信网络可包括一个或多个节点。这些节点可包括(但不限于)可被配置为通过有线和/或无线网络通信链路连接至通信网络的多种装置。另外,节点可通过有线和/或无线点对点通信链路互连至通信网络中的其它节点。在某些示例中,节点可另外通过附加的点对点通信链路互连至作为其它通信网络的一部分的节点。结果,节点可连接至它们各自的通信网络和更广泛的点对点网络。
发明内容
在多个实施例中,本发明描述了用于点对点数据迁移的示例性方法。所述示例性方法可包括在通过第一点对点通信链路以可通信的方式连接至第二节点的第一节点接收数据。可从相对于第一节点和第二节点二者远程布置的数据源通过网络通信链路接收所述数据。可随后将数据存储在与第一节点关联的公共缓存中。公共缓存可保持在被配置为可通过第一点对点通信链路被第二节点访问的存储器的一部分中。在某些示例中,针对所述数据可至少部分地基于与数据关联的寿命值来设置存活时间定时器。随后可响应于存活时间定时器的到期将数据从与第一节点关联的公共缓存中删除。另外,所述方法可包括从第二节点接收复制请求,以从与第一节点关联的公共缓存复制数据。可随后相对于第一节点的位置确定第二节点的位置,并且可至少部分地基于第二节点的位置调整存活时间定时器。
在多个实施例中,本发明还描述了针对点对点数据迁移的其它示例性方法。所述其它示例性方法可包括保持与第一节点关联的第一公共缓存。第一公共缓存可通过一个或多个点对点通信链路被其它节点访问。在某些示例中,可在第一公共缓存中存储目录文件。所述目录文件可被配置为包括与存储在与第二节点关联的第二公共缓存中的数据相关联的信息。所述目录文件还可包括第二节点的位置。可至少部分地基于与目录文件关联的寿命值针对目录文件设置存活时间定时器。可随后响应于存活时间定时器的到期将目录文件从第一公共缓存中删除。另外,所述附加的方法可包括:针对与包括在目录文件中的数据关联的信息,从第三节点接收目录请求。可随后相对于第一节点的位置确定第三节点的位置,并且可至少部分地基于第二节点的位置和第三节点的位置二者调整存活时间定时器。
在多个实施例中,本发明还描述了针对点对点数据迁移的示例性装置。示例性装置可包括具有逻辑部的文件管理器。所述逻辑部可被配置为在通过第一点对点通信链路连接至第二节点的第一节点接收数据。可从相对于第一节点和第二节点二者远程布置的数据源接收所述数据。所述逻辑部还可被配置为在与第一节点关联的公共缓存中存储数据。公共缓存可保持在配置为可通过第一点对点通信链路被第二节点访问的存储器的一部分中。所述逻辑部还可被配置为针对所述数据至少部分地基于与数据关联的寿命值设置存活时间定时器。在某些示例中,可随后响应于存活时间定时器的到期将所述数据从与第一节点关联的公共缓存中删除。所述逻辑部还可被配置为从第二节点接收复制请求,以从与第一节点关联的公共缓存复制数据,并相对于第一节点的位置确定第二节点的位置。所述逻辑部还可以被配置为至少部分地基于第二节点的位置调整存活时间定时器。
在多个实施例中,本发明还描述了可包括与第一节点关联的存储器的示例性系统。存储器可被配置为包括可被通过一个或多个点对点通信链路连接至第一节点的其它节点访问的第一公共缓存。所述示例性系统还可包括具有逻辑部的目录管理器。所述逻辑部可被配置为在第一公共缓存中存储目录文件,所述目录文件包括与存储在与第二节点关联的第二公共缓存中的数据相关联的信息,所述目录文件还包括第二节点的位置。所述逻辑部还可被配置为至少部分地基于与目录文件关联的寿命值,针对目录文件设置存活时间定时器,其中响应于存活时间定时器的到期将目录文件从第一公共缓存中删除。所述逻辑部还可被配置为从第三节点接收目录请求。所述目录请求可包括针对包括在目录文件中的与存储在第二公共缓存中的数据关联的信息的请求。在某些示例中,所述逻辑部还可以被配置为相对于第一节点的位置确定第三节点的位置,并且至少部分地基于第二节点的位置和第三节点的位置二者调整存活时间定时器。
在多个实施例中,本发明还描述了示例性计算机程序产品。在某些示例中,所述计算机程序产品可包括信号承载介质,其具有针对点对点数据迁移的指令。所述指令当被逻辑部执行时使得所述逻辑部在通过第一点对点通信链路连接至第二节点的第一节点接收数据。可从相对于第一节点和第二节点二者远程布置的数据源接收所述数据。所述指令还可使得所述逻辑部在与第一节点关联的公共缓存中存储数据。所述公共缓存可保持在配置为可通过第一点对点通信链路被第二节点访问的存储器的一部分中。所述指令还可使得所述逻辑部针对所述数据至少部分地基于与数据关联的寿命值设置存活时间定时器。在某些示例中,可随后响应于存活时间定时器的到期将数据从与第一节点关联的公共缓存中删除。所述指令还可使得所述逻辑部从第二节点接收复制请求以从与第一节点关联的公共缓存复制数据,并相对于第一节点的位置确定第二节点的位置。所述指令还可使得所述逻辑部至少部分地基于第二节点的位置调整存活时间定时器。
以上的发明内容仅是例示性的并且不旨在以任何方式进行限制。除了上述的说明性方面、实施方式和特征以外,通过参照附图和下面的具体描述,其它的方面、实施方式和特征将变得明显。
附图说明
从以下结合附图的描述和权利要求中,本公开的以上和其它特征将变得更清楚。应该理解,这些附图仅描绘了根据本公开的若干实施例,因此,不应理解为限制本公开的范围,通过使用附图,将另外具体和详细地描述本公开。
图1示出了示例性系统,其节点通过一个或多个点对点通信链路互连并通过网络通信链路分离地连接至一个或多个远程数据源;
图2示出了针对文件管理器的示例性架构的框图;
图3示出了针对目录管理器的示例性架构的框图;
图4A至图4B示出了节点相对于其它节点的相对位置的图形化描述;
图5示出了示例性目录文件;
图6示出了针对保持目录文件的节点的示例性呼叫卡;
图7示出了针对点对点数据迁移的示例性方法的流程图;
图8示出了针对点对点数据迁移的其它示例性方法的流程图;
图9示出了示例性计算机程序产品的框图;以及
图10示出了示例性计算装置;
所有附图根据本发明的至少某些实施例进行布置。
具体实施方式
在下面的详细说明书中,参照构成说明书的一部分的附图。在附图中,除非上下文另外指出,否则类似的符号通常表示类似的部件。在详细说明书、附图和权利要求书中描述的例示性实施例不表示为限制性的。可以采用其它示例或实施例,并且在不脱离本文呈现的主题的精神或范围的情况下可以做出其它改变。将容易地理解,如这里一般描述和附图中示出的本公开的多个方面可以在各种不同的配置中被设置、替换、组合和设计,所有这些在这里被明确设想到和构成本发明的一部分。
本发明尤其被绘制为关于通过一个或多个点对点通信链路连接的节点之间的点对点数据迁移的方法、设备、系统和计算机程序产品。
根据本发明的预期,节点可连接至它们各自的通信网络和连接至由其它节点构成的更广泛的点对点网络二者。在某些示例中,每个节点在其各自的通信网络中可从可相对于每个节点远程布置的数据源获得数据。例如,节点的通信网络可使得节点能够通过互联网连接至数据源。数据源可以是向节点提供视频和/或音频数据的远程布置的服务器。若干其它节点也可从远程布置的服务器找到相同的视频和/或音频数据。服务器和/或将节点连接至服务器的网络通信链路可具有针对相同的视频和/或音频数据处理多次请求的有限的能力。对于按照及时的和无差错的方式接收视频和/或音频数据的至少某些节点来说,有限的能力会是有问题的。
在某些示例中,针对点对点数据迁移实施方法。所述方法可包括在通过第一点对点通信链路以可通信的方式连接至第二节点的第一节点处接收数据。可通过网络通信链路从针对第一节点和第二节点二者远程布置的数据源接收数据(例如,视频/音频文件)。数据可随后存储在与第一节点关联的公共缓存中。公共缓存可保持在配置为可被第二节点通过第一点对点通信链路访问的存储器的一部分中。在某些示例中,针对数据的存活时间定时器可至少部分地基于与数据关联的寿命值而设置。可随后响应于存活时间定时器的到期将数据从与第一节点关联的公共缓存中删除。另外,所述方法可包括从第二节点接收复制请求,以从与第一节点关联的公共缓存复制数据。可随后相对于第一节点的位置确定第二节点的位置,并且可至少部分地基于第二节点的位置调整存活时间定时器。
在某些其它示例中,针对点对点数据迁移实施附加的方法。所述附加的方法可包括保持与第一节点相关联的第一公共缓存。第一公共缓存可被其它节点通过一个或多个点对点通信链路访问。在某些示例中,目录文件可存储在第一公共缓存中。目录文件可被配置为包括与存储在与第二节点关联的第二公共缓存中的数据相关联的信息。目录文件还可以包括第二节点的位置。针对目录文件的存活时间定时器可至少部分地基于与目录文件关联的寿命值进行设置。可随后响应于存活时间定时器的到期将目录文件从第一公共缓存中删除。另外,附加的方法可包括针对与包括在目录文件中的数据相关联的信息从第三节点接收目录请求。可随后相对于第一节点的位置确定第三节点的位置,并且可至少部分地基于第二节点的位置和第三节点的位置调整存活时间定时器。
图1示出了根据本发明的至少某些实施例的示例性系统100,其节点通过一个或多个点对点通信链路互连,并且通过网络通信链路单独地连接至一个或多个远程数据源。如图1所示,点对点系统100包括接入点122、132和142,网络120、130和140的节点可分别通过接入点122、132和142连接至网络110。另外,网络110可连接至数据源112,并且网络120、130和140的节点可访问保持在或保持于数据源112的数据和/或内容。在某些示例中,各个网络中的节点可通过网络通信链路通过接入点分离地连接至网络110。例如,如图1所示,网络120的节点121、123、125、127和129可通过网络通信链路120A-120E通过接入点122连接。节点还可以以可通信的方式连接至其它节点,以形成可以与网络110、120、130和140分离并且除网络110、120、130和140之外的一种点对点网络。例如,如图1所示,系统100的节点可通过点对点通信链路150A-150M互连。
在某些示例中,如图1所示,每个节点可包括存储器160、文件管理器(FM)170和目录管理器(DM)180。存储器160还在图1中示出,其包括公共缓存162和专用缓存164。公共缓存162可被配置或布置为保持数据和/或内容,并可被其它节点通过一个或多个点对点通信链路访问。专用缓存164可被配置或布置为保持可仅被驻存在给定节点(例如,操作系统)上的或与给定节点位于一处的逻辑部或特征所访问的数据和/或内容。存储器160可包括(但不限于)多种存储器,诸如易失性存储器、非易失性存储器、闪存存储器、可编程变量或状态、随机存储器(RAM)、只读存储器(ROM)或其它静态或动态存储介质。
根据某些示例,节点121可通过网络通信链路120A从数据源112接收或获得数据。针对这些示例,如图1所示,数据源112可连接至网络110,其中,网络110通过接入点122连接至节点121的网络120。由于网络110是针对节点121的网络120而分离的网络的一部分,所以可认为数据源112相对于节点121远程布置。从数据源接收的数据可随后存储在节点121的公共缓存162中。数据例如可包括视频文件、音频文件、多媒体文件或数据文件,但是本发明不限于这些示例类型的文件。
根据某些示例,从数据源112下载数据可对网络资源造成负担或占用大量网络资源。为了减轻这种负担,数据可至少暂时地存储在节点121的公共缓存162中,并且随后可被其它节点访问以复制。其它节点可使用点对点通信链路,所述点对点通信链路的网络资源密集性可较轻和/或可使得其它节点与行进至数据源112获得数据相比能够更快地获得或复制数据。
在某些示例中,在节点121的文件管理器170可包括被配置为针对从远程布置的数据源接收的数据来对存活时间定时器进行分配和/或设置的逻辑部和/或特征。存活时间定时器可基于与数据关联的寿命值被分配和/或设置。例如,寿命值可包括可以将数据保持存储在节点121的公共缓存162中的时间段(例如,以秒、分钟、小时等为单位)。在存活时间定时器到期(例如,所述时间段结束)时,可将数据从节点121的公共缓存中删除。将数据保持所分配的或设置的时间段可确保节点121的公共缓存162在未来的预定的时间具有附加的或释放的存储容量。
根据某些示例,节点125可期望复制至少暂时地存储在节点121的公共缓存162中的数据。针对这些示例,节点125可将复制请求(例如,通过点对点通信链路150F)发送至节点121。节点121可接收复制请求,并且文件管理器170可包括被配置为相对于节点121的位置确定节点125的(逻辑的或物理的)位置的逻辑部和/或特征。例如,复制请求可包括指示节点125的位置的位置信息(例如,全球定位系统(GPS)信息)。文件管理器170可随后基于确定的节点125的位置调整或重置先前分配给存储在节点121的公共缓存中的数据的存活时间定时器。
在某些示例中,同样可不仅基于节点125的位置而且基于与也可向节点121发出复制请求的其它节点相关联的位置,将存活时间定时器调整为更短的时间段或更长的时间段。节点125的位置以及其它节点相对于节点121的位置可向节点121处的文件管理器170指示其它节点可位于更加靠近中心或更加不靠近中心的用于共享数据的分布点。例如,针对节点123、127和129,节点125比节点121更加靠近中心。由于更加靠近中心,与当前存储在节点121的公共缓存162中的数据相比,更多的节点可对节点125已经复制并存储在其公共缓存162中的数据进行请求。
在某些示例中,节点121的目录管理器180可包括被配置为在节点121的公共缓存162中存储目录文件的逻辑部和/或特征。如下面更加详细的描述,目录文件可包括与存储在针对其它节点的其它公共缓存中的数据相关联的信息。例如,与可存储在节点123的公共缓存162中的数据关联的信息和/或与可存储在节点143的公共缓存162中的数据关联的信息。与存储在前述公共缓存中的数据关联的信息可包括各节点的位置的指示,并且可包括诸如保持在各节点各自的公共缓存中的数据文件的类型和大小的其它指示。
根据某些示例,与以上针对对于从远程数据源接收的数据分配和/或设置存活时间定时器的描述相似,目录管理器180还可包括被配置为针对存储在节点123的公共缓存162中的目录文件分配和/或设置存活时间定时器的逻辑部和/或特征。可基于与目录文件关联的寿命值分配和/或设置存活时间定时器。例如,寿命值可包括可以将目录文件保持存储在节点123的公共缓存162中的时间段(例如,以秒、分钟、小时等为单位)。在存活时间定时器到期(例如,时间段结束)时,可将数据从节点121的公共缓存162中删除。
在某些示例中,其它节点可知晓节点123具有存储在其公共缓存162中的目录文件。这些其它节点(例如,节点125)可发出目录请求,以获得与存储在节点121的公共缓存162中的数据相关联的信息。节点123可接收目录请求,并且目录管理器180可包括被配置为相对于节点123的位置确定节点125的(逻辑的或物理的)位置的逻辑部和/或特征。例如,目录请求可包括指示节点125的位置的位置信息(例如,GPS信息)。目录管理器180可随后基于节点125的确定的位置调整或重置先前分配给存储在节点123的公共缓存162中的目录文件的存活时间定时器。
在某些示例中,可不仅基于节点125的位置而且基于与也可向节点123发出目录请求的其它节点相关联的位置,将存活时间定时器调整为更短的时间段或更长的时间段。节点125的位置以及其它节点相对于节点123的位置可向节点123处的目录管理器180指示其它节点可位于更加靠近中心或更加不靠近中心的分布点,以共享包括在其所存储的目录文件中的信息。例如,针对节点143、121和125,节点121可比节点123更加靠近中心。由于更加靠近中心,与当前存储在节点123的公共缓存162中的目录文件相比,更多的节点可请求存储在节点121的公共缓存162中的目录文件。
根据某些示例,网络120、130和140可以是可使得节点能够连接至网络110的有线和/或无线局域网或广域网的一部分。针对这些示例,网络110可以是互联网,并且虽然未在图1中示出,但是数据源112可以是连接至网络110的其它网络的一部分,并且因此可被认为是相对于包括在网络120、130和140中的系统100的节点远程地布置的。系统100中所描绘的网络通信链路可根据一个或多个有线和/或无线标准进行操作。可在诸如与IEEE802.1、IEEE802.11、IEEE802.16、GSM、GPRS、EDGE、W-CDMA、HSPA、CDMA-2000、EV-DO、LTE或TD-LTE相关联的一个或一个或多个工业标准中描述这些有线和/或无线标准。但是本发明不仅限于上述的有线和/或无线标准。
在某些示例中,图1所示的点对点通信链路也可根据上述的一个或多个有线和/或无线标准进行操作。然而,系统100的节点能够通过点对点通信链路共享资源(例如,公共缓存),而不需要集中协调。可通过可根据上述的工业标准操作的有线和/或无线局域网或广域网建立这些点对点通信链路。也可利用诸如蓝牙TM的无线技术通过节点对节点的直接链路建立点对点通信链路。
图2示出了根据本发明的至少某些实施例的用于文件管理器的示例架构的框图。如上针对图1中的系统100的描述,每个节点可包括文件管理器,诸如文件管理器170。在某些示例中,文件管理器170包括这样的特征和/或逻辑部,即,被配置或布置为通过网络通信链路接收数据并促进在通过一个或多个点对点通信链路连接的节点之间的点对点数据迁移。
图2的示例性文件管理器170包括文件逻辑部210、控制逻辑部220、存储器230、输入/输出(I/O)接口240以及可选的一个或多个应用250。如图2所示,文件逻辑部210连接至控制逻辑部220、存储器230和I/O接口240。另外如图2所示,可选的应用250被布置为与控制逻辑部220协作。文件逻辑部210还可以包括以下的一个或多个:缓存特征211、接收特征213、定时器特征215、请求特征217或调整特征219或者它们的任何合理的组合。
如本发明所述,在某些示例中,图2的框图中描述的元件被配置为支持或启用文件管理器170。给定文件管理器170可包括图2所述的那些元件中的某些、全部或更多的元件。例如,文件逻辑部210和控制逻辑部220可分别或一起表示用于实施文件管理器170的特征的多种逻辑装置。示例性逻辑装置可包括以下各项中的一个或多个:计算机、微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、多核/多线程微处理器的隐蔽的线程或核或者它们的组合。
在某些示例中,如图2所示,文件逻辑部210包括以下各项中的一个或多个:缓存特征211、接收特征213、定时器特征215、请求特征217或调整特征219。文件逻辑部210可被配置为使用这些特征的一个或多个来执行操作。如下面更加详细地描述,示例性的操作可包括促进节点之间的点对点数据迁移。
在某些示例中,控制逻辑部220可被配置为控制文件管理器170的整体操作。如上所述,控制逻辑部220可表示被配置为与可执行内容或指令结合地操作以实施文件管理器170的控制的多种逻辑装置的任意一种。在某些另选的示例中,可在文件逻辑部210中实施控制逻辑部220的特征和功能。
根据某些示例,存储器230被设置为存储可执行内容或指令。可执行内容或指令可被控制逻辑部220和/或文件逻辑部210使用,以实施或激活文件管理器170的特征或元件。如下面更进一步的描述,存储器230还可设置为暂时地保持与针对从远程数据源接收的数据分配和/或设置存活时间定时器相关联的信息。存储器230还可至少暂时地保持与基于从例如其它节点接收的针对数据的复制请求所获得的其它节点位置信息来调整数据的存活时间相关联的信息。
存储器230可包括多种存储介质,包括(但不限于)易失性存储器、非易失性存储器、闪存存储器、可编程变量或状态、RAM、ROM或其它静态或动态存储介质的一个或多个。
在某些示例中,I/O接口240可通过在文件管理器170和驻存或布置在包括文件管理器170的节点上的元件之间的内部通信介质或链路来提供接口。I/O接口240可包括根据多种通信协议进行操作的接口,以在内部通信链路(例如,内置集成电路(I2C)、系统管理总线(SM总线)或串行外围接口总线(SPI)等)上进行通信。I/O接口240还可在文件管理器170与针对节点远程地布置的元件之间提供接口。例如,如以上针对图1的描述,具有文件管理器170的节点可通过网络通信链路连接至网络接入点,或者可通过一个或多个点对点通信链路连接至其它节点。例如,I/O接口240包括被配置为根据多种有线或无线通信协议(例如,IEEE802.1、IEEE802.11、IEEE802.16、GSM、GPRS、EDGE、W-CDMA、HSPA、CDMA-2000、EV-DO、LTE、TD-LTE、蓝牙等)进行操作的接口,以允许文件管理器170在这些通信链路上进行通信。
在某些示例中,文件管理器170包括向控制逻辑部220和/或文件逻辑部210提供指令的一个或多个应用250。例如,这些指令可包括针对文件管理器170的指令,以实施或使用缓存特征211、接收特征213、定时器特征215、请求特征217或者调整特征219的一个或多个。
图3示出了根据本发明的至少某些实施例的针对目录管理器的示例性架构的框图。如上针对图1中的系统100的描述,每个节点可包括目录管理器,诸如目录管理器180。在某些示例中,目录管理器180包括这样特征和/或逻辑部,即,被配置和设置为在节点的公共缓存中保持目录文件,以促进通过一个或多个点对点通信链路连接的节点之间的点对点数据迁移。
图3的示例性目录管理器180包括目录逻辑部310、控制逻辑部320、存储器330、输入/输出(I/O)接口340和可选的一个或多个应用350。如图3所示,目录逻辑部310连接至控制逻辑部320、存储器330和I/O接口340。另外如图3所示,可选的应用350被布置为与控制逻辑部320协作。目录逻辑部310还可以包括以下各项的一个或多个:缓存特征311、信息特征313、定时器特征315、请求特征317或调整特征319或它们的任何合理的组合。
在某些示例中,如本发明所述,图3的框图中描述的元件被配置为支持或启用目录管理器122。给定的目录管理器180可包括图3描述的那些元件的一些、全部或更多元件。例如,目录逻辑部310和控制逻辑部320可单独地或共同地表示用于实施目录管理器180的特征的多种逻辑装置。示例性逻辑装置可包括以下各项中的一个或多个:计算机、微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、多核/多线程微处理器的隐蔽线程或核或者它们的组合。
在某些示例中,如图3所示,目录逻辑部310包括缓存特征311、信息特征313、定时器特征315、请求特征317或调整特征319中的一个或多个。目录逻辑部310可被配置为使用这些特征的一个或多个来执行操作。如下面更加详细的描述,示例性操作可包括在节点的公共缓存存储目录文件,所述目录文件具有与存储在其它节点的公共缓存中的数据关联的并可通过一个或多个点对点通信链路访问的信息。
在某些示例中,控制逻辑部320可被配置为控制目录管理器180的整体操作。与上述的控制逻辑部220相似,控制逻辑部320可代表被配置为与可执行内容或指令结合地操作以实施目录管理器180的控制的多种逻辑装置中的任何一种。在某些另选的示例中,可在目录逻辑部310中实施控制逻辑部320的特征和功能。
根据某些示例,存储器330被布置为存储可执行的内容或指令。可执行的内容或指令可被控制逻辑部320和/或目录逻辑部310使用以实施或激活目录管理器180的特征或元件。如下面更进一步地描述,存储器330还可设置为暂时地保持与针对保持在节点的公共缓存中的目录文件分配和/或设置存活时间定时器相关联的信息。存储器330还可至少暂时地保持与针对目录文件基于从例如从其它节点接收的目录请求所获得的其它节点位置信息来调整存活时间相关联的信息。
存储器330可包括多种存储介质,包括(但不限于)以下各项的一个或多个:易失性存储器、非易失性存储器、闪存存储器、可编程变量或状态、RAM、ROM或其它静态或动态存储介质。
在某些示例中,与上述I/O接口240相似,I/O接口340可通过内部通信介质或在目录管理器180与驻存或布置在包括目录管理器180的节点上的元件之间的链路提供接口。另外,与I/O接口240相似,I/O接口340还可在目录管理器180与对于节点远程的元件之间提供接口。例如,如上面针对图1的描述,具有目录管理器180的节点可通过网络通信链路连接至网络接入点,或可通过一个或多个点对点通信链路连接至其它节点。例如,I/O接口340包括配置为根据多种有线或无线通信协议(例如,IEEE802.1、IEEE802.11、IEEE802.16、GSM、GPRS、EDGE、W-CDMA、HSPA、CDMA-2000、EV-DO、LTE、TD-LTE、蓝牙等)进行操作以允许目录管理器180通过这些通信链路进行通信的接口。
在某些示例中,目录管理器180包括向控制逻辑部320和/或目录逻辑部310提供指令的一个或多个应用350。例如,这些指令可包括针对目录管理器180的指令,以实施或使用缓存特征311、信息特征313、定时器特征315、请求特征317或调整特征319中的一个或多个。
图4A至4B示出了根据本发明的至少某些实施例的节点相对于其它节点的相对位置的图形化描述。如图4A至4B所示,利用标为图400的方格图描绘节点121相对于系统100的多个其它节点的相对位置。在图400的x轴或y轴上标记的每个距离单位可表示节点121与系统100的其它节点之间的相对距离的测量。例如,距离单位可以是给定数量的米或其它距离单位。如图4A所示,在某些示例中,节点121在图400上的相对位置可指示节点121可知晓节点143、123和125的位置。针对该示例,节点121可基于从这些节点或通过其它手段接收的复制或目录请求变得知晓这些节点各自的相对位置。例如,由于在节点121接收单独的请求,因此在节点121的文件管理器170或目录管理器180可包括被配置为首先对作出请求的节点的位置进行确定的逻辑部或特征。文件管理器170或目录管理器180的逻辑部或特征还可被配置为接着确定节点121的不仅相对于发送请求的节点而且相对于所述逻辑部或特征可知晓它们的位置的其它节点的相对位置。如图4A中描绘的图400,与节点143、123和125相比,节点121处于相对靠近中心的位置(例如,最靠近x/y轴的中心)。
图4B示出了相对于系统100中的其它节点,节点121的相对位置不再处于靠近中心的位置的示例。在某些示例中,节点121可变得知晓节点129的位置。如图4B所示,在图400上,相对于其它节点,节点125现在位于靠近中心的位置,并且节点121针对节点143、123、125和129的相对位置从靠近中心的位置移开。
根据某些示例,文件管理器170或目录管理器180可包括这样的逻辑部和/或特征,即,该逻辑部和/或特征被配置为基于节点121相对于其它节点的相对位置的改变、针对存储在节点121的公共缓存中的数据或目录文件来调整存活时间定时器设置。例如,如果节点121变得知晓另一节点的位置以使得节点121从相对于系统100中的其它节点的靠近中心的位置移开,则存活时间定时器可被调整为更快地到期。针对该示例,加快到期的存活时间定时器可以是由于节点121处的文件管理器170或目录管理器180确定其它节点可以在系统100中针对数据迁移可位于更有利的位置。另选地,如果节点121朝向更靠近中心的相对位置偏移,则存活时间定时器可调整为更晚到期,这是因为针对系统100中的数据迁移,节点121位于更有利的位置。
图5示出了根据本发明的至少某些实施例的示例性目录文件500。如图5所示,目录文件500包括与存储在系统100的多个节点的公共缓存中的数据关联的信息。在某些示例中,目录文件500可被存储在节点121的公共缓存162中。针对这些示例,如图5所示,与存储在每个节点各自的公共缓存162中的数据相关联的信息包括针对节点认证(ID)的列510、针对节点位置的列520、针对数据源的地址的列530、针对数据的大小(例如,以字节指示)的列540、针对各个节点从给定的数据源下载数据所花费的时间的列550、针对下载的日期/时间的列560以及针对(与存储在针对目录文件500中列出的每个节点的各个公共缓存中的数据相关联的)估计的存活时间值的列570。
在某些示例中,列520中指示的节点的位置可以是GPS坐标或其它的(物理的或逻辑的)定位手段(由其能够确定系统100的节点各自的相对位置)。列530中指示的数据源地址可以是指示获得数据的互联网地址。列540中的数据大小可指示数据在存储器单元中可以是多大(例如,多少字节)。列550中的下载时间可指示在数据被节点下载时数据源的响应如何。列550中指示的下载数据的日期/时间可在某些示例中用于估计存活时间值,并且近似地指示在所述数据将被删除之前节点可将所述数据在其公共缓存中保持存储多久。
根据某些示例,节点121处的目录管理器180可包括被配置为在节点121的公共缓存162中存储目录文件500的逻辑部和/或特征。系统100的节点可向寻找与存储在系统100中的其它节点的公共缓存中的数据相关的信息的节点121发出目录请求。节点121处的目录管理器180可基于寿命值针对目录文件500分配或设置存活时间定时器。目录管理器180还可基于可向节点121发出目录请求的节点的位置调整存活时间定时器。与以上针对图1的描述相似,一旦存活时间定时器到期,目录管理器180就可从节点121的公共缓存162删除目录文件500。
在某些示例中,目录文件500中所指示的节点可向节点121指示保持在它们各自的公共缓存中的数据已被删除或者存活时间定时器已被调整。针对这些示例,节点121的目录管理器180可包括被配置为更新目录文件500以反映数据被删除或者估计的存活时间值的改变的逻辑部和/或特征。
根据某些示例,目录文件500的大小可变得大于节点121的公共缓存162中的可用存储器。针对这些示例,节点121的目录管理器180可包括这样的逻辑部和/或特征,即,被配置为拒绝将附加的信息添加至目录文件500,并向提供信息的节点指示与存储在该节点的公共缓存中的数据关联的信息将不被包括在目录文件500中。另选地,目录管理器180可去除与存储在另一节点的公共缓存中的其它数据关联的信息。针对另选的情况,目录管理器180可包括这样的逻辑部和/或特征,即,实施一个或多个方案(例如,先进先出、加权循环等)以确定从目录文件500中去除哪些信息来为新的信息腾出空间。可随后向已从目录文件500中去除了信息的节点通知信息已被去除。
图6示出了根据本发明的至少某些实施例的针对保持目录文件的节点的示例性呼叫卡600。如图6所示,呼叫卡600包括来自包括在目录文件500中的信息的缩简的信息。该缩简的信息在图6中示为:列610中的节点ID、列620中的节点位置和列630中的数据源地址。在某些示例中,在节点已向节点121提供了关于保持在节点的公共缓存中的数据的信息之后,节点121可向所述节点提供呼叫卡600。例如,如果系统100的节点127发送或转发关于存储在其公共缓存162中的数据的信息,则节点121的目录管理器180可包括被配置为更新目录文件500的逻辑部和/或特征。可随后向节点127和其它节点发送呼叫卡600,以指示包括在目录文件500中的至少一部分信息。目录管理器180还可向系统100中的其它节点发送更新的呼叫卡600。更新的呼叫卡600可指示节点121现在保持与存储在节点127的公共缓存162中的数据相关的信息。
图7示出了根据本发明的至少某些实施例的针对点对点数据迁移的示例方法的流程图。在某些示例中,使用如图1所示的系统100来例示关于图7中描绘的流程图的示例性方法。如图2所示的文件管理器170也可用于示出示例性方法。但是所描述的方法不限于在如图1所示的系统100上的实施方式,或不限于图2所示的文件管理器170。示例方法可在具有图1或图2中描绘的一个或多个元件的其它系统上实施。
在起始处开始并移动至框710(接收数据),节点121的文件管理器170可包括配置为通过网络通信链路120A从数据源112接收数据(例如,通过接收特征213)的逻辑部和/或特征。在某些示例中,数据可包括视频文件、音频文件、多媒体文件或数据文件中的一个或多个。在某些其它示例中,数据可包括第一部分的视频文件、音频文件、多媒体文件或数据文件。例如,第二部分的视频文件、音频文件、多媒体文件或数据文件可存储在与另一节点(例如,节点123)关联的分离的公共缓存中。分离地存储这些文件的多个部分可允许通过一个或多个网络通信链路从数据源接收非常大的文件,并接着将所述文件存储在不止一个节点中,以通过点对点通信链路分布至其它节点。
继续从框710至框720(存储数据),文件管理器170可包括这样的逻辑部和/或特征,即,被配置为将接收的数据(例如,通过缓存特征211)存储在保持在节点121的存储器160的一部分中的公共缓存162中。在某些示例中,给定的节点的公共缓存162(诸如,节点121的公共缓存162)可基于可包括接收支付信用(billing credit)、现金补贴或设备补贴的激励程序来进行配置。针对这些示例,可由保持网络120中的网络通信链路的操作员将激励程序提供给节点121(例如,智能电话、平板电脑、笔记本计算机、台式计算机等)的用户。可将激励提供给交换中的节点121的用户,以提供公共访问并允许将存储器160的一部分配置为包括公共缓存162。这种激励对网络120的操作员会是有利的,因为所述激励鼓励用户使用点对点通信链路以及他们自己的专用缓存而非网络通信链路来获得数据。
继续从框720至框730(设置存活时间定时器),文件管理器170可包括这样的逻辑部和/或特征,即,被配置为至少部分地基于与数据关联的寿命值来设置存活时间定时器(例如,通过定时器特征215)。在某些示例中,与数据关联的寿命值可基于若干更多个标准。例如,由于节点121的公共缓存中的可用存储容量低或有限或由于节点121通过点对点通信链路连接至一个或多个其它节点的可用带宽有限,因此小的寿命值可与数据关联。另外,小的寿命值可以是节点121保持与其它节点的点对点通信链路的小的时间窗的结果(例如,节点121可以是移动的或尝试保存功率)。由于至少某些上述限制,存活时间定时器可设置为在相对短的时间段(例如,几分钟)内到期。
继续从框730至判断框740(接收复制请求?),文件管理器170可包括这样的逻辑部和/或特征,即,被配置为确定是否从系统100中的另一节点接收(例如,通过请求特征217)了复制请求。在某些示例中,可从节点125通过点对点通信链路150F接收复制请求,并且复制请求可包括数据节点125寻找什么的指示。如果已接收复制请求,则请求特征217可随后允许节点125访问节点121的公共缓存162以复制请求的数据,接着,处理移动至框750。否则处理从判断框740移动至判断框780。
继续从判断框740至框750(确定位置),文件管理器170可包括被配置为确定节点125的位置(例如,通过请求特征217)的逻辑部和/或特征。在某些示例中,复制请求可包括节点125的位置的指示。例如,节点125可具有GPS能力,并且可在复制请求中包括GPS信息以在发出请求时指示节点125的物理位置。在其它示例中,复制请求可包括一种网络地址,节点121的文件管理器180通过这种网络地址能够确定节点125的逻辑和/或物理位置。
继续从框750至判断框760(调整存活时间定时器?),文件管理器170可包括配置为确定存活时间定时器是否需要调整(例如,通过调整特征219)的逻辑部和/或特征。在某些示例中,该确定可基于节点121相对于节点125和系统100的其它节点的相对位置是否改变。如果节点121的相对位置改变,则处理可从判断框760移动至框770。否则,处理继续从判断框760行进至判断框780。
继续从判断框760至框770(调整存活时间定时器),文件管理器170可包括这样的逻辑部和/或特征,即,被配置为基于节点121的相对位置的改变来调整与请求的数据关联的存活时间定时器(例如,通过调整特征219)。例如,如以上针对图4A和图4B的描述,节点121的相对位置可从靠近中心的位置改变为较不靠近中心的位置。在较不靠近中心的位置中,调整特征219可将存活时间定时器调整为更早到期。相反,在更加靠近中心的位置,调整特征219可将存活时间定时器调整为更晚到期。
继续从框770至判断框780(定时器到期?),文件管理器170可包括被配置为确定存活时间定时器是否已到期(例如,通过定时器特征215)的逻辑部和/或特征。如果存活时间定时器已到期,则将数据从节点121的公共缓存162删除,并且处理终止。否则,处理返回至判断框740。
图8示出了根据本发明的至少某些实施例的针对点对点数据迁移的其它示例性方法的流程图。在某些示例中,使用如图1所示的系统100来显示关于图8所示的流程图的示例性方法。如图3所示的目录管理器180也可用于示出示例性方法。但是描述的方法不限于在图1所示的系统100上的实施方式,或不限于图3所示的目录管理器180。所述示例性方法可在具有图1或图3所示的一个或多个元件的其它系统上实施。
在起始处开始并前进至框810(保持公共缓存),节点123的目录管理器180可包括配置为在存储器160的一部分中保持公共缓存162(例如,通过缓存特征311)的逻辑部和/或特征。在某些示例中,如上所述,给定的节点的公共缓存162可基于可包括接收支付信用、现金补贴或设备补贴的激励程序来进行配置。针对这些示例,可将激励提供给交换中的节点123的用户,以提供公共访问并允许将存储器160的一部分配置为包括公共缓存162,以用作存储一个或多个目录文件的位置。这种激励对网络120的操作员会是有利的。例如,所述激励可鼓励用户使用点对点通信链路并发现或定位可将数据局部地存储在公共缓存中的其它节点,而不使用网络通信链路和网络资源来从远程源获得数据(例如,数据源112)。
继续从框810至框820(存储目录文件),目录管理器180可包括被配置为在节点123的公共缓存162中存储目录文件(例如,通过信息特征313)的逻辑部和/或特征。在某些示例中,所述目录文件可包括与存储在一个或多个其它节点的公共缓存162中的数据关联的信息。例如,数据可起初被一个或多个其它节点通过网络通信链路从诸如数据源112的远程布置的数据源接收。另外,可从起初从远程数据源接收数据的节点复制相同的数据,但是现在数据的复制可保持在另一节点的分离的公共缓存162中。目录文件可包括这样的信息,即,该信息将这些节点识别为具有所述数据或可仅将复制节点指示为具有数据。
继续从框820至框830(设置存活时间定时器),目录管理器180可包括这样的逻辑部和/或特征,即,被配置为至少部分地基于与数据关联的寿命值设置存活时间定时器(例如,通过定时器特征315)。在某些示例中,与目录关联的寿命值可基于若干更多个标准。例如,由于节点123通过点对点通信链路连接至一个或多个其它节点的可用带宽小或有限,因此小的寿命值可与目录文件关联。另外,小的寿命值可以是节点123保持与其它节点的点对点通信链路的小的时间窗的结果(例如,节点123可以是移动的或尝试保存功率)。由于至少某些上述限制,存活时间定时器可设置为在相对短的时间段(例如,几分钟)内到期。
继续从框830至判断框840(接收目录请求?),目录管理器180可包括被配置为确定是否已从系统100中的另一节点接收到目录请求(例如,通过请求特征317)的逻辑部和/或特征。在某些示例中,可从节点125通过点对点通信链路150E接收目录请求,并且所述目录请求可包括对数据的搜索或查询及其在给定节点的公共缓存162中的可能的位置。如果已接收目录请求,则请求特征317可随后允许节点125访问节点121的公共缓存162以获得保持在目录文件(例如,目录文件500)中的目录信息,并且处理随后移动至框850。否则,处理从判断框840移动至判断框880。
继续从判断框840至框850(确定位置),目录管理器180可包括被配置为确定节点125的位置(例如,通过请求特征317)的逻辑部和/或特征。在某些示例中,所述目录请求可包括对节点125的位置的指示。例如,节点125可具有GPS能力,并可在发出请求时在目录请求中包括信息以指示节点125的物理位置。在其它示例中,目录请求可包括一种网络地址,节点123的目录管理器180通过所述网络地址可确定节点125的逻辑和/或物理位置。
继续从框850至判断框860(调整存活时间定时器?),目录管理器180可包括被配置为确定是否需要调整存活时间定时器(例如,通过调整特征319)的逻辑部和/或特征。在某些示例中,所述确定可基于节点123相对于节点125和系统100的其它节点的相对位置是否改变。如果节点123的相对位置改变,则处理可从判断框860移动至框870。否则,处理继续从判断框860移动至判断框880。
继续从判断框860至框870(调整存活时间定时器),目录管理器180可包括这样的逻辑部和/或特征,即,被配置为基于节点123的相对位置的改变来调整与目录文件关联的存活时间定时器(例如,通过调整特征319)。例如,与以上针对节点121的图4A和4B的描述相似,节点123的相对位置可从靠近中心的位置改变为较不靠近中心的位置。在较不靠近中心的位置,调整特征319可将存活时间定时器调整为更早到期。相反地,在更加靠近中心的位置,调整特征219可将存活时间定时器调整为更晚到期。
继续从框870至判断框880(定时器到期?),目录管理器180可包括被配置为确定存活时间定时器是否已到期(例如,通过定时器特征315)的逻辑部和/或特征。如果存活时间定时器已到期,则从节点123的公共缓存162删除目录文件,并且处理结束。否则,处理移动回到判断框840。
图9示出了根据本发明的至少某些实施例的示例性计算机程序产品900的框图。在某些示例中,如图9所示,计算机程序产品900包括信号承载介质902,其还可包括用于点对点数据迁移的指令904。指令904当通过逻辑部(例如,文件逻辑部210)执行时可使得逻辑部接收在通过第一点对点通信链路连接至第二节点的第一节点的数据。可从相对于第一节点和第二节点二者远程布置的数据源接收数据。指令还可使得所述逻辑部将数据存储在与第一节点关联的公共缓存中。公共缓存可保持在配置为可通过第一点对点通信链路被第二节点访问的存储器的一部分中。指令904还可使得所述逻辑部至少部分地基于与数据关联的寿命值针对所述数据设置存活时间定时器。在某些示例中,可随后响应于存活时间定时器的到期将所述数据从与第一节点关联的公共缓存中删除。指令904还可使得所述逻辑部从第二节点接收复制请求,以从与第一节点关联的公共缓存复制数据,并相对于第一节点的位置确定第二节点的位置。指令904还可使得所述逻辑部至少部分地基于第二节点的位置调整存活时间定时器。
如图9所示,在某些示例中,计算机产品900可包括以下各项的一个或多个:计算机可读介质906、可记录介质908和通信介质910。这些元件周围的虚线框描绘了包括在(但不限于)信号承载介质902中的不同类型的介质。这些类型的介质可以分布将被逻辑部(例如,文件逻辑部210)执行的指令904。计算机可读介质906和可记录介质908可包括(但不限于)软盘、硬盘驱动器(HDD)、光盘(CD)、数字通用盘(DVD)、数字带、计算机存储器等。通信介质910可包括(但不限于)数字和/或模拟通信介质(例如,光缆、波导、有线通信链路、无线通信链路等)。
图10示出了根据本发明的至少某些实施例的示例性计算装置1000。在某些示例中,可在计算装置1000上实施图1、图2或图3中描绘的文件管理器170或目录管理器180。在这些示例中,计算装置1000的元件可布置或配置为针对通过一个或多个点对点通信链路连接的节点之间的点对点数据迁移。在非常基本的配置1001中,计算装置1000通常包括一个或多个处理器1010和系统存储器1020。存储器总线1030可用于处理器1010和系统存储器1020之间的通信。
根据期望的配置,处理器1010可以是包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或以上部件的任何组合的任何类型。处理器1010可包括一级或多级的缓存(例如,1级缓存1011和2级缓存1012)、处理器核1013和寄存器1014。处理器核1013可包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或者以上单元的任何组合。存储器控制器1015还可以与处理器1010一起使用,或者在某些实现中,存储器控制器1015可以是处理器1010的内部部件。
根据期望的配置,系统存储器1020可以是包括但不限于易失性存储器(例如,RAM)、非易失性存储器(例如,ROM、闪存等)或者以上部件的任何组合的任何类型。系统存储器1020通常包括操作系统1021、一个或更多个应用1022和程序数据1024。应用1022包括设置为执行本文所述的功能的指令1023,所述功能包括参照图2所示的文件管理器170架构、图3所示的目录管理器180架构描述的行为或包括参照图7和图8所示的流程图描述的行为。程序数据1024包括可用于实施指令1023(例如,复制数据、确定位置、提供目录信息、提供呼叫卡、设置/调整存活时间定时器等)的迁移数据1025。在某些示例中,应用1022可设置为在操作系统1021上利用程序数据1024进行操作,以使得可提供针对通过一个或多个点对点通信链路连接的节点之间的点对点数据迁移的实施方式,如本文所述。所描述的该基本配置通过虚线1001内的那些部件示出在图10中。
计算装置1000可以具有附加的特征或功能以及附加接口,以便于基本配置1001与任何所需装置和接口之间的通信。例如,可以使用总线/接口控制器1040以便于经由存储装置接口总线1041的基本配置1001和一个或更多个数据存储装置1050之间的通信。数据存储装置1050可以是可移除存储装置1051、不可移除存储装置1052或二者的组合。举例来说,可移除存储装置和不可移除存储装置的示例包括磁盘装置(例如,软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(例如,压缩盘(CD)驱动器或数字通用盘(DVD)驱动器)、固态驱动器(SSD)和带驱动器。示例计算机存储介质可以包括按照用于存储信息(例如,计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。
系统存储器1020、可移除存储装置1051和不可移除存储装置1052都是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁性存储装置、或者可以用于存储期望的信息并且可以被计算装置1000访问的任何其它介质。任何这种计算机存储介质可以是装置1000的一部分。
计算装置1000还可以包括接口总线1042,所述接口总线1042便于经由总线/接口控制器1040从各种接口装置(例如,输出接口、外围接口和通信接口)到基本配置1001的通信。示例输出接口1060可以包括图形处理单元1061和音频处理单元1062,所述图形处理单元1061和所述音频处理单元1062可以被配置为经由一个或更多个A/V端口1063与诸如显示器或扬声器的各种外部装置进行通信。示例外围接口1060可以包括串行接口控制器1071或并行接口控制器1072,所述串行接口控制器1071或所述并行接口控制器1072可以被配置为经由一个或更多个I/O端口1073与诸如输入装置(例如,键盘、鼠标、笔、语音输入装置、触摸输入装置等)的外部装置或其它外围装置(例如,打印机、扫描仪等)进行通信。示例通信装置1080包括网络控制器1081,所述网络控制器1081可以被设置为便于经由一个或更多个通信端口1082通过网络通信链路与一个或更多个其它计算装置1090进行通信。网络通信链路可以是通信介质的一个示例。通信介质通常可以实现为计算机可读指令、数据结构、程序模块或在经调制的数据信号中的其它数据(诸如载波或其它传输机制),并且可以包括任何信息传输介质。“经调制的数据信号”可以是这样的信号,即,使其一个或更多个特性按照对该信号中的信息进行编码的方式来设置或改变。作为示例而非限制,通信介质可以包括:诸如有线网络或直接有线连接的有线介质;以及诸如声学、射频(RF)、微波、红外(IR)和其它无线介质这样的无线介质。这里使用的词项计算机可读介质可以包括存储介质和通信介质二者。
计算装置1000可以被实现为小型的便携式(或移动)电子装置的一部分,诸如,蜂窝电话、个人数据助理(PDA)、个人媒体播放装置、无线网络收看装置、个人耳机装置、专用装置或者包括任何上述功能的混合装置。计算装置1000还可实现为包括笔记本计算机和非笔记本计算机构造二者的个人计算机,或实现为工作站或服务器构造。
本发明中引用的术语“响应于”不限于对特定特征和/或结构的响应性。一特征也可响应于另一特征和/或结构,并且也位于该特征和/或结构中。此外,当本文中或权利要求中使用诸如“连接”或“响应”或“响应于”或“与……通信”等的术语或短语时,应该广义地理解这些术语。例如,短语“连接至”在使用该短语的上下文中可以适当地指以可通信的方式、通过电和/或操作性地连接。
本领域技术人员应该理解,在本领域中通常按照本文阐述的方式描述装置和/或处理,并且随后使用工程实践来将所述装置(例如,发送器、接收器、无线装置、计算平台、计算装置、平板电脑、手机等)和/或方法集成到数据处理系统中。也就是说,本文所述的装置和/或方法的至少一部分可通过合理量的实验集成在数据处理系统中。本领域技术人员应该理解,典型数据处理系统通常包括以下的一个或多个:系统单元壳体、视频显示装置、存储器(诸如易失性和非易失性存储器)、处理器(诸如微处理器和数字信号处理器)、计算实体(诸如操作系统)、驱动器、图形用户接口和应用程序、一个或多个交互装置(诸如触摸垫或屏幕)和/或控制系统(包括反馈回路和控制电机(例如,感测位置和/或速率的反馈;用于移动和/或调整组件和/或数量的控制电机))。典型的数据处理系统可利用任何合适的市售组件(诸如通常在数据计算/通信和/或网络计算/通信系统中找到的那些)实现。
这里所描述的主题通常示出了包含在不同的其它部件中的或与不同的其它部件相连接的不同的部件。应理解的是,所描述的这种架构仅是示例性的,并且实际上,可以实现获得了相同的功能的许多其它架构。在概念涵义上,用于实现相同功能的部件的任何配置都是有效地“关联”的,使得获得期望的功能。因此,不考虑架构或中间部件,可以将这里被组合以获得特定的功能的任何两个部件视为是彼此“相关联”的,使得期望的功能被实现。同样,如此相关联的任何两个部件也可以被视为彼此“可操作地连接”或“可操作地耦合”,以实现期望的功能,并且能够如此关联的任何两个部件也可以被视为彼此“可操作地可耦合”,以实现期望的功能。可操作地可耦合的具体示例包括但不限于物理上可连接和/或物理上交互的部件和/或可无线地交互和/或无线地交互的部件和/或逻辑上交互和/或可逻辑上交互的部件。
关于在这里基本上任何复数和/或单数词项的使用,本技术领域技术人员可以从复数转化为单数和/或从单数转化为复数以适合于上下文和/或应用。为了清楚起见,可以在此明确地阐述各种单数/复数的置换。
本领域技术人员将理解的是,一般来说,这里所使用的措辞,特别是在所附权利要求(例如,所附权利要求的主体)中使用的措辞,通常旨在是“开放式”措辞(例如,措辞“包括”应被理解为“包括但不限于”,措辞“具有”应被理解为“至少具有”,措辞“包含”应被理解为“包含但不限于”等)。本领域技术人员将进一步理解的是,如果所引入的权利要求记载中的特定的数目是有意图的,则这样的意图将在权利要求中明确地记载,并且在没有这样的记载时,不存在这样的意图。例如,作为对理解的辅助,下面所附的权利要求可以包含对“至少一个”和“一个或更多个”的引入性用语的使用,以引入权利要求记载。然而,即使当相同的权利要求包括引入性用语“一个或更多个”或者“至少一个”以及诸如“一”或“一个”的不定冠词(例如,“一”和/或“一个”应被解释为表示“至少一个”或“一个或更多个”)时,使用这样的用语也不应被解释为暗示由不定冠词“一”或“一个”所引入的权利要求记载将包含这种所引入的权利要求记载的任何特定的权利要求限制到仅包含一个这样的记载的实施方式;对于使用用于引入权利要求记载的定冠词来说也是如此。另外,即使明确地记载了所引入的权利要求记载的特定数目,本领域技术人员将理解的是,这样的记载也应该被理解为至少表示所记载的数目(例如,在没有其它修饰的情况下,“两个记载”的无修饰的记载表示至少两个记载或者两个或更多个记载)。此外,在使用与“A、B和C中的至少一个等”类似的常规表述的情况下,一般来说,这种结构旨在表示本领域技术人员将理解的该常规表述的含义(例如,“具有A、B和C中的至少一个的系统”将包括但不限于仅具有A的系统、仅具有B的系统、仅具有C的系统、具有A和B的系统、具有A和C的系统、具有B和C的系统和/或具有A、B和C的系统等)。在使用与“A、B或C中的至少一个等”类似的常规表述的情况下,一般来说,这种结构旨在表示本领域技术人员将理解的该常规表述的含义(例如,“具有A、B或C中的至少一个的系统”将包括但不限于仅具有A的系统、仅具有B的系统、仅具有C的系统、具有A和B的系统、具有A和C的系统、具有B和C的系统和/或具有A、B和C的系统等)。本领域技术人员将进一步理解的是,示出两个或更多个替代性措辞的几乎任何转折词和/或短语,无论是在说明书、权利要求或附图中,都应被理解为考虑可能包括措辞中的一个、措辞中任一个或全部措辞。例如,短语“A或B”将被理解为可能包括“A”或“B”或“A和B”。
虽然本文已公开了多个方面和实施例,但是其它方面和实施例对于本领域技术人员来说将是清楚的。本文公开的所述多个方面和实施例是为了示出的目的而不旨在限制,权利要求指示了真实的范围了精神。

Claims (42)

1.一种用于点对点数据迁移的方法,所述方法包括:
在通过第一点对点通信链路以可通信的方式连接至第二节点的第一节点处接收数据,从相对于所述第一节点和所述第二节点二者远程布置的数据源通过网络通信链路接收所述数据;
将所述数据存储在与所述第一节点关联的公共缓存中,所述公共缓存保持在被配置为能够通过所述第一点对点通信链路被所述第二节点访问的存储器的一部分中;
针对所述数据至少部分地基于与所述数据关联的寿命值来设置存活时间定时器,其中,响应于所述存活时间定时器的到期将所述数据从与所述第一节点关联的所述公共缓存中删除;
从所述第二节点接收复制请求,以从与所述第一节点关联的所述公共缓存复制所述数据;
相对于所述第一节点的位置确定所述第二节点的位置;以及
至少部分地基于所述第二节点的位置来调整所述存活时间定时器。
2.根据权利要求1所述的方法,其中,与所述数据关联的所述寿命值至少部分地基于:与其它节点分别从所述数据源接收所述数据的估计的下载时间相比,所述第二节点从与所述第一节点关联的所述公共缓存复制所述数据的相对响应时间。
3.根据权利要求1所述的方法,其中,与所述数据关联的所述寿命值至少部分地基于以下之一:与所述第一节点关联的所述公共缓存中的可用存储容量、针对所述第一节点通过所述第一点对点通信链路以可通信的方式连接至所述第二节点的可用带宽或者所述第一节点保持通过第二点对点通信链路以可通信的方式连接至所述第二节点的时间量。
4.根据权利要求1所述的方法,其中,所述数据包括视频文件、音频文件、多媒体文件或数据文件中的至少一种。
5.根据权利要求1所述的方法,其中,所述数据包括视频文件、音频文件、多媒体文件或数据文件中的所述至少一种的第一部分。
6.根据权利要求5所述的方法,其中,视频文件、音频文件、多媒体文件或数据文件中的所述至少一种的第二部分被包括在存储在与第三节点关联的分离的公共缓存中的其它数据中,所述第三节点通过第二点对点通信链路以可通信的方式连接至所述第一节点。
7.根据权利要求1所述的方法,其中,至少部分地基于所述第二节点的位置来调整所述存活时间定时器包括:如果所述第二节点的相对位置指示所述第一节点相对于所述第二节点和通过一个或多个点对点通信链路以可通信的方式连接至所述第一节点的其它节点中的至少一个分离的节点二者位于中心位置,则将所述存活时间定时器调整为更晚到期。
8.根据权利要求1所述的方法,该方法还包括:
从第三节点接收单独的复制请求,以复制来自所述第一节点的公共缓存的所述数据;
相对于所述第一节点的位置确定所述第三节点的位置;以及
至少部分地基于所述第三节点的位置和所述第二节点的位置二者调整所述存活时间定时器。
9.根据权利要求8所述的方法,其中,至少部分地基于所述第三节点的位置和所述第二节点的位置二者调整所述存活时间定时器包括:如果确定所述第三节点的位置和所述第二节点的位置指示所述第一节点相对于所述第三节点和所述第二节点二者没有处于中心位置,则缩短所述存活时间定时器。
10.根据权利要求1所述的方法,其中,至少部分地基于所述第二节点的位置调整所述存活时间定时器还包括:至少部分地基于与所述第二节点从所述数据源接收所述数据的估计下载时间相比的所述第二节点从与所述第一节点关联的所述公共缓存复制所述数据的响应时间来调整存活时间定时器。
11.根据权利要求1所述的方法,其中,相对于所述第一节点的位置确定所述第二节点的位置包括:至少部分地基于包括在用于指示所述第二节点的物理位置的所述复制请求中的信息来确定所述第二节点的位置。
12.根据权利要求1所述的方法,其中,与所述第一节点关联的所述公共缓存包括至少部分地基于包括支付信用、现金补贴或设备补贴之一的激励程序来进行配置的存储器的一部分,在交换时将所述激励程序由所述网络通信链路的操作员提供给所述第一节点的用户,以提供对存储器的所述一部分的访问并允许存储器的所述一部分被配置为保持与所述第一节点关联的所述公共缓存。
13.根据权利要求1所述的方法,其中,所述第一点对点通信链路包括以下各项中的至少一种:无线局域网通信链路、有线局域网通信链路、无线广域网通信链路、有线广域网通信链路或蓝牙通信链路,并且节点从所述数据源接收所述数据所经由的所述网络通信链路包括通过互联网以可通信的方式将所述节点连接至所述数据源的网络通信链路。
14.一种用于点对点数据迁移的方法,所述方法包括:
保持与第一节点关联的第一公共缓存,所述第一公共缓存可通过一个或多个点对点通信链路被其它节点访问;
在所述第一公共缓存中存储目录文件,所述目录文件被配置为包括与存储在与第二节点关联的第二公共缓存中的数据相关联的信息,所述目录文件还包括所述第二节点的位置;
至少部分地基于与所述目录文件关联的寿命值针对所述目录文件设置存活时间定时器,其中,响应于所述存活时间定时器的到期将所述目录文件从所述第一公共缓存中删除;
针对与包括在所述目录文件中的数据关联的信息,从第三节点接收目录请求;
相对于所述第一节点的位置确定所述第三节点的位置;以及
至少部分地基于所述第二节点的位置和所述第三节点的位置二者来调整所述存活时间定时器。
15.根据权利要求14所述的方法,其中,存储在所述第二公共缓存中的数据包括所述第二节点通过网络通信链路从相对于所述第一节点、所述第二节点和所述第三节点远程地布置的数据源所接收的数据。
16.根据权利要求15所述的方法,其中,所述一个或多个点对点通信链路包括以下各项中的至少一个:无线局域网通信链路、有线局域网通信链路、无线广域网通信链路、有线广域网通信链路或蓝牙通信链路,并且所述第二节点从所述数据源接收数据所经由的所述网络通信链路包括通过互联网以可通信的方式将所述第二节点连接至所述数据源的网络通信链路。
17.根据权利要求15所述的方法,其中,与存储在所述第二公共缓存中的数据关联的信息还包括针对由所述第二节点通过所述网络通信链路所接收的数据的下载时间的指示,所述下载时间将被所述第三节点使用以确定是否从所述第二公共缓存复制所述数据。
18.根据权利要求14所述的方法,其中,存储在所述第二公共缓存中的数据包括视频文件、音频文件、多媒体文件或数据文件中的至少一种。
19.根据权利要求14所述的方法,其中,存储在所述第二公共缓存中的所述数据包括所述第二节点从与第四节点关联的第四公共缓存复制的数据,存储在所述第四公共缓存中的所述数据包括由所述第四节点通过网络通信链路从相对于所述第一节点、所述第二节点、所述第三节点和所述第四节点远程地布置的数据源所接收的数据。
20.根据权利要求14所述的方法,其中,与所述目录文件关联的所述寿命值至少部分地基于以下之一:所述第一公共缓存中的可用的存储容量、所述第一节点通过所述一个或多个点对点通信链路以可通信的方式连接至其它节点的可用带宽或者所述第一节点保持通过所述一个或多个点对点通信链路连接至其它节点的时间量。
21.根据权利要求14所述的方法,其中,至少部分地基于所述第二节点的位置和所述第三节点的位置二者调整所述存活时间定时器包括:如果确定所述第二节点的相对位置指示所述第一节点相对于所述第二节点和所述第三节点二者处于中心位置,则延长所述存活时间定时器的到期。
22.根据权利要求14所述的方法,其中,相对于所述第一节点的位置确定所述第三节点的位置包括:至少部分地基于包括在用于指示所述第二节点的物理位置的所述目录请求中的信息来确定所述第三节点的位置。
23.根据权利要求14所述的方法,该方法还包括:
从第四节点接收目录复制请求,以用于所述第四节点从所述第一公共缓存复制所述目录文件;
相对于所述第一节点的位置确定所述第四节点的位置;
至少部分地基于所述第一节点、所述第二节点、所述第三节点和所述第四节点的位置来调整所述存活时间定时器;以及
响应于在所述存活时间定时器到期时删除所述目录文件,向其它节点转发所述第四节点的位置的指示。
24.根据权利要求14所述的方法,该方法还包括:
接收与存储在与第四节点关联的第四公共缓存中的其它数据相关联的信息;
确定存储在所述第一公共缓存中的所述目录文件是否达到了预定的存储器大小;以及
基于是否达到所述预定的存储器大小,将与所述其它数据关联的信息添加至存储在所述第一公共缓存中的所述目录文件。
25.根据权利要求14所述的方法,其中,与存储在第二公共缓存中的数据关联的信息包括对何时将所述数据从所述第二公共缓存中删除进行指示的信息。
26.根据权利要求14所述的方法,该方法还包括:
从所述第二节点接收存储在所述第二公共缓存中的数据已被删除的指示;以及
从所述目录文件中删除与存储在所述第二公共缓存中的数据关联的信息。
27.根据权利要求14所述的方法,该方法还包括:
联系其它节点中的第四节点,所述第四节点具有存储在与所述第四节点关联的第四公共缓存中的其它数据;
接收与存储在所述第四公共缓存中的所述其它数据关联的信息;
将与存储在所述第四公共缓存中的所述其它数据关联的信息添加至存储在所述第一公共缓存中的所述目录文件;以及
向所述第四节点转发呼叫卡,所述呼叫卡包括针对所述第一节点的位置信息以及对所述第一节点具有包括与存储在所述第四公共缓存中的所述其它数据关联的信息的目录文件的指示,并且还包括与存储在所述第二公共缓存中的数据关联的信息。
28.一种用于点对点数据迁移的设备,所述设备包括:
文件管理器,所述文件管理器具有逻辑部,所述逻辑部被配置为:
在通过第一点对点通信链路以可通信的方式连接至第二节点的第一节点处接收数据,从相对于所述第一节点和所述第二节点二者远程布置的数据源接收所述数据;
将所述数据存储在与所述第一节点关联的公共缓存中,所述公共缓存保持在被配置为能够通过所述第一点对点通信链路被所述第二节点访问的存储器的一部分中;
针对所述数据至少部分地基于与所述数据关联的寿命值来设置存活时间定时器,其中,响应于所述存活时间定时器的到期将所述数据从与所述第一节点关联的所述公共缓存中删除;
从所述第二节点接收复制请求,以从与所述第一节点关联的所述公共缓存复制所述数据;
相对于所述第一节点的位置确定所述第二节点的位置;以及
至少部分地基于所述第二节点的位置来调整所述存活时间定时器。
29.根据权利要求28所述的设备,其中,与所述数据关联的所述寿命值至少部分地基于以下之一:与所述第一节点关联的所述公共缓存中的可用存储容量、针对所述第一节点通过所述第一点对点通信链路连接至所述第二节点的可用带宽或者所述第一节点保持通过所述第一点对点通信链路连接至所述第二节点的时间量。
30.根据权利要求28所述的设备,其中,所述数据包括视频文件、音频文件、多媒体文件或数据文件中的至少一种。
31.根据权利要求28所述的设备,其中,被配置为至少部分地基于所述第二节点的位置调整所述存活时间定时器的所述逻辑部包括这样的逻辑部,该逻辑部被配置为如果确定所述第二节点的第二相对位置指示所述第一节点相对于所述第二节点和通过一个或多个点对点通信链路以可通信的方式连接至所述第一节点的其它节点中的至少一个分离的节点二者位于中心位置,则延长所述存活时间定时器的到期。
32.根据权利要求28所述的设备,其中,所述第一点对点通信链路包括以下各项中的至少一种:无线局域网通信链路、有线局域网通信链路、无线广域网通信链路、有线广域网通信链路或蓝牙通信链路,并且节点从所述数据源接收所述数据所经由的所述网络通信链路包括通过互联网以可通信的方式将所述节点连接至所述数据源的网络通信链路。
33.一种系统,该系统包括:
与第一节点关联的存储器,所述存储器被配置为包括能够被通过一个或多个点对点通信链路连接至所述第一节点的其它节点访问的第一公共缓存;以及
目录管理器,所述目录管理器具有逻辑部,所述逻辑部被配置为:
在所述第一公共缓存中存储目录文件,所述目录文件包括与存储在与第二节点关联的第二公共缓存中的数据相关联的信息,所述目录文件还包括所述第二节点的位置;
至少部分地基于与所述目录文件关联的寿命值,针对所述目录文件设置存活时间定时器,其中,响应于所述存活时间定时器的到期将所述目录文件从所述第一公共缓存中删除;
从第三节点接收目录请求,所述目录请求包括针对包括在所述目录文件中的与存储在所述第二公共缓存中的数据相关联的信息的请求;
相对于所述第一节点的位置确定所述第三节点的位置;以及
至少部分地基于所述第二节点的位置和所述第三节点的位置二者调整所述存活时间定时器。
34.根据权利要求33所述的系统,其中,存储在所述第二公共缓存中的数据包括所述第二节点通过网络通信链路从相对于所述第一节点、所述第二节点和所述第三节点远程地布置的数据源所接收的数据。
35.根据权利要求34所述的系统,其中,所述一个或多个点对点通信链路包括以下各项中的至少一个:无线局域网通信链路、有线局域网通信链路、无线广域网通信链路、有线广域网通信链路或蓝牙通信链路,并且所述第二节点从所述数据源接收数据所经由的所述网络通信链路包括通过互联网以可通信的方式将所述第二节点连接至所述数据源的网络通信链路。
36.根据权利要求33所述的系统,其中,存储在所述第二公共缓存中的数据包括视频文件、音频文件、多媒体文件或数据文件中的至少一种。
37.根据权利要求33所述的系统,其中,被配置为至少部分地基于所述第二节点的位置和所述第三节点的位置二者来调整所述存活时间定时器的所述逻辑部包括这样的逻辑部,该逻辑部被配置为如果确定所述第二节点的相对位置指示所述第一节点相对于所述第二节点和所述第三节点二者处于中心位置,则延长所述存活时间定时器的到期。
38.一种计算机程序产品,该计算机程序产品包括非临时介质,所述非临时介质具有用于点对点数据迁移的指令,当所述指令被逻辑部执行时使得所述逻辑部执行以下步骤:
在通过第一点对点通信链路连接至第二节点的第一节点处接收数据,从相对于所述第一节点和所述第二节点二者远程布置的数据源接收所述数据;
将所述数据存储在与所述第一节点关联的公共缓存中,所述公共缓存保持在被配置为可通过所述第一点对点通信链路被所述第二节点访问的存储器的一部分中;
针对所述数据至少部分地基于与所述数据关联的寿命值来设置存活时间定时器,其中,响应于所述存活时间定时器的到期将所述数据从与所述第一节点关联的所述公共缓存中删除;
从所述第二节点接收复制请求,以从与所述第一节点关联的所述公共缓存复制所述数据;
相对于所述第一节点的位置确定所述第二节点的位置;以及
至少部分地基于所述第二节点的位置来调整所述存活时间定时器。
39.根据权利要求38所述的计算机程序产品,其中,与所述数据关联的所述寿命值至少部分地基于以下之一:与所述第一节点关联的所述公共缓存中的可用存储容量、针对所述第一节点通过所述第一点对点通信链路连接至所述第二节点的可用带宽或者所述第一节点保持通过所述第一点对点通信链路连接至所述第二节点的时间量。
40.根据权利要求38所述的计算机程序产品,其中,所述数据包括视频文件、音频文件、多媒体文件或数据文件中的至少一种。
41.根据权利要求38所述的计算机程序产品,其中,使得所述逻辑部至少部分地基于所述第二节点的位置调整所述存活时间定时器的所述指令包括这样的指令,该指令进一步使得所述逻辑部执行以下操作:如果确定所述第二节点的相对位置指示所述第一节点相对于所述第二节点和通过一个或多个点对点通信链路以可通信的方式连接至所述第一节点的其它节点中的至少一个分离的节点二者位于中心位置,则延长所述存活时间定时器的到期。
42.根据权利要求38所述的计算机程序产品,其中,所述第一点对点通信链路包括以下各项中的至少一个:无线局域网通信链路、有线局域网通信链路、无线广域网通信链路、有线广域网通信链路或蓝牙通信链路,并且节点从所述数据源接收数据所经由的所述网络通信链路包括通过互联网以可通信的方式将所述节点连接至所述数据源的网络通信链路。
CN201180073489.XA 2011-09-20 2011-09-20 点对点数据迁移 Expired - Fee Related CN103797473B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/052402 WO2013043162A1 (en) 2011-09-20 2011-09-20 Peer-to-peer data migration

Publications (2)

Publication Number Publication Date
CN103797473A true CN103797473A (zh) 2014-05-14
CN103797473B CN103797473B (zh) 2017-05-24

Family

ID=47881689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180073489.XA Expired - Fee Related CN103797473B (zh) 2011-09-20 2011-09-20 点对点数据迁移

Country Status (4)

Country Link
US (2) US9742842B2 (zh)
KR (1) KR101589801B1 (zh)
CN (1) CN103797473B (zh)
WO (1) WO2013043162A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684989B2 (en) * 2011-06-15 2020-06-16 Microsoft Technology Licensing, Llc Two-phase eviction process for file handle caches
CN103797473B (zh) * 2011-09-20 2017-05-24 英派尔科技开发有限公司 点对点数据迁移
US20140040537A1 (en) * 2012-08-01 2014-02-06 Genusion Inc. Storage medium using nonvolatile semiconductor storage device, and data terminal including the same
US20140071885A1 (en) * 2012-09-10 2014-03-13 Qualcomm Incorporated Systems, apparatus, and methods for bridge learning in multi-hop networks
US10021181B2 (en) * 2014-12-22 2018-07-10 Dropbox, Inc. System and method for discovering a LAN synchronization candidate for a synchronized content management system
US11287973B2 (en) 2016-02-02 2022-03-29 Samsung Electronics Co., Ltd. Polymorphic storage devices
US10735545B2 (en) * 2016-06-06 2020-08-04 International Business Machines Corporation Routing vault access requests in a dispersed storage network
US10972450B1 (en) 2019-04-15 2021-04-06 Wells Fargo Bank, N.A. Systems and methods for securely migrating data between devices
US11956482B2 (en) * 2020-07-16 2024-04-09 Comcast Cable Communications, Llc Systems and methods for storing and delivering content assets
US11825342B2 (en) * 2020-09-02 2023-11-21 Brain Corporation Systems, apparatuses, and methods for reducing network bandwidth usage by robots
US11789959B2 (en) * 2021-10-06 2023-10-17 S&P Global Inc. Data visualization method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020142855A1 (en) * 2000-03-31 2002-10-03 Cook Eric H. Matched set of golf clubs and method of producing the same
US20020156893A1 (en) * 2001-01-22 2002-10-24 Eric Pouyoul System and method for dynamic, transparent migration of services
US20040088347A1 (en) * 2002-10-31 2004-05-06 Yeager William J. Mobile agents in peer-to-peer networks
US20040111441A1 (en) * 2002-12-09 2004-06-10 Yasushi Saito Symbiotic wide-area file system and method
US20060159109A1 (en) * 2000-09-07 2006-07-20 Sonic Solutions Methods and systems for use in network management of content
CN1928839A (zh) * 2005-09-09 2007-03-14 中国科学院计算技术研究所 一种远程内存服务器及其实现方法
US20070233517A1 (en) * 2006-03-31 2007-10-04 Sandeep Dayal Pharmaceutical clearinghouse method and system
US20110136503A1 (en) * 2009-12-09 2011-06-09 Qualcomm Incorporated Hierarchical information dissemination for location based systems

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532490B1 (en) * 1999-11-10 2003-03-11 Bellsouth Intellectual Property Corporation Methods and elements to reduce the number of quieries to a foreign network element
US7188145B2 (en) * 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US7035911B2 (en) * 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
WO2002084879A2 (en) * 2001-04-13 2002-10-24 The Code Coproration System and method for encoding and decoding data and references to data in machine-readable graphical codes
US7562112B2 (en) * 2001-07-06 2009-07-14 Intel Corporation Method and apparatus for peer-to-peer services for efficient transfer of information between networks
US7068309B2 (en) * 2001-10-09 2006-06-27 Microsoft Corp. Image exchange with image annotation
US7395355B2 (en) * 2002-07-11 2008-07-01 Akamai Technologies, Inc. Method for caching and delivery of compressed content in a content delivery network
US20080027982A1 (en) * 2006-07-27 2008-01-31 Ebay Inc. Indefinite caching expiration techniques
CN101247317B (zh) * 2007-02-15 2011-07-20 华为技术有限公司 路由切换方法及系统
US7849139B2 (en) * 2007-05-02 2010-12-07 Ouri Wolfson Adaptive search in mobile peer-to-peer databases
US8180720B1 (en) * 2007-07-19 2012-05-15 Akamai Technologies, Inc. Content delivery network (CDN) cold content handling
US8074264B2 (en) * 2008-04-16 2011-12-06 Microsoft Corporation Secure key distribution to internet clients
US8060697B1 (en) * 2008-09-18 2011-11-15 Sprint Communications Company L.P. Dynamically allocated secondary browser cache
CN101902346A (zh) * 2009-05-31 2010-12-01 国际商业机器公司 P2p内容缓存系统和方法
US8677134B2 (en) * 2010-11-11 2014-03-18 Microsoft Corporation HTTP signing
US20120257560A1 (en) * 2011-04-07 2012-10-11 Sudharshan Srinivasan Cellular data bandwidth optimization using social networking concepts
US9912718B1 (en) * 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
CN103797473B (zh) * 2011-09-20 2017-05-24 英派尔科技开发有限公司 点对点数据迁移

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020142855A1 (en) * 2000-03-31 2002-10-03 Cook Eric H. Matched set of golf clubs and method of producing the same
US20060159109A1 (en) * 2000-09-07 2006-07-20 Sonic Solutions Methods and systems for use in network management of content
US20020156893A1 (en) * 2001-01-22 2002-10-24 Eric Pouyoul System and method for dynamic, transparent migration of services
US20040088347A1 (en) * 2002-10-31 2004-05-06 Yeager William J. Mobile agents in peer-to-peer networks
US20040111441A1 (en) * 2002-12-09 2004-06-10 Yasushi Saito Symbiotic wide-area file system and method
CN1928839A (zh) * 2005-09-09 2007-03-14 中国科学院计算技术研究所 一种远程内存服务器及其实现方法
US20070233517A1 (en) * 2006-03-31 2007-10-04 Sandeep Dayal Pharmaceutical clearinghouse method and system
US20110136503A1 (en) * 2009-12-09 2011-06-09 Qualcomm Incorporated Hierarchical information dissemination for location based systems

Also Published As

Publication number Publication date
US20130073669A1 (en) 2013-03-21
CN103797473B (zh) 2017-05-24
KR101589801B1 (ko) 2016-01-28
KR20140004799A (ko) 2014-01-13
WO2013043162A1 (en) 2013-03-28
US20170346893A1 (en) 2017-11-30
US9742842B2 (en) 2017-08-22

Similar Documents

Publication Publication Date Title
CN103797473A (zh) 点对点数据迁移
JP6941689B2 (ja) スマートブロードキャスト処理方法および装置
US9977811B2 (en) Presenting availability statuses of synchronized objects
US9730033B2 (en) Offline content distribution networks
US20090219901A1 (en) Wireless Content Aquisition for Mobile Electronic Devices
JP5922709B2 (ja) データ転送を簡略化するシステム及び方法
US20160019052A1 (en) Method and apparatus for auto installing applications into different terminals
CN104919423A (zh) 对等软件更新
WO2015157937A1 (zh) 软件升级方法和终端
AU2012261814A1 (en) Management of network-based digital data repository
CN109271078A (zh) 内容分享方法、终端设备及存储介质
EP2122476A1 (en) Bidirectional dynamic offloading of tasks between a host and a mobile device
US20070143492A1 (en) Automated superdistribution
US20160234340A1 (en) Systems and methods for adaptive cloning of mobile devices
CN102893272A (zh) 对象的共享和同步
CN103946845A (zh) 客户端应用文件访问
US7953822B2 (en) Method of and apparatus for downloading data
CN110784520A (zh) 文件下载方法、装置及电子设备
WO2022001796A1 (zh) 一种管理应用程序app的方法、终端设备、服务器和系统
CN110719526B (zh) 视频播放方法及装置
CN114780465A (zh) 可共享远程直接数据存取链接的创建方法及装置
CN113282248A (zh) 基于区块链的个人信息处理方法及装置
CN111782260A (zh) 灰度发布方法及灰度发布装置
JP2008102711A (ja) クライアント・サーバシステム
KR101199159B1 (ko) 온라인 기반의 파일 설치 방법 및 그 제어 장치

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170524

Termination date: 20190920

CF01 Termination of patent right due to non-payment of annual fee