Dynamic migration within a network storage system
Abstract
The invention relates to access to content stored on a personal cloud. In particular, a personal cloud can be constructed by sharing the resources of several devices owned by a user and other users trusted by the user. To add a device to the personal cloud, the device can identify its owner to the library manager, and the library manager can provide addressing information of other devices forming the cloud on behalf of the owner. The new device can establish a communication path with other devices, and configure itself based on services or data required by the personal cloud (for example, determined based on communication with other devices). Services running on various devices of the personal cloud can be dynamically and automatically migrated to ensure that users can remove devices from the personal cloud at will without adversely affecting the operation of the personal cloud.

Term
Projected expiry 27 July 2031.
- Priority
- Filed
- Published
- Today
- Projected expiry
18 claims: 3 independent, 15 dependent
- 1一种在个人云中动态迁移个人云服务的电子设备,所述电子设备包括控制电路和通 信电路,所述控制电路可操作来: 接收将形成所述个人云中的节点的设备从所述个人云断开的指令; 识别在所述节点中提供的个人云服务; 确定另一节点正在映像所识别的个人云服务;和 指引所述另一节点激活映像的所识别的个人云服务。
- 2根据权利要求1所述的电子设备,其中,所述控制电路还可操作来: 确定没有其它节点正在映像所识别的个人云服务; 识别所述个人云中具有用于提供所识别的个人云服务的可用资源的可用节点;和 将所识别的个人云服务转移到所述可用节点。
- 3根据权利要求2所述的电子设备,其中,所述控制电路还可操作来: 检索由所识别的个人云服务使用的元数据;和 将检索到的元数据转移到所述可用节点。
- 4根据权利要求1所述的电子设备,其中,所识别的个人云服务包含以下服务中的至 少一项: 协调服务; 目录服务; 数据服务; 修复服务;和 备份服务。
- 5根据权利要求1所述的电子设备,其中,所述控制电路还可操作来: 向协调服务提供对于不再由所述节点提供所述个人云服务的指示。
- 6根据权利要求1所述的电子设备,其中,所述控制电路还可操作来: 将所述节点从所述个人云断开。
- 7一种用于在个人云的各节点之间动态迁移活动服务的方法,包括: 检测能够通过向第二节点迁移由第一节点提供的活动服务来改善个人云的操作; 确定所述第二节点具有足以实现所述活动服务的资源; 将所述活动服务的操作所需的数据从所述第一节点转移到所述第二节点;和 在指引所述第二节点开始提供所述活动服务的同时指引所述第一节点停止提供所述 活动服务。 根据权利要求7所述的方法,其中,检测还包含: 检测所述第一节点不再能够用于所述个人云。
- 89. 根据权利要求7所述的方法,其中,检测还包含: 检测利用所述活动服务的最终用户与所述第二节点之间的通信路径比所述最终用户 与所述第一节点之间的通信路径更快。
- 910. 根据权利要求7所述的方法,其中,检测还包含: 监视所述第一节点和第二节点中的每一个的历史可用性; 定义每一节点在不同时刻可用的概率;和 基于所定义的在特定时刻的概率,确定所述第一节点可能比所述第二节点更不可用。
- 1011. 根据权利要求7所述的方法,还包括: 由使用所述第二节点映像由所述第一节点存储的数据以供所述活动服务使用,并且 其中,转移还包含:指引由所述第二节点提供的活动服务利用存储于所述第二节点上 的映像数据。
- 1112. 根据权利要求7所述的方法,还包括: 提供协调服务以协调所述活动服务从所述第一节点向所述第二节点的迁移。
- 1213. 根据权利要求12所述的方法,其中: 所述协调服务可操作来识别所述第二节点对于所述活动服务的可用性。
- 1314. 根据权利要求7所述的方法,还包括: 识别具有用于实现所述活动服务的可用资源的第三节点;和 将用于执行所述服务的指令和由所述活动服务使用的元数据中的至少一个转移到所 述第三节点。
- 1415. 根据权利要求7所述的方法,其中,所述活动服务包含以下服务中的至少一项: 协调服务; 目录服务; 数据服务; 修复服务;和 备份服务。
- 1516. 一种在提供个人云的节点的电子设备上实现的服务,所述电子设备包括控制电路, 所述控制电路可操作来: 接收对于为个人云提供第一服务的第一装置不再提供所述第一服务的指示; 识别实现第二服务的第二装置,其中,除了所述第二服务以外,所述第二装置还具有能 够用于实现所述第一服务的资源; 将与所述第一服务的实现对应的元数据转移到所述第二装置;和 指引所述第二装置通过使用所转移的元数据来实现所述第一服务。
- 1617. 根据权利要求16所述的服务,其中,所述控制电路还可操作来: 尝试建立与所述第一装置的通信路径; 检测与所述第一装置的通信路径不能被建立;和 响应于检测到所述通信路径不能被建立,推断所述第一装置不再提供所述第一服务。 1 根据权利要求16所述的服务,其中,所述控制电路还可操作来: 检测所述第二装置存储与所述第一服务的实现对应的元数据以备份所述第一服务;和 指引所述第二装置通过使用由所述第二装置存储的与所述第一服务的实现对应的元 数据来实现所述第一服务。
- 1719. 根据权利要求16所述的服务,其中,所述第二装置的资源包含以下中的至少一个:存储;和 处理。
- 1820. 一种用于在个人云的各节点之间动态迁移活动服务的计算机可读介质,包括记录 于其上的用于完成以下操作的计算机可读代码: 检测能够通过向第二节点迁移由第一节点提供的活动服务来改善个人云的操作; 确定所述第二节点具有足以实现所述活动服务的资源; 将所述活动服务的操作所需的数据从所述第一节点转移到所述第二节点;和 在指引所述第二节点开始提供所述活动服务的同时指引所述第一节点停止提供所述 活动服务。
Independent claims18
97 paragraphs, as filed
The field of dynamic migration technology in network storage system
[0001] The present disclosure relates to configuring the components of a personal network storage system. In particular, the present disclosure relates to managing the seamless addition and removal of devices in a personal network storage system.
Background technique
[0002] As the availability of high-speed Internet connections increases, many devices have the ability to connect to remote services or sources. In addition, as the cost of high-speed Internet connections decreases, many users can maintain a continuous or nearly continuous connection to the Internet. Moreover, with the expansion of wireless communication systems, users can connect to remote sources in many different locations, including locations far away from the user's work place, home, or other areas where the user can usually access the Internet. For example, wireless communication networks have been extended to points where devices can connect to the Internet on top of a mountain in nature (for example, when skiing or hiking).
[0003] Because the ability of the device to connect to the Internet when the user is moving or traveling is enhanced, the user can increase the use of remote storage. In particular, a user can store information in one or more remote locations while knowing that the information can be accessed as long as the user has an available Internet connection. This may allow the user to expand the amount of storage available to the user beyond the actual amount of storage in the device (for example, the storage amount of a hard disk drive or solid-state drive in the device).
[0004] The device can be connected to any suitable remote storage source to store or access content, including, for example, the use of one or more cloud storage solutions. Cloud storage solutions can generally include one or more storage device racks geographically located in one or more locations and connected to each other and to the Internet. These storage devices can be managed by system administrators, which can perform various tasks to ensure the correct operation of the cloud. In particular, the system administrator can define and set profiles for different devices, perform regular inspections, replace or maintain devices, and in some cases manage some or all of the data stored in the cloud. Although this kind of cloud storage can be useful to users, it can also bring costs. In particular, in exchange for using cloud storage, cloud providers may charge monthly fees or other periodic fees (and may charge periodic fees regardless of whether the user is using the storage). In addition, the cost of running a cloud storage system may include not only material costs (for example, storage equipment), but also network management costs. In particular, whenever a new device is added to the cloud, or whenever a device is removed from the cloud, management actions may be required to configure the new device or migrate data, services, or both between the remaining devices in the cloud. This may require both time and administrator resources.
Summary of the invention
[0005] The present disclosure relates to providing systems, methods, and computer-readable media for enabling individual users to create personal or private network storage systems such as personal clouds, where the cloud can automatically configure itself to reduce or eliminate users concerns Management responsibilities.
[0006] The user can define the personal cloud by selecting a list of devices controlled by the user to be included in the personal cloud. The devices in the list can identify themselves and their owners to a librarian, where the librarian can allocate resources for the identified device of the personal cloud. In addition, the user can choose to trust one or more other users, and the devices of these other users can also be used by the cloud. The library manager can then select a group of devices to combine to form a personal cloud, where these devices are owned by one or more users.
[0007] However, the specific devices to be included as part of the cloud may change over time. For example, a user-owned computer can be connected to or disconnected from an available network connection based on ad hoc (for example, when the notebook device is disconnected from the Internet in transit). As another example, a computer owned by a user can be shut down at any time. As yet another example, a user can allocate or remove resources of a remote storage device (for example, an external hard drive) to a device or a network. As the availability of the device changes, the device may need to be configured for use by the personal cloud.
[0008] The user can use any suitable method to define a personal cloud. In some embodiments, the user may identify one or more devices owned by the user to the library manager. The user can also identify other users trusted by the user, and the devices of these other users can be included in the personal cloud used by the user. When a user needs to access the personal cloud, the user can provide a request to the library manager. The request may include, for example, the size of the cloud, one or more specific trusted users, or other criteria. In response to receiving the request, the library manager can identify one or more devices owned by the user or by other trusted users that have resources available for the personal cloud. The library manager can provide information for locating some or all of the identified devices, and can enable the identified devices to communicate between themselves to establish a network storage system constructed from the resources of each identified device (For example, personal cloud).
[0009] When a user uses a personal cloud, resources of different devices can be used. At a certain moment, the personal cloud may not have remaining resources for storing new data or for providing services to users. Users may need to add new devices to the personal cloud (for example, purchase a new external hard drive), or allocate additional resources from connected devices. As another example, a device owned by the user can be shut down or disconnected from the network, and then restarted or reconnected later. When these devices become available again or for the first time in a personal network, the devices may need to be configured or reconfigured to be used by the personal cloud.
[0010] Each new device can be owned by a specific user (for example, the device owner). For example, each device may include an application running on the device or accessing the device, where the application is controlled by the specific user. The new device can identify itself to the library manager when it is connected to the network, and identify the specific user or the owner of the device. In response to receiving the identification, the library manager may identify other devices that form a suitable personal cloud (eg, a local cloud for the specific user, or a private cloud for a user trusting the specific user). The new device can then communicate with these other devices to indicate its availability (for example, the amount of space available for the cloud on the device), and provide its resources to the personal cloud that includes these other devices. In some cases, instead or in addition, one or more of the other devices in the personal cloud may request a list of available devices for the personal cloud from the library manager. In response to receiving the request, the library manager may provide a device list that includes the new device (which has previously identified itself to the library manager and is therefore known by the library manager).
[0011] Each device forming part of the personal cloud may have a different purpose or provide different services to the personal cloud. For example, some devices can provide processing resources, while other devices can provide data storage resources. As another example, the device may provide services for storing data, operating directories, or other operations that ensure that users can seamlessly interact with the personal cloud. When a device joins the personal cloud, one or more services can be selected to run on the new device. For example, data services or directory services (for example, data distribution and management services for managing or coordinating data services) can be implemented on new devices. The specific service or use of the new device can be selected using any suitable method. For example, the different devices forming the cloud can be coordinated to ensure that all necessary services are available. As another example, these devices can coordinate with each other to ensure that backup and redundancy are protected. In some cases, the directory service can assign the specific service to the new device.
[0012] The specific services or operations provided by each device can be dynamically changed. For example, one or more devices can be removed from the network, and their services can be transferred to other devices. To ensure that the users experience remains seamless,
Services provided by the device can be redundantly stored and synchronized on several devices (for example, backing up metadata used by the service). Some of these services can be disabled based on the services provided by available devices to avoid conflicts between the same services running on different devices. Disabled services can shadow active services to ensure that they are accurate and current when they need to become active (for example, to ensure that directory services include the user's latest interaction with data stored in the personal cloud). When a device with an active service is removed from the personal cloud, another device that is inactively running the same service can be activated. Alternatively, the service can be dynamically transferred to another device in the cloud before disconnecting the removed device (it may or may not be in the image active service).
[0013] In some cases, the personal cloud can dynamically adjust the distribution of services in devices based on other standards. For example, a personal cloud may choose to assign a specific service to a device based on geographic location relative to end user needs, device failure, backup or replication considerations, energy saving, growth or device capacity, expected availability of device resources, or a combination of these. This method can allow the personal cloud to move data and services seamlessly and without interruption, while maintaining the availability of the personal cloud service, and allowing individual users to arbitrarily remove device resources from the personal cloud.
Description of the drawings
[0014] When the following detailed description is considered in conjunction with the accompanying drawings, the above and other features of the present invention, its nature and various advantages will become more apparent. In the accompanying drawings:
[0015] FIG. 1 is a schematic diagram of an exemplary electronic device for use in a network storage system according to an embodiment of the present invention;
[0016] FIG. 2 is a schematic diagram of an exemplary network storage system according to an embodiment of the present invention;
[0017] FIG. 3 is a schematic display of an interface for providing information about trusted devices and available device resources to a library manager according to an embodiment of the present invention;
[0018] FIG. 4 is a schematic diagram of an exemplary display for guiding a user to add a new resource to a personal cloud according to an embodiment of the present invention;
[0019] FIG. 5 is a flowchart of an exemplary process for providing addressing information to a new device contacting the library manager according to an embodiment of the present invention;
[0020] FIG. 6 is a flowchart of an exemplary process for configuring a device added to a personal cloud according to an embodiment of the present invention;
[0021] FIG. 7A is a schematic diagram of an exemplary personal cloud from which nodes can be removed according to an embodiment of the present invention; [0022] FIG. 7B is a diagram in which node operations and services are migrated to allow A schematic diagram of an exemplary personal cloud with the node removed; and
[0023] FIG. 8 is a flowchart of an exemplary process for seamlessly migrating services between nodes of a personal cloud according to an embodiment of the present invention.
Detailed ways
[0024] The present disclosure relates to the configuration of a device added to a personal network storage system. In addition, the present disclosure relates to managing the distribution and migration of data and services in a personal network storage system without requiring an administrator.
[0025] FIG. 1 is a schematic diagram of an exemplary electronic device for use in a network storage system according to an embodiment of the present invention. The electronic device 100 may include any suitable type of electronic device operable to connect to a network storage system or to be used as part of a network storage system. For example, the electronic device 100 may include:
IPod® media players, cellular phones, personal email or messaging devices available from Apple in Cupertino, State, iPhone® bag-sized personal computers available from Apple, personal digital assistants (PDAs), Laptop computers, music recorders, video recorders, gaming devices, cameras, storage devices, and any other electronic devices that have resources that can be allocated to the personal cloud.
[0026] The electronic device 100 may include a processor or control circuit 102, a storage device 104, a memory 106, an input/output circuit 108, and a communication circuit 110, as commonly found in electronic devices. The electronic device component can operate to enable any intended use of the electronic device (for example, to connect to a personal network storage system, or to provide resources to a personal network storage system). In some embodiments, one or more of the electronic device components 100 may be combined or omitted (for example, the storage device 104 and the memory 106 may be combined, or either one may be omitted). The electronic device 100 may include other components that are not combined or included in the components shown in FIG. 1 (for example, a sensor array or a positioning circuit), or the electronic device 100 may include several examples of the components shown in FIG. 1. For simplicity, only one of each of these components is shown in FIG. 1.
[0027] The control circuit 102 may include any processing circuit or processor operable to control the operation and performance of the electronic device 100. The storage device 104 may include, for example, one or more storage media, including: a hard disk drive, a solid state drive, a flash memory, a permanent memory such as ROM, any other suitable type of storage component, or any combination thereof. The memory 106 may include a cache memory, a semi-permanent memory such as RAM, and/or one or more different types of memory for temporarily storing data. In some embodiments, the memory 106 and the storage device 104 may be combined into a single storage medium.
[0028] The input/output interface 108 can convert (and when necessary, encode/decode) analog signals and other signals into digital data. For example, the input/output interface 108 may receive and convert physical contact input (for example, from a multi-touch screen or button press), physical movement (for example, from a mouse or sensor), analog audio signal (for example, from a microphone), or by the user Any other input provided. Although the input/output interface 108 is illustrated as a single component of the electronic device 100 in FIG. 1, multiple instances of the input/output interface 108 may be included in the electronic device 100.
[0029] The electronic device 100 may include any suitable mechanism, circuit, or component for allowing a user to provide input to the input/output interface 108. For example, the electronic device 100 may include: buttons, a keypad, a dial, a click wheel, or a touch interface (for example, a capacitive touch screen), or a combination of these. In some embodiments, as an alternative or in addition, the input/output interface 108 may include circuitry, software, firmware, or other components for detecting and processing voice input or other audio input. In some cases, the input/output interface 108 may be operable to detect and process input received according to the posture of the device (for example, input detected according to the movement of the device (such as shaking, twisting, or rotating)).
[0030] The electronic device 100 may include a dedicated output interface associated with an output signal (such as one or more audio or visual outputs, for example). The audio output may include one or more speakers built into the electronic device 100 (for example, mono or stereo speakers), or an audio component remotely coupled to the electronic device 100 (for example, may be coupled to Headsets, earpieces or earplugs of communication equipment). The visual output may include display circuitry (for example, a screen or projection system) for providing a display that is visible to the user. For example, the display circuit may include: a screen (for example, an LCD screen) incorporated in the electronic device 100, a movable display, or a projection system (for example, a video projector) for providing content display on a surface away from the electronic device 100 , Or a combination of these. In some embodiments, the input/output interface 108 may include an encoder/decoder (codec) for converting digital media data into an analog signal, for example, such as a video codec, an audio codec, Or any other suitable type of codec.
[0031] The communication circuit 110 may operate to communicate with other devices or with one or more
Server communication. The electronic device 100 may include one or more instances of communication circuits for simultaneously performing several communication operations using different communication networks. For example, the communication circuit can support Wi-Fi (e.g., 802.11 protocol), Ethernet, BluetoothTM (which is a trademark owned by Bluetooth Sig), radio frequency systems, cellular networks (e.g., GSM, AMPS, GPRS, CDMA, EV-D0, EDGE, lGSM, DECT, IST36/TDMA, iDen, LTE or any other suitable cellular network or protocol), infrared> TCP/IP (for example, any protocol used in each TCP/IP layer), HTTP , FTP, RTP, RTSP, SSH. Voice over IP (VOIP), any other communication protocol, or any combination thereof. In some embodiments, the communication circuit 110 may include one or more communication ports operable to provide a wired communication link between the electronic device 100 and the host device. For example, a portable electronic device may include one or more connectors (eg, a 10-pin connector or a USB connector) operable to receive a cable that couples the portable electronic device to a host computer. Using software on the host computer (for example, iTunes available from Apple), the portable electronic device can communicate with the host computer.
[0032] In some embodiments, the electronic device 100 may include a device with a restricted interface. For example, the electronic device 100 can be used as a storage node of a network storage system. In particular, the electronic device 100 may be limited to a device having storage capabilities and a communication circuit that connects the electronic device to a communication network. The device may not include an integrated input interface, but may be remotely accessed by another device (for example, through a wired or wireless communication path).
[0033] Several electronic devices (including electronic devices with some or all of the same features) can be connected to each other to form a sub-network that can share information. In particular, a user may have his own several devices, which are interconnected to share information or store information that can be accessed from any of these devices. Fig. 2 is a schematic diagram of an exemplary network storage system according to an embodiment of the present invention. The system 200 may include: electronic devices 212.214 and 216 associated with a first user (eg, a first owner), devices 222, 224, 226, and 228 associated with a second user (eg, a second owner), and Devices 232, 234, and 236 associated with the third user (eg, third owner). However, it should be understood that the system 200 may include any suitable number of devices associated with any suitable number of users. Each device associated with a particular user can be connected in a personal sub-network owned by the corresponding user or owner. For example, the sub-network 210 may include devices associated with the first user, the sub-network 220 may include devices associated with the first user, and the sub-network 230 may include devices associated with the third user. Each sub-network can be protected so that information can be shared among devices on the sub-network but not accessible from other devices outside the sub-network. In other words, these sub-networks can be restricted to devices owned by the same owner.
[0034] In some embodiments, some or all of these devices may be connected to a communication network that allows all these devices to be interconnected. For example, the device shown in FIG. 2 may be connected to a global communication network 202 (for example, the Internet). Each device can be directly connected to a communication network (for example, via a communication circuit connected to an access point for the communication network), or via an intermediate device (for example, by connecting to a device having an access point for the communication network And connected to the communication network). Using the communication network 202, devices that are part of each communication network can communicate across each network.
[0035] In some embodiments, different users may choose to share resources to form a communication network that spans several sub-networks. For example, the first user may choose to trust the second user, and vice versa. Each user can allocate some of the user's equipment for the shared communication network. For example, the first and second users may connect the devices 212.222.224 and 226 together to form the communication network 240. These devices can communicate through the communication network 202 using one or more authentication and encryption protocols. Some or all of the users who provide devices or specific resources of the device to local, private, or personal cloud users may have different access levels to the personal cloud. For example, a first and second user may define a cloud with both of their devices, and the first and second users have read and write access to it. Alternatively, one of these users can be defined to include devices from these two users, but not to provide the device to the first and second users of the personal network.
Another cloud in the user provides read access or write access.
[0036] Any suitable number of personal clouds can be constructed using devices connected to a communication network. For example, each of several users who trust other users can create a personal cloud, where the personal cloud includes devices owned by users other than the user requesting the cloud. In some cases, one device can be used in several personal clouds, where the device makes different resources or different parts of the same resource (for example, different storage amounts) available for each of these clouds.
[0037] The formation and management of the personal network system and the personal cloud can be processed or managed at least in part or in outline by a control system. For example, the system may include a library manager service running on the master device of the network 202. The host device may include any suitable features or components, including, for example, one or more of the components described in connection with device 100 (FIG. 1). In some embodiments, the network 202 may include a server 204 on which the library manager runs. The server 204 may be provided by any suitable entity, including, for example, a cloud service provider, an Internet service provider, or any other provider of services on the network 202. In some embodiments, one or more end users may provide the server 204 as an alternative or in addition. The library manager service can manage any suitable number of personal networks, or any suitable number of owners that identify devices available for personal networks. In some cases, the library manager service can coordinate any number of personal networks built by devices owned by different users and connected by any suitable means.
[0038] Although the nodes of the personal cloud can communicate between themselves to configure and run services including data storage on the personal cloud, different nodes may require anchors for addressing information Benchmark. In some embodiments, the library manager process can be used as an anchor point for providing location information to the nodes of different personal clouds (for example, the library manager knows the addresses for different nodes, because the node addresses may be disconnected and reconnected in each device. Change when connected to a communication network). For example, the library manager can initially provide addressing information for nodes of a personal cloud to new devices added to the cloud.
[0039] To ensure that users can trust devices in the personal cloud, users of the personal cloud can rely on the web of trust. The trust network can be defined by a sequence of one-way or two-way connections between different users. Whenever the first user chooses to trust the first user, a new trust connection can be established between the first user and the second user. When the second user trusts the first user, a new trust connection can be established between the second user and the first user, or the initial connection between the first user and the second user can be modified to indicate two-way trust. In a system with a large number of users who trust each other, the resulting trust connections can form a grid or net (for example, a trust net). The web of trust can be maintained and guaranteed by the library manager, so that the library manager can provide trust information to any user or device that requests the identity of the trusted owner. The trust information may include, for example, a list of other users trusted by the specific user (for example, the trust information may describe the trust relationship corresponding to the specific user).
[0040] To form a personal cloud, the user may first identify one or more devices owned by the user to the library manager. For example, the user can install a personal network client application on devices owned by the user, where the application can identify users of these devices. As another example, it is known that one or more of the devices owned by the user can identify other devices connected to the users personal network (and therefore assume that they are also owned by the user), and will target these devices The identification information is provided to the library manager.
[0041] The user can choose to contribute any resource of the user's device to the personal network. For example, the user may choose to contribute storage, processing, or other device resources. In particular, the user can assign a specific amount of storage or a specific processing level to a personal cloud (for example, 40% of RAM or CPU). In some cases, the user can adjust the availability of resources. For example, the user can reduce the resources provided to the personal cloud when the processing on the user's device requires resources. As another
For example, users can provide resources based on the time of day. As another example, the user may provide resources based on cost considerations (for example, as long as the power cost of providing the resources is less than a threshold, the resources are allowed to be provided).
[0042] In addition to identifying the device and the device-specific resources to be contributed to the library manager, the user can also identify other users whose devices the user trusts. In particular, the user can identify friends, family members, colleagues, or others who the user knows and entrusts the user's data. The user may use any suitable method (for example, including the use of an email address) to identify other users. In particular, the user can select the contact information of several users and provide the contact information to the library manager.
[0043] Each user can use any suitable method to identify the device resources that the user wants to be available to the personal cloud, and other users or owners trusted by the library manager. In some embodiments, the user's device may include an interface for identifying device resources and selecting other users to be trusted.
[0044] FIG. 3 is a schematic display of an interface for providing information about trusted devices and available device resources to a library manager according to an embodiment of the present invention. The display 300 may include a title 302, indicating that the display corresponds to a personal cloud settings page. In particular, the display 300 shows the devices and resources available for the personal cloud. The display 300 may provide an interface for identifying one or more specific other users trusted by the user, and the user uses the interface to agree to share resources. For example, the display 300 may include an identification tag 310, which corresponds to a domain 312 into which the user can identify other trusted users. The other users may be identified by any suitable method, including, for example, based on an email address or other identification information that has been provided or known to the library manager. In some embodiments, the identity of the user of the device providing the display 300 (for example, known to the library manager) may be displayed near the title 302, for example.
[0045] In some embodiments, the user may (for example, using the display 300) select the specific resource 320 that the user wants to dedicate to the personal cloud. For example, the user may list various devices associated with the user in the field 322. In some embodiments, one or more of these devices may be automatically identified by the library manager or by the device providing the display 300. For example, the device used by the user can detect other devices in the personal network associated with the user's device. The user can use the highlighted area 324 to select a specific device, and provide device resources of the selected specific device in block 326 to make it available to the personal cloud. The user can select any suitable resources, including, for example, storage (for example, in percentage or digital amount), processing resources (for example, percentage of clock cycles), or a combination of these. In some embodiments, the user may define one or more restrictions for shared resources, such as time constraints, restrictions based on resources used or required by the user, connection speed, resource cost, or a combination of these. Once the user has designated one or more trusted users and assigned device resources, the user can provide instructions to send this information to the library manager (for example, select the submit option 330).
[0046] The user can use any suitable method to form a personal network storage system (for example, local, personal, or private cloud). In some embodiments, the user may provide a request for the personal cloud to the library manager. The user request may include any suitable standards or requirements, such as storage requirements (eg, at least 1TB). In response to receiving the request, the library manager may identify a collection of devices that have resources that meet the requested criteria, where these devices are from Selected from devices owned by the user and devices owned by other users trusted by the user.
[0047] The library manager can utilize any criteria to identify specific devices for use in the personal cloud. For example, the library manager can identify devices that meet resource requirements. As another example, the library manager can identify devices that are geographically close to the user. As yet another example, the library manager may select devices based on their history or expected availability and connectivity with the communication network (eg, the connection speed of the device). Once the library manager has identified specific devices for use in the personal cloud, the library manager can provide the requesting user or requesting device with addressing or identification information for those devices. Then, the requesting device can contact other identified devices and configure the personal cloud together with other devices.
[0048] Each device used in the personal cloud can be configured for use in the cloud using any suitable method. In some embodiments, the library manager can configure these devices. Alternatively, and in order to reduce the burden on the library manager and manage each personal cloud more effectively, the devices of the personal cloud can transmit and distribute services (and the data managed or used by these services) in an appropriate manner. To operate correctly, several different services may need to be provided by multiple devices in the personal cloud. For example, a directory service can be used to provide cards corresponding to the stored data, so that users can interact with the cards instead of the actual underlying data. As another example, a data service can be used to store and manage data stored in a personal cloud. The data service can ensure that data is stored and distributed in different devices, has sufficient backup, and is available to users when requested. As yet another example, a repair or repair service can be provided to ensure that data is not lost, and to ensure that the device remains available for personal cloud operations. In addition to determining which services should be stored on different nodes, these devices may also need to coordinate under the instructions of the data service to determine where to store the data used by the service or stored by the user. In particular, different data can be distributed across different nodes of the personal cloud.
[0049] Any suitable method may be used to distribute services and data among the devices of the personal cloud. In some embodiments, a device that provides an initial request to the library manager to form a personal cloud can establish a communication path with other devices that form the cloud, and assign specific tasks or services to each device. Alternatively, these devices can negotiate and distribute tasks based on available resources and the suitability of each device for these tasks or services. As yet another example, a device of the cloud may implement coordination services to ensure that the appropriate service (and its corresponding data or metadata) is assigned to a specific device of the personal cloud.
[0050] As a user uses the cloud, the user may use up the available resources of each device forming the cloud. For example, the user may store enough data to fill the storage resources allocated by the cloud device. As another example, processing operations requested by directory services or other services running on personal clouds may occupy the available processing resources of these cloud devices. When one or more devices of the personal cloud (for example, devices that provide coordination services, or devices that have no remaining available storage resources) determine that additional resources are unavailable, these devices may provide corresponding requests for resources to the library manager. This personal cloud can then be regarded as a "call" personal cloud (for example, making a call for additional resources). In some embodiments, as an alternative or in addition, the library manager can monitor the resource usage of different devices of the personal cloud, and detect when resources become insufficient, without requiring each device to provide a request for additional resources.
[0051] In response to determining that additional resources are needed, or receiving a request for additional resources, the library manager may identify other devices owned by the user or trusted user that can be used in the personal cloud. Alternatively, the library manager may direct the device used by the user to prompt the user to add a new device or resource to the call personal cloud. Fig. 4 is a schematic diagram of an exemplary display for guiding a user to add a new resource to a personal cloud according to an embodiment of the present invention. The display 400 may be provided as a stand-alone display, a pop-up window, or any other type of display or interface provided to the user. The display 400 may include a title 402 corresponding to the control cloud. The display 400 may include a message 410 that instructs the user to add new resources for calling the personal cloud or remove data currently stored on the cloud to continue using the cloud. To enable the user to respond to the message 410, the display 400 may include an option 420 for identifying existing devices owned by the user or for identifying new devices owned by the user with available resources. In particular, the option 420 may include a device 422, which may be selected according to the highlighted area 424. In response to receiving a selection for a particular device, option 420 may include resources 426 of the device that the user may contribute to the personal cloud. In the example showing 400, the resources provided may include storage space (for example, 1TB from a USB hard drive)<sub>O</sub>
[0052] In some embodiments, the device or library manager may recommend adding a specific device to the call cloud, or adding specific resources of the device to the call cloud. For example, the device or library manager can automatically add specific
Equipment or resources. The specific device or resource can be selected based on any suitable criteria, including, for example, by monitoring the resource usage of the device owned by the user, receiving indications about available resources from other devices, and identifying users on a personal network (for example, within a subnet) New equipment you own, or a combination of these. Once the new device or resource has been selected for use in the personal cloud, the user can provide approval instructions (for example, select submit option 440).
[0053] In some embodiments, the user may not need to add new devices to the personal network. On the contrary, for the user, it may be sufficient to simply reconnect the previously available equipment or redistribute the resources of the removed equipment to the call cloud. In this case, the user can reconnect the device or reallocate these resources so that the device and resources appear in the option 420 of the display 400. Alternatively, when the device or resource becomes available again, the personal cloud can detect the device or resource and determine that the additional resource is no longer necessary. Then, the call cloud can direct the device providing the display 400 to automatically remove the display (and can indicate to the library manager service that additional resources are no longer necessary).
[0054] When new devices are identified for use in the personal cloud, these new devices may need to be configured before they can be used. Similarly, previously connected devices may need to be reconfigured before they can be used by the cloud because their previous functions (for example, previously stored services and data) may no longer be cloud-related or useful. In addition, because the device may disconnect and reconnect to the network, the addressing information previously used to contact different devices or nodes in the personal cloud may be different. A device connected to the personal cloud (for example, connecting for the first time or reconnecting) can use any suitable method to retrieve the addressing information for the node of the personal cloud. In some embodiments, the device can retrieve addressing information from the library manager.
[0055] Because different devices of the personal cloud may change addresses in the communication network when they are disconnected and reconnected, the library manager may need to provide an anchor point that knows how to contact each device. In particular, whenever the device reconnects to the communication network, the device can identify itself and its address to the library manager, and request for the use in the cloud requested by the same user or requested by other trusted users Addressing information of other devices used in your personal cloud. In some cases, as an alternative or in addition, the device can identify its owner, which can be known according to the setting operation of the device. The library manager can maintain the current directories and addresses of all connected devices so as to respond to addressing queries. [0056] The library manager may use any suitable method to identify the specific user trusted by the owner of the new device. In some embodiments, as part of the initial installation or ongoing operation of the application used to connect to the personal cloud, the new device may learn about other users trusted by the owner. In some cases, the device may receive a list of trusted users from other devices belonging to the owner (for example, other devices on the same personal area network, or other devices with the same identity or authorization certificate). Then, the device can provide the list of trusted users to the library manager, and the library manager can retrieve the list of devices owned by the trusted user and provide addressing information for those devices. In some embodiments, As an alternative or in addition, the new device may be unaware of the specific user trusted by the owner of the new device. Instead, the device can rely on the library manager to provide a web of trust that stores and maintains trust relationships. In particular, whenever a user chooses to trust another user, or stops trusting another user (for example, by providing a trust instruction using the display 300 as shown in FIG. 3), the device receiving the trust information can provide the library manager The revised list of trusted users. Using the received list, the library manager can update and revise its trust information collection. When the new device identifies itself and its owner to the library manager, the library manager can then retrieve the list of users trusted by the owner of the device, identify the addressing information for the device owned by the trusted user, and The addressing information is provided to the device. In some embodiments, as an alternative or in addition, the library manager may identify one or more specific personal clouds that require additional resources, and provide addressing information for devices of those personal clouds.
[0057] FIG. 5 is a flowchart of an exemplary process for providing addressing information to a new device contacting the library manager according to an embodiment of the present invention. The process 500 may begin in step 502. In step 504, the previously unconnected device can
Connect to the communication network. For example, a newly added device can be connected to a communication network. As another example, devices that have been connected to the communication network but have never been used in the personal cloud can be made available to the personal cloud. As yet another example, devices previously connected to the communication network and used in the personal cloud can be reconnected. Once connected to the communication network, the device can contact the library manager. In step 506, the library manager can determine whether the device is known. For example, the library manager can determine whether devices with the same owner and the same nature have previously contacted the library manager. As another example, the library manager may determine whether a device with the same identification information (for example, serial number or static address) has previously contacted the library manager. If the library manager determines that the device is known, the process 500 may move to step 508. In step 508, the library manager may retrieve the owner of the device from the stored records. The process 500 can then move to step 512 described below.
[0058] If, in step 506, instead, the library manager determines that the device is not known to the library manager, the process 500 may move to step 510. In step 510, the library manager can identify the owner of the device. For example, the library manager can retrieve ownership information based on the device's communications. In some embodiments, steps 506 and 508 may be skipped, and the process 500 may automatically move from step 504 to step 510. In step 512, the library manager may retrieve a list of users trusted by the owner of the device. For example, the library manager can retrieve the trust information network associated with the owner and identify other users trusted by the owner. In step 514, the library manager can identify personal clouds that are created for the owner or created for users trusted by the owner that require additional resources. For example, the library manager may identify a specific personal cloud associated with the owner, where the personal cloud prompts the owner to add additional resources to the personal cloud. In some embodiments, instead, the library manager may not identify a specific personal cloud that requires additional resources, but simply direct the device to be included in the personal cloud associated with the owner of the device. In step 516, the library manager may retrieve the addressing information of the devices in the identified personal cloud. In particular, the library manager can retrieve records from the devices registered with the library manager, which , The registered device is associated with a trusted user or with the owner. The device can register with the library manager regularly so that the library manager can update the mapping information, which enables the devices used in the personal cloud to communicate with each other. In step 518, the library manager may provide the retrieved addressing information to the device. Using this addressing information, the device can communicate with the devices forming the personal cloud and become integrated in the personal cloud. For example, the electronic device can implement one or more services used by the personal cloud. The process 500 may then end in step 520.
[0059] Once a new available device receives addressing information for a specific node of the personal cloud, the device can communicate with the node to join the personal cloud and provide appropriate services (for example, directory services, or data services) . The device can use any suitable method to determine which service or services to provide. In some embodiments, the device can identify a specific node that provides a coordination service, and request instructions from the coordination service. In response to receiving an instruction from the device, the coordination service can examine the services or operations provided by the existing nodes of the personal cloud and determine which services need to be implemented by the new device (for example, by comparing the identified existing service with the expected service List). For example, the coordination service can determine whether the service required for the proper operation of the personal cloud is missing or is provided by too few nodes (for example, whether the coordination service needs to be provided by a node that is geographically closer to the end user using the service). As another example, the coordination service may determine whether data storage is needed to store new data on the cloud (for example, whether a data service should be implemented). As yet another example, the coordination service can determine whether a certain service should be imaged to back up the cloud and ensure seamless cloud operation. Based on this determination, the coordination service can direct the new device to run a specific service (for example, store specific data or perform another operation). The device can retrieve instructions (for example, software, code, or input values) for running the service from any suitable source, including, for example, Applications, library managers, coordination services, other devices, templates pre-installed in the software image of the device, or a combination of these that the user loads onto the device.
[0060] In some embodiments, as an alternative or in addition, devices newly added to the personal cloud can monitor the services provided by different nodes of the personal cloud, check the remaining resources on each of these nodes, and based on the monitored To select specific services or data storage activities. In particular, the newly added equipment can determine whether there are potential problems, so that the correct service selection can be made. For example, the device can determine that no device is mirroring an existing service running on a specific node. As another example, the device may determine that the storage capacity of the existing node of the personal cloud is insufficient to store the data provided by the user. As another example, the device can determine that the service distribution in the topology of the personal cloud node can be improved by implementing one or more specific services on the device. The device can then implement the selected service or activity.
[0061] FIG. 6 is a flowchart of an exemplary process for configuring a device added to a personal cloud according to an embodiment of the present invention. The process 600 may begin in step 602. In step 604, the device may establish a communication path with at least one node of the personal cloud, where each node is formed by a device. For example, the device may receive at least one address from the library manager, and establish a communication path with the device located at the received address. In step 606, the device can determine whether a coordination service is found on one of the nodes with which a communication path is established. For example, the device can determine whether one of the nodes is running an active coordination service. As another example, the device can determine whether one of the nodes is imaging an active coordination service. If the device determines that a coordination service is found, the process 600 may move to step 608.
[0062] In step 608, the device may receive from the coordination service an instruction defining a service or operation that forms a personal cloud. For example, the coordination service can identify specific services that the personal cloud does not provide enough. In step 610, the device can implement the service or operation identified in the received instruction. For example, the device can implement services retrieved from locally stored applications, from coordination services, or from library managers. The process 600 may then end at step 612.
[0063] If in step 606, instead, the device determines that no coordination service is found, the process 600 can move to step 614. In step 614, the device can identify the services implemented on each node of the cloud. For example, the device can identify services and operations implemented by nodes with which a communication path has been established. In some cases, as an alternative or in addition, the device can retrieve address information for other nodes of the personal cloud from the node with which the device communicates. The device can then establish additional communication paths with those nodes to more completely map the services and operations provided by the nodes of the cloud. In step 616, the device can identify the specific service or operation to be implemented according to the services and operations implemented in other nodes of the personal cloud. For example, if nothing is implemented, the device can implement coordination services. As another example, if the coordination service is not necessary, or if there is a coordination service that cannot be used to provide specific instructions to the device (e.g., as in step 608), the device can implement different services (e.g., data storage or Directory service). In step 618, the device can implement the identified service or operation. The process 600 may then end at step 612.
[0064] In some cases, a specific device can be used in several personal clouds. For example, the device can be used by the device owner's personal cloud and used in one or more personal clouds of users trusted by the device owner. The newly connected device can be used in any of these personal clouds. For example, the librarian may initially determine whether the device is required by the personal cloud associated with the owner of the newly connected device. If so, the library manager can direct the device to be included in the owner's personal cloud. Alternatively, if the library manager determines that the personal cloud of one of the owner's trusted users needs the resources of the device, the library manager may direct the device to establish a communication path with the personal cloud of the trusted user.
[0065] In some embodiments, as an alternative or in addition, a device used as a node in several personal clouds may direct a newly connected device to connect to a specific personal cloud among the several personal clouds. For example, the newly connected device may establish a communication path with the device in the environment of the first personal cloud (for example, a personal cloud associated with the owner of the newly connected device). The device can receive an indication that the newly connected device is available, and determine to be associated with the owner of the newly connected device
Does your personal cloud need the resources of the newly connected device? If the device determines that the owner's personal cloud does not require additional resources, the device can determine whether another human cloud that uses the device as its node requires additional resources. If another person cloud needs resources, the device can direct the newly connected device to integrate with the other person cloud as long as it is associated with a user trusted by the owner of the newly connected device.
[0066] During use, the specific equipment available as a node of the personal cloud may change. In particular, because the node may be composed of various electronic devices used by the user (for example, unlike a mass storage component), the user may wish to limit or restrict the resources provided to the personal cloud through a specific network. For example, the user can disconnect the mobile device from the network while traveling. As another example, a user may restrict access to processing resources during the user's use of the device. As yet another example, the user may reclaim storage resources for a project (for example, a media processing project), and later return some or all of the resources to the personal cloud. However, in some cases, the personal cloud can prevent users from removing a device from the cloud because the cloud requires data or services provided by the device. This may result in frustration for the user because the user may feel that the user cannot control the use of the user's own device.
[0067] FIG. 7A is a schematic diagram of an exemplary personal cloud from which nodes can be removed according to an embodiment of the present invention. The system 700 may include a personal cloud 710 in a communication network 705. The personal cloud 710 may be formed by any suitable number of nodes, and each node is formed by electronic devices that are distinguished from each other. For example, the personal cloud 710 may be composed of nodes 712, 714, and 716. Each node can perform operations or provide services to make the personal cloud work correctly. For example, node 712 can be used to store data D (for example, as part of a data service), node 714 can be used to store data D and run service M (corresponding metadata is required), and node 716 can be used to run Service Μ. The specific data and services provided by each of these nodes may be the same or different. For example, the service of the first node can mirror the operation of the service of the second node, or the data stored on the first node can supplement and back up the data stored on the second node.
[0068] In some cases, the owner of a device may wish to remove the device from the personal network. For example, the owner of the device that defines node 714 may wish to retrieve the device's resources. Figure 7B is a schematic diagram of an exemplary personal cloud in which node operations and services are migrated to allow removal of the node according to one embodiment of the present invention. The system 750 may include a personal cloud 760 in the communication network 755, and the system 750 has some or all of the features of the aforementioned system 700 (FIG. 7A). The personal cloud 760 may initially consist of nodes 762, 764, and 766. These nodes can perform any operation or provide any suitable service to the personal cloud. When a user wishes to remove a device that provides a node from a personal cloud, the operations and services of the personal cloud may need to be migrated to another device that forms a different node. For example, if the user wishes to remove the device corresponding to node 764, specific data D and service M may need to be provided by other nodes of the personal cloud to continue to operate correctly.
[0069] The personal cloud 760 may use any suitable method to transfer the operation of a specific node to other nodes. In one implementation, the user can provide instructions to node 764 to remove themselves from the personal cloud. In response to receiving the instruction, the node 764 can identify other available nodes of the personal cloud and transfer the service to these other nodes. For example, the node 764 may provide instructions to another node to activate a particular service, and may provide the latest metadata required for the correct operation of the service. As another example, the node 764 may transfer data stored as part of a data service or metadata used by a service to a different node. In the specific example of the system 750, the node 764 may transfer data (for example, data services) to the node 762 (transfer 770), while transferring metadata (for example, for directory services) or services and data (for example, data services) Transfer to node 766 (transfer 772), so that node 766 both provides services and stores data after the transfer (instead of only providing services like node 716, FIG. 7A). Node 764 can prevent users from connecting the device to a personal cloud
Disconnect until some or all of the data or services have been transferred, or if the transfer has not been completed, request confirmation from the user to remove the device. However, this method may prevent the user from fully utilizing the device of the node 764 until the data has been transferred in the personal cloud, which may take a lot of time.
[0070] In some cases, the data and services provided by the personal cloud can be redundantly stored in other nodes. For example, the data stored on the node 764 can be backed up with the data stored on the node 762, and the metadata corresponding to the service provided by the node 764 can be imaged or mirrored by the node 766. In response to receiving the instruction to remove the node 764 from the personal cloud, the node 764 may provide the instruction 770 to the node 762 to direct the node to become the active source for all the data previously stored by the node 764 (for example, the node 762 implements the active data service , Or notify the node 762 that the node 764 will no longer back up the data of the node 762). Similarly, node 764 can provide instructions 772, directing node 766 to provide services previously provided by node 764 (for example, directing node 766 to activate the service of the previous image, or notify node 766 that node 764 no longer image node 766). In some cases, as an alternative or in addition, instructions 772 may include data to be stored by node 766. In some embodiments, the node 764 may provide an indication to the coordination service that its resources are being removed. In some cases, the node 764 may indicate to the coordinated service that those other nodes are taking over the services provided by the node 764. By redundantly storing services and data, users can seamlessly remove the device from the personal cloud without affecting the operation of the device or the personal cloud.
[0071] The personal cloud can determine how to use any suitable method to transfer the service or the data used by the service. In some embodiments, a single node that is being removed can communicate with other nodes of the personal cloud to determine how to transfer services. For example, the single node can identify the device that maps the service, or a device that has sufficient resources to implement the service. In some embodiments, as an alternative or in addition, the single node may indicate to the coordination service that it is being removed. Then, the coordination service can identify another node of the personal cloud for the service. In some cases, the remaining nodes (for example, nodes that implement coordination services) can detect that the single node is no longer available by trying to establish a communication path with the single node and fail, and can restart in response to the detected absence. Assign personal cloud services.
[0072] For any suitable reason, the personal cloud can dynamically migrate data and services between different nodes of the personal cloud. For example, the personal cloud can migrate node operations based on a user request to remove the device providing the node, as described above. As another example, the personal cloud can migrate the operation of the node when the node fails. Then, the cloud can operate in a similar way as when the device is removed, where specific data and services provided by the failed node can be migrated to other healthy nodes.
[0073] In some embodiments, the personal cloud may migrate services to advantageously utilize additional resources available in one or more nodes. For example, a personal cloud can migrate services to nodes with additional resources to back up stored data or metadata corresponding to active services. Nodes with additional resources can dynamically change the stored data or metadata to match the data or metadata of the active node, so that the active service can be imaged in real-time or near real-time, thereby ensuring that in case the active node fails or is Remove, you can also seamlessly transfer services between nodes. Similarly, devices added to grow or increase the capacity of the personal cloud can be used to store additional data, or to back up existing data or image services.
[0074] In some embodiments, the personal cloud can dynamically migrate services to improve the performance of the personal cloud. For example, the personal cloud can selectively activate the same service provided by different nodes based on the geographical proximity of the node and the end user or the connection speed between the node and the end user. Then, nodes with inactive services can mirror or mirror active nodes until the user's geographic proximity changes. In particular, the geographic arrangement of users who use a personal cloud may change over time (for example, based on time zone, where users in Japan and users on the east coast of the United States do not use the personal cloud at the same time). As another example, a personal cloud can dynamically migrate services based on the expected or historical usage of the services. Particularly,
If historically, a specific advanced user uses the personal cloud on a specific date and time, then services, data, or both can be migrated to cater to the advanced user.
[0075] In some embodiments, the personal cloud may migrate services and data based on the performance or energy considerations of each node. For example, nodes with low power consumption can be activated and used more intensively than low power efficiency nodes. Low power efficiency nodes can be used for low power intensive operations (eg, data storage), or activated in response to detecting a larger load on the personal cloud. As another example, a personal cloud can monitor device performance over time. For example, the personal cloud can determine the processor type, storage type, and read speed (for example, HDD or SDD), connection type (for example, wired or wireless, and network type), connection speed, or other characteristics of each device. Then, the personal cloud can select a specific device with more execution components for active nodes in the personal cloud (for example, nodes that provide services with which users can interact).
[0076] In some embodiments, the personal cloud may migrate services and data based on the known or expected availability of various devices. In particular, the personal cloud can monitor equipment availability over time and build a probability map of equipment availability on different days or at different times. For example, a personal cloud may detect that a device corresponding to an external storage device is almost always available but has limited processing power, while a device corresponding to a desktop computer is available during working hours on weekdays but not available on weekends. Similarly, the personal cloud may detect that the device corresponding to the notebook computer is generally available, but occasionally disconnects at the time corresponding to the meeting to transfer between locations. Based on the determined historical availability, the personal cloud can dynamically migrate services and data between devices to ensure that the services and data are provided by available devices.
[0077] FIG. 8 is a flowchart of an exemplary process for seamlessly migrating services between nodes of a personal cloud according to an embodiment of the present invention. The process 800 may begin in step 802. In step 804, the personal cloud can determine whether to migrate services from a node. For example, the personal cloud can determine whether the reasons or criteria for migrating services have been met (for example, failure, request to remove equipment, performance, replication or backup, energy usage, or growth). If the personal cloud determines that there are no services to be migrated, the process 800 may return to step 804. If in step 804, instead, the personal cloud determines that a service is to be migrated, the process 800 can move to step 806. In step 806, the personal cloud can identify the specific service to be migrated from the node. For example, the personal cloud can identify directory services, data services, repair or repair services, backup services, coordination services, or other services provided to the personal cloud. In some embodiments, data used by a particular service (for example, metadata or storage data) can be migrated.
[0078] In step 808, the personal cloud can identify at least one other node to which the identified service can be migrated. For example, the personal cloud can identify nodes that have available resources (eg, storage or processing) to receive the migrated service. As another example, the personal cloud can identify another node that has an active service or is mirroring the service. In step 810, the personal cloud may determine whether the service is active on the other node. For example, the personal cloud can determine whether the service is an image of an active service on another node identified in step 808. If the personal cloud determines that the service is active on the other node, the process 800 can move to step 812. In step 812, the personal cloud (for example, a node) may indicate to the other node that the service is no longer migrated from the node image of the service. This can ensure that the other node recognizes or requests a different node to map the service. The process 800 can then move to step 816.
[0079] If in step 810, instead, the personal cloud determines that the service is not active on the other node, the process 800 can move to step 814. In step 814, the personal cloud may direct the other node to activate the service. For example, the node may order the other node identified in step 808 to implement the service. In step 816, the node can stop the operation of the identified service. For example, the node can stop receiving and sending data corresponding to the service to other nodes in the personal cloud. As another example, the node may release or remove the stored data corresponding to the identified service. In step 818, the personal cloud can determine whether all services of the node have been migrated. For example, the personal cloud can determine if migration is required
Several services. If the personal cloud determines that another service needs to be migrated, the process 800 may return to step 806 and identify another service. If, in step 818, instead, the personal cloud determines that there are no additional services to be migrated, the process 800 may move to step 820 and end.
[0080] Although many embodiments of the present invention are described herein with reference to personal computing devices, it should be understood that the present invention is not limited to personal computing applications, but is generally applicable to other applications.
[0081] The present invention is preferably implemented by software, but can also be implemented by hardware or a combination of hardware and software. The present invention can also be embodied as computer readable code on a computer readable medium. The computer-readable medium may be any data storage device that can store data which can be thereafter read by a computer system. Examples of computer readable media include: read only memory, random access memory, CD-ROM, DVD, magnetic tape, and optical data storage devices. The computer-readable medium can also be distributed on computer systems coupled to a network, so that the computer-readable code can be stored and executed in a distributed manner.
[0082] Insubstantial changes to the claimed subject matter that are now known or later contemplated as seen by those of ordinary skill in the art are expressly envisaged as being equivalently within the scope of the claims.
[0083] The above-mentioned embodiments of the present invention are presented for the purpose of illustration and not limitation.
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| CN109144403A | Cited by | China | – | Search report | – |
| CN108965368A | Cited by | China | – | Search report | – |
| US2010050172A1 | Cites | United States of America | A | Search report | 1-32 |
| US2010169446A1 | Cites | United States of America | X | Search report | 1-32 |
11 members in 6 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 12846363 | United States of America | – | |
| 84636310 | United States of America | A | |
| 84636310 | United States of America | A | |
| 2011045496 | United States of America | W | |
| 2011045496 | United States of America | W | |
| 12846363 | – | – | – |
| PCTUS2011045496 | – | – | – |
| US20100846363 | – | – | – |
| WO2011US45496 | – | – | – |
Members11
| Document | Office | Kind | |
|---|---|---|---|
| US2012030343A1 | United States of America | A1 | |
| WO2012015893A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2011282755A1 | Australia | A1 | |
| CN103081441AThis record | China | A | |
| KR20130049810A | Republic of Korea | A | |
| EP2599281A1 | European Patent Office (EPO) | A1 | |
| KR101476936B1 | Republic of Korea | B1 | |
| US2016021180A1 | United States of America | A1 | |
| AU2011282755B2 | Australia | B2 | |
| EP2599281B1 | European Patent Office (EPO) | B1 | |
| US10298675B2 | United States of America | B2 |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Deemed withdrawal of patent application after publication (patent law 2001)C02 | C02 | |
| Entry into substantive examinationC10 | C10 | |
| PublicationC06 | C06 |
Numbers
- Publication
- 103081441
- Publication, DOCDB
- 103081441
- Publication, EPODOC
- CN103081441
- Application
- 800422192
- Application, DOCDB
- 201180042219
- Application, EPODOC
- CN2011842219
Titles2
- Chinese
- 网络存储系统中的动态迁移
- English
- Dynamic migration in network storage system
Classification
- CPC, 5
- G06F9/4856
- G06F9/5072
- H04L67/104
- H04L67/1095
- H04L67/1074
- IPC, 1
- H04L29 08