CN104012047B - 一种用于优化数据递送的方法、***及服务器 - Google Patents

一种用于优化数据递送的方法、***及服务器 Download PDF

Info

Publication number
CN104012047B
CN104012047B CN201280065098.8A CN201280065098A CN104012047B CN 104012047 B CN104012047 B CN 104012047B CN 201280065098 A CN201280065098 A CN 201280065098A CN 104012047 B CN104012047 B CN 104012047B
Authority
CN
China
Prior art keywords
computing device
multiple computing
data
data slot
connection
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.)
Expired - Fee Related
Application number
CN201280065098.8A
Other languages
English (en)
Other versions
CN104012047A (zh
Inventor
肖恩·S·罗杰斯
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Priority to CN201610865713.3A priority Critical patent/CN107040451A/zh
Publication of CN104012047A publication Critical patent/CN104012047A/zh
Application granted granted Critical
Publication of CN104012047B publication Critical patent/CN104012047B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • 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/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • 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/1078Resource delivery mechanisms
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0058Allocation criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0058Allocation criteria
    • H04L5/0069Allocation based on distance or geographical location
    • 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
    • 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
    • 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
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

各种实施例提供优化在装置、一群组互连装置之间递送数据的方式的***、装置及方法。在一个实施例中,可对希望用于多个装置的数据集进行分段且可将所述数据集的不同部分提供到每一装置。所述所希望的装置可接着共享其数据集部分以在每一装置上重新创建完整数据集。在另一实施例中,各自存储完整数据集的多个装置可能需要将所述完整数据集上传到单个装置。所述多个装置可在彼此当中指配对于所述完整数据集的片段的上传职责,且所述多个装置可各自将其经指配的片段上传到所述单个装置。所述单个装置可接着组合所述片段以重新创建所述完整数据集。

Description

一种用于优化数据递送的方法、***及服务器
技术领域
本发明一般来说涉及计算机装置之间的数据传送且更明确地说,涉及用于优化数据到移动装置的递送的方法及***。
背景技术
现今的忙碌信息工作者可具有均能够用数据进行工作的多个移动装置。作为实例,旅行者可具有两个移动装置,例如智能电话及膝上型计算机。智能电话及膝上型计算机可能均能够操纵相同数据(例如,电子邮件)及为旅行者呈现相同数据(例如,电子邮件)。虽然智能电话及膝上型计算机可能能够执行相同任务,但在各种情况下,用户可能更喜欢用一个装置(与另一装置相比较)来工作。举例来说,旅行者可能发现偶尔地在智能电话上检查电子邮件为有用的,但可能感觉在膝上型计算机上进行繁杂工作或阅读更富有成效,这是归因于膝上型计算机的一般较大屏幕及较大键盘。
许多旅行者面临的常见问题涉及当在所有旅行者的移动装置可能不具有连接性的位置处工作时,使多个移动装置数据集与中央数据库服务器同步。作为实例,旅行者可在上飞机之前使其膝上型计算机及智能电话与电子邮件交换服务器同步,以使得膝上型计算机及智能电话关于发送的及接收的电子邮件均为最新的。旅行者可继续在飞机上在膝上型计算机上写电子邮件及答复电子邮件。如果旅行者在其膝上型计算机上写了若干电子邮件(膝上型计算机在飞行中时可能与网络连接隔离),那么可将那些起草的电子邮件保持在队列中以用于在网络连接变得可用时将其发射到电子邮件交换服务器。旅行者的膝上型计算机及智能电话接着在电子邮件方面将不同步,这是因为膝上型计算机含有智能电话不会含有的起草的电子邮件。在着陆时,旅行者的智能电话可连接到蜂窝式数据网络且从电子邮件交换服务器下载最新的电子邮件。旅行者可使用其智能电话在飞机上写电子邮件及答复电子邮件,且蜂窝式数据网络连接可使得智能电话及服务器能够在电子邮件方面保持经更新。然而,膝上型计算机在传入的电子邮件及传出的电子邮件两者方面将均保持不同步,直到其建立网络连接为止。旅行者现在可能面临数据同步问题,这是因为膝上型计算机、智能电话及电子邮件交换服务器皆可含有不同的电子邮件数据 集。此数据同步问题可致使旅行者受挫且阻碍了旅行者的成效性。
发明内容
各种实施例的***、方法及装置优化了在移动计算装置之间递送数据的方式。各种实施例充分利用现代计算装置的互连性来优化一群组互连装置之间的数据集的递送。在一个实施例中,可由电子邮件服务器来对具有多个计算装置的用户所希望的数据集进行分段,且可将所述数据集的不同部分发射到所述用户的计算装置中的每一者。所述两个或两个以上移动计算装置可接着彼此共享其数据集部分以在每一计算装置上重新创建所述完整数据集。在另一实施例中,各自存储完整数据集的多个计算装置可通过将对于所述完整数据集的不同片段的上传职责指配给每一装置而将所述完整数据集上传到单个计算装置(例如,电子邮件服务器)。所述多个计算装置中的每一者可将其经指配的片段上传到所述单个计算装置。所述单个计算装置可接着组合所述片段以重新创建所述完整数据集。
附图说明
并入本文且构成本说明书的部分的附图说明本发明的示范性实施例,且连同上文给出的一般描述及下文给出的详细描述一起用以阐释本发明的特征。
图1为适合于供各种实施例使用的网络的通信***框图。
图2为说明用于优化数据递送的第一实施例方法的过程流程图。
图3为实例数据集特性的示意图。
图4为实例用户偏好设置的数据结构图。
图5为实例数据片段映射元素的数据结构图。
图6为说明用于优化数据递送的第二实施例方法的另一过程流程图。
图7为实例包标头信息的数据结构图。
图8为说明用于优化数据递送的第三实施例方法的另一过程流程图。
图9为说明用于优化数据递送的第四实施例方法的另一过程流程图。
图10为说明用于优化数据递送的第五实施例方法的另一过程流程图。
图11为说明用于优化数据递送的第六实施例方法的另一过程流程图。
图12为说明用于优化数据递送的第七实施例方法的另一过程流程图。
图13A及13B为说明用于管理计算装置之间的交互以优化数据递送的实施例方法的过程流程图。
图14为说明用于优化数据递送的第八实施例方法的另一过程流程图。
图15为说明用于使数据片段的发射同步的实施例方法的过程流程图。
图16为说明用于使数据片段的接收同步的实施例方法的过程流程图。
图17为说明用于使数据集同步的第一实施例方法的过程流程图。
图18为说明用于使数据集同步的第二实施例方法的另一过程流程图。
图19为说明用于在计算装置当中指配及发射等待同步的数据的实施例方法的过程流程图。
图20为说明用于指配上传职责的第一实施例方法的过程流程图。
图21为说明用于指配上传职责的第二实施例方法的另一过程流程图。
图22为说明用于指配上传职责的第三实施例方法的另一过程流程图。
图23为说明用于指配上传职责的第四实施例方法的另一过程流程图。
图24为说明用于指配上传职责的第五实施例方法的另一过程流程图。
图25为说明用于指导计算装置当中的等待同步的数据的发射的实施例方法的过程流程图。
图26为说明用于在计算装置当中指配及发射等待同步的数据的另一实施例方法的另一过程流程图。
图27为说明用于优化电子邮件递送的实施例方法的过程流程图。
图28A及28B为说明用于管理计算装置之间的交互以优化数据递送的另一实施例方法的额外过程流程图。
图29为适合于供各种实施例使用的实例移动计算装置的组件图。
图30为适合于供各种实施例使用的实例服务器的组件图。
图31为适合于供各种实施例使用的另一实例移动计算装置的组件图。
具体实施方式
将参看附图详细描述各种实施例。只要可能,将在整个图式中使用相同的参考数字来指相同或相似的部分。对特定实例及实施方案进行的参考是出于说明性目的,且不希望限制本发明或权利要求书的范围。
词“示范性”在本文中用以意味“用作实例、例子或说明”。本文中描述为“示范性”的任何实施方案未必应解释为较其它实施方案优选或有利。
如本文中所使用,术语“移动装置”及“移动计算装置”是指以下各者中的任一者或全部:蜂窝电话、平板计算机、个人数据助理(PDA)、掌上型计算机、笔记型计算机、 膝上型计算机、个人计算机、无线电子邮件接收器及蜂窝电话接收器(例如,黑莓(Blackberry)及奔迈(Treo)装置)、具备多媒体互联网功能的蜂窝电话(例如,黑莓风暴(BlackberryStorm))、具备多媒体功能的智能电话(例如,安卓(Android)及苹果iPhone),及包含可编程处理器、存储器、通信收发器及显示器的类似电子装置。
本文中使用用两个移动计算装置工作的旅行者的实例描述各种实施例,所述两个移动计算装置使数据与中央数据库服务器(即,电子邮件服务器)同步。此实例可用于描述实施例计算装置、***及方法的各种组件及功能性。然而,除非特别地加以叙述,否则实施例及权利要求书的范围不限于此配置及应用。在其它可能的应用方面描述实施例将为不必要的且重复的。因此,术语“旅行者”在本文中用以一般指可对其应用实施例的任何计算装置用户,且除非特别地加以叙述,否则不希望限制权利要求书的范围。
类似地,术语“电子邮件”在本文中用以一般指可对其应用实施例的任何及全部数据,包含多种字、电子数据表及多媒体文件,且除非特别地加以叙述,否则不希望限制权利要求书的范围。
本文中使用术语“服务器”描述各种实施例。术语“服务器”用以指能够充当服务器(例如,主交换服务器、邮件服务器、文档服务器或任何其它类型的服务器)的任何计算装置。服务器可为专用计算装置或运行可致使计算装置作为服务器操作的应用程序的计算装置。服务器应用程序可为完整功能服务器应用程序,或经配置以在移动计算装置上的动态数据库当中提供同步服务的轻量级或辅助服务器应用程序。轻量级服务器或辅助服务器可为服务器型功能性的消瘦版本,服务器型功能性可实施于移动计算装置上,借此使得移动计算装置能够仅在提供本文中所描述的功能性所必要的程度上充当互联网服务器(例如,企业电子邮件服务器)。
概述来说,各种实施例的***、方法及装置优化了在计算装置之间递送数据的方式。各种实施例充分利用现代计算装置的互连性来优化一群组互连计算装置之间的数据集的递送。在一个实施例中,可对希望用于多个移动计算装置的数据集进行分段且可将数据集的不同部分提供到每一移动计算装置。所希望的移动计算装置可接着共享其数据集部分以在每一移动计算装置上重新创建完整数据集。在另一实施例中,各自存储完整数据集的多个移动计算装置可能需要将完整数据集上传到单个计算装置。多个移动计算装置可在彼此当中指配对于完整数据集的片段的上传职责,且多个移动计算装置可各自将其经指配的片段上传到单个计算装置。所述单个计算装置可接着组合所述片段以重新创建所述完整数据集。
在另一实施例中,用户的两个或两个以上移动计算装置可经配置以辨识移动计算装 置中的一者何时与另一者在特定数据集方面不同步。如果检测到此情形,那么移动计算装置可完成更新或同步以使得两个移动计算装置反映共同数据集。在另一实施例中,移动计算装置可向其它移动计算装置验证其自身以使得仅在用户授权的两个移动计算装置之间完成同步。在另一实施例中,移动计算装置可经配置以接收在一个移动计算装置中产生的时间数据,所述移动计算装置正等待与另一计算装置(例如,服务器)同步。在另一实施例中,移动计算装置可经配置以在应用程序之间转译数据以匹配实施于每一移动计算装置上的应用程序格式。在另一实施例中,可完成交替或负载均衡数据递送以优化数据递送的总速度或成本。在另一实施例中,实施于移动计算装置中的一或多者上的有条件的数据递送能力可化解同时从多方或多方电子邮件线程发生的数据递送冲突。
图1说明适合于供各种实施例使用的网络***100。网络***100可包含三个装置:服务器102及两个移动计算装置(智能电话104及膝上型计算机106)。虽然各种实施例关于服务器102、智能电话104及膝上型计算机106特别有用,但实施例不限于这些装置且可实施于任何装置中而无对方法的任何改变。另外,虽然各种实施例是关于三个装置之间的交互加以论述,但实施例不限于三个装置,且方法可实施于由无限数目个装置组成的网络***中。
服务器102可为主交换服务器、邮件服务器、文档服务器,或任何其它类型的中央数据库服务器。服务器102与智能电话104可经由通信通路108彼此交换数据。膝上型计算机106与服务器102可经由通信通路110彼此交换数据。膝上型计算机106与智能电话104可经由通信通路112彼此通信。通信通路108、110及112可用以在装置之间发射数据。通信通路108、110及112可为此项技术中已知的任何连接类型。
作为实例,用以连接到服务器102的通信通路108及110可为无线连接,例如智能电话104及/或膝上型计算机106及Wi-Fi接入点118之间的无线Wi-Fi连接。Wi-Fi接入点118可连接到互联网114。服务器102可连接到互联网114,且以此方式,可经由Wi-Fi接入点118从智能电话104及/或膝上型计算机106发射数据/将数据发射到智能电话104及/或膝上型计算机106,及通过此项技术中所熟知的方法经由互联网114将数据发射到服务器102/从服务器102发射数据。作为额外实例,通信通路108及110可使用蜂窝式网络来建立。智能电话104及/或膝上型计算机106可以无线方式将数据发射到可连接到互联网114的蜂窝式网络小区塔或基站116。服务器102可连接到互联网114,且以此方式,可经由无线蜂窝塔或基站116从智能电话104及/或膝上型计算机106发射数据/将数据发射到智能电话104及/或膝上型计算机106,及通过此项技术中所熟知的方法经由互联网114将数据发射到服务器102/从服务器102发射数据。作为另一实例,膝 上型计算机106与服务器102之间的通信通路110可为有线局域网连接,例如以太网连接126。
作为实例,智能电话104与膝上型计算机106之间的通信通路112可为无线数据链路,例如蓝牙连接120。作为额外实例,智能电话104与膝上型计算机106之间的通信通路112可为经由Wi-Fi接入点122的无线Wi-Fi数据链路。以此方式,可通过此项技术中所熟知的方法经由Wi-Fi接入点122从智能电话104及/或膝上型计算机106发射数据/将数据发射到智能电话104及/或膝上型计算机106。作为额外实例,通信通路112还可为膝上型计算机106与智能电话104之间的有线连接,例如,连接于装置之间的USB电缆124。
通信通路108、110及112可为任何有线连接,例如USB连接、火线连接或局域网连接(例如,以太网),以及任何无线通信链路,例如蓝牙、Wi-Fi、紫蜂、蜂窝式、CDMA、TDMA、GSM、PCS、G-3、G-4、LTE或任何其它类型的有线或无线连接。虽然各种方面特别可供各种实施例使用,但通信通路108、110及112不限于这些通信技术且通信通路108、110及112可使用此项技术中所已知的任何通信技术来建立而不改变实施例方法的实施方案。
图2说明用于优化三个或三个以上计算装置当中的数据递送的实施例方法200。作为实例,方法200可实施于服务器102与两个或两个以上移动计算装置(例如,智能电话104及膝上型计算机106)之间。虽然关于服务器102、智能电话104及膝上型计算机106进行论述,但方法200可实施于具有充当其它装置的数据服务器的能力的任何装置中。在框202处,服务器102可识别待传达到移动计算装置的数据集。数据集可包含任何群组的数据,例如内容对象、电子邮件、电子邮件行、文字、文字块、网页、网页的部分、压缩文件、电子数据表、文档、文档的部分、文件及/或文件的部分。在框204处,服务器102可确定数据集的特性。数据集特性可包含下文进一步论述的各种特性。在框206处,服务器102可将数据集分离成数个片段。片段可包含数据集内的数据的任何分组,因此可基于在框204中确定的数据集特性执行框206处的数据集的分离,或可根据预定参数(例如,设置的片段大小)来分离数据集。在框208处,服务器102可将标识(“ID”)指配给每一片段。此片段ID可为由服务器102产生的独特数字、名称或标识元素。另外,片段ID可含有或提供关于片段的信息,例如,关于片段内容、片段的创建时间、服务器102或片段大小的信息。在框210处,服务器102可将片段ID写入到每一片段中。可将片段ID写入到表示整个片段的数据中,或可将片段ID写入到包括个别片段的每一数据元素中。
在框212处,服务器102可确定从数据集创建的片段的总数目。在框214中,服务器102可确定可用的移动计算装置。可用的移动计算装置可为(例如)可连接到服务器102的智能电话104及膝上型计算机106。或者,可用的移动计算装置可为向服务器102注册但可能当前未连接到服务器102的移动计算装置。在确定框216处,服务器可确定移动计算装置是否具备同步功能。具有同步功能的移动计算装置可为能够与另一移动计算装置同步/交换信息的移动计算装置。举例来说,具有同步功能的智能电话104可能能够使其数据集与具有同步功能的膝上型计算机106的数据集同步。如果可用的移动计算装置并不具备同步功能(即,确定框216=“否”),那么在框218中,服务器102可独立地更新移动计算装置的整个数据集。
如果可用的移动计算装置具备同步功能(即,确定框216=“是”),那么在框220中,服务器102可确定移动计算装置的地理位置。服务器102可通过以下方式确定移动计算装置的地理位置:通过由移动计算装置提供到服务器102的全球定位***(GPS)信息,通过参考关于移动计算装置可能经由其向服务器102传达的连接(即,移动计算装置可能使用哪些小区网络节点)的信息,通过识别每一移动计算装置的位置的移动计算装置用户输入,或其它方法。在确定框222处,服务器可确定移动计算装置是否并置。作为实例,可通过比较移动计算装置GPS信息、蜂窝式网络信息或用户输入来确定并置。作为实例,服务器102可基于GPS信息确定两个移动计算装置隔开大于距离阈值设置的距离。距离阈值设置可为定义并置的装置之间的最大距离。如果移动计算装置并非并置的(即,确定框222=“否”),那么在框218处,服务器102可独立地更新移动计算装置的整个数据集。
如果移动计算装置为并置的(即,确定框222=“是”),那么在框224处,服务器102可确定移动计算装置连接带宽。或者,服务器102可基于移动计算装置可能正使用以与服务器102通信的连接的类型确定每一移动计算装置的估计的移动计算装置连接带宽。在框226处,服务器102可确定用户偏好设置。用户偏好设置可与连接或装置有关以用于更新。下文论述用户偏好设置。
在框228处,服务器102可将数据片段指配给每一移动计算装置。数据片段到每一移动计算装置的指配可基于下文论述的各种考虑事项来进行。在框230处,服务器可产生数据片段映射,所述数据片段映射识别每一数据片段及每一片段可能被指配给的移动计算装置或如下文所论述的其它元素。在框232处,服务器102可将数据片段指配信息写入到每一数据片段中。可将数据片段指配信息写入到表示整个片段的数据中,或可将数据片段指配信息写入到包括个别片段的每一数据元素中。在框234处,服务器102可 将数据片段发射到其被指配的移动计算装置。以此方式,每一移动计算装置可接收不同数据片段。作为实例,膝上型计算机106可接收数据片段的第一部分且智能电话104可接收数据片段的第二部分,以使得第一部分与第二部分的组合将产生整个数据集。在框236处,服务器102可将数据片段映射发射到每一移动计算装置。以此方式,每一移动计算装置可接收整个数据片段映射的副本。数据片段映射可允许个别移动计算装置确定内容或原始数据集,即使每一移动计算装置可能未从服务器接收原始数据集的所有片段也如此。
在框238处,服务器102可存储所发射的数据片段的副本且在框240处,服务器102可存储数据片段映射的副本。以此方式,服务器102可能能够支持未来的单个装置会话或经指配的数据片段的重新发射(假如装置连接失败的话)。
图3为说明可能的数据集特性302的示意图。数据集特性302可包含数据集的所计算的总大小304。可以字节为单位或以表示数据集的总大小304的任何其它单位来计算总大小304。数据集特性302还可包含对象数目306、对象类型308、对象优先级310及个别对象大小312。
图4为说明可存储在服务器102的存储器中的用户偏好设置402的可能的元素的数据结构图。用户偏好设置402可包含待更新的装置的列表404、装置更新的次序406、连接偏好408、速度偏好410、装置的数据极限412或数据偏好414。作为实例,待更新的装置的列表404可识别用户的选定数目个移动计算装置,从而使得用户能够控制更新哪些装置。作为实例,装置更新的次序406可指导服务器102按特定次序或优先级序列更新选定装置。作为实例,连接偏好408可指导服务器102使用Wi-Fi连接而不是CDMA连接。或者,连接偏好408可指导服务器102使用一群组可用连接当中的最不昂贵连接。作为实例,速度偏好410可指导服务器102使用可用的最快连接。作为实例,装置的数据极限412可设置从服务器102发射到装置的最大数据量。作为实例,数据偏好414可指导服务器102将特定数据类型(例如,电子邮件)指配给特定移动装置(例如,智能电话104)。
图5为说明可能的数据片段映射元素502的数据结构图。数据片段映射元素502可包含片段总数目504、片段ID506、数据集特性508、片段装置指配510、片段大小512、片段创建时间戳514,及服务器验证密钥516。数据片段映射元素502可由服务器102或移动装置个别地或组合地使用以辅助重新创建数据集,识别数据集,或在服务器102与移动装置中的任一者之间通信。具体来说,片段创建时间戳514可允许移动装置确保其具有最新片段。服务器验证密钥516可充当移动装置的信任/核对工具(当相互通信时) 及充当安全特征。服务器验证密钥516可由服务器102提供以作为向其它移动计算装置验证片段及/或移动计算装置的方式。服务器验证密钥516可为从服务器102提供的加密密钥。从第二移动计算装置接收服务器验证密钥516的移动计算装置可能能够使用服务器验证密钥516确认第二移动计算装置上的信息实际上起源于服务器102。
图6说明用于优化数据递送的实施例方法600,除了在框602处,服务器102可创建每一片段的包以外,方法600类似于上文参看图2所描述的方法200。在框604处,服务器102可将标头信息写入到每一包中。标头信息可包含各种类型的信息,如下文将进一步加以论述。在框214处,服务器102可确定可用的移动计算装置。在框606处,服务器102可以类似于上文所论述的在框228中指配数据片段的方式的方式将包指配给每一移动计算装置。在框230处,服务器102可产生数据片段映射。在框608处,服务器102可将包发射到其被指配的移动计算装置。在框236处,服务器102可将数据片段映射发射到移动计算装置。
图7为说明可能的包标头信息702的数据结构图。包标头信息702可包含片段ID704、主数据集ID706、服务器ID708、片段创建时间戳710、重新组合指令712及包创建时间戳714。主数据集ID706可为由服务器102创建以识别总数据集(片段是从总数据集创建)的独特标识。服务器ID708可为与创建包的服务器102相关联的独特标识。重新组合指令712可为控制希望拆开包的次序或包中所含有的片段在总数据集中的放置的指令。包创建时间戳714可为创建包的时间的指示。
图8说明用于优化数据递送的实施例方法800,方法800可结合上文参看图2所描述的方法200使用。如上文在框224中所论述,服务器102可确定每一移动计算装置的移动计算装置连接带宽。在框802处,服务器102可确定所有移动计算装置的总的可用带宽。作为实例,服务器102可将个别移动计算装置连接带宽加总以确定所有移动计算装置的总的可用带宽。在框804处,服务器102可以与每一移动计算装置的连接带宽(呈总的可用带宽的百分比形式)成比例的方式将数据片段指配给每一移动计算装置。作为实例,具有表示两个移动计算装置之间的总的可用带宽的70%的到服务器的连接的移动计算装置可被指配70%的数据片段,而具有表示总的可用带宽的30%的到服务器的连接的移动计算装置可被指配30%的数据片段。服务器102可接着按照上文所描述的方法200或600将数据片段发射到相应移动计算装置。
图9说明用于优化数据递送的实施例方法900,方法900可结合上文参看图2所描述的方法200使用。如上文在框224中所论述,服务器102可确定移动计算装置连接带宽。在框902处,服务器102可确定将导致最短的所估计下载时间的数据片段指配。在 框904处,服务器102可基于所确定的最短下载时间将数据片段指配给每一移动计算装置。服务器102可接着按照上文所描述的方法200或600将数据片段发射到相应移动计算装置。
图10说明用于优化数据递送的实施例方法1000,方法1000可结合上文参看图2所描述的方法200使用。在框1002处,服务器102可确定移动计算装置连接类型。作为实例,服务器102与智能电话104之间的连接可为3G连接,且服务器102与膝上型计算机106之间的连接可为Wi-Fi连接。在框1004处,服务器102可确定与每一移动计算装置连接相关联的成本。作为实例,可对服务器102提供关于以下情形的信息:3G连接导致向用户索要关于经由连接发射的数据的费用且并不索要关于经由Wi-Fi连接发射的数据的费用。在框1006处,服务器102可确定将导致最低的总下载成本的数据片段指配。在框1008处,服务器102可基于所确定的最低的总下载成本将数据片段指配给每一移动计算装置。以此方式,实施方法1000的服务器102可以成本节省模式操作。服务器102可接着按照上文所描述的方法200或600将数据片段发射到相应移动计算装置。
图11说明用于优化数据递送的实施例方法1100,除了数据片段可寻址移动计算装置连接带宽中的改变以外,方法1100类似于上文参看图2及8所描述的方法200及800。如上文所论述,在框234处,服务器102可将数据片段发射到被指配的移动计算装置。在确定框1102处,服务器102可确定任何移动计算装置连接中是否发生带宽改变。如果发生带宽改变(即,确定框1102=“是”),那么在框224处,服务器102可再次确定移动计算装置连接带宽。在框802处,服务器102可再次确定总的可用带宽。在框804处,服务器102可再次以与每一移动计算装置的连接带宽(呈总的可用带宽的百分比形式)成比例的方式将数据片段指配给每一移动计算装置,且在框234处,服务器102可将数据片段发射到其现在可能新近被指配的移动计算装置。以此方式,服务器102可在数据片段发射期间随着带宽改变而连续地调整数据片段的指配。
如果任何移动计算装置中的带宽不会改变(即,确定框1102=“否”),那么在框1104处,服务器102可产生数据片段映射。以此方式,在最后确定数据片段指配之前,可能不会产生数据片段映射。在框236处,服务器102可将数据片段映射发射到移动装置。
图12说明用于优化数据递送的实施例方法1200,除了数据分段可补偿移动计算装置连接的损失以外,方法1200类似于上文参看图11所描述的方法1100。如上文所论述,在框234处,服务器102可将数据片段发射到被指配的移动计算装置。在确定框1202处,服务器可确定移动计算装置连接是否丢失。如果移动计算装置连接丢失(即,确定框 1202=“是”),那么在框1204处,服务器102可将完全下载查询发射到剩余移动计算装置。作为实例,完全下载查询可为对在移动计算装置上运行的应用程序的指示以促使用户批准或不批准整个数据集的完全下载。如果移动计算装置连接未丢失(即,确定框1202=“否”),那么在框1104处,服务器102可产生数据片段映射且在框235处,服务器102可将数据片段映射发射到移动计算装置。服务器102可接着按照上文所描述的方法200或600将数据片段发射到相应移动计算装置。
在确定框1206处,服务器102可确定是否接收到完全下载指示。作为实例,完全下载指示可为从在移动计算装置上运行的应用程序接收的消息,其指示用户请求进行对整个数据集的完全下载。如果接收到完全下载指示(即,确定框1206=“是”),那么在框1208处,服务器可将整个数据集发射到剩余的连接的移动计算装置。如果未接收到完全下载指示(即,确定框1206=“否”),那么在框1104处,服务器102可产生数据片段映射且在框235处,服务器102可将数据片段映射发射到移动计算装置。服务器102可接着按照上文所描述的方法200或600将数据片段发射到相应移动计算装置。
图13A及13B说明用于管理服务器102、智能电话104及膝上型计算机106之间的交互以优化数据递送的另一实施例方法1300。在框202、206、208及210处,服务器102可执行上文参看图2所描述的方法200的操作。在框1302及框1304处,服务器102及智能电话104可建立数据通信连接。连接可为适合于发射数据的任何连接,例如,先前关于图1所论述的那些连接。在框1306及框1308处,服务器102及膝上型计算机106可建立数据通信连接。连接可为适合于发射数据的任何连接,例如,先前关于图1所论述的那些连接。在框214、228、230及232处,服务器102可执行上文参看图2所描述的方法200的操作。
在框1310处,服务器102可将经指配的数据片段发射到智能电话104。在框1312处,智能电话104可接收其被指配的数据片段。在框1314处,服务器102可发射指配给膝上型计算机106的经指配的数据片段。在框1316处,膝上型计算机106可接收其被指配的数据片段。在框1318处,服务器102可将数据片段映射发射到智能电话104。在框1320处,智能电话104可接收数据片段映射。在框1322处,服务器102可将数据片段映射发射到膝上型计算机106。在框1324处,膝上型计算机106可接收数据片段映射。
在框1326及框1328处,智能电话104及膝上型计算机106可彼此建立数据通信连接。连接可为适合于发射数据的任何连接,例如,先前关于图1所论述的那些连接。在框1330处,智能电话104可确定将何种数据片段发射到膝上型计算机106。所述确定可 至少部分地基于由智能电话104接收的数据片段映射中的信息。在框1332处,膝上型计算机106可选择欲发射到智能电话104的数据片段。所述选择可至少部分地基于由膝上型计算机106接收的数据片段映射中的信息。在框1334处,智能电话104可将选定数据片段发射到膝上型计算机106且在框1336处,膝上型计算机106可接收数据片段。在框1338处,膝上型计算机106可将选定数据片段发射到智能电话104,且在框1340处,智能电话104可接收数据片段。以此方式,可在智能电话104与膝上型计算机106两者中组合驻留于服务器102上的完整数据集。
图14说明用于优化数据递送的实施例方法1400,方法1400可结合上文参看图2所描述的方法200使用。在框1402处,服务器102可确定服务器102已与之建立连接的移动计算装置类型。作为实例,服务器102可确定移动计算装置为两种不同类型的装置,即,智能电话104与膝上型计算机106。在框1404处,服务器102可基于移动计算装置类型确定欲发送的每一数据片段的量。以此方式,服务器可基于装置的类型确定欲发送到每一移动计算装置的数据的一部分。作为实例,智能电话104可能仅能够接收及显示电子邮件消息的前三行。当服务器102确定已连接智能电话104时,服务器102可确定应仅将有限量的数据片段(即,电子邮件消息的前三行)发送到智能电话104。在框228中,服务器102可再次将数据片段指配给每一移动装置。在框1406中,服务器102可基于所确定的装置能力发射适当量的指配给移动计算装置的数据片段中的每一者。以此方式,可仅将数据片段的一部分(即,所确定量)发射到移动计算装置。
图15说明用于使从第一计算装置到第二计算装置的数据片段的发射同步的实施例方法1500。作为实例,方法1500可实施于两个移动计算装置(例如,智能电话104及膝上型计算机106)之间。虽然关于两个移动计算装置(例如,智能电话104及膝上型计算机106)加以论述,但方法1500可实施于任何数目个计算装置、移动装置或其它装置当中。在框1502中,第一移动计算装置(例如,智能电话104)可检测到另一移动计算装置(例如,膝上型计算机106)的可用数据通信链路。第一移动计算装置可通过先前所建立的连接(例如,蓝牙连接)检测到第二移动计算装置的数据链路的可用性。在确定框1504处,第一移动计算装置可确定其是否具有第二移动计算装置的数据片段。作为实例,可通过以下操作来进行框1504处的确定:比较膝上型计算机106的装置ID与驻留于智能电话104的存储器中的数据片段映射,所述数据片段映射可指示是否应将数据片段提供给膝上型计算机106。如果第一移动计算装置不具有第二移动计算装置的数据片段(即,确定框1504=“否”),那么第一移动计算装置可返回到框1502以等待检测另一移动计算装置。
如果存在第二移动计算装置的数据片段(即,确定框1504=“是”),那么可选实施例中,在框1506处,第一移动计算装置可确定到第二移动计算装置的可用的移动装置数据通信链路连接。移动计算装置可具有建立一个以上数据通信链路的能力,且可在第一移动计算装置与第二移动计算装置之间建立一个以上数据通信链路。作为实例,智能电话104可确定存在与膝上型计算机106的Wi-Fi连接及蓝牙连接两者。在框1508处,在此可选实施例中,第一移动计算装置可选择在第一移动计算装置与第二移动计算装置之间建立的可用移动装置数据通信链路连接。作为实例,在框1508处,智能电话104可选择蓝牙连接。可以任何方式进行对通信数据链路连接的选择,且可基于类似于上文关于图8、9及10所论述的考虑事项的考虑事项(例如,成本或速度)进行所述选择。
在框1510处,第一移动计算装置可将数据等待消息发射到第二移动计算装置。数据等待消息可向第二装置警告第一装置具有第二装置所希望的数据片段。另外,数据等待消息可包含第二移动计算装置所希望的数据片段列表、关于数据片段的信息(例如,数据片段的大小、创建日期或内容类型),或与第二移动计算装置所希望的数据片段有关的任何其它信息。在框1512处,第一移动计算装置可接收来自第二移动计算装置的验证请求。验证请求可为来自第二移动计算装置的响应于数据等待消息的请求。验证请求可为对于可供第二移动装置使用以验证第一移动计算装置的确实性或验证驻留于第一移动计算装置上的数据的确实性的信息的请求。作为实例,验证请求可请求第一移动计算装置提供数据片段所源自的服务器的识别码。第二移动计算装置可使用服务器的识别码来验证片段源于经授权服务器,且因此验证请求可防止未经授权方提供或接收数据。
在框1514处,第一移动计算装置可响应于接收到验证请求而将数据片段映射发射到第二移动计算装置。数据片段映射可含有待供第二移动计算装置使用以验证第一移动计算装置的确实性或验证驻留于第一移动计算装置上的数据的确实性的信息。作为实例,数据片段映射可含有服务器ID以识别数据片段所源自的服务器。第二移动计算装置可使用服务器ID来验证第一移动计算装置(例如,通过比较服务器ID与所存储的经授权服务器ID列表)。在确定框1516处,第一移动计算装置可确定是否接收到数据片段发射请求。如果未接收到数据发射请求(即,确定框1516=“否”),那么第一移动计算装置可返回到框1502以等待检测另一移动计算装置。如果接收到数据发射请求(即,确定框1516=“是”),那么在框1518处,第一移动计算装置可将数据片段发射到第二移动计算装置。
图16说明用于使在第二计算装置处的来自第一计算装置的数据片段的接收同步的实施例方法1600。作为实例,方法1600可由第二移动计算装置实施,第二移动计算装 置结合实施方法1500的第一移动计算装置操作。作为实例,方法1600可实施于两个移动计算装置(例如,第一移动计算装置(智能电话104)及第二移动计算装置(膝上型计算机106))之间。虽然关于两个移动计算装置(膝上型计算机106及智能电话104)加以论述,但方法1600可实施于任何数目个计算装置、移动装置或其它装置当中。在框1602处,第二移动计算装置(例如,膝上型计算机106)可从第一移动计算装置(例如,智能电话104)接收数据等待消息。如上文所论述,数据等待消息可为向第二装置警告第一装置具有第二移动计算装置所希望的数据片段的消息。另外,数据等待消息可包含第二移动计算装置所希望的数据片段列表、关于数据片段的信息(例如,数据片段的大小、创建日期或内容类型),或与第二移动计算装置所希望的数据片段有关的任何其它信息。
在框1604处,第二移动计算装置可向第一移动计算装置发射验证请求。可响应于第二移动计算装置接收到数据等待消息而从第二移动计算装置发送验证请求。如上文所论述,验证请求可为对于可供第二移动装置使用以验证第一移动计算装置的确实性或验证驻留于第一移动计算装置上的数据的确实性的信息的请求。作为实例,验证请求可为从膝上型计算机106发送到智能电话104的请求智能电话104提供服务器ID的消息。在框1608处,第二移动计算装置可从第一移动计算装置接收可含有服务器ID的数据片段映射。
在确定框1610处,第二移动计算装置可(例如)通过比较数据片段映射中的服务器ID与存储在存储器中的服务器ID而确定服务器ID是否有效。可使用其它方法来验证服务器ID,包含使用计算机技术中所熟知的加密散列技术。如果服务器ID未得到验证(即,确定框1610=“否”),那么在框1620处,方法可结束。以此方式,第二移动计算装置可能不会接收到无效及/或不信任数据。如果服务器ID有效(即,确定框1610=“是”),那么在框1612处,第二移动计算装置可比较数据片段映射与驻留于第二移动计算装置上的当前数据集以确定第一移动计算装置上的任何数据片段是否含有未驻留于第二移动计算装置上的数据。作为实例,膝上型计算机106可比较数据片段创建时间戳以确定膝上型计算机106上的数据集是否比通过数据片段映射定义的数据集新。
在确定框1614处,第二移动计算装置可确定是否需要数据片段。此确定可使用在框1612中执行的数据片段与当前数据集的比较的结果来进行,以确定第一移动计算装置上的任何数据片段是否含有未驻留于第二移动计算装置上的数据。所需数据片段可包含未驻留于第二移动计算装置上的数据或比驻留于第二移动计算装置上的数据新的数据。如果不需要数据片段(即,确定框1614=“否”),那么在框1620处,方法1600可结束。作为实例,可能不需要过时的数据片段。如果需要数据片段(即,确定框1614= “是”),那么在框1616处,第二移动计算装置可向第一移动计算装置发射请求发射数据片段的数据片段发射请求。在框1618处,第二移动计算装置可从第一移动计算装置接收数据片段。在框1620处,方法1600可结束。
图17说明用于使数据集在第一计算装置与第二计算装置之间同步的实施例方法1700。作为实例,方法1700可实施于两个移动计算装置(例如,智能电话104及膝上型计算机106)之间。虽然关于两个移动计算装置(智能电话104及膝上型计算机106)加以论述,但方法1700可实施于任何数目个计算装置、移动装置或其它装置当中。在框1702处,第一移动计算装置(例如,膝上型计算机106)可将等待服务器同步的数据标记为暂时的。等待服务器同步的数据可为从第一移动计算装置与服务器之间发生最后的数据同步时起以某种方式变更的数据。可以任何方式将等待服务器同步的数据标记为暂时的,包含通过写入到文件标头中的信息、添加到数据或索引或指针文件的标签,或通过改变数据ID。在框1704处,第一移动计算装置可将数据列表发射到第二移动计算装置(例如,智能电话104)。数据列表可为驻留于第一移动计算装置上的数据的列表,例如索引。数据列表可包含在框1702中经标记为暂时的数据的标识。作为实例,膝上型计算机106可经由在膝上型计算机106与智能电话104之间建立的通信数据链路连接将数据列表发射到智能电话104。
在框1706处,第一移动计算装置可接收来自第二移动计算装置的数据集请求。数据集请求可识别第二移动计算装置可能请求的数据列表上的数据的全部或一部分。另外,数据集请求可包含关于用于第二移动计算装置所需的数据的应用格式的信息。在框1708处,第一移动计算装置可基于在框1706处接收的数据列表识别第二移动计算装置所需的数据集。数据集的标识可包含识别第二移动计算装置所需的应用格式。在框1710处,第一移动计算装置可在应用格式之间转译数据集。作为实例,存储在膝上型计算机106上的数据可呈仅适合于用于膝上型计算机106上的应用格式。为了使用数据,智能电话104可能需要将数据转译成适合于用于智能电话104上的应用格式。因此,膝上型计算机106可将数据集从用于膝上型计算机106的应用格式转译成用于智能电话104的应用格式。在框1712处,第一移动计算装置可将现在经转译的数据集发射到第二移动计算装置。作为实例,膝上型计算机106可经由在膝上型计算机106与智能电话104之间建立的通信数据链路连接将经转译的数据集发射到智能电话104。
图18说明用于使数据集在第一计算装置与第二计算装置之间同步的实施例方法1800。作为实例,方法1800可由第二移动计算装置实施,第二移动计算装置结合实施方法1700的第一移动计算装置操作。作为实例,方法1800可实施于两个移动计算装置 (例如,第一移动计算装置(膝上型计算机106)及第二移动计算装置(智能电话104))之间。虽然关于两个移动计算装置(膝上型计算机106及智能电话104)加以论述,但方法1800可实施于任何数目个计算装置、移动装置或其它装置当中。在框1802处,第二移动计算装置(例如,智能电话104)可从第一移动计算装置(例如,膝上型计算机106)接收数据列表。如上文所论述,数据列表可为驻留于第一移动计算装置上的数据的列表且可包含经标记为暂时的数据的标识。
在框1804处,第二移动计算装置可比较数据列表与驻留于第二移动计算装置上的数据。在确定框1806处,第二移动计算装置可确定其是否需要数据列表上的数据。此确定可使用在框1804中执行的数据列表与驻留于第二移动计算装置上的数据的比较的结果来进行。所需数据可包含未驻留于第二移动计算装置上的数据、比驻留于第二移动计算装置上的数据新的数据,或被标记为暂时的数据。如果不需要数据列表上的数据(即,确定框1806=“否”),那么在框1808处,方法1800可结束。
如果需要数据列表上的数据(即,确定框1806=“是”),那么在框1810处,第二移动计算装置可向第一移动计算装置发射数据集请求。如上文所论述,数据集请求可识别第二移动计算装置可能需要的数据列表上的数据的全部或一部分且可包含关于用于第二移动计算装置所需的数据的应用格式的信息。在框1812处,第二移动计算装置可从第一移动计算装置接收数据集。数据集可包含第二移动计算装置所请求的转译成适合于用于第二移动计算装置上的应用格式的数据。在框1814处,第二移动计算装置可用所接收的数据集更新驻留于第二移动计算装置上的数据。在框1808处,方法1800可结束。
图19说明用于在计算装置当中指配及发射等待同步的数据的实施例方法1900。作为实例,方法1900可实施于第一移动计算装置(例如,膝上型计算机106)、第二移动计算装置(例如,智能电话104)与服务器102之间。虽然关于膝上型计算机106、智能电话104及服务器102加以论述,但方法1900可实施于无限数目个装置当中。在框1902处,第一移动计算装置(例如,膝上型计算机106)可与第二移动计算装置(例如,智能电话104)建立通信数据链路连接。通信数据链路连接可为任何类型的连接,如上文参看图1所论述。在框1904处,第一移动计算装置可使数据集在第一移动计算装置与第二移动计算装置之间同步。数据集的同步可通过任何方法来完成,例如,通过实施上文参看图15、16、17及18所论述的方法中的任一者。数据集在第一移动计算装置与第二移动计算装置之间的同步可导致相同数据集驻留于第一移动计算装置与第二移动计算装置两者上。
在框1906处,第一移动计算装置可确定现在同步的数据集中的任何数据是否正等待服务器同步。等待服务器同步的数据可为从第一移动计算装置与服务器102之间的最后的数据同步时起以某种方式变更的数据。第一移动计算装置可通过以下方式确定数据正等待服务器同步:通过读取文件标头信息,辨识与数据相关联的标签,参考数据片段映射,或通过接收指示数据正等待服务器同步的用户输入。
在框1908处,第一移动计算装置可将等待服务器同步的数据分离成数个片段。片段可包含等待服务器同步的数据的任何分组,且数据的分离可基于数据特性而执行,或等待服务器同步的数据可根据预定参数(例如,设置的片段大小)来分离。在框1910处,第一移动计算装置可将标识(“ID”)指配给每一等待片段。此等待片段ID可为由第一移动计算装置产生的独特数字、名称或标识元素。另外,等待片段ID可含有或提供关于片段的信息,例如,关于片段内容、片段的创建时间、第一移动计算装置、第二移动计算装置及希望的服务器或片段大小的信息。在框1912处,第一移动计算装置可将等待片段ID写入到每一等待片段中。可将等待片段ID写入到表示整个片段的数据中,或可将等待片段ID写入到包括个别等待片段的每一数据元素中。
在框1914处,第一移动计算装置可指配对于每一等待片段的上传职责。上传职责可为针对特定移动计算装置的关于将特定等待片段发射到服务器的指配。作为实例,膝上型计算机106可将二分之一的等待片段指配给智能电话104以进行上传,且可将另外二分之一的等待片段指配给其自身以进行上传。下文进一步论述指配考虑事项。在框1916处,第一移动计算装置可使等待片段及等待片段ID与第二移动计算装置同步。等待片段及等待片段ID的同步可导致第一移动计算装置及第二移动计算装置具有具类似等待片段及类似等待片段ID的类似数据集。作为实例,等待片段及等待片段ID的同步可通过由第一移动计算装置将等待片段及等待片段ID发射到第二移动计算装置来完成。第一移动计算装置可将所有等待片段及等待片段ID发射到第二移动计算装置,或替代地可仅发射指配给第二移动计算装置的等待片段及等待片段ID的部分。在替代实例中,第一移动计算装置可将用于第二移动计算装置的指令发射到第二移动计算装置以用于在创建相同等待片段及等待片段ID中使用。指令可包含例如以下各者等信息:包含于每一等待片段中的数据、用于等待服务器同步的数据的开始点及标准等待片段大小、等待片段ID编号方案,或使得第二移动计算装置能够重新创建等待数据片段及等待片段ID的其它信息。
在框1918处,第一移动计算装置可将对于每一等待片段的上传职责发射到第二移动计算装置。在框1920处,第一移动计算装置可终止其与第二移动计算装置的通信数据链路连接。在框1922处,第一移动计算装置可与服务器102建立通信数据链路连接。 连接可为任何类型的连接,如上文参看图1所论述。在框1924处,第一移动计算装置可将其被指配的等待片段发射到服务器102。在确定框1926处,第一移动计算装置可确定是否从服务器102接收到完全上传请求。完全上传请求可为从服务器102接收的指示服务器102请求完全上传等待同步的所有数据的消息。作为实例,可由服务器102响应于关于第二移动计算装置(例如,智能电话104)丢失、损坏或被破坏的指示而发送完全上传请求。如果未接收到完全上传请求(即,确定框1926=“否”),那么在框1930处,第一移动装置可终止其与服务器102的通信数据链路连接。如果接收到完全上传请求(即,确定框1926=“是”),那么在框1928处,第一移动计算装置可将所有剩余等待片段发射到服务器102。作为实例,第一移动装置可发射指配给第二移动装置的等待片段。以此方式,可由第一移动计算装置来更新服务器102的所有等待片段,且可将正等待服务器同步的所有数据提供给服务器102而不管第二移动装置的损失、损坏或破坏。在框1930处,第一移动装置可终止其与服务器102的通信数据链路连接。
图20说明用于指配上传职责的实施例方法2000,方法2000可结合上文所描述的方法1900使用。在框2002中,第一移动计算装置可确定第一移动计算装置及第二移动计算装置两者的到服务器102的数据通信链路连接中的所估计可用带宽。作为实例,膝上型计算机106可确定其到服务器102的连接的所估计连接带宽及智能电话104与服务器102之间的连接的所估计连接带宽。所估计连接带宽的确定可通过从每一移动计算装置接收的关于其与服务器102的通信数据链路连接的信息或装置的所存储的带宽估计及/或连接类型来进行。在框2004处,第一移动计算装置可通过组合两个移动计算装置的所估计带宽来确定使用第一移动计算装置及第二移动计算装置可用的到服务器102的所估计的总的可用带宽。在框2006处,第一移动计算装置可以与移动计算装置的与服务器102的所估计连接带宽(呈到服务器102的总的所估计的总的可用带宽的百分比形式)成比例的方式将对于每一等待片段的上传职责指配给移动计算装置。作为实例,第一移动计算装置可具有表示70%的总的可用带宽的到服务器102的通信数据链路连接且第一移动计算装置可被指配70%的数据片段以供发射,而第二移动计算装置可具有表示30%的总的可用带宽的到服务器102的通信数据链路连接且第二移动计算装置可被指配30%的数据片段以供发射。第一移动计算装置及第二移动计算装置可接着按照如上文所描述的方法1900完成数据到服务器102的上传。
图21说明用于指配上传职责的实施例方法2100,方法2100可结合上文所描述的方法1900使用。如上文所论述,在框2002中,第一移动计算装置可确定第一移动计算装置及第二移动计算装置两者的到服务器102的数据通信链路连接中的所估计可用带宽。 在框2104处,第一移动计算装置可确定将导致最短的所估计上传时间的数据上传职责。在框2106处,第一移动计算装置可基于所确定的最短上传时间将对于每一片段的上传职责指配给移动计算装置。第一移动计算装置及第二移动计算装置可接着按照如上文所描述的方法1900完成数据到服务器102的上传。
图22说明用于指配上传职责的实施例方法2200,方法2200可结合上文所描述的方法1900使用。在框2202处,第一移动计算装置可确定移动计算装置到服务器102的通信数据链路连接类型。作为实例,服务器102与智能电话104之间的通信数据链路连接可为3G连接,且服务器102与膝上型计算机106之间的通信数据链路连接可为Wi-Fi连接。在框2204处,第一移动计算装置可确定与每一移动装置到服务器102通信数据链路连接相关联的数据发射成本。作为实例,可对膝上型计算机106提供关于以下情形的信息:3G连接导致向用户索要关于经由连接发射的数据的费用且并不索要关于经由Wi-Fi连接发射的数据的费用。在框2206处,第一移动计算装置可确定将导致最低的总上传成本的数据上传职责。在框2208处,第一移动计算装置可基于所确定的最低的总上传成本将对于每一等待片段的上传职责指配给移动计算装置。以此方式,实施方法2200的第一移动计算装置可以成本节省模式操作。第一移动计算装置及第二移动计算装置可接着按照如上文所描述的方法1900完成数据到服务器102的上传。
图23说明用于指配上传职责的实施例方法2300,方法2300可结合上文所描述的方法1900使用。在框2302处,第一移动计算装置可确定待发射到服务器102的等待片段的总数目。在框2304处,第一移动计算装置可将对于总数目的某一分数(例如,二分之一)的等待片段的上传职责指配给第一移动计算装置(例如,膝上型计算机106),且将对于总数目的其它分数的等待片段的上传职责指配给第二移动计算装置(例如,智能电话104)。第一移动计算装置及第二移动计算装置可接着按照如上文所描述的方法1900完成数据到服务器102的上传。
图24说明用于指配上传职责的实施例方法2400,方法2400可结合上文所描述的方法1900使用。在框2402处,第一移动计算装置可识别等待片段为偶数片段还是奇数片段。作为实例,膝上型计算机106可将偶数或奇数识别字符串写入到每一片段的数据标头中。在框2404处,第一移动计算装置可将对于偶数等待片段的上传职责指配给第一移动装置(例如,膝上型计算机106),且将对于奇数等待片段的上传职责指配给第二移动装置(例如,智能电话104)。第一移动计算装置及第二移动计算装置可接着按照如上文所描述的方法1900完成数据到服务器102的上传。
图25说明用于指导计算装置当中的等待同步的数据的发射的实施例方法2500,方法2500可结合上文所描述的方法1900使用。在框2502中,服务器102可指导第一移动计算装置(例如,膝上型计算机106)上传第一移动计算装置未被指配对于其的上传职责的等待片段的一部分。作为实例,指示可能被指配待上传的数据片段的第二移动装置(例如,智能电话104)丢失的用户输入可触发服务器102指导第一移动计算装置(例如,膝上型计算机106)上传最初被指配给现在丢失的智能电话104的等待片段的部分。来自服务器102的对第一移动计算装置的指导可呈发送到第一移动计算装置的完全上传请求的形式。以此方式,移动计算装置的损失或破坏可能不会导致等待服务器同步的数据片段的损失。第一移动计算装置及第二移动计算装置可接着按照如上文所描述的方法1900完成数据到服务器102的上传。
图26说明用于在计算装置当中指配及发射等待同步的数据的实施例方法2600,方法2600类似于方法1900,其中添加上传状态确定。在框2602处,第一移动计算装置可向服务器102请求第二移动计算装置的上传状态。在框2604处,第一移动计算装置可从服务器102接收第二移动计算装置的上传状态。作为实例,膝上型计算机106可从服务器102接收指示智能电话104未上传的消息。在确定框2606处,第一移动计算装置可使用在框2604中接收的信息确定第二移动计算装置是否上传。如果第二移动计算装置未上传(即,确定框2606=“否”),那么第一移动计算装置可在框1928中将所有剩余等待片段发射到服务器102。如果第二移动计算装置已上传(即,确定框2606=“是”),那么在框1930处,第一移动计算装置可终止其与服务器102的通信数据链路连接。
图27说明用于优化电子邮件的递送的实施例方法2700。实施例方法2700可实施于第一移动计算装置(例如,膝上型计算机106)上,第一移动计算装置可使数据集与第二移动计算装置(例如,智能电话104)同步,且可将数据集的经指配部分提供给服务器102。虽然关于三个装置加以论述,但方法2700可实施于三个以上装置当中。在框2702处,第一移动计算装置可与第二移动计算装置建立通信数据链路连接。通信数据链路连接可为任何类型的连接,如上文参看图1所论述。在框2704处,第一移动计算装置可使电子邮件集在第一移动计算装置与第二移动计算装置之间同步。可通过任何方法来使电子邮件集同步,例如,上文参看图15、16、17及18所论述的方法。在框2706处,第一移动计算装置可确定等待与服务器102同步的电子邮件。
在框2708处,第一移动计算装置可指配对于每一等待片段的上传职责。上传职责可为针对特定移动计算装置的关于将特定等待电子邮件发射到服务器102的指配。以此方式,可将每一等待电子邮件指配给不同移动计算装置以进行上传。作为实例,膝上型计算机106可将二分之一的电子邮件指配给智能电话104以进行上传,且可将另外二分 之一的电子邮件指配给其自身以进行上传。在框2710处,第一移动计算装置可将对于每一等待电子邮件的上传职责发射到第二移动计算装置。在框2712处,第一移动计算装置可与服务器102建立通信数据链路连接。通信数据链路连接可为任何类型的连接,如上文参看图1所论述。
在框2714处,第一移动计算装置可请求服务器102对第一移动计算装置提供电子邮件线程状态。电子邮件线程状态可为关于电子邮件线程中的最近的电子邮件的接收时间或驻留于服务器102上的电子邮件线程中的所有电子邮件的列表的指示。在框2716处,第一移动计算装置可从服务器102接收提供电子邮件线程状态的消息。以此方式,可更新第一移动计算装置的每一电子邮件线程的当前状态。在确定框2718处,第一移动计算装置可使用在框2716中接收的电子邮件线程状态中的信息确定更近的电子邮件是否处于线程中。作为实例,膝上型计算机106可能在一时间周期内与服务器102断开连接。在断开连接的周期期间,膝上型计算机106的用户可响应于在膝上型计算机106与服务器102断开连接之前所接收的电子邮件而起草电子邮件。虽然膝上型计算机106断开连接,但其它接收者可交换电子邮件,因此电子邮件线程可具有比存储在膝上型计算机106上的电子邮件更近的电子邮件。如果第一移动计算装置确定线程中存在更近的电子邮件(即,确定框2718=“是”),那么在框2720中,第一移动计算装置可请求用户批准以发射其被指配的等待电子邮件。作为实例,可经由弹出窗或由第一移动计算装置显示的其它类型的用户提示来请求用户批准。如果第一移动计算装置确定线程中不存在更近的电子邮件(即,确定框2718=“否”),那么在框2722中,第一移动计算装置可将其被指配的等待电子邮件发射到服务器102。
在确定框2724处,第一移动计算装置可确定用户是否批准将其被指配的等待电子邮件发射到服务器。可将用户批准作为用户输入来接收,例如按钮推送或显示选择指示。如果接收到用户批准(即,确定框2724=“是”),那么在框2722处,第一移动计算装置可将其被指配的等待电子邮件发射到服务器102。如果未接收到用户批准(即,确定框2724=“否”),那么在框2726处,第一移动计算装置可保持其被指配的等待电子邮件。以此方式,可保持与线程中的电子邮件的进程相比较来说过时的电子邮件且用户可避免由于响应于过时的电子邮件而致使电子邮件线程中的混淆。
图28A及28B说明用于管理服务器102、智能电话104及膝上型计算机106之间的交互以优化数据递送的另一实施例方法2800。在框1902、1904、1906、1908、1910、1912、1914、1916、1918、1920、1922、1924及1930处,膝上型计算机106可执行上文参看图19所描述的方法1900的操作。在框2802及1902处,智能电话104及膝上型 计算机106可建立通信数据链路连接。通信数据链路连接可为适合于发射数据的任何连接,例如,先前关于图1先前所论述的那些连接。在框2804及1904处,智能电话104及膝上型计算机106可使数据集在其自身之间同步,如在方法1900中所完成。在框2806及1916处,智能电话104及膝上型计算机106可使等待片段及等待片段ID同步,如在方法1900中所完成。
在框2808处,智能电话104可从膝上型计算机106接收对于每一等待片段的上传职责。在此发射中,智能电话104可接收关于其自己的上传职责及膝上型计算机106的上传职责两者的指示。在框2810及1920处,智能电话104及膝上型计算机106可终止其彼此的通信数据链路连接。
在框1922及2812处,膝上型计算机106及服务器102可建立通信数据链路连接。通信数据链路连接可为适合于发射数据的任何连接,例如,先前关于图1先前所论述的那些连接。在框2814及2816处,智能电话104及服务器102可建立通信数据链路连接。通信数据链路连接可为适合于发射数据的任何连接,例如,先前关于图1先前所论述的那些连接。在框1924处,膝上型计算机106可将其被指配的等待片段发射到服务器102。在框2818处,服务器102可接收指配给膝上型计算机106的所发射的等待片段。在框2820处,智能电话104可将其被指配的等待片段发射到服务器102。在框2822处,服务器102可接收指配给智能电话104的所发射的等待片段。以此方式,可在服务器102中组合等待片段的全集且完全同步的数据集可驻留于服务器102、膝上型计算机106及智能电话104上。在框1930及2824处,膝上型计算机106及服务器102可终止其彼此的通信数据链路连接。在框2826及2828处,智能电话104及服务器102可终止其彼此的通信数据链路连接。
各种实施例可实施于多种移动装置中的任一者中,移动装置的实例说明于图29中。举例来说,移动装置2900可包含耦合到内部存储器2904及2910的处理器2902。内部存储器2904及2910可为易失性或非易失性存储器,且还可为安全及/或加密存储器,或不安全及/或未加密存储器,或其任何组合。处理器2902还可耦合到触摸屏显示器2906,例如,电阻性感侧触摸屏、电容性感侧触摸屏、红外线感测触摸屏,或其类似者。另外,移动装置2900的显示器不需要具有触摸屏能力。另外,计算装置2900可具有用于发送及接收电磁辐射的一或多个天线2908,天线2908可连接到无线数据链路及/或耦合到处理器2902的蜂窝式电话收发器2916。移动装置2900还可包含用于接收用户输入的物理按钮2912a及2912b。移动装置2900还可包含用于接通及断开移动装置2900的电力按钮2918。
各种实施例还可实施于多种可购得的服务器装置中的任一者上,例如,图30中所说明的服务器3000。此服务器3000通常包含耦合到易失性存储器3002及例如磁盘驱动器3003等大容量非易失性存储器的处理器3001。服务器3000还可包含耦合到处理器3001的软盘驱动器、压缩光碟(CD)或DVD光盘驱动器3004。服务器3000还可包含耦合到处理器3001的网络接入端口3006以用于与网络3007(例如,耦合到其它广播***计算机及服务器的局域网)建立网络接口连接。
上文所描述的各种实施例还可实施于多种个人计算装置内,例如,如图31中所说明的膝上型计算机3110。许多膝上型计算机包含用作计算机的定点装置的触摸垫触摸表面3117,且因此可接收类似于在装备有触摸屏显示器的及上文所描述的移动计算装置上实施的那些示意动作的拖曳、滚动及轻弹示意动作。膝上型计算机3110通常将包含耦合到易失性存储器3112及例如快闪存储器的磁盘驱动器3113等大容量非易失性存储器的处理器3111。计算机3110还可包含耦合到处理器3111的软盘驱动器3114及压缩光盘(CD)驱动器3115。计算机装置3110还可包含耦合到处理器3111的若干个连接器端口,以用于建立数据连接或接收外部存储器装置,例如,USB或火线(FireWire)连接器套接口或用于将处理器3111耦合到网络的其它网络连接电路。在笔记型计算机配置中,计算机外壳包含全部耦合到处理器3111的触摸垫3117、键盘3118及显示器3119。计算装置的其它配置可包含如所熟知的耦合到处理器(例如,经由USB输入)的计算机鼠标或轨迹球,其还可结合各种实施例使用。
处理器2902、3001及3111可为任何可编程微处理器、微型计算机或可通过软件指令(应用程序)配置以执行多种功能的一或多个多重处理器芯片,所述功能包含上文所描述的各种实施例的功能。在一些装置中,可提供多个处理器,例如,专用于无线通信功能的一个处理器及专用于运行其它应用程序的一个处理器。通常,可在存取软件应用程序及将软件应用程序载入到处理器2902、3001及3111中之前将软件应用程序存储在内部存储器2904、2910、3002、3003、3112及3113中。处理器2902、3001及3111可包含足够存储应用程序软件指令的内部存储器。在许多装置中,内部存储器可为易失性或非易失性存储器(例如,快闪存储器)或易失性与非易失性存储器两者的混合物。为了实现此描述的目的,对存储器的一般参考是指可由处理器2902、3001及3111存取的存储器,包含内部存储器或***到装置中的可卸除式存储器,及在处理器2902、3001及3111自身内的存储器。
前述方法描述及过程流程图仅作为说明性实例而提供,且不希望需要或暗示必须以所呈现的次序执行各种实施例的步骤。如所属领域的技术人员将了解,前述实施例中的步骤次序可以任何次序来执行。例如“此后”、“接着”、“接下来”等词不希望限制步骤的次序;这些词仅用以导引读者理解方法的描述。另外,例如使用冠词“一”或“所述”以单数形式进行的对于所主张元素的任何参考不应被解释为将元素限于单数形式。
结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此互换性,上文已大致关于其功能性而描述了各种说明性组件、块、模块、电路及步骤。所述功能性是实施为硬件还是软件取决于特定应用及施加于整个***的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但此类实施方案决策不应被解释为会导致脱离本发明的范围。
用以实施结合本文中所揭示的方面描述的各种说明性逻辑、逻辑块、模块及电路的硬件可通过以下各者来实施或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其经设计以执行本文中所描述的功能的任何组合。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器与DSP核心的联合,或任何其它此配置。或者,一些步骤或方法可由特定用于给定功能的电路来执行。
在一或多个示范性方面中,可以硬件、软件、固件或其任何组合来实施所描述的功能。如果实施于软件中,那么可将功能作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体予以发射。本文中所揭示的方法或算法的步骤可体现于处理器可执行软件模块中,处理器可执行软件模块可驻留于有形的非暂时性计算机可读存储媒体上。有形的非暂时性计算机可读存储媒体可为可通过计算机存取的任何可用媒体。作为实例而非限制,此类非暂时性计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以存储呈指令或数据结构形式的所要程序代码且可通过计算机存取的任何其它媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。上文的组合也应包含在非暂时性计算机可读媒体的范围内。另外,方法或算法的操作可作为代码及/或指令的一个或任何组合或集合驻留于可并入到计算机程序产品中的有形的非暂时性机器可读媒体及/或计算机可读媒体上。
提供对所揭示实施例的先前描述,以使得所属领域的任何技术人员能够制作或使用本发明。所属领域的技术人员将容易显而易见对这些实施例的各种修改,且在不脱离本发明的精神或范围的情况下,本文所定义的一般原理可应用于其它实施例。因此,本发明不希望限于本文中所展示的实施例,而应符合与随附权利要求书以及本文中所揭示的原理及新颖特征一致的最宽范围。

Claims (65)

1.一种用于优化装置当中的数据递送的方法,其包括:
在第一计算装置中识别供从所述第一计算装置发射到连接到所述第一计算装置的多个计算装置的数据集;
将所述数据集分离成数个数据片段;
确定所述多个计算装置中的每一者的地理位置;
由所述第一计算装置基于所确定的地理位置确定所述多个计算装置相互之间的距离位于阈值距离内;
由所述第一计算装置响应于确定所述多个计算装置相互之间的距离位于所述阈值距离内而将所述数据片段的一部分指配给所述多个计算装置中的每一者;
将所述计算装置的所述数据片段的经指配部分从所述第一计算装置发射到所述多个计算装置中的每一者;
将所述多个计算装置中的第二计算装置连接到所述多个计算装置中的第三计算装置;以及
在所述第二计算装置与所述第三计算装置之间交换其所述数据片段的相应经指配部分。
2.根据权利要求1所述的方法,其进一步包括:
将标识ID指配给每一数据片段;
产生数据片段映射;以及
将所述数据片段映射发射到所述多个计算装置中的每一者,
其中所述数据片段映射包括每一数据片段的ID及数据片段指配信息。
3.根据权利要求1所述的方法,其进一步包括:
确定数据集特性,
其中将所述数据集分离成数个数据片段包括至少部分基于所述所确定数据集特性将所述数据集分离成数个数据片段。
4.根据权利要求1所述的方法,其进一步包括:
确定所述第一计算装置与所述多个计算装置之间的每一连接的连接带宽;以及
基于所述第一计算装置与所述多个计算装置之间的所有所述连接带宽的总和确定总的可用带宽,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括以与每一计算装置的呈所述所确定的总的可用带宽的百分比形式的连接带宽成比例的方式将数据片段指配给所述多个计算装置中的每一者。
5.根据权利要求1所述的方法,其进一步包括:
确定所述第一计算装置与所述多个计算装置之间的每一连接的连接带宽;以及
确定所述多个计算装置当中的将导致最短的所估计下载时间的数据片段指配,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括基于所述所确定的最短的所估计下载时间将数据片段指配给所述多个计算装置中的每一者。
6.根据权利要求1所述的方法,其进一步包括:
确定所述第一计算装置与所述多个计算装置之间的每一连接的连接类型;
确定与每一连接类型相关联的成本;以及
确定所述多个计算装置当中的将导致最低的总下载成本的数据片段指配,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括基于所述所确定的最低的总下载成本将数据片段指配给所述多个计算装置中的每一者。
7.根据权利要求1所述的方法,其进一步包括:
确定所述多个计算装置中的一者与所述第一计算装置之间的连接何时丢失;以及将指配给与之丢失了所述连接的所述计算装置的所述数据集从所述第一计算装置发射到连接到所述第一计算装置的所述多个计算装置中的剩余的一或多者。
8.根据权利要求1所述的方法,其进一步包括:
确定所述多个计算装置中的每一者的装置类型;以及
基于每一计算装置的所确定的装置类型确定欲发送到所述多个计算装置中的每一者的每一数据片段的量,
其中将所述计算装置的所述数据片段的经指配部分从所述第一计算装置发射到所述多个计算装置中的每一者包括发射针对所述计算装置欲发送的所述所确定的量的每一数据片段。
9.根据权利要求1所述的方法,其进一步包括确定用户偏好设置,其中将所述数据片段的一部分指配给所述多个计算装置中的每一者是至少部分基于所述所确定的用户偏好设置。
10.根据权利要求1所述的方法,其中所述多个计算装置为移动装置且所述第一计算装置为中央数据库服务器。
11.根据权利要求1所述的方法,其中所述数据集由电子邮件组成。
12.根据权利要求1所述的方法,其进一步包括:
确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的初始连接带宽;
基于所述第一计算装置与所述多个计算装置中的每一者之间的所有所述初始连接带宽的总和确定总的初始可用带宽,其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括最初以与每一计算装置的呈所述总的初始可用带宽的百分比形式的初始连接带宽成比例的方式将数据片段指配给所述多个计算装置中的每一者;
监视所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的连接带宽;
确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的任何连接带宽是否发生改变;以及
在所述第一计算装置与所述多个计算装置中的任何计算装置之间的所述连接带宽发生改变的情况下;
确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的经更新连接带宽;
基于所述第一计算装置与所述多个计算装置中的每一者之间的所有所述经更新连接带宽的总和确定总的经更新可用带宽;
以与每一计算装置的呈所述总的经更新可用带宽的百分比形式的经更新连接带宽成比例的方式将数据片段重新指配给所述多个计算装置中的每一者;以及
将所述计算装置的所述数据片段的经重新指配的部分从所述第一计算装置发射到所述多个计算装置中的每一者。
13.根据权利要求1所述的方法,其中在所述第二计算装置与所述第三计算装置之间交换其所述数据片段的相应经指配部分进一步包括:
将数据等待消息从所述第二计算装置发射到所述第三计算装置;以及
将数据片段映射从所述第二计算装置发射到所述第三计算装置。
14.根据权利要求13所述的方法,其中在所述第二计算装置与所述第三计算装置之间交换其所述数据片段的相应经指配部分进一步包括:
在所述第三计算装置处接收所述数据片段映射;
基于所述数据片段映射与驻留于所述第三计算装置上的数据集的比较确定所述第三计算装置是否需要任何数据片段;以及
在确定所述第三计算装置需要数据片段时,从所述第三计算装置向所述第二计算装置发射数据片段请求且将被请求的数据片段从所述第二计算装置发射到所述第三计算装置。
15.根据权利要求14所述的方法,其中在所述第二计算装置与所述第三计算装置之间交换其所述数据片段的相应经指配部分进一步包括在将被请求的数据片段从一个计算装置发射到另一个计算装置之前,将所述被请求的数据片段中的数据从第一应用格式转译成第二应用格式。
16.一种用于优化数据递送的***,其包括:
第一计算装置;以及
多个计算装置,其连接到所述第一计算装置,所述多个计算装置包括连接到第三计算装置的至少一第二计算装置,
其中所述第一计算装置经配置而具有处理器可执行指令以执行包括以下各者的操作:
识别供从所述第一计算装置发射到连接到所述第一计算装置的所述多个计算装置的数据集;
将所述数据集分离成数个数据片段;
确定所述多个计算装置中的每一者的地理位置;
基于所确定的地理位置确定所述多个计算装置相互之间的距离位于阈值距离内;
响应于确定所述多个计算装置相互之间的距离位于所述阈值距离内而将所述数据片段的一部分指配给所述多个计算装置中的每一者;以及
将所述计算装置的所述数据片段的经指配部分发射到所述多个计算装置中的每一者,
其中所述多个计算装置经配置而具有处理器可执行指令以执行包括在彼此之间交换其所述数据片段的相应经指配部分的操作。
17.根据权利要求16所述的***,其中所述第一计算装置经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
将标识ID指配给每一数据片段;
产生数据片段映射;以及
将所述数据片段映射发射到所述多个计算装置中的每一者,
其中所述数据片段映射包括每一数据片段的ID及数据片段指配信息。
18.根据权利要求16所述的***,其中所述第一计算装置经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定数据集特性,
其中将所述数据集分离成数个数据片段包括至少部分基于所述所确定数据集特性将所述数据集分离成数个数据片段。
19.根据权利要求16所述的***,其中所述第一计算装置经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的连接带宽;以及
基于所述第一计算装置与所述多个计算装置之间的所有所述连接带宽的总和确定总的可用带宽,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括以与每一计算装置的呈所述所确定的总的可用带宽的百分比形式的连接带宽成比例的方式将数据片段指配给所述多个计算装置中的每一者。
20.根据权利要求16所述的***,其中所述第一计算装置经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的连接带宽;以及
确定所述多个计算装置当中的将导致最短的所估计下载时间的数据片段指配,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括基于所述所确定的最短的所估计下载时间将数据片段指配给所述多个计算装置中的每一者。
21.根据权利要求16所述的***,其中所述第一计算装置经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的连接类型;
确定与每一连接类型相关联的成本;以及
确定所述多个计算装置当中的将导致最低的总下载成本的数据片段指配,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括基于所述所确定的最低的总下载成本将数据片段指配给所述多个计算装置中的每一者。
22.根据权利要求16所述的***,其中所述第一计算装置经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述多个计算装置中的一者与所述第一计算装置之间的连接何时丢失;以及将指配给与之丢失了所述连接的所述计算装置的所述数据集从所述第一计算装置发射到连接到所述第一计算装置的所述多个计算装置中的剩余的一或多者。
23.根据权利要求16所述的***,其中所述第一计算装置经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述多个计算装置中的每一者的装置类型;以及
基于每一计算装置的所确定的装置类型确定欲发送到所述多个计算装置中的每一者的每一数据片段的量,
其中将所述计算装置的所述数据片段的经指配部分从所述第一计算装置发射到所述多个计算装置中的每一者包括发射针对所述计算装置欲发送的所述所确定的量的每一数据片段。
24.根据权利要求16所述的***,其中所述第一计算装置经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定用户偏好设置,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者是至少部分基于所述所确定的用户偏好设置。
25.根据权利要求16所述的***,其中所述多个计算装置为移动装置且所述第一计算装置为中央数据库服务器。
26.根据权利要求16所述的***,其中所述数据集由电子邮件组成。
27.根据权利要求16所述的***,其中所述第一计算装置经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的初始连接带宽;
基于所述第一计算装置与所述多个计算装置之间的所有所述初始连接带宽的总和确定总的初始可用带宽,其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括最初以与每一计算装置的呈所述总的初始可用带宽的百分比形式的初始连接带宽成比例的方式将数据片段指配给所述多个计算装置中的每一者;
监视所述第一计算装置与所述多个计算装置之间的每一连接的连接带宽;
确定所述第一计算装置与所述多个计算装置中的任何一或多者之间的每一连接的连接带宽是否发生改变;以及
在所述第一计算装置与所述多个计算装置中的任何计算装置之间的每一连接的所述连接带宽发生改变的情况下;
确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的经更新连接带宽;
基于所述第一计算装置与所述多个计算装置中的每一者之间的所有所述经更新连接带宽的总和确定总的经更新可用带宽;
以与每一计算装置的呈所述总的经更新可用带宽的百分比形式的经更新连接带宽成比例的方式将数据片段重新指配给所述多个计算装置中的每一者;以及
将所述计算装置的所述数据片段的经重新指配的部分从所述第一计算装置发射到所述多个计算装置中的每一者。
28.根据权利要求16所述的***,其中所述多个计算装置中的每一者经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
将数据等待消息发射到所述多个计算装置中的每一其它计算装置;以及
将数据片段映射发射到所述多个计算装置中的所述每一其它计算装置。
29.根据权利要求28所述的***,其中所述多个计算装置中的所述每一者经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
从所述多个计算装置中的相应其它计算装置接收所述数据片段映射;
对于每一所接收的数据片段映射,基于所述数据片段映射与驻留于所述计算装置上的数据的比较确定是否需要任何数据片段;
在确定需要数据片段时,向所述多个计算装置中提供所述数据片段映射的所述相应其它计算装置发射数据片段请求,
接收来自所述多个计算装置中的另一者的数据片段请求;以及
响应于所述所接收数据片段请求而将被请求的数据片段发射到所述多个计算装置中的所述另一者。
30.根据权利要求29所述的***,其中所述多个计算装置中的每一者经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
在将被请求的数据片段发射到所述多个计算装置中的另一者之前,将所述被请求的数据片段中的数据从第一应用格式转译成第二应用格式。
31.一种用于优化数据递送的***,其包括:
用于在第一计算装置中识别供从所述第一计算装置发射到连接到所述第一计算装置的多个计算装置的数据集的装置;
用于将所述数据集分离成数个数据片段的装置;
用于确定所述多个计算装置中的每一者的地理位置的装置;
用于基于所确定的地理位置确定所述多个计算装置相互之间的距离位于阈值距离内的装置;
用于响应于确定所述多个计算装置相互之间的距离位于所述阈值距离内而将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置;
用于将所述计算装置的所述数据片段的经指配部分从所述第一计算装置发射到所述多个计算装置中的每一者的装置;
用于在所述多个计算装置中的每一者之间交换其所述数据片段的相应经指配部分的装置。
32.根据权利要求31所述的***,其进一步包括:
用于将标识ID指配给每一数据片段的装置;
用于产生数据片段映射的装置;以及
用于将所述数据片段映射发射到所述多个计算装置中的每一者的装置,
其中所述数据片段映射包括每一数据片段的ID及数据片段指配信息。
33.根据权利要求31所述的***,其进一步包括:
用于确定数据集特性的装置,
其中用于将所述数据集分离成数个数据片段的装置包括用于至少部分基于所述所确定数据集特性将所述数据集分离成数个数据片段的装置。
34.根据权利要求31所述的***,其进一步包括:
用于确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的连接带宽的装置;以及
用于所述基于所述第一计算装置与所述多个计算装置之间的所有所述连接带宽的总和确定总的可用带宽的装置,
其中用于将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置包括用于以与每一计算装置的呈所述所确定的总的可用带宽的百分比形式的连接带宽成比例的方式将数据片段指配给所述多个计算装置中的每一者的装置。
35.根据权利要求31所述的***,其进一步包括:
用于确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的连接带宽的装置;以及
用于确定所述多个计算装置当中的将导致最短的所估计下载时间的数据片段指配的装置,
其中用于将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置包括用于基于所述所确定的最短的所估计下载时间将数据片段指配给所述多个计算装置中的每一者的装置。
36.根据权利要求31所述的***,其进一步包括:
用于确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的连接类型的装置;
用于确定与每一连接类型相关联的成本的装置;以及
用于确定所述多个计算装置当中的将导致最低的总下载成本的数据片段指配的装置,
其中用于将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置包括用于基于所述所确定的最低的总下载成本将数据片段指配给所述多个计算装置中的每一者的装置。
37.根据权利要求31所述的***,其进一步包括:
用于确定所述多个计算装置中的一者与所述第一计算装置之间的连接何时丢失的装置;以及
用于将指配给与之丢失了所述连接的所述计算装置的所述数据集从所述第一计算装置发射到连接到所述第一计算装置的所述多个计算装置中的剩余的一或多者的装置。
38.根据权利要求31所述的***,其进一步包括:
用于确定所述多个计算装置中的每一者的装置类型的装置;以及
用于基于每一计算装置的所确定的装置类型确定欲发送到所述多个计算装置中的每一者的每一数据片段的量的装置,
其中用于将所述计算装置的所述数据片段的经指配部分从所述第一计算装置发射到所述多个计算装置中的每一者的装置包括用于发射针对所述计算装置欲发送的所述所确定的量的每一数据片段的装置。
39.根据权利要求31所述的***,其进一步包括用于确定用户偏好设置的装置,其中用于将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置包括用于至少部分地基于所述所确定的用户偏好设置将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置。
40.根据权利要求31所述的***,其中所述多个计算装置为移动装置且所述第一计算装置为中央数据库服务器。
41.根据权利要求31所述的***,其中所述数据集包括电子邮件。
42.根据权利要求31所述的***,其进一步包括:
用于确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的初始连接带宽的装置;
用于基于所述第一计算装置与所述多个计算装置之间的所有所述初始连接带宽的总和确定总的初始可用带宽的装置,其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括最初以与每一计算装置的呈所述总的初始可用带宽的百分比形式的初始连接带宽成比例的方式将数据片段指配给所述多个计算装置中的每一者;
用于监视所述第一计算装置与所述多个计算装置之间的每一连接的连接带宽的装置;
用于确定所述第一计算装置与所述多个计算装置中的任何计算装置之间的每一连接的连接带宽是否发生改变的装置;以及
在所述第一计算装置与所述多个计算装置中的任何计算装置之间的每一连接的所述连接带宽发生改变的情况下;
用于确定所述第一计算装置与所述多个计算装置中的每一者之间的每一连接的经更新连接带宽的装置;
用于基于所述第一计算装置与所述多个计算装置中的每一者之间的所有所述经更新连接带宽的总和确定总的经更新可用带宽的装置;
用于以与每一计算装置的呈所述总的经更新可用带宽的百分比形式的经更新连接带宽成比例的方式将数据片段重新指配给所述多个计算装置中的每一者的装置;以及
用于将所述计算装置的所述数据片段的经重新指配部分从所述第一计算装置发射到所述多个计算装置中的每一者的装置。
43.根据权利要求31所述的***,其中用于在所述多个计算装置中的每一者之间交换其所述数据片段的相应经指配部分的装置进一步包括:
用于从所述多个计算装置中的每一者发射数据等待消息的装置;以及
用于将数据片段映射从所述多个计算装置中的每一者发射到所述多个计算装置中的另一者的装置。
44.根据权利要求43所述的***,其中用于在所述多个计算装置中的每一者之间交换其所述数据片段的相应经指配部分的装置进一步包括:
用于在所述多个计算装置中的每一者中接收来自所述多个计算装置中的相应其它计算装置的所述数据片段映射的装置;
用于在所述多个计算装置中的每一者中基于所述数据片段映射与驻留于所述计算装置上的数据的比较确定是否需要任何数据片段的装置;
用于在确定需要数据片段时向所述多个计算装置中提供所述数据片段映射的所述相应其它计算装置发射数据片段请求的装置;以及
用于响应于接收到数据片段请求而将被请求的数据片段发射到请求计算装置的装置。
45.根据权利要求44所述的***,用于在所述多个计算装置中的每一者之间交换其所述数据片段的相应经指配部分的装置进一步包括用于在将被请求的数据片段发射到所述多个计算装置中的另一者之前将所述被请求的数据片段中的数据从第一应用格式转译成第二应用格式的装置。
46.一种服务器,其包括:
存储器;以及
处理器,其耦合到所述存储器,其中所述处理器经配置而具有处理器可执行指令以执行包括以下各者的操作:
在所述服务器中识别供从所述服务器发射到多个计算装置的数据集;
将所述数据集分离成数个数据片段;
确定所述多个计算装置中的每一者的地理位置;
基于所确定的地理位置确定所述多个计算装置相互之间的距离位于阈值距离内;
响应于确定所述多个计算装置相互之间的距离位于所述阈值距离内而将所述数据片段的一部分指配给所述多个计算装置中的每一者;
将标识ID指配给每一数据片段;
产生数据片段映射;
将所述计算装置的所述数据片段的经指配部分从所述服务器发射到所述多个计算装置中的每一者;以及
将所述数据片段映射发射到所述多个计算装置中的每一者,
其中所述数据片段映射包括每一数据片段的ID及数据片段指配信息。
47.根据权利要求46所述的服务器,其中所述处理器经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定数据集特性,
其中将所述数据集分离成数个数据片段包括至少部分基于所述所确定数据集特性将所述数据集分离成数个数据片段。
48.根据权利要求46所述的服务器,其中所述处理器经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述服务器与所述多个计算装置中的每一者之间的每一连接的连接带宽;以及
基于所述服务器与所述多个计算装置之间的所有所述连接带宽的总和确定总的可用带宽,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括以与每一计算装置的呈所述所确定的总的可用带宽的百分比形式的连接带宽成比例的方式将数据片段指配给所述多个计算装置中的每一者。
49.根据权利要求46所述的服务器,其中所述处理器经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述服务器与所述多个计算装置中的每一者之间的每一连接的连接带宽;以及
确定所述多个计算装置当中的将导致最短的所估计下载时间的数据片段指配,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括基于所述所确定的最短的所估计下载时间将数据片段指配给所述多个计算装置中的每一者。
50.根据权利要求46所述的服务器,其中所述处理器经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述服务器与所述多个计算装置中的每一者之间的每一连接的连接类型;
确定与每一连接类型相关联的成本;以及
确定所述多个计算装置当中的将导致最低的总下载成本的数据片段指配,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括基于所述所确定的最低的总下载成本将数据片段指配给所述多个计算装置中的每一者。
51.根据权利要求46所述的服务器,其中所述处理器经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述服务器与所述多个计算装置中的一者之间的数据连接何时丢失;以及
将指配给与之丢失了所述连接的所述计算装置的所述数据集从所述服务器发射到连接到所述服务器的所述多个计算装置中的剩余的一或多者。
52.根据权利要求46所述的服务器,其中所述处理器经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述多个计算装置中的每一者的装置类型;以及
基于每一计算装置的所确定的装置类型确定欲发送到所述多个计算装置中的每一者的每一数据片段的量,
其中将所述计算装置的所述数据片段的经指配部分从所述服务器发射到所述多个计算装置中的每一者包括发射针对所述计算装置欲发送的所述所确定的量的每一数据片段。
53.根据权利要求46所述的服务器,其中所述处理器经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定用户偏好设置,其中将所述数据片段的一部分指配给所述多个计算装置中的每一者是至少部分基于所述所确定的用户偏好设置。
54.根据权利要求46所述的服务器,其中所述数据集包括电子邮件。
55.根据权利要求46所述的服务器,其中所述处理器经配置而具有处理器可执行指令以执行进一步包括以下各者的操作:
确定所述服务器与所述多个计算装置中的每一者之间的每一连接的初始连接带宽;
基于所述服务器与所述多个计算装置之间的所有所述初始连接带宽的总和确定总的初始可用带宽,其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括最初以与每一计算装置的呈所述总的初始可用带宽的百分比形式的初始连接带宽成比例的方式将数据片段指配给所述多个计算装置中的每一者;
监视所述服务器与所述多个计算装置之间的每一连接的连接带宽;
确定所述服务器与所述多个计算装置中的任何计算装置之间的每一连接的连接带宽是否发生改变;以及
在所述服务器与所述多个计算装置中的任何计算装置之间的每一连接的所述连接带宽发生改变的情况下;
确定所述服务器与所述多个计算装置之间的每一连接的经更新连接带宽;
基于所述服务器与所述多个计算装置中的每一者之间的所有所述经更新连接带宽的总和确定总的经更新可用带宽;
以与每一计算装置的呈所述总的经更新可用带宽的百分比形式的经更新连接带宽成比例的方式将数据片段重新指配给所述多个计算装置中的每一者;以及
将所述计算装置的所述数据片段的经重新指配部分从所述服务器发射到所述多个计算装置中的每一者。
56.一种用于优化数据递送的服务器,其包括:
用于在所述服务器中识别供从所述服务器发射到多个计算装置的数据集的装置;
用于将所述数据集分离成数个数据片段的装置;
用于确定所述多个计算装置中的每一者的地理位置的装置;
用于基于所确定的地理位置确定所述多个计算装置相互之间的距离位于阈值距离内的装置;
用于响应于确定所述多个计算装置相互之间的距离位于所述阈值距离内而将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置;
用于将标识ID指配给每一数据片段的装置;
用于产生数据片段映射的装置;
用于将所述计算装置的所述数据片段的经指配部分从所述服务器发射到所述多个计算装置中的每一者的装置;以及
用于将所述数据片段映射发射到所述多个计算装置中的每一者的装置,
其中所述数据片段映射包括每一数据片段的ID及数据片段指配信息。
57.根据权利要求56所述的服务器,其进一步包括:
用于确定数据集特性的装置,
其中用于将所述数据集分离成数个数据片段的装置包括用于至少部分基于所述所确定数据集特性将所述数据集分离成数个数据片段的装置。
58.根据权利要求56所述的服务器,其进一步包括:
用于确定所述服务器与所述多个计算装置中的每一者之间的每一连接的连接带宽的装置;以及
用于基于所述服务器与所述多个计算装置之间的所有所述连接带宽的总和确定总的可用带宽的装置,
其中将所述数据片段的一部分指配给所述多个计算装置中的每一者包括以与每一计算装置的呈所述所确定的总的可用带宽的百分比形式的连接带宽成比例的方式将数据片段指配给所述多个计算装置中的每一者。
59.根据权利要求56所述的服务器,其进一步包括:
用于确定所述服务器与所述多个计算装置中的每一者之间的每一连接的连接带宽的装置;以及
用于确定所述多个计算装置当中的将导致最短的所估计下载时间的数据片段指配的装置,
其中用于将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置包括用于基于所述所确定的最短的所估计下载时间将数据片段指配给所述多个计算装置中的每一者的装置。
60.根据权利要求56所述的服务器,其进一步包括:
用于确定所述服务器与所述多个计算装置中的每一者之间的每一连接的连接类型的装置;
用于确定与每一连接类型相关联的成本的装置;以及
用于确定所述多个计算装置当中的将导致最低的总下载成本的数据片段指配的装置,
其中用于将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置包括用于基于所述所确定的最低的总下载成本将数据片段指配给所述多个计算装置中的每一者的装置。
61.根据权利要求56所述的服务器,其进一步包括:
用于确定所述服务器与所述多个计算装置中的一者之间的数据连接何时丢失的装置;以及
用于将指配给与之丢失了所述连接的所述计算装置的所述数据集从所述服务器发射到连接到所述服务器的所述多个计算装置中的剩余的一或多者的装置。
62.根据权利要求56所述的服务器,其进一步包括:
用于确定所述多个计算装置中的每一者的装置类型的装置;以及
用于基于每一计算装置的所确定的装置类型确定欲发送到所述多个计算装置中的每一者的每一数据片段的量的装置,
其中用于将所述计算装置的所述数据片段的经指配部分从所述服务器发射到所述多个计算装置中的每一者的装置包括用于发射针对所述计算装置欲发送的所述所确定的量的每一数据片段的装置。
63.根据权利要求56所述的服务器,其进一步包括用于确定用户偏好设置的装置,其中用于将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置是至少部分基于所述所确定的用户偏好设置。
64.根据权利要求56所述的服务器,其中所述数据集包括电子邮件。
65.根据权利要求56所述的服务器,其进一步包括:
用于确定所述服务器与所述多个计算装置之间的每一连接的初始连接带宽的装置;
用于基于所述服务器与所述多个计算装置之间的所有所述初始连接带宽的总和确定总的初始可用带宽的装置,其中用于将所述数据片段的一部分指配给所述多个计算装置中的每一者的装置包括用于最初以与每一计算装置的呈所述总的初始可用带宽的百分比形式的初始连接带宽成比例的方式将数据片段指配给所述多个计算装置中的每一者的装置;
用于监视所述服务器与所述多个计算装置之间的每一连接的连接带宽的装置;
用于确定所述服务器与所述多个计算装置中的任何计算装置之间的每一连接的连接带宽是否发生改变的装置;
用于在所述服务器与所述多个计算装置中的任何计算装置之间的每一连接的所述连接带宽发生改变的情况下确定所述服务器与所述多个计算装置之间的每一连接的经更新连接带宽的装置;
用于基于所述服务器与所述多个计算装置中的每一者之间的所有所述经更新连接带宽的总和确定总的经更新可用带宽的装置;
用于以与每一计算装置的呈所述总的经更新可用带宽的百分比形式的经更新连接带宽成比例的方式将数据片段重新指配给所述多个计算装置中的每一者的装置;
以及
用于将所述计算装置的所述数据片段的经重新指配部分从所述服务器发射到所述多个计算装置中的每一者的装置。
CN201280065098.8A 2012-01-01 2012-12-31 一种用于优化数据递送的方法、***及服务器 Expired - Fee Related CN104012047B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610865713.3A CN107040451A (zh) 2012-01-01 2012-12-31 数据递送优化

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/342,092 US9160697B2 (en) 2012-01-01 2012-01-01 Data delivery optimization
US13/342,092 2012-01-01
PCT/US2012/072344 WO2013102229A2 (en) 2012-01-01 2012-12-31 Data delivery optimization

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201610865713.3A Division CN107040451A (zh) 2012-01-01 2012-12-31 数据递送优化

Publications (2)

Publication Number Publication Date
CN104012047A CN104012047A (zh) 2014-08-27
CN104012047B true CN104012047B (zh) 2017-06-30

Family

ID=47561851

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201280065098.8A Expired - Fee Related CN104012047B (zh) 2012-01-01 2012-12-31 一种用于优化数据递送的方法、***及服务器
CN201610865713.3A Pending CN107040451A (zh) 2012-01-01 2012-12-31 数据递送优化

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610865713.3A Pending CN107040451A (zh) 2012-01-01 2012-12-31 数据递送优化

Country Status (6)

Country Link
US (2) US9160697B2 (zh)
EP (1) EP2798795A2 (zh)
JP (1) JP6144279B2 (zh)
KR (1) KR20140110980A (zh)
CN (2) CN104012047B (zh)
WO (1) WO2013102229A2 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130332621A1 (en) * 2012-06-08 2013-12-12 Ecole Polytechnique Federale De Lausanne (Epfl) System and method for cooperative data streaming
US9805053B1 (en) 2013-02-25 2017-10-31 EMC IP Holding Company LLC Pluggable storage system for parallel query engines
US11328344B2 (en) * 2013-05-31 2022-05-10 Itron, Inc. Utility application delivery platform
US10108692B1 (en) * 2013-10-15 2018-10-23 Amazon Technologies, Inc. Data set distribution
US20150379310A1 (en) * 2014-06-27 2015-12-31 Kabushiki Kaisha Toshiba Electronic Apparatus, Control Method and Storage Medium
US20160098440A1 (en) * 2014-10-06 2016-04-07 Microsoft Technology Licensing, Llc Validation of segmented data entries
JP6581858B2 (ja) * 2015-09-16 2019-09-25 日本放送協会 データ配信システム、情報サーバ、及び通信端末
KR102238111B1 (ko) 2015-12-08 2021-04-09 삼성전자주식회사 디바이스의 업로드 크기를 제어하는 방법 및 장치
US10546138B1 (en) 2016-04-01 2020-01-28 Wells Fargo Bank, N.A. Distributed data security
US10425458B2 (en) * 2016-10-14 2019-09-24 Cisco Technology, Inc. Adaptive bit rate streaming with multi-interface reception
US9703841B1 (en) 2016-10-28 2017-07-11 International Business Machines Corporation Context-based notifications in multi-application based systems
US20190253477A1 (en) * 2018-03-30 2019-08-15 Intel Corporation Data Fragment Recombination for Internet of Things Devices
US10965778B1 (en) * 2019-09-18 2021-03-30 Motorola Solutions, Inc. Multiunit charging device and method for preemptive data upload

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5436960A (en) * 1991-05-20 1995-07-25 Campana, Jr.; Thomas J. Electronic mail system with RF communications to mobile processors and method of operation thereof
JPH05207190A (ja) * 1992-01-28 1993-08-13 Fuji Xerox Co Ltd 複数回線利用のデータ通信システム
US7237036B2 (en) * 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US6477543B1 (en) 1998-10-23 2002-11-05 International Business Machines Corporation Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
US7334044B1 (en) * 1998-11-17 2008-02-19 Burst.Com Method for connection acceptance control and optimal multi-media content delivery over networks
WO2001018688A2 (en) 1999-09-10 2001-03-15 Avantgo, Inc. System, method, and computer program product for interactive interfacing with mobile devices
US6671757B1 (en) * 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
SE523220C2 (sv) * 2000-04-19 2004-04-06 Microsoft Corp Förfarande och system för tillhandahållande av mobila e-posttjänster
US7047309B2 (en) * 2000-08-23 2006-05-16 International Business Machines Corporation Load balancing and dynamic control of multiple data streams in a network
US20050237949A1 (en) 2000-12-21 2005-10-27 Addessi Vincent M Dynamic connection structure for file transfer
EP1388073B1 (en) * 2001-03-01 2018-01-10 Akamai Technologies, Inc. Optimal route selection in a content delivery network
US20020124057A1 (en) * 2001-03-05 2002-09-05 Diego Besprosvan Unified communications system
DE60213419T2 (de) * 2001-03-16 2007-10-31 Novell, Inc., Provo Client-server-modell zur synchronisation von dateien
US7542419B2 (en) * 2001-04-02 2009-06-02 International Business Machines Corporation Method and apparatus for managing aggregate bandwidth at a server
US20030174648A1 (en) * 2001-10-17 2003-09-18 Mea Wang Content delivery network by-pass system
US7133905B2 (en) * 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7366460B2 (en) * 2003-01-23 2008-04-29 Dexterra, Inc. System and method for mobile data update
US7555559B2 (en) * 2003-02-28 2009-06-30 Onion Networks, KK Parallel data transfer over multiple channels with data order prioritization
US7010538B1 (en) * 2003-03-15 2006-03-07 Damian Black Method for distributed RDSMS
US20070174471A1 (en) * 2003-04-30 2007-07-26 Cedric Van Rossum Secure, continous, proxy-optimized, device-to-device data download reception system and method of use
CN100487695C (zh) * 2003-06-30 2009-05-13 国际商业机器公司 在计算机网络中检索电子文档的复制件
CA2559082A1 (en) * 2004-03-08 2005-09-15 British Telecommunications Public Limited Company Content provisioning method and system
US20050283487A1 (en) 2004-06-21 2005-12-22 Magnus Karlsson Method of determining lower bound for replication cost
US7593333B2 (en) * 2004-07-07 2009-09-22 Microsoft Corporation Efficient one-to-many content distribution in a peer-to-peer computer network
TW200616782A (en) * 2004-07-12 2006-06-01 Sumitomo Chemical Co Method for producing thermoplastic resin laminated sheet
US7899863B2 (en) 2004-08-18 2011-03-01 Siemens Enterprise Communications, Inc. Apparatus and method for enhanced synchronization using an IMS server
US7174385B2 (en) * 2004-09-03 2007-02-06 Microsoft Corporation System and method for receiver-driven streaming in a peer-to-peer network
US7664109B2 (en) 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media
JP2006254080A (ja) * 2005-03-10 2006-09-21 Mitsubishi Electric Corp 無線通信ネットワークならびにこれに用いられる基地局および端末
US20070016632A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. System and method for synchronizing between a user device and a server in a communication network
US8065424B2 (en) * 2005-07-15 2011-11-22 University Of Utah Research Foundation System and method for data transport
US20070055862A1 (en) * 2005-09-08 2007-03-08 Interdigital Technology Corporation Method and system for distributing data
US8719397B2 (en) * 2005-11-03 2014-05-06 Emoze Ltd. Method and system for email and PIM synchronization and updating
EP1798934A1 (en) * 2005-12-13 2007-06-20 Deutsche Thomson-Brandt Gmbh Method and apparatus for organizing nodes in a network
US9047310B2 (en) 2006-02-22 2015-06-02 Microsoft Technology Licensing, Llc Reliable, efficient peer-to-peer storage
US20070288638A1 (en) * 2006-04-03 2007-12-13 British Columbia, University Of Methods and distributed systems for data location and delivery
WO2007115991A1 (en) * 2006-04-11 2007-10-18 Thomson Licensing Data reception method, repair method and corresponding terminal
US8738778B2 (en) * 2006-04-26 2014-05-27 Bittorrent, Inc. Peer-to-peer download and seed policy management
US8230098B2 (en) * 2006-05-10 2012-07-24 At&T Intellectual Property Ii, L.P. System and method for streaming media objects
US20080005113A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Sender-driven incentive-based mass p2p file sharing
US8064391B2 (en) * 2006-08-22 2011-11-22 Embarq Holdings Company, Llc System and method for monitoring and optimizing network performance to a wireless device
US7966426B2 (en) * 2006-11-14 2011-06-21 Microsoft Corporation Offline synchronization capability for client application
US8055902B2 (en) * 2007-01-12 2011-11-08 International Business Machines Corporation Method, system, and computer program product for data upload in a computing system
US7865212B2 (en) 2007-01-17 2011-01-04 Research In Motion Limited Methods and apparatus for use in transferring user data between two different mobile communication devices using a removable memory card
WO2008110181A1 (en) * 2007-03-09 2008-09-18 Otis Elevator Company Method in a computer system for performing data transfer and corresponding device
US20080235746A1 (en) * 2007-03-20 2008-09-25 Michael James Peters Methods and apparatus for content delivery and replacement in a network
US7894828B2 (en) * 2007-05-31 2011-02-22 International Business Machines Corporation System and method for establishing peer-to-peer bandwidth sharing ad hoc networks
US8620784B2 (en) * 2007-05-31 2013-12-31 International Business Machines Corporation Formation and rearrangement of ad hoc networks
US8594558B2 (en) * 2007-06-07 2013-11-26 Qualcomm Incorporated Methods and apparatuses of providing multimedia content to a mobile device
US8086677B2 (en) * 2007-07-27 2011-12-27 Research In Motion Limited Information exchange in wireless servers
US20090037529A1 (en) * 2007-07-31 2009-02-05 Samsung Electronics Co., Ltd. Data sharing in a group of peers with limited resources
US8606846B2 (en) 2007-10-15 2013-12-10 Nbcuniversal Media, Llc Accelerating peer-to-peer content distribution
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
CN101426019B (zh) * 2007-10-30 2013-04-24 广州市威宝网络科技有限公司 手机***的数据文件传输方法
US7778165B2 (en) * 2007-11-08 2010-08-17 University Of Washington Information plane for determining performance metrics of paths between arbitrary end-hosts on the internet
US7908362B2 (en) * 2007-12-03 2011-03-15 Velocix Ltd. Method and apparatus for the delivery of digital data
WO2009076251A2 (en) * 2007-12-13 2009-06-18 General Electric Company Accelerating peer-to-peer content distribution
US8386629B2 (en) * 2007-12-27 2013-02-26 At&T Intellectual Property I, L.P. Network optimized content delivery for high demand non-live contents
CN101494534A (zh) * 2008-01-21 2009-07-29 华为技术有限公司 一种数据同步方法、装置及***
US8639630B2 (en) * 2008-02-15 2014-01-28 Ddn Ip Holdings Limited Distribution of digital content
US20090228542A1 (en) 2008-03-06 2009-09-10 Microsoft Corporation Occasionally-connected support through off-line service-supplied proxies
US20090234967A1 (en) * 2008-03-17 2009-09-17 Nokia Corporation Method, system, and apparatus for transferring P2P file distribution tasks between devices
JP4518169B2 (ja) * 2008-03-24 2010-08-04 ブラザー工業株式会社 ツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラム
US8826375B2 (en) * 2008-04-14 2014-09-02 Lookwithus.Com Inc. Rich media collaboration system
WO2010077379A1 (en) * 2008-05-23 2010-07-08 Jason Nieh Systems and methods for peer-to-peer bandwidth allocation
US9106668B2 (en) * 2008-06-24 2015-08-11 Azureus Software, Inc. Distributed peer location in peer-to-peer file transfers
JP4850218B2 (ja) * 2008-07-30 2012-01-11 株式会社ソニー・コンピュータエンタテインメント データ配信システム
US8145722B2 (en) * 2008-08-28 2012-03-27 Nathan Douglas Koons Media transfer system and associated methods
JP2012503255A (ja) * 2008-09-18 2012-02-02 オパンガ ネットワークス インコーポレイテッド 高負荷のメディアコンテンツの自動検出および適合された配信のためのシステムおよび方法
US8219706B2 (en) * 2008-11-14 2012-07-10 At&T Intellectual Property I, Lp Interdomain network aware peer-to-peer protocol
CN101437044B (zh) * 2008-11-28 2012-05-09 中兴通讯股份有限公司 基于切片的点对点网络技术的文件下载方法及***
US8631072B2 (en) * 2008-12-03 2014-01-14 Telefonaktiebolaget L M Ericsson (Publ) Method for selection of suitable peers in a peer-to-peer (P2P) network
CN101764831B (zh) * 2008-12-24 2012-09-19 ***通信集团公司 一种流媒体数据共享方法、共享***和流媒体节点
US8161107B2 (en) * 2008-12-29 2012-04-17 Microsoft Corporation Roaming personal information items across multiple computing devices using an IMAP server
EP2252061A1 (en) * 2009-05-15 2010-11-17 Thomson Licensing Method and system for storing and distributing electronic content
KR101562974B1 (ko) * 2009-09-07 2015-10-30 삼성전자 주식회사 스트리밍 서비스의 지연 감소를 위한 단말기, 시드 서버 및 트랙커 서버
US20110153737A1 (en) * 2009-12-17 2011-06-23 Chu Thomas P Method and apparatus for decomposing a peer-to-peer network and using a decomposed peer-to-peer network
FR2954879A1 (fr) * 2009-12-29 2011-07-01 France Telecom Procede et dispositif de transmission de contenu
JP5537181B2 (ja) * 2010-02-17 2014-07-02 株式会社日立製作所 メッセージシステム
US20110307538A1 (en) * 2010-06-10 2011-12-15 Alcatel-Lucent Usa, Inc. Network based peer-to-peer traffic optimization
US8655985B2 (en) * 2010-11-15 2014-02-18 International Business Machines Corporation Content delivery using multiple sources over heterogeneous interfaces
CN102118438A (zh) * 2011-01-17 2011-07-06 中兴通讯股份有限公司 IPTV***中直播apple媒体流的方法和装置
US8510267B2 (en) * 2011-03-08 2013-08-13 Rackspace Us, Inc. Synchronization of structured information repositories

Also Published As

Publication number Publication date
JP6144279B2 (ja) 2017-06-07
EP2798795A2 (en) 2014-11-05
US9160697B2 (en) 2015-10-13
KR20140110980A (ko) 2014-09-17
CN107040451A (zh) 2017-08-11
CN104012047A (zh) 2014-08-27
US20130173716A1 (en) 2013-07-04
JP2015513128A (ja) 2015-04-30
US20150373146A1 (en) 2015-12-24
WO2013102229A3 (en) 2013-08-29
WO2013102229A2 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
CN104012047B (zh) 一种用于优化数据递送的方法、***及服务器
CN110163004B (zh) 一种区块链生成的方法、相关设备及***
CN102026198B (zh) 一种蓝牙设备间快速认证的***及方法
US20190122186A1 (en) Hierarchical Network System, And Node And Program Used In Same
US20190340169A1 (en) Blockchain management method and blockchain management system
CN105264514B (zh) 为移动计算提供性能和能量优化的方法、装置和计算机程序产品
US10084614B2 (en) Method of bus virtualization in computing machine intercommunications
CN104123766A (zh) 使用近场通讯的门禁***
CN105337941A (zh) 一种设备标识提供方法及装置
JP5724039B2 (ja) 通信システム、移動通信装置、移行制御装置、移行制御方法及び移行制御プログラム
CN106664296A (zh) 无缝对等互联网连接
WO2020213763A1 (ko) 블록체인과는 다른 형식의 저장소에 저장되는 블록체인 데이터를 검증하는 방법 및 시스템
CN113837760A (zh) 数据处理方法、装置、计算机设备以及存储介质
US10165502B2 (en) Asynchronous information transfer between devices on different networks via a plurality of provider devices
US10616328B2 (en) Updating files between computing devices via a wireless connection
JP2015500537A (ja) 拡張パラメータ集に基づくセキュリティ情報インタラクションシステム、装置及びその方法
KR102111544B1 (ko) 확장성을 갖춘 dag 기반 블록체인
CN104023056B (zh) 更新数据的方法和相关设备
CN109660354A (zh) 一种基于区块链的通信方法、装置、***及介质
KR20210080325A (ko) 블록체인 네트워크에서 데이터를 관리하기 위한 기법
WO2021077862A1 (zh) 文件同步方法及装置
CN103297385A (zh) 一种数据漫游的实现方法
CN204967845U (zh) 一种加密型局域网通信***
CN105589933A (zh) 移动设备的硬件编码写入方法和装置
CN106878978A (zh) 一种生成虚拟sim卡的***及方法

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

Granted publication date: 20170630