CN105814579A - 沙盒应用数据重定向至数据中心 - Google Patents

沙盒应用数据重定向至数据中心 Download PDF

Info

Publication number
CN105814579A
CN105814579A CN201380080373.8A CN201380080373A CN105814579A CN 105814579 A CN105814579 A CN 105814579A CN 201380080373 A CN201380080373 A CN 201380080373A CN 105814579 A CN105814579 A CN 105814579A
Authority
CN
China
Prior art keywords
data
sandbox
application
data center
storage area
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
CN201380080373.8A
Other languages
English (en)
Other versions
CN105814579B (zh
Inventor
E·克鲁格里克
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 CN105814579A publication Critical patent/CN105814579A/zh
Application granted granted Critical
Publication of CN105814579B publication Critical patent/CN105814579B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

总地描述了将来自应用沙盒的数据重定向到数据中心的技术。在一些示例中,在应用沙盒中操作的应用可以与也位于沙盒中的诸如文件或目录的应用数据存储区交换数据。数据存储区随后可以通过由沙盒数据服务器模块建立的网络连接与特定地理位置处的数据中心交换数据。网络连接可以周期性地更新以基于与应用相关联的地理信息、执行应用的设备、数据中心和/或交换的数据而将数据存储区与不同地理位置处的不同数据中心连接。

Description

沙盒应用数据重定向至数据中心
背景技术
除非在此处进行说明,否则此处所描述的材料不是本申请权利要求的现有技术并且不因包含在该部分中而承认是现有技术。
地理空间数据或者与具体地理位置相关联的数据的布置和管理已经随着移动设备和云服务的使用变得更加普及而受到关注。地理空间数据可从许多多样和异构格式和结构的若干源获得,并且可以利用各种地理空间数据采集技术来编译。因此,期望确保可能的地理空间数据的各种源(诸如用户应用)与地理适当的数据中心交互。
虽然非常复杂,但是地理空间数据处理和管理可合理地通过大公司借助它们相称的资源来实现。然而,用户应用开发者随着应用开发变得更容易且更简单而正在变得更小。这些更小的开发者可能缺乏较大型公司所拥有的资源,并且可能发现难以利用地理空间数据处理。
概述
本公开总体描述了将来自应用沙盒的数据重定向到数据中心的技术。
根据一些示例,提供了将来自应用沙盒的数据重定向到数据中心的方法。示例的方法可以包括:执行第一设备处的应用沙盒中的应用;以及在应用沙盒中的沙盒数据存储区(datastore)与第一地理位置处的第一数据中心之间建立网络连接。该方法可进一步包括:在所述应用与沙盒数据存储区之间交换第一数据;以及经由所述网络连接在所述沙盒数据存储区与第一数据中心之间交换第一数据。
根据其它示例,提供了将来自应用沙盒的数据重定向到数据中心的设备。示例的设备可以包括:存储器;沙盒模块,其被配置为提供应用沙盒以及在存储器中的沙盒数据存储区;以及处理模块。该处理模块可被配置为:执行应用沙盒中的应用;以及在沙盒数据存储区与第一地理位置处的第一数据中心之间建立网络连接。处理模块可进一步配置为:在应用与沙盒数据存储区之间交换第一数据;以及经由网络连接在所述沙盒数据存储区与第一数据中心之间交换第一数据。
根据另外的示例,提供了用于跨数据中心的地理空间负载平衡与数据管理的方法。示例的方法可以包括:接收与在设备沙盒中执行的应用相关联的应用信息;基于应用信息和与多个数据中心相关联的地理空间信息来确定从多个数据中心中选定的目的地数据中心;以及基于目的地数据中心来更新所述应用。
根据又另外的示例,提供了将来自应用沙盒的数据重定向到数据中心的地理管理器模块。地理管理器模块可以包括:存储器,该存储器被配置为存储与多个数据中心相关联的地理空间信息;以及处理模块。该处理模块可被配置为:接收与在设备沙盒中执行的应用相关联的应用信息;基于应用信息和地理空间信息来确定从多个数据中心中选定的目的地数据中心;以及基于目的地数据中心来提供所述应用的更新。
前面的概述仅仅是示例性的,而不意在以任何方式进行限制。通过参考附图以及下面的详细说明,除了上文所描述的示例性的方案、实施例和特征之外,另外的方案、实施例和特征将变得清晰可见。
附图说明
通过下面结合附图给出的详细说明和随附的权利要求,本公开的前述特征以及其它特征将变得更加清晰。应理解的是,这些附图仅描绘了依照本公开的多个实施例,因此,不应视为对本公开范围的限制,将通过利用附图结合附加的具体描述和细节对本公开进行说明,在附图中:
图1示出了可以实现来自沙盒应用的数据重定向的示例的基于数据中心的***;
图2示出了可以实现应用沙盒的示例的设备;
图3示出了示例的***,其中来自应用沙盒的数据可以重定向到数据中心;
图4示出了设备更新用于来自应用沙盒的数据重定向到数据中心的网络连接的示例的过程;
图5示出了地理管理器模块更新用于来自多个用户和多个应用的应用沙盒数据重定向到数据中心的网络连接的示例的过程;
图6示出了通用计算设备,其可用于将来自应用沙盒的数据重定向到数据中心;
图7是示出可通过诸如图6中的计算设备的计算设备执行的重定向来自应用沙盒的数据的示例的方法的流程图;以及
图8示出了示例的计算机程序产品的框图,
全部依照本文所描述的至少一些实施例来布置。
具体实施方式
在下面的详细说明中,将参考附图,附图构成了详细说明的一部分。在附图中,除非上下文指出,否则相似的符号通常表示相似的部件。在详细说明、附图和权利要求中所描述的示例性实施例不意在限制。可以使用其它实施例,并且可以做出其它改变,而不偏离本文呈现的主题的精神或范围。将易于理解的是,如本文大致描述且如图中所图示的,本公开的方案能够以各种不同配置来布置、替代、组合、分离和设计,所有这些都在本文中明确地构思出。
本公开总地尤其涉及与将来自应用沙盒的数据重定向到数据中心有关的方法、装置、***、设备和/或计算机程序产品。
简言之,总地描述了将来自应用沙盒的数据重定向到数据中心的技术。在一些示例中,应用沙盒中操作的应用可以与也位于沙盒中的诸如文件或目录的应用数据存储区交换数据。然后,数据存储区可以经由沙盒数据服务器模块建立的网络连接与特定地理位置处的数据中心交换数据。网络连接可以周期性地更新,以便基于与应用相关联的地理信息、执行应用的设备、数据中心和/或交换的数据来将数据存储区与不同地理位置处的不同数据中心连接。
如本文所使用的数据中心是指通过一个或多个物理服务器装备以及在那些服务器装备中执行的一个或多个虚拟机为客户寄存服务和应用的实体。数据中心的客户,也称为租户,可以是为多个用户提供对它们的服务的访问权的组织。
图1示出了依照本文所描述的至少一些实施例布置的示例的基于数据中心的***,其中可以实现来自沙盒应用的数据的重定向。
如示意图100所示,物理数据中心102可以包括一个或多个物理服务器110、111和113,其中每个都配置为提供一个或多个虚拟机104。例如,物理服务器111和113可分别被配置为提供四个虚拟机和两个虚拟机。在一些实施例中,一个或多个虚拟机可以组合成一个或多个虚拟数据中心。例如,由服务器111提供的四个虚拟机可以组合成虚拟数据中心112。虚拟机104和/或虚拟数据中心112可以被配置为经由云106提供诸如各种应用、数据存储、数据处理或者类似服务的云相关数据/计算服务给一组客户108,诸如个体用户或企业客户。
如上所述,许多应用开发者可能缺乏利用地理空间数据处理的资源。为解决该问题,具有执行地理空间数据处理的资源的实体,诸如上述的大型公司,可以提供被配置为与个体应用耦合的地理空间数据接口。然后,与个体应用相关联的沙盒数据文件或目录可以充当通过这些地理空间数据接口在个体应用与各数据中心之间传输数据的数据“管道”。结果,希望构建利用地理空间数据处理的应用的应用开发者可能无需处理地理空间数据管理中所涉及到的复杂性。相反,应用开发者可依赖于较大的地理空间数据服务提供商的专业知识。而且,由于沙盒能够实现在操作***级而不是应用级,所以任何给定的应用可仅通过在具有支持沙盒的操作***的设备上执行应用而被提供地理空间数据处理能力。甚至最初未设计成用于基于网络交互的较旧或传统的软件应用可以仅通过在提供沙盒的平台上执行它们而被提供地理空间数据处理。
图2示出了依照本文所描述的至少一些实施例布置的示例的设备,其中可以实现应用沙盒。
根据示意图200,计算设备202,诸如台式或移动计算机、平板式计算机、智能手机、或任何其它适合的计算设备,可以执行多个不同的应用。在一些实施例中,计算设备202可以执行应用沙盒中的个体应用。如本文所使用的,应用沙盒可以是指确定特定应用在***中能够做什么的控件集合,并且可以在操作***级或应用级来实现。例如,计算设备202的操作***可以实现限制应用对计算设备202处的文件、偏好、网络资源和/或硬件的访问权的应用沙盒。在示意图200中,计算设备202可以执行第一应用沙盒204中的第一应用208、第二应用沙盒220中的第二应用以及第三应用沙盒230中的第三应用。应用沙盒204、220和230中的每一个均可以包括相关联的应用以及相关联的应用能够访问的任何文件或存储器位置。例如,第一应用沙盒204可以包括包含第一应用208的第一应用目录206以及文档目录210、库目录212以及临时目录214。在其它示例中,这些元件中的一些或全部可以保持为分离的,例如操作***可以保持可执行应用208位于沙盒204之外,以防止应用改变其可执行代码。
在一些实施例中,应用沙盒可允许计算设备上的每个应用查看相同的文件结构,但是实际上使得每个应用与不同沙盒版本的各个目录或数据文件交互。例如,第一应用沙盒204中的第一应用208以及第二应用沙盒220中的第二应用可以对“文档”目录具有访问权。然而,第一应用208可以对其自身版本的“文档”目录(文档目录210)进行读和写,并且第二应用可以对位于第二应用沙盒220中的其自身的不同版本的“文档”目录进行访问。不同版本的目录实际上可以是由计算设备202的操作***管理的***存储器或存储设备中的虚拟数据存储区。结果,任何给定的沙盒应用可以仅修改其自身沙盒内的数据和设置,并且不能修改计算设备202上属于其它应用的数据和设置。
图3示出了依照本文所描述的至少一些实施例布置的示例的***,其中来自应用沙盒的数据可重定向到数据中心。
如示意图300所示,计算设备202可以执行第一应用沙盒204中的第一应用208。在执行期间,第一应用208可以对一个或多个沙盒目录或数据文件302具有读/写访问权。例如,目录/文件302可以包括文档目录210、库目录212、临时目录214和/或任何其它适合的目录或文件。由于目录/文件302是沙盒目录/文件,设备202可以将目录/文件302处理为虚拟数据存储区,并且可以将由第一应208写入目录/文件302的数据与设备202处的其它目录或文件隔离。
如上所述,与沙盒应用相关联的沙盒目录或数据文件可以充当将沙盒应用耦接至用于地理空间数据处理与管理的各数据中心的数据“管道”。在一些实施例中,地理管理器模块310可以为设备202提供地理空间数据管理。地理管理器模块310可以管理多个数据中心,诸如第一数据中心320、第二数据中心330和/或第三数据中心340,其中每个均位于不同的地理位置。在一些实施例中,地理管理器模块310可以定位在或者实现在数据中心中的一个处或者完全独立的位置处。作为地理空间数据管理过程的部分,地理管理器模块310可以基于一个或多个参数来确定用于来自设备202或第一应用208的地理空间数据的适合的目的地数据中心。例如,地理管理器模块310可以基于设备202、第一应用208和/或数据中心320、330或340的地理位置将数据中心320、330或340中的一个选为设备202或第一应用208的目的地数据中心。在一些实施例中,地理管理器模块310可以基于待传输的地理空间数据的类型或内容来选择目的地数据中心。
为建立目的地数据中心与设备202和/或第一应用208之间的实际连接,地理管理器模块310可以与在设备202处执行的沙盒数据服务器304通信。例如,地理管理器模块310可以将关于目的地数据中心的信息提供给沙盒数据服务器304。目的地数据中心信息可以如下形式来提供:应用编程接口(API)消息、JavaScript对象表示(JSON)对象、可扩展标记语言(XML)对象、和/或任何其它适合的消息或对象。沙盒数据服务器304随后可以建立用于沙盒目录/文件302与数据中心320、330和340之间的数据交换的网络连接。例如,沙盒数据服务器304可被配置为经由云106所表示的网络建立目录/文件302与数据中心320、330和340中的一个或多个之间的连接。随后,由第一应用208写入沙盒目录/文件302的全部或一些数据可以经由所建立的网络连接传输到适当的目的地数据中心,在该适当的目的地数据中心可以发生地理空间数据处理与管理。数据还可以由目的地数据中心经由网络连接写入沙盒目录/文件302以便第一应用208读。这可以允许应用开发者仅仅通过实现或者使用应用沙盒就能利用其他实体提供的地理空间数据处理与管理。在一些实施例中,沿任一个或两个方向经由网络连接传输的数据可以被加密或以其他方式进行安全处理以提供额外的安全性。
如上所述,沙盒数据服务器304可以建立目的地数据中心和与设备202上的一个应用相关联的沙盒目录/文件之间的网络连接,并且不同的应用可以连接到不同的数据中心。在一些实施例中,与多个应用相关联的沙盒目录/文件可以连接到同一目的地数据中心。在其他实施例中,与应用相关联的一个沙盒目录/文件可以连接到一个目的地数据中心,而与同一应用相关联的另一沙盒目录/文件可以连接到另一目的地数据中心。一些沙盒目录/文件可以不连接到任何数据中心,并且可以保持隔离。例如,与在设备202上执行的特定应用相关联的沙盒目录/文件可以不连接到任何数据中心。在一些实施例中,与应用相关联的一些沙盒目录/文件可以连接到数据中心,而与同一应用相关联的其他沙盒目录/文件可以与全部的数据中心隔离。
在一些实施例中,与沙盒数据服务器304联合操作的地理管理器模块310可以周期性地更新沙盒目录/文件302与各数据中心之间的网络连接。如果与设备202、在设备202上执行的应用、经由网络连接交换的数据、云106和/或数据中心320、330和340相关联的一个或多个参数变化,则可以更新网络连接。例如,当设备202移动到不同的地理位置时、当设备202开始或停止一个或多个应用的执行时、当所交换的数据的类型、格式或内容变化时、和/或当数据中心在线或离线时,可以更新网络连接。地理管理器模块310可以通过将API消息、JSON/XML对象或任何其他适合格式的更新后的目的地数据中心信息提供给沙盒数据服务器304来更新网络连接。随后,沙盒数据服务器304可以更新来自沙盒目录/文件302的网络连接以反映更新后的目的地数据中心信息。例如,响应于接收到指示第二数据中心330为新目的地的更新后目的地数据中心信息,沙盒数据服务器304可以将终止于第一数据中心320的网络连接改变成终止于第二数据中心330。
在一些实施例中,沙盒目录/文件302与原目的地数据中心之间的进行中的通信可在切换到更新后目的地数据中心期间得以维持。例如,沙盒目录/文件302可以初始地在第一会话中与第一数据中心320通信。随着网络连接被更新成终止于第二数据中心330而不是第一数据中心320,沙盒数据服务器304可以维持相同的第一会话,使得数据中心切换对于沙盒目录/文件302是透明的。在一些实施例中,地理管理器模块310可以通过在提供网络连接更新时发送密钥或会话信息来辅助维持第一会话。
图4示出了根据本文所描述的至少一些实施例布置的设备更新用于来自应用沙盒的数据重定向到数据中心的网络连接的示例的过程400。
过程400可以开始于操作402(传输沙盒数据至/自选定的数据中心),其中沙盒数据服务器模块(例如,沙盒数据服务器304)可以在沙盒数据存储区(例如,沙盒目录/文件302)与选定的目的地数据中心之间传输数据。在下一操作404(新的连接更新?),沙盒数据服务器模块(例如,沙盒数据服务器304)可以判定是否已接收到新的连接更新。例如,沙盒数据服务器模块可以基于与应用、设备和/或数据中心相关联的参数变化来接收来自地理管理器模块(例如,地理管理器模块310)的新的连接更新。响应于判定出没有接收到新的连接更新,则沙盒数据服务器模块可以返回至操作402且继续在沙盒数据存储区与选定的目的地数据中心之间继续传输数据。
另一方面,响应于判定出已经接收到新的连接更新,在下一操作406(接收新的连接信息),沙盒数据服务器模块可以接收新的连接信息,例如API消息、JSON/XML对象或任何其他适合的消息或对象的形式的连接信息。在下一操作408(设置新的网络连接),沙盒数据服务器模块可以基于接收到的新的连接信息来设置新的网络连接。例如,沙盒数据服务器模块可以将网络连接更新成终止于新的目的地数据中心。随后,沙盒数据服务器模块可以返回至操作402且继续在沙盒数据存储区与新更新的目的地数据中心之间传输数据。
图5示出了依照本文所描述的至少一些实施例布置的地理管理器模块更新用于来自多个用户和多个应用的应用沙盒数据重定向到数据中心的网络连接的示例的过程500。
过程500可以开始于操作502(决定应用数据要发送到哪个数据中心),其中地理管理器模块(例如,地理管理器310)可以决定来自与特定用户相关联的特定应用的数据应发送到哪个数据中心。地理管理器模块可以基于与应用、用户、数据和/或数据中心相关联的一个或多个参数来做出决定,参数诸如为地理位置、数据类型/格式/内容、时间、网络通信量、数据中心状态和/或任何其他适合的参数。随后,在操作504(更新沙盒数据服务连接),地理管理器模块可以更新沙盒数据服务连接。例如,地理管理器模块可以将带有新的目的地数据中心信息的网络连接更新提供给在执行应用的设备处的沙盒数据服务器模块(例如,沙盒数据服务器304)。
在下一操作506(用户完成?),地理管理器模块可以判定用户是否要更新任何其他应用。响应于判定出用户要更新至少一个其他应用,在操作508(下一应用),地理管理器模块可以切换到下一个未更新应用,然后再次重复操作502-504。响应于判定出用户没有任何要更新任何其他应用,在操作510(所有用户都完成?),地理管理器模块可以判定任何其他用户是否要更新应用。响应于判定出存在至少一个要更新应用的其他用户,在操作512(下一用户),地理管理器可以切换到未更新应用的下一用户,然后再次重复操作502-506。另一方面,响应于判定出没有其他用户要更新应用,在操作514中(地理管理状态改变?),地理管理器模块可以判定地理管理状态是否已经改变。例如,地理管理状态可以响应于用户离开或加入、新应用启动、用户移动、运行应用停止、网络负载平衡变化、地理空间数据处理变化或地理管理器模块操作环境中的任何其他变化而改变。响应于判定出地理管理状态已经改变,地理管理器模块可以再次重复操作502-510。另一方面,响应于判定出地理管理状态没有改变,则地理管理器模块可以后来再次校验地理管理状态是否改变。
图6示出了依照本文所描述的至少一些实施例布置的可用于将来自应用沙盒的数据重定向到数据中心的通用计算设备。
例如,计算设备600可用于将来自应用沙盒的数据重定向到数据中心,如本文所描述的。在示例的基本配置602中,计算设备600可以包括一个或多个处理器604和***存储器606。存储器总线608可以用来在处理器604与***存储器606之间通信。在图6中通过内虚线内的那些组件示出基本配置602。
根据所需的配置,处理器604可以是任意类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任意组合。处理器604可以包括诸如一级超高速缓存612的一级或多级超高速缓存、处理器核614和寄存器616。示例的处理器核614可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSPCore)或其任意组合。示例的存储器控制器618还可与处理器604一起使用,或者在一些实施方式中,存储器控制器618可以是处理器604的内部部件。
根据所需的配置,***存储器606可以是任意类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或其任意组合。***存储器606可以包括操作***620、应用沙盒模块622以及程序数据624。应用沙盒模块622可以包括实现应用沙盒与数据中心之间的网络连接的沙盒数据服务器模块626,如本文所描述的。程序数据624可以包括如本文所述的沙盒数据存储区628等以及其他数据。
计算设备600可具有附加的特征或功能以及附加的接口以便于基本配置602与任何所需的设备和接口之间的通信。例如,总线/接口控制器630可用于便于基本配置602与一个或多个数据存储设备632之间经由存储接口总线634的通信。数据存储设备632可以是一个或多个可移除存储设备636、一个或多个非可移除存储设备638、或者其组合。可移除存储设备和非可移除存储设备的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘设备、诸如压缩盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)和磁带驱动器,仅列举了几个。示例的计算机存储介质可以包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据的信息的存储的任何方法或技术实现的易失性和非易失性的介质以及可移除和非可移除的介质。
***存储器606、可移除存储设备636和非可移除存储设备638是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存(flashmemory)或其它存储器技术、CD-ROM、数字多功能盘(DVD)、固态驱动器或其它光学存储设备、磁盒、磁带、磁盘存储设备或其它磁存储设备、或者可用于存储所需信息并且可由计算设备600访问的任何其它介质。任意这样的计算机存储介质可以是计算设备600的部件。
计算设备600还可以包括接口总线640,该接口总线用于方便从各接口设备(例如,一个或多个输出设备642、一个或多个***设备接口644和一个或多个通信设备646)经由总线/接口控制器630到基本配置602的通信。一些示例的输出设备642包括图形处理单元648和音频处理单元650,其可配置为经由一个或多个A/V端口652与诸如显示器或扬声器的各外部设备通信。一个或多个示例的***设备接口644包括串行接口控制器654或并行接口控制器656,其可配置为经由一个或多个I/O端口658与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其它***设备(例如,打印机、扫描仪等)的外部设备通信。示例的通信设备666包括网络控制器660,其可布置成便于经由一个或多个通信端口664通过网络通信链路与一个或多个其他计算设备662的通信。一个或多个其他的计算设备662可以包括数据中心的服务器、客户装备以及类似设备。
网络通信链路可以是通信介质的一个示例。通信介质通常可通过计算机可读指令、数据结构、程序模块或诸如载波或其它传输机制的调制数据信号中的其它数据来具体化,并且可以包括任何信息输送介质。“调制数据信号”可以是使得其特性中的一个或多个以将信号中的信息编码的方式设定或改变的信号。通过举例而不是限制的方式,通信介质可以包括诸如有线网络或直接线连接的有线介质,以及诸如声波、射频(RF)、微波、红外(IR)和其它无线介质的无线介质。如本文所使用的术语计算机可读介质可以包括存储介质和通信介质两者。
计算设备600可以实现为通用或专用服务器、主机或者包括上述任意功能的类似计算机的部分。计算设备600还可以实现为包括膝上型计算机和非膝上型计算机配置的个人计算机。
图7是示出依照本文所描述的至少一些实施例布置的可通过诸如图6中的计算设备的计算设备执行的将来自应用沙盒的数据重定向的示例方法的流程图。
示例的方法可以包括如一个或多个框722、724、726和/或728所示的一个或多个操作、功能或动作,并且在一些实施例中可以由诸如图6中的计算设备600的计算设备来执行。在框722-728中所描述的操作还可以存储为诸如计算设备710的计算机可读介质720的计算机可读介质中的计算机可执行指令。
将来自应用沙盒的数据重定向到数据中心的示例的过程可以开始于框722,“执行设备处的沙盒中的应用”,其中可以在设备(例如,计算设备202)处的应用沙盒(例如,第一应用沙盒204)中执行应用(例如,第一应用208)。
框722之后可以是框724,“建立沙盒中的沙盒数据存储区与特定地理位置处的数据中心之间的网络连接”,其中可以在沙盒数据存储区(例如,沙盒目录/文件302)与特定地理位置处的数据中心之间建立网络连接,如上所述。可以通过与沙盒数据服务器模块(例如,沙盒数据服务器304)联合操作的地理管理器模块(例如,地理管理器模块310)来建立该网络连接。例如,沙盒数据服务器模块可以从地理管理器模块接收关于目的地数据中心的信息。沙盒数据服务器模块随后可以利用接收到的信息来设置沙盒数据存储区与目的地数据中心之间的网络连接。
框724之后可以是框726,“在应用与沙盒数据存储区之间交换数据”,其中应用可以从沙盒数据存储区读数据或者将数据写入沙盒数据存储区,如上所述。
最后,框726之后可以是框728,“在沙盒数据存储区与数据中心之间交换数据”,其中沙盒数据服务器模块可以经由所建立的网络连接在沙盒数据存储区与目的地数据中心之间交换数据,如上所述。
图8示出了依照本文所描述的至少一些实施例布置的示例的计算机程序产品的框图。
在一些示例中,如图8所示,计算机程序产品800可以包括信号承载介质802,其还可以包括一个或多个机器可读指令804,当通过例如处理器执行时可以提供本文所描述的功能。因此,例如,参考图6中的处理器604,应用沙盒模块622可以响应于由介质802传送到处理器604的指令804而承担图8所示的一项或多项任务从而执行与如本文所述的将来自应用沙盒的数据重定向相关联的动作。根据本文所描述的一些实施例,那些指令中的一些指令可以包括例如执行设备处的沙盒中的应用、在沙盒中的沙盒数据存储区与特定地理位置处的数据中心之间建立网络连接、在应用与沙盒数据存储区之间交换数据、和/或在沙盒数据存储区与数据中心之间交换数据。
在一些实现方式中,信号承载介质802可以涵盖非暂态计算机可读介质806,诸如但不限于硬盘驱动器、固态驱动器、压缩盘(CD)、数字视频盘(DVD)、数字带、存储器等。在一些实现方式中,信号承载介质802可以涵盖可记录介质807,诸如但不限于存储器、读/写(R/W)CD、R/WDVD等。在一些实现方式中,信号承载介质802可以包含通信介质810,诸如但不限于数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。因此,例如,程序产品800可以通过RF信号承载介质传送到处理器604的一个或多个模块,其中信号承载介质802由无线通信介质810(例如,符合IEEE802.11标准的无线通信介质)来传送。
根据一些示例,提供了将来自应用沙盒的数据重定向到数据中心的方法。该方法可以包括:执行第一设备处的应用沙盒中的应用;以及在应用沙盒中的沙盒数据存储区与第一地理位置处的第一数据中心之间建立网络连接。该方法可以进一步包括:在应用与沙盒数据存储区之间交换第一数据;以及经由网络连接在沙盒数据存储区与第一数据中心之间交换第一数据。
根据一些实施例,沙盒数据存储区可以包括文件和/或目录。该方法可以进一步包括:在所述应用沙盒中的另一沙盒数据存储区与第二地理位置处的第二数据中心之间建立另一网络连接;在应用与应用沙盒中的另一沙盒数据存储区之间交换第二数据;以及经由另一网络连接在另一沙盒数据存储区与第二地理位置处的第二数据中心之间交换第二数据。该方法可以进一步包括:在在应用与隔离于所有数据中心的另一沙盒数据存储区之间交换第二数据。
根据其他实施例,该方法可以进一步包括:执行第一设备处的另一应用沙盒中的另一应用;在另一应用与另一应用沙盒中的另一沙盒数据存储区之间交换第三数据;以及将另一应用沙盒中的另一沙盒数据存储区与所有数据中心隔离。该方法可以进一步包括:将网络连接更新成终止于第三地理位置处的第三数据中心;以及随后经由网络连接来沙盒数据存储区与第三数据中心之间交换第一数据。可以利用在第一设备上执行沙盒数据服务器模块和/或基于由地理管理器模块提供的数据中心信息来建立和/或更新网络连接。数据中心信息可被提供作为应用编程接口(API)消息、JavaScript对象表示(JSON)对象、和/或可扩展标记语言(XML)对象。数据中心信息和/或经由网络连接交换的第一数据可以被加密。
根据另外的实施例,该方法可以进一步包括:在第一会话中在沙盒数据存储区与第一数据中心之间交换第一数据;以及通过随后在相同的第一会话中在沙盒数据存储区与第三数据中心之间交换第一数据来维持会话连续性。地理管理器模块可以位于第一数据中心、第二数据中心、第三数据中心和单独的实体处。该方法可以进一步包括:基于与应用和/或第一设备相关联的一个或多个参数来建立和/或更新网络连接。参数可以包括与第一设备相关联的地理位置、与应用相关联的地理位置、第一地理位置和/或第三地理位置。
根据其他示例,提供了将来自应用沙盒的数据重定向到数据中心的设备。该设备可以包括存储器;沙盒模块,其被配置为提供应用沙盒以及在存储器中的沙盒数据存储区;以及处理模块。该处理模块可被配置为:执行应用沙盒中的应用;以及在沙盒数据存储区与第一地理位置处的第一数据中心之间建立网络连接。处理模块可进一步配置为:在应用与沙盒数据存储区之间交换第一数据;以及经由网络连接在沙盒数据存储区与第一数据中心之间交换第一数据。
根据一些实施例,沙盒数据存储区可以包括文件和/或目录。处理模块可进一步配置为:在应用沙盒中的另一沙盒数据存储区与第二地理位置处的第二数据中心之间建立另一网络连接;在应用与应用沙盒中的另一沙盒数据存储区之间交换第二数据;以及经由另一网络连接在另一沙盒数据存储区与第二地理位置处的第二数据中心之间交换第二数据。处理模块可进一步配置为在应用与隔离于所有数据中心的另一沙盒数据存储区之间交换第二数据。
根据其他实施例,处理模块可进一步配置为:执行另一应用沙盒中的另一应用;在另一应用与另一应用沙盒中的另一沙盒数据存储区之间交换第三数据;以及将另一应用沙盒中的另一沙盒数据存储区与所有数据中心隔离。处理模块可进一步配置为:将网络连接更新成终止于第三地理位置处的第三数据中心;以及随后经由网络连接在沙盒数据存储区与第三数据中心之间交换第一数据。处理模块可进一步配置为:执行沙盒数据服务器模块以建立和/或更新网络连接。处理模块可进一步配置为:接收由地理管理器模块提供的数据中心信息;以及基于该数据中心信息来建立和/或更新网络连接。数据中心信息可接收作为应用编程接口(API)消息、JavaScript对象表示(JSON)对象和/或可扩展标记语言(XML)对象。数据中心信息和/或经由网络连接交换的第一数据可被加密。
根据另外的实施例,处理模块可进一步配置为:在第一会话中在沙盒数据存储区与第一数据中心之间交换第一数据;以及通过随后在相同的第一会话中在沙盒数据存储区与第三数据中心之间交换第一数据来维持会话连续性。地理管理器模块可位于第一数据中心、第二数据中心、第三数据中心或单独的实体处。处理模块可进一步配置为基于与应用和/或第一设备相关联的一个或多个参数来建立和/或更新网络连接。参数可以包括与第一设备相关联的地理位置、与应用相关联的地理位置、第一地理位置和/或第三地理位置。
根据另外的示例,提供了用于跨数据中心的地理空间负载平衡与数据管理的方法。该方法可以包括:接收与在设备沙盒中执行应用相关联的应用信息;基于应用信息和与多个数据中心相关联的地理空间信息来确定从多个数据中心中选出的目的地数据中心;以及基于目的地数据中心来更新应用。
根据一些实施例,该方法可以进一步包括:接收与在另一设备沙盒中执行的另一应用相关联的另一应用信息;基于另一应用信息和地理空间信息来确定从多个数据中心选定的另一目的地数据中心;以及基于另一目的地数据中心来更新另一应用。更新应用可以包括:向与应用相关联的沙盒数据服务器模块提供更新。
根据其他实施例,该方法可进一步包括:提供更新作为应用编程接口(API)消息、JavaScript对象表示(JSON)对象和/或可扩展标记语言(XML)对象。该方法可进一步包括:对更新加密;和/或基于与应用和/或执行应用的设备相关联的一个或多个参数来确定目的地数据中心。参数可以包括与设备相关联的地理位置、与应用相关联的地理位置、和/或与目的地数据中心相关联的地理位置。
根据另外的示例,提供了将来自应用沙盒的数据重定向到数据中心的地理管理器模块。地理管理器模块可包括:存储器,其配置为存储与多个数据中心相关联的地理空间信息;以及处理模块。该处理模块可被配置为:接收与在设备沙盒中执行的应用相关联的应用信息;基于应用信息和地理空间信息来确定从多个数据中心中选定的目的地数据中心;以及基于目的地数据中心来提供应用的更新。
根据一些实施例,处理模块可被配置为:基于应用信息和地理空间信息来确定从多个数据中心选定的另一目的地数据中心,以及基于目的地数据中心和另一目的地数据中心来提供对应用的更新。处理模块可被配置为提供对与应用相关联的沙盒数据服务器模块的更新。处理模块可进一步配置为对更新加密和/或提供更新作为应用编程接口(API)消息、JavaScript对象表示(JSON)对象,和/或可扩展标记语言(XML)对象。
在***方案的硬件实现和软件实现之间保留了极小的区别;硬件或软件的使用通常是(但并不总是,因为在一些背景下硬件和软件之间的选择会变得重要)表示成本相对于效率权衡的设计选择。存在各种可以实现(例如,硬件、软件和/或固件)本文所描述的过程和/或***和/或其它技术的媒介物,并且优选的媒介物将随着部署过程和/或***和/或其它技术的背景而变化。例如,如果实施者判定速度和精度重要,则实施者可以选择主硬件和/或固件媒介物;如果灵活性重要,则实施者可以选择主软件实现;或者,另外可选地,实施者可以选择硬件、软件和/或固件的一些组合。
前面的详细说明已经通过框图、流程图和/或示例阐述了设备和/或过程的各个实施例。在这些框图、流程图和/或示例包含一项或多项功能和/或操作的程度上,本领域技术人员将理解的是可以通过各种各样的硬件、软件、固件或几乎其任意组合来单独地和/或统一地实现这些框图、流程图或示例内的每项功能和/或操作。在一个实施例中,本文所描述的主题的多个部分可经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它集成格式来实现。然而,本领域技术人员将理解的是,在本文公开的实施例的一些方案可以整体地或部分地等同地实现为集成电路、在一个或多个计算机上运行的一个或多个计算机程序(例如,实现为在一个或多个计算机***上运行的一个或多个程序)、在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序)、固件、或几乎任何组合,并且根据本公开的内容,设计电路和/或编写用于软件和/或固件的代码将在本领域技术人员的技能范围内。
本公开不限于本文所描述的特定实施例,这些实施例意在各方案的示例。能够在不偏离其精神和范围的情况下做出多种改进和变型,这对于本领域技术人员而言是显而易见的。通过前面的说明,除了本文所列举的那些之外,在本公开的范围内的功能上等同的方法和装置对于本领域技术人员而言将是显而易见的。旨在使这些改进和变型落在所附权利要求书的范围内。本公开仅受所附权利要求书以及这些权利要求所给予权利的等同方案的整个范围所限制。还应理解的是,本文所使用的术语是仅仅是为了描述特定实施例的目的,而不意在限制。
另外,本领域技术人员将理解的是,本文所描述的主题的机制能够以各种形式分布为程序产品,并且本文所描述的主题的示例性实施例适用,无论实际上用于实施分布的特定类型的信号承载介质如何。信号承载介质的示例包括但不限于以下:可记录型介质,诸如软盘、硬盘驱动器、压缩盘(CD)、数字多功能盘(DVD)、数字带、计算机存储器等;以及传输型介质,诸如数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。
本领域技术人员将理解的是,在本领域内常见的是以本文阐述的方式来描述设备和/或过程,此后利用工程实践将这些所描述的设备和/或过程集成到数据处理***中。也即,本文所描述的设备和/或过程的至少一部分可以通过合理量的实验集成到数据处理***中。本领域技术人员将理解的是,数据处理***可以包括如下中的一种或多种:***单元壳体、视频显示设备、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作***的计算实体、驱动器、图形用户接口、和应用程序、诸如触摸板或触摸屏的一个或多个交互设备、和/或包括反馈环和控制电动机(例如,用于感测构台的位置和/或速度的反馈;用于移动和/或调整部件和/或量的控制电动机)的控制***。
数据处理***可利用任何适合的商业上提供的部件来实现,诸如在数据计算/通信和/或网络计算/通信***中常见的部件。本文所描述的主题有时说明了包含在不同的其它部件内的不同部件或与不同的其它部件连接的不同部件。应理解的是,这些所描绘的体系结构仅是示例性的,并且实际上可以实施实现相同功能的许多其它体系结构。在概念意义上,实现相同功能的任何部件的布置有效地“关联”,使得实现期望功能。因此,在此处组合以实现特定功能的任何两个部件可视为彼此“关联”,使得实现期望功能,无论体系结构或中间部件如何。同样,任意两个如此关联的部件还可视为彼此“可操作地连接”、或“可操作地耦合”以实现期望的功能,并且能够如此关联的任意两个部件还可视为彼此“能够可操作地耦合”以实现期望功能。能够可操作耦合的具体示例包括但不限于能够物理上连接和/或物理交互的部件和/或能够无线交互和/或无线交互的部件和/或逻辑上交互和/或能够逻辑上交互的部件。
关于本文中基本上任何复数和/或单数术语的使用,本领域技术人员能够根据上下文和/或应用适当地从复数变换成单数和/或从单数变换成复数。为了清晰的目的,本文中明确地阐明了各单数/复数的置换。
本领域技术人员将理解,一般地,本文所使用的术语,尤其是随附权利要求(例如,随附权利要求的主体)中所使用的术语,通常意在为“开放式”术语(例如,术语“包括”应当解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包括”应解释为“包括但不限于”,等等)。本领域技术人员还理解,如果意图表达引导性权利要求记述项的具体数量,该意图将明确地记述在权利要求中,并且在不存在这种记述的情况下,不存在这样的意图。例如,为辅助理解,下面的随附权利要求可能包含了引导性短语“至少一个”和“一个或多个”的使用以引导权利要求记述项。然而,这种短语的使用不应解释为暗示不定冠词“一”或“一个”引导权利要求记述项将包含该所引导的权利要求记述项的任何特定权利要求局限于仅包含一个该记述项的实施例,即使当同一权利要求包括了引导性短语“一个或多个”或“至少一个”以及诸如不定冠词“一”或“一个”的(例如,“一”和/或“一个”应当解释为表示“至少一个”或“一个或多个”);这同样适用于对于用于引导权利要求记述项的定冠词的使用。另外,即使明确地记述了被引导的权利要求记述项的具体数量,本领域技术人员将理解到这些记述项应当解释为至少表示所记述的数量(例如,没有其它修饰语的裸记述“两个记述项”表示至少两个记述项或两个以上的记述项)。
此外,在使用类似于“A、B和C等中的至少一个”的惯用法的那些实例中,通常这样的构造旨在表达本领域技术人员理解该惯用法的含义(例如,“具有A、B和C中的至少一个的***”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的***)。本领域技术人员将进一步理解,呈现两个以上可选项的几乎任何分离词和/或短语,无论是在说明书、权利要求或附图中,都应理解为设想包括一项、任一项或两项的可能性。例如,术语“A或B”将理解为包括“A”或“B”或“A和B”的可能性。
本领域技术人员将理解的是,为了任何以及全部的目的,诸如在提供所撰写的说明书方面,本文所公开的全部范围也涵盖了任何和全部的可能的子范围及其子范围的组合。能够容易地认识到任何所列范围都充分地描述了同一范围并且使同一范围分解成至少均等的一半、三分之一、四分之一、五分之一、十分之一等等。作为非限制示例,本文所论述的每个范围能够容易地分解成下三分之一、中三分之一和上三分之一,等等。本领域技术人员还将理解的是,诸如“多达”、“至少”、“大于”、“小于”等所有的语言包括所记述的数量并且是指如上文所论述的随后能够分解成子范围的范围。最后,本领域技术人员将理解的是,范围包括每个独立的成员。因此,例如,具有1-3个单元的组是指具有1个、2个或3个单元的组。类似地,具有1-5个单元的组是指具有1个、2个、3个、4个、或5个单元的组,等等。
虽然本文公开了各个方案和实施例,但是其它的方案和实施例对于本领域技术人员而言将是显而易见的。因此,本文所公开的各个方案和实施例是为了示例的目的而不意在限制,真正的范围和精神是通过随附的权利要求表示的。

Claims (40)

1.一种将来自应用沙盒的数据重定向到数据中心的方法,所述方法包括:
执行第一设备处的应用沙盒中的应用;
建立所述应用沙盒中的沙盒数据存储区与第一地理位置处的第一数据中心之间的网络连接;
在所述应用与所述沙盒数据存储区之间交换第一数据;以及
经由所述网络连接在所述沙盒数据存储区与所述第一数据中心之间交换所述第一数据。
2.如权利要求1所述的方法,其中所述沙盒数据存储区包括文件和/或目录。
3.如权利要求1所述的方法,进一步包括:
在所述应用沙盒中的另一沙盒数据存储区与第二地理位置处的第二数据中心之间建立另一网络连接;
在所述应用与所述应用沙盒中的所述另一沙盒数据存储区之间交换第二数据;以及
经由所述另一网络连接在所述另一沙盒数据存储区与所述第二地理位置处的所述第二数据中心之间交换所述第二数据。
4.如权利要求1所述的方法,进一步包括:在所述应用与另一沙盒数据存储区之间交换第二数据,其中所述另一沙盒数据存储区与所有数据中心隔离。
5.如权利要求1所述的方法,进一步包括:
执行所述第一设备处的另一应用沙盒中的另一应用;
在所述另一应用与所述另一应用沙盒中的另一沙盒数据存储区之间交换第三数据;以及
将所述另一应用沙盒中的另一沙盒数据存储区与所有数据中心隔离。
6.如权利要求1所述的方法,进一步包括:
将所述网络连接更新成终止于第三地理位置处的第三数据中心;以及
随后经由所述网络连接在所述沙盒数据存储区与所述第三数据中心之间交换所述第一数据。
7.如权利要求6所述的方法,进一步包括:利用在所述第一设备上执行的沙盒数据服务器模块来建立和/或更新所述网络连接。
8.如权利要求6所述的方法,进一步包括:基于由地理管理器模块提供的数据中心信息来建立和/或更新所述网络连接。
9.如权利要求8所述的方法,其中所述数据中心信息被提供作为应用编程接口(API)消息、JavaScript对象表示(JSON)对象和/或可扩展标记语言(XML)对象。
10.如权利要求8所述的方法,其中经由所述网络连接交换的所述数据中心信息和/或所述第一数据被加密。
11.如权利要求6所述的方法,进一步包括:
在第一会话中,在所述沙盒数据存储区与所述第一数据中心之间交换所述第一数据;以及
通过随后在相同的第一会话中在所述沙盒数据存储区与所述第三数据中心之间交换所述第一数据来维持会话连续性。
12.如权利要求8所述的方法,其中所述地理管理器模块位于所述第一数据中心、所述第二数据中心、所述第三数据中心或单独的实体处。
13.如权利要求6所述的方法,进一步包括:基于与所述应用和/或所述第一设备相关联的至少一个参数来建立和/或更新所述网络连接。
14.如权利要求13所述的方法,其中所述至少一个参数包括与所述第一设备相关联的地理位置、与所述应用相关联的地理位置、所述第一地理位置和/或所述第三地理位置。
15.一种设备,其被配置为将来自应用沙盒的数据重定向到数据中心,所述设备包括:
存储器;
沙盒模块,其被配置为提供:
应用沙盒;以及
所述存储器中的沙盒数据存储区;以及
处理模块,其被配置为:
执行所述应用沙盒中的应用;
在所述沙盒数据存储区与第一地理位置处的第一数据中心之间建立网络连接;
在所述应用与所述沙盒数据存储区之间交换第一数据;以及
经由所述网络连接在所述沙盒数据存储区与所述第一数据中心之间交换所述第一数据。
16.如权利要求15所述的设备,其中所述沙盒数据存储区包括文件和/或目录。
17.如权利要求15所述的设备,其中所述处理模块进一步配置为:
在所述应用沙盒中的另一沙盒数据存储区与第二地理位置处的第二数据中心之间建立另一网络连接;
在所述应用与所述应用沙盒中的所述另一沙盒数据存储区之间交换第二数据;以及
经由所述另一网络连接在所述另一沙盒数据存储区与所述第二地理位置处的所述第二数据中心之间交换所述第二数据。
18.如权利要求15所述的设备,其中所述处理模块进一步配置为:在所述应用与另一沙盒数据存储区之间交换第二数据,其中所述另一沙盒数据存储区与所有数据中心隔离。
19.如权利要求15所述的设备,其中所述处理模块进一步配置为:
执行另一应用沙盒中的另一应用;
在所述另一应用与所述另一应用沙盒中的另一沙盒数据存储区之间交换第三数据;以及
将所述另一沙盒中的另一沙盒数据存储区与所有数据中心隔离。
20.如权利要求15所述的设备,其中所述处理模块进一步配置为:
将所述网络连接更新成终止于第三地理位置处的第三数据中心;以及
随后经由所述网络连接在所述沙盒数据存储区与所述第三数据中心之间交换所述第一数据。
21.如权利要求20所述的设备,其中所述处理模块进一步配置为:执行沙盒数据服务器模块来建立和/或更新所述网络连接。
22.如权利要求20所述的设备,其中所述处理模块进一步配置为:
接收由地理管理器模块提供的数据中心信息;以及
基于所述数据中心信息来建立和/或更新所述网络连接。
23.如权利要求22所述的设备,其中所述数据中心信息被接收作为应用编程接口(API)消息、JavaScript对象表示(JSON)对象和/或可扩展标记语言(XML)对象。
24.如权利要求22所述的设备,其中经由所述网络连接交换的所接收的数据中心信息和/或所述第一数据被加密。
25.如权利要求20所述的设备,其中所述处理模块进一步配置为:
在第一会话中,在所述沙盒数据存储区与所述第一数据中心之间交换所述第一数据;以及
通过随后在相同的第一会话中在所述沙盒数据存储区与所述第三数据中心之间交换所述第一数据来维持会话连续性。
26.如权利要求22所述的设备,其中所述地理管理器模块位于所述第一数据中心、所述第二数据中心、所述第三数据中心或单独的实体处。
27.如权利要求20所述的设备,其中所述处理模块进一步配置为:基于与所述应用和/或所述第一设备相关联的至少一个参数来建立和/或更新所述网络连接。
28.如权利要求27所述的设备,其中所述至少一个参数包括与所述第一设备相关联的地理位置、与所述应用相关联的地理位置、所述第一地理位置和/或所述第三地理位置。
29.一种用于跨数据中心的地理空间负载平衡与数据管理的方法,包括:
接收与在设备沙盒中执行的应用相关联的应用信息;
基于所述应用信息和与多个数据中心相关联的地理空间信息来确定从所述多个数据中心中选定的目的地数据中心;以及
基于所述目的地数据中心来更新所述应用。
30.如权利要求29所述的方法,进一步包括:
接收与在另一设备沙盒中执行的另一应用相关联的另一应用信息;
基于所述另一应用信息和所述地理空间信息来确定从所述多个数据中心中选定的另一目的地数据中心;以及
基于所述另一目的地数据中心来更新所述另一应用。
31.如权利要求29所述的方法,其中更新所述应用包括:向与所述应用相关联的沙盒数据服务器模块提供更新。
32.如权利要求31所述的方法,进一步包括:提供所述更新作为应用编程接口(API)消息、JavaScript对象表示(JSON)对象和/或可扩展标记语言(XML)对象。
33.如权利要求31所述的方法,进一步包括对所述更新加密。
34.如权利要求29所述的方法,进一步包括:基于与所述应用和/或执行所述应用的设备相关联的至少一个参数来确定所述目的地数据中心。
35.如权利要求34所述的方法,其中所述至少一个参数包括与所述设备相关联的地理位置、与所述应用相关联的地理位置和/或与所述目的地数据中心相关联的地理位置。
36.一种地理管理器模块,其被配置为将来自应用沙盒的数据重定向到数据中心,所述地理管理器模块包括:
存储器,其被配置为存储与多个数据中心相关联的地理空间信息;以及
处理模块,其被配置为:
接收与在设备沙盒中执行的应用相关联的应用信息;
基于所述应用信息和所述地理空间信息来确定从所述多个数据中心中选定的目的地数据中心;以及
基于所述目的地数据中心来提供所述应用的更新。
37.如权利要求36所述的地理管理器模块,其中所述处理模块进一步配置为:
基于所述应用信息和所述地理空间信息来确定从所述多个数据中心中选定的另一目的地数据中心;以及
基于所述目的地数据中心和所述另一目的地数据中心来提供所述应用的所述更新。
38.如权利要求36所述的地理管理器模块,其中所述处理模块进一步配置为对与所述应用相关联的沙盒数据服务器模块提供所述更新。
39.如权利要求36所述的地理管理器模块,其中所述处理模块进一步配置为提供所述更新作为应用编程接口(API)消息、JavaScript对象表示(JSON)对象和/或可扩展标记语言(XML)对象。
40.如权利要求36所述的地理管理器模块,其中所述处理模块进一步配置为对所述更新加密。
CN201380080373.8A 2013-10-22 2013-10-22 沙盒应用数据重定向至数据中心 Expired - Fee Related CN105814579B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/066242 WO2015060833A1 (en) 2013-10-22 2013-10-22 Sandboxed application data redirection to datacenters

Publications (2)

Publication Number Publication Date
CN105814579A true CN105814579A (zh) 2016-07-27
CN105814579B CN105814579B (zh) 2019-01-08

Family

ID=52993285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380080373.8A Expired - Fee Related CN105814579B (zh) 2013-10-22 2013-10-22 沙盒应用数据重定向至数据中心

Country Status (3)

Country Link
US (1) US9531813B2 (zh)
CN (1) CN105814579B (zh)
WO (1) WO2015060833A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106408264A (zh) * 2016-09-29 2017-02-15 上海宝尊电子商务有限公司 基于管道的与生产环境可业务交互的线上沙箱环境方法
CN106951194A (zh) * 2017-03-30 2017-07-14 张维加 一种新结构的计算机设备
CN109558375A (zh) * 2018-12-05 2019-04-02 武汉斗鱼网络科技有限公司 一种优化的文件存储方法、存储介质、设备及***
CN111241035A (zh) * 2020-01-07 2020-06-05 华为终端有限公司 应用管理方法和装置以及终端设备

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10168997B2 (en) 2014-06-26 2019-01-01 Ngd Systems, Inc. System and method for executing native client code in a storage device
US9633200B2 (en) * 2014-09-26 2017-04-25 Oracle International Corporation Multidimensional sandboxing for financial planning
US10003974B2 (en) * 2015-06-19 2018-06-19 Apple Inc. Electronic subscriber identity module management under multiple certificate authorities
US10852912B2 (en) 2016-06-12 2020-12-01 Apple Inc. Image creation app in messaging app
US10595169B2 (en) 2016-06-12 2020-03-17 Apple Inc. Message extension app store
US10785175B2 (en) * 2016-06-12 2020-09-22 Apple Inc. Polling extension application for interacting with a messaging application
US10565014B2 (en) 2017-12-05 2020-02-18 Western Digital Technologies, Inc. Data processing offload using in-storage code execution
WO2020261438A1 (ja) * 2019-06-26 2020-12-30 日本電気株式会社 実行制御システム、実行制御方法、及びプログラム
CN111857656B (zh) * 2020-06-12 2023-08-18 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及存储介质
CN112379965B (zh) * 2020-10-15 2023-07-21 北京奇艺世纪科技有限公司 沙盒文件映射***、客户端装置、映射端装置、沙盒文件映射方法以及电子设备
CN114862400A (zh) * 2021-02-03 2022-08-05 华为技术有限公司 数据处理方法、装置和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030154239A1 (en) * 2002-01-11 2003-08-14 Davis Andrew Thomas Java application framework for use in a content delivery network (CDN)
US20080276234A1 (en) * 2007-04-02 2008-11-06 Sugarcrm Inc. Data center edition system and method
WO2009111799A2 (en) * 2008-03-07 2009-09-11 3Tera, Inc. Globally distributed utility computing cloud
US20110231844A1 (en) * 2008-01-31 2011-09-22 Israel Zvi Ben-Shaul Desktop delivery for a distributed enterprise

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US8856322B2 (en) * 2008-12-19 2014-10-07 Openpeak Inc. Supervisory portal systems and methods of operation of same
KR101765996B1 (ko) * 2012-02-16 2017-08-07 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 클라우드-기반 스토리지로의 로컬 액세스
WO2013151454A1 (en) * 2012-04-06 2013-10-10 Google Inc. Hosted application sandboxing
US9231987B2 (en) 2012-04-11 2016-01-05 Empire Technology Development Llc Data center access and management settings transfer
AU2013247347B2 (en) * 2012-04-12 2018-02-15 Ivanti, Inc. Configuration of third party applications in a sandboxed environment
US9392077B2 (en) * 2012-10-12 2016-07-12 Citrix Systems, Inc. Coordinating a computing activity across applications and devices having multiple operation modes in an orchestration framework for connected devices
US20140109171A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
US10089107B2 (en) * 2013-06-07 2018-10-02 Apple Inc. Methods and systems for record editing in application development
US8839266B1 (en) * 2013-07-31 2014-09-16 Vmware, Inc. Inter-application communication on mobile platforms
US10089458B2 (en) * 2013-09-26 2018-10-02 Citrix Systems, Inc. Separate, disposable execution environment for accessing unverified content

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030154239A1 (en) * 2002-01-11 2003-08-14 Davis Andrew Thomas Java application framework for use in a content delivery network (CDN)
US20070038994A1 (en) * 2002-01-11 2007-02-15 Akamai Technologies, Inc. Java application framework for use in a content delivery network (CDN)
US20080276234A1 (en) * 2007-04-02 2008-11-06 Sugarcrm Inc. Data center edition system and method
US20110231844A1 (en) * 2008-01-31 2011-09-22 Israel Zvi Ben-Shaul Desktop delivery for a distributed enterprise
WO2009111799A2 (en) * 2008-03-07 2009-09-11 3Tera, Inc. Globally distributed utility computing cloud

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106408264A (zh) * 2016-09-29 2017-02-15 上海宝尊电子商务有限公司 基于管道的与生产环境可业务交互的线上沙箱环境方法
CN106951194A (zh) * 2017-03-30 2017-07-14 张维加 一种新结构的计算机设备
CN109558375A (zh) * 2018-12-05 2019-04-02 武汉斗鱼网络科技有限公司 一种优化的文件存储方法、存储介质、设备及***
CN109558375B (zh) * 2018-12-05 2021-03-16 武汉斗鱼网络科技有限公司 一种优化的文件存储方法、存储介质、设备及***
CN111241035A (zh) * 2020-01-07 2020-06-05 华为终端有限公司 应用管理方法和装置以及终端设备
CN111241035B (zh) * 2020-01-07 2023-10-20 华为终端有限公司 应用管理方法和装置以及终端设备

Also Published As

Publication number Publication date
US9531813B2 (en) 2016-12-27
US20150358411A1 (en) 2015-12-10
CN105814579B (zh) 2019-01-08
WO2015060833A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
CN105814579A (zh) 沙盒应用数据重定向至数据中心
US10936615B2 (en) Transforming and loading data from a source data system to a target data system
CN105446793B (zh) 迁移虚拟资产的方法和设备
CN104052789B (zh) 用于虚拟联网***的负载平衡的方法和***
US9736199B2 (en) Dynamic and collaborative workflow authoring with cloud-supported live feedback
CN104303168B (zh) 用于灵活资源需求应用的认证
CN103582867B (zh) 用于指定基于云的部署的配置的高级语言
CN104639406B (zh) 基于动态使用关系建模计算机网络拓扑
CN104111966B (zh) 用于动态地同步技术环境中的元素的方法和***
CN108140007A (zh) 跨部署位置安全地部署应用程序
AU2019232804A1 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
US20140136712A1 (en) Cloud resources as a service multi-tenant data model
CN104160374B (zh) 云突发以及对云突发应用的管理
CN110325968A (zh) 分布式计算***中的***升级管理
CN107066242A (zh) 确定软件容器中软件的标识的方法和***
CN105938525B (zh) 虚拟机设备的基于目录的发现
CN109542459A (zh) 应用程序打包方法及装置、计算机装置及计算机存储介质
CN109906597A (zh) 向和从云网络中存储和取回受限制的数据集和非受限制的数据集
CN105359088A (zh) 使用动态生成的虚拟磁盘内容优化供应时间的方法
CN103927216A (zh) 用于管理虚拟装置的方法和***
US20210117299A1 (en) Data agnostic monitoring service
US20130167112A1 (en) Cross-platform virtual machine and method
CN107463406A (zh) 发布移动应用的方法和电子设备
CN110140108A (zh) 处理兄弟调用
CN105988911A (zh) 在***日志中建立信任链

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: 20190108

Termination date: 20201022

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