Cloud image replication for client devices

文档序号:1866269 发布日期:2021-11-19 浏览:14次 中文

阅读说明:本技术 客户端装置的云图像复制 (Cloud image replication for client devices ) 是由 Y·萨阿德 D·兹洛特尼克 于 2019-12-17 设计创作,主要内容包括:用于将装置图像复制到诸如云的存储装置的系统和方法。所述云用对应于装置的基本图像来播种。标识装置的内容与基本图像之间的更改,将更改上传到云并且将更改应用于图像。连续地跟踪所述更改,并且云中的图像可因此用于将装置恢复到任何时间点。云图像还可用在基于云的虚拟机中,所述虚拟机经由基于云的图像向装置的用户提供对装置内容的访问。(Systems and methods for copying device images to a storage device, such as a cloud. The cloud is seeded with a base image corresponding to the device. Changes between the content of the device and the base image are identified, the changes are uploaded to the cloud and applied to the image. The changes are continuously tracked and the images in the cloud can thus be used to restore the device to any point in time. The cloud image may also be used in a cloud-based virtual machine that provides a user of the device access to the device content via the cloud-based image.)

1. A method for copying contents of a storage device associated with a client device to a target site, the method comprising:

storing a seed image of the content at the target site, wherein the seed image is selected from an image repository;

determining a change between the content of the storage device and the seed image;

transmitting the change to the target site;

merging the alterations into the seed image to generate an initial image of the storage device.

2. The method of claim 1, further comprising tracking changes to the content stored in the storage, wherein the changes are uploaded to the target site and stored with or incorporated into the image.

3. The method of claim 1, further comprising storing the change in a log at the client device.

4. The method of claim 1, further comprising storing a pointer to the change in the log at the client device.

5. The method of claim 2, further comprising tracking changes by intercepting writes to the storage device, wherein the intercepted writes are recorded in a log.

6. The method of claim 1, further comprising scanning the storage device to evaluate each block to compare each block to a corresponding block in the seed image, wherein each block of the storage device whose comparison does not match is uploaded to the target site and stored or merged with the initial image into the initial image.

7. The method of claim 6, wherein the comparing is performed by comparing a checksum of each block with a checksum of each corresponding block in the seed image.

8. The method of claim 1, further comprising starting a virtual machine at the target site based on the image of the content and allowing a user to remotely access the virtual machine through a web portal.

9. The method of claim 8, further comprising synchronizing changes made through the virtual machine back to the storage of the client device.

10. The method of claim 1, further comprising generating the image while allowing a user to access and alter the contents of the storage device.

11. A method for copying an image of a client device to a cloud, the method comprising:

comparing content of the client device with content of a seed image stored in the cloud, wherein the seed image is not transmitted from the client device;

uploading the content of the client device that is different from the content of the seed image;

merging the uploaded content of the client device into the seed image to generate the image of the client device; and

tracking changes at the client device and uploading the changes to the cloud; and

incorporating the tracked changes into the image.

12. The method of claim 11, further comprising intercepting writes to a storage of the client device and storing the writes or pointers to the writes in a log.

13. The method of claim 11, further comprising scanning the storage device to evaluate each block to compare each block to a corresponding block in the seed image, wherein each block of the storage device whose comparison does not match is uploaded to the target site and stored or merged with the initial image into the initial image.

14. The method of claim 13, wherein the comparing is performed by comparing a checksum of each block with a checksum of each corresponding block in the seed image.

15. The method of claim 11, further comprising starting a virtual machine at the target site based on the image of the content and allowing a user to remotely access the virtual machine through a web portal.

16. The method of claim 15, further comprising synchronizing changes made through the virtual machine back to the storage of the client device.

17. The method of claim 11, further comprising generating the image when access and alteration of the content of the storage device is permitted.

18. The method of claim 11, further comprising restoring the image from the cloud.

19. The method of claim 18, further comprising adding a menu option to a menu, the menu option allowing the image to be restored from the cloud without booting the client device from an external device.

20. A non-transitory computer-readable medium comprising computer-executable instructions that, when executed, perform the method of claim 11.

Technical Field

Embodiments of the present invention relate to systems, methods, and devices for protecting data. Embodiments of the present invention relate more particularly to systems and methods for replicating an image of a client device or a client storage device. Embodiments of the present invention also relate to systems and methods for replicating an image of a client device when the client device is permitted to be used.

Background

Client devices, such as desktop and laptop computers, are widely used to meet personal and business needs. These devices typically store data that is important to the user of the device and/or associated entity. The data may include content such as various types of files, user data, applications, and data common on user devices. Client devices are also used to communicate with others (e.g., email) and to connect to the world (e.g., internet, remote data access). Although these machines are important, many of them are not adequately protected. In fact, it is very difficult to transfer personal/commercial use from one device to another.

In other words, there is a distinction between the use of the device and the use of data that may be stored on the device. There are many ways to protect certain types of data (such as files), as are ways to recover such data. However, these solutions do not adequately address situations where the device is unavailable, damaged, encrypted (e.g., lasso software), or forgotten (e.g., left in the home or in an airplane). The ability to restore files does nothing when the device itself is unavailable. In these cases, there is no simple way to restore a device if the environment is not re-established on a new device or the same device. The user's data or files can only be restored after the environment is reconstructed.

More specifically, file-based backup/restore solutions have significant drawbacks for client devices. When a device is not available or needs to be fully recovered, the reconstruction of the device takes a lot of time because it requires: reimaging the Operating System (OS) (or reinstalling the OS), applying all updates and patches to the OS, configuring environment parameters, installing all applications from the original disk/iso, and applying all updates/patches to the applications. Only after this operation is completed can the user's file be restored. Furthermore, a complete recovery process is required when replacing the device.

For each change to the file-based recovery system, the entire file is typically copied. This can be very time consuming and can generate a large amount of network traffic. Furthermore, a solution that is capable of creating device images cannot run while the system is operating (because the disk is changing). In addition, conventional image-based recovery solutions typically require the device to boot from an external drive. Ensuring that the external drive is properly set can also present problems and difficulties.

Additionally, the copies produced by these processes are not continuous and correspond to particular points in time. Thus, the user may be exposed between backups. This also complicates copy creation and recovery because these recovery operations are intrusive and complex procedures that cannot be simplified along with device operation. Thus, restoring a device such as an end-user device may take a long time and may be very complex.

Drawings

In order to describe the manner in which at least some of the advantages and features of the invention can be obtained, a more particular description of embodiments of the invention will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the embodiments of the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:

FIG. 1 illustrates an example of an architecture or system for copying client device images to a cloud or other storage location;

FIG. 2 illustrates an example of an agent configured to intercept and track changes made to data on a device;

FIG. 3 is an example of a method for copying a client image to a cloud or other storage location; and is

FIG. 4 is an example of a method for restoring an image to a device.

Detailed Description

Embodiments of the present invention relate generally to data protection and to systems, methods, and devices for performing data protection operations. Examples of data protection operations include, but are not limited to, backup operations, restore operations, copy operations, data synchronization operations, image creation operations, cloud-based image copy operations, and the like, or combinations thereof. More particularly, embodiments of the present invention relate to systems, hardware, software, computer-readable media and methods for performing data protection operations.

More particularly, embodiments of the present invention relate to systems and methods for replicating an image of a client device to a target site, such as a public or private cloud. Embodiments of the present invention also relate to copying an image of a client device to the cloud using online continuous data copies, while allowing use of the device. Thus, embodiments of the present invention are able to copy images to the cloud even when the data at the client is changing. In addition, embodiments of the present invention simplify the initial copying of the full device image to the cloud and reduce the data transmission requirements at least for the initial image.

Embodiments of the present invention enable a full backup (image) of a device to be generated and stored on local/cloud storage while the device is in use. The image is a continuous image using a snapshot or log mechanism, as opposed to a backup with time intervals, and allows a restore to be performed at a selected point in time. Embodiments of the present invention also allow for easier and no need to boot from an external device to restore the image to the original device or a different device.

In one example, the image is a copy (typically an exact copy) of the entire contents of a storage device, such as a hard drive. The disk image may accurately represent the contents of the original storage device. Therefore, the slave image restoration device places the device in a state corresponding to the time at which the image is generated. Embodiments of the invention allow for the generation of images comprising points in time and consecutive images. In one example, the continuous image allows the device to be restored on a per transaction basis, which has a finer granularity than the periodic image. In one example, a snapshot or a type of snapshot may be used. By applying the snapshots to the starting or base image, images of the device at different points in time can be achieved.

In one example, a snapshot includes changes that have occurred to the device since a previous snapshot. All or part of the transactions in the snapshot may be applied to the existing image. A series of incremental snapshots may be applied to an existing image to generate an updated image. By tracking changes to the device, images can be created on a per transaction basis, and images can be configured for any selected point in time.

FIG. 1 illustrates an example of a system and method for protecting data of a device. More specifically, fig. 1 illustrates an example of a system and method for copying an image of a device to a cloud.

Fig. 1 shows a device 102 associated with a user 100. The device 102 may be a computing device such as, but not limited to, a desktop computer, a laptop computer, a tablet computer, or a telephone device, among others. Each of these devices includes a processor and associated circuitry. The device 102 includes one or more storage devices 108 on which the content 106 is stored. The image of the device 108 may include an exact copy of all of the content 106 on the device 102.

In this example, the content 106 may include various types of data, such as an operating system, application programs, user data (e.g., files on a desktop or in a document folder, email), and so forth. The "C drive" is an example of a storage device associated with the device 102 and the content 106 is an example of all data that may be stored on the C drive. Thus, the content 106 may have different types of data, which have different purposes. In one example, the device 102 is typically booted from a storage device.

Fig. 1 also shows a cloud service 110. In this example, the cloud service 110 may be implemented in a cloud (e.g., a data center) that may allocate computing resources, such as processors, memory, network devices, etc., to the cloud service 110 as needed. Cloud services 110 may be implemented using physical or virtual machines, microservices, servers, and the like.

In this example, cloud service 110 may provide or include an object store 112 that may be used to store images 114 of a plurality of devices, including device 102. For entities having or associated with many user devices, images of all of these devices (or selected devices) may be stored in image 114.

In this example, an image of the content 106 of the device 102 is stored as an image 115 in an image 114 in the object storage area 112. The image 115 may also represent multiple images of the device 102 at various points in time. In one example, embodiments of the present invention do not require that the image 115 be an exact replica of the content 106, as long as a replica of the content 106 can be generated from the image 115. For example, the images 115 may be stored as a series of files or objects that may be combined to generate an image of the content 106.

This allows image 115 (and image 114) to be stored in different ways and configurations. For example, the image 115 may be compressed or encrypted. Additionally, the image 115 may be composed of a base image (discussed in more detail below) and one or more snapshots or differences. If desired, a desired point-in-time image may be generated from the base image and one or more snapshots, as appropriate. In another example, each snapshot may correspond to a particular image of the device 102.

The cloud service 110 may also include or have access to an image repository 118. The image repository 118 may store a plurality of seed images. The image repository 118 allows for the creation of an initial or starting image of the device 102 with less data transfer from the device 102. In one example, the seed image corresponds to the content of the various devices when they are new. For example, an entity may provide its devices from a small set of known images. For example, one of these images may be loaded onto a new device whenever the new device is distributed.

The seed image may include an operating system, various applications, a set of standard data or tools, and the like. When replicating an image of device 102, image repository 118 may provide a seed image that forms a base image of device 105. An image 115 of the device 102 is then generated from the base image. By seeding the image 115, only the difference between the content 106 and the seed image needs to be transmitted, and then the changes are applied to the seed image to arrive at the initial or base image of the device 102. The image 115 may then be updated by subsequent changes to the tracking device 102.

Seeding the images 114 solves the problems associated with the initial replication of the complete device image to the cloud service 110. To efficiently transfer an initial copy or image of a device, the image repository 118 may store a plurality of seed images as previously described for various operating systems. By way of example only, the seed images may include various versions of Windows, Linux, Unix images. The images may also include applications and/or other data. In this example, when the device 102 is new, one of the seed images in the image repository 118 may correspond to the image of the device 102. The seed image may then be updated with the changes that occurred at the device 102 to arrive at the current image of the device. This may be accomplished by identifying the changes that occurred at the device 102.

In one example, the proxy 104 may be installed on the device 102. The agent 104 may be installed during manufacture of the device 102 or later. Embodiments of the present invention may be performed even if the agent 104 is installed on the device 102 after the device 102 has been in use for some time.

The agent 104 may detect a base image installed on the device 102 (e.g., by identifying an OS version), which corresponds to one of the seed images stored in the image repository 118. When the initial image of the device 102 is created or generated, the content 106 is then compared with the corresponding seed image that serves as the best match for the base image. Only the blocks that have changed with respect to the image 115 will be sent to the cloud storage over the network. The altered blocks may then be incorporated into the image 115. Once the initial image 115 is completed, subsequent updates may only need to identify changes at the device 102. These changes may simply be applied to the current image 115. Advantageously, an image of the device 102 may be taken even though the device 102 is being used and the content 106 is being altered.

In one example, the agent 104 may be software installed on the device 102. The agent 104 may be installed elsewhere at the operating system level. This allows the agent 104 to intercept all write transactions on the appliance 102 and copy these changes to the object store 112 and log (and ultimately to the image 115). This may be done when the device 102 is operating in a normal manner.

In one example, the device 102 is protected by storing the image 115 of the device 102 at a remote location, such as a cloud or a local storage location (which may be a local storage). As previously described, the base images stored in the cloud may be based on images from the image repository 118. This seed image, which may correspond to the image used to initially provide the device 102, may be used as a basis for a subsequent image. Additionally, this allows images to be uploaded to or created in the cloud without the need to transmit most of the data at the device.

In this example, the image 115 initially corresponds to a seed image from the image repository 118. The changes at the device 102 may be identified by the proxy 104 when generating the initial image for the device. In one example, the proxy 104 may examine chunks or blocks of the data 106 (e.g., in 4MB or other configurable sized chunks). More specifically, in one example, the process is checking blocks on the device as the image is being created. Each chunk may thus correspond to a particular portion of storage 108. This allows an exact replica to be constructed as image 115.

The checksums for these chunks may be determined and compared to the checksums for the corresponding chunks in the image 115. When the checksum from the device 102 does not match the corresponding checksum from the image 115, the chunk in the image 115 is replaced with the chunk from the device 102. This allows the image 115 to be updated using the changes detected at the device 102 to generate an initial image 115 of the device 102.

Thus, the image 115 may be seeded or started with a seed image selected from the image repository 118 and used as a base image. The proxy 104 may then identify blocks that have changed at the device 102 relative to the base image. These changes identified at the client 102 are transmitted and incorporated into the image 115. This reduces the amount of data transfer initially created for images stored in the cloud, as the base image or seed image is not transferred from the device 102.

If the agent 104 is installed after changes have been made at the device 102, changes to the base image from the image repository 118 may still be determined in a similar manner using a full scan of the client storage device 108.

When generating or updating the image 115, the agent 104 automatically sends the data to the cloud over a network such as the internet. Data may be transmitted at periodic intervals. In practice, the agent 104 may create a difference or snapshot that identifies changes or deltas containing blocks of changes that have been written since the last snapshot.

These periodic snapshots or differences may be stored in cloud object storage 112. These periodic snapshots also allow images to be generated at different points in time. The device image may be a continuous image based on changes in or identified by the snapshot.

If the device 102 needs to be restored, the image 115 (and/or snapshot) can be used to restore the device 102 to a selected point in time. Alternatively, when the entire device is lost (e.g., unavailable), the image 115 may be restored to a new device, which may be of a similar model or have a similar configuration as the lost or unavailable device.

In one example, the recovery process is implemented by including a "recover disk from cloud" option in the menu of the recovery partition. This allows the user to start the device 102 through a recovery process (e.g., interrupt the normal start sequence by pressing a function key during the device start sequence) and select recovery from the cloud option. Advantageously, there is no need to create a bootable medium, perform special boot procedures, etc. When a recovery is selected from the cloud option, the image 115 may be copied to the device 102, and then the device 102 may be restarted and started after the copy is complete.

The image 114 also allows the image of the device 102 to be reconstructed in the cloud and started up as an image of the device 102, for example, as a virtual machine 116. Using portal 122, this allows user 100 to access his/her devices via images stored in the cloud and remotely access content 106, which content 106 includes software and other applications in the virtual desktop via portal 122. The remote access in this example may be read-only or read/write. If changes are made to the cloud copy, the agent 104 synchronizes the changes back to the device 102 at the appropriate time.

Thus, fig. 1 illustrates an exemplary system or architecture in which the agent 104 is stored on the device 102. The agent 104 performs a copy operation. An image of the device 102 is created in the cloud by initially comparing the device 102 (or more specifically the content 106) to a seed image selected from the image repository 118, and then identifying and sending initial incremental and periodic differences or snapshots. The device 102 may then be restored to a point in time using the cloud image, or the virtual machine 116 may be rotated in the cloud based on the backup image 115 to provide remote access when the source device 102 is unavailable.

Fig. 2 illustrates an example of an agent operating on a device. In FIG. 2, a splitter 204 (an example of agent 104) is effectively located between operating system 202 and a storage area 206 on device 200. When operating system 202 sends a write (1) to storage 206 or disk, splitter 204 intercepts (2) the write and sends the write to the snapshot in log 208. The log write is then acknowledged (3). The splitter 204 then sends (4) the write to the storage area 206. The storage area 206 acknowledges (5) the write and the splitter 204 acknowledges (6) the write to the operating system 202. Updates to the image 115 may be created from the log 208. In one example, the log 208 identifies blocks that have changed and these blocks or deltas between these blocks and corresponding blocks in the image 115 can be uploaded and applied to the image 115.

Copying an image of a device, such as device 102, may involve two stages. The first stage is to build an initial image in the cloud service 110. As previously discussed, this is accomplished in one example by seeding the image 115 and then performing a scan of the storage device 108. The scan may generate a checksum for each block of space (e.g., 4MB block) on the storage device 108. These checksums may be compared to the checksums for corresponding locations in the image 115. Only chunks for which the checksums do not match are uploaded to the image 115. This significantly reduces the transmission from the device to the cloud service over the network. After the agent or splitter is installed, a scan may be performed by the agent or splitter.

It may happen that the scan is performed again, such as in an extreme fault situation or in a situation where there is reason to consider the log inaccurate.

In one example, the log may store a pointer to the changed block. Thus, the log may be a bitmap. When the snapshot is performed, the changed block identified by the pointer is uploaded to the image 115. Using this approach, the log does not create a complete local "snapshot," but rather has a bitmap representing changed blocks, which are then periodically transmitted to the cloud to construct differences from previous snapshots. Alternatively, the changed data may be copied to a log. In the case where this method is used with a device that may have multiple storage devices, it may be more efficient to copy the changed data to the log.

Thus, the log allows for differences to be stored with or incorporated into the image.

Fig. 3 shows an example of an image copying method. In fig. 3, the agent is installed 302 on the device. The agent may be installed at the time of manufacture of the device or at a later point in time. For example, the agent may be installed after a change is made to the device.

Next, an initial upload of the image to the cloud is performed 304. The initial upload does not require all data or content on the device to be uploaded. Instead, the initial upload transmits only different blocks. More specifically, the content of the device may be compared to the content of the matching seed image. Only the differences need to be uploaded so that the seed image is transformed into a replica of the content at the device.

The agent may scan the entire device during initial synchronization or when generating an initial image in the cloud (this is done by uploading the differences between the content of the device and the base or seed image). This process may be done on a block or group of blocks basis or on a chunk basis. The checksum or other identifier of the block or chunk at the device may be compared to the corresponding checksum or other identifier of the backup image in the cloud. When the checksums or identifiers do not match, the corresponding blocks or chunks or specific changes are uploaded to the cloud and applied to the initial seed image. When this process is completed, the initial image is complete. The images may be stored as objects or in other formats.

After the initial backup image is created, changes to the contents of the device are copied 306 to the cloud. This includes not only changes to files, but also changes to operating systems, applications, etc., at least because one target is to store an image of the device, as opposed to a backup of user files on the device. This may include intercepting writes to the storage and storing the changes in a change log. The log may be uploaded periodically or on another schedule or the changes stored in or identified by the log. In one example, a snapshot of the device or log may be taken and uploaded to the cloud. These snapshots may be associated with or merged into the images stored in the cloud. By intercepting the writes, the device is continuously protected and can resume to any point in time. Thus, the images are stored 308 in the cloud as one image, a group of images, one image, a series of snapshots, and so on. Over time, data can be consolidated (and storage space saved) by deleting old snapshots or old images.

Fig. 4 shows an example of restoring an image to a device. In one example, a device is booted 402 to a special partition (e.g., a secure mode or a recovery mode). Menu items may be added to the schema to allow recovery from the cloud. When this option is selected, the image is restored 404 from the image in the cloud. This may require the entire image to be downloaded to the device. Once the image is written, the device can be restarted normally. The same image in the cloud may also be launched as a virtual machine to allow remote access to the user. Any changes may be synchronized back to the device.

The following is a discussion of various aspects of an exemplary operating environment for various embodiments of the invention. This discussion is not intended to limit the scope or applicability of the embodiments of the present invention in any way.

In general, embodiments of the invention can be implemented in connection with systems, software, and components that individually and/or collectively implement and/or cause data management operations to be implemented. Such data management operations may include, but are not limited to, data read/write/delete operations, data backup operations, data restore operations, data clone operations, data archive operations, copy operations, image copy operations, and disaster recovery operations. Thus, although the discussion herein may, in some respects, be directed to a discussion of a data protection environment and operations, the scope of the present invention is not so limited. More generally, the scope of the present invention includes any operating environment in which the disclosed concepts may be useful. By way of example, and not limitation, embodiments of the invention may be used in conjunction with data backup and restore platforms such as the Dell-EMC NetWorker and Avamar platforms. Furthermore, embodiments of the invention may be implemented using cloud storage such as Dell EMC ECS.

The data protection environment may take the form of a public or private cloud storage environment, a local storage environment, and a hybrid storage environment that includes both public and private elements, although the scope of the invention also extends to any other type of data protection environment. Any of these exemplary storage environments may be partially or fully virtualized. The storage environment may comprise or consist of a data center operable to service read and write operations initiated by one or more clients.

In addition to the storage environment, the operating environment may include one or more host devices (such as clients), each of which carries one or more applications. Thus, a particular client may employ, or be otherwise associated with, one or more instances of each of one or more applications. In general, the application used by the client is not limited to any particular function or type of function. For example, some exemplary applications and data include email applications (such as MS Exchange), file systems, and databases (such as Oracle databases and SQL Server databases). An application on the client may generate new and/or modified data that needs to be protected.

According to various embodiments of the present invention, any of the devices or entities disclosed herein may be protected by one or more data protection policies. Yet another example of devices that may be protected by a data protection policy according to embodiments of the present invention include, but are not limited to, containers and VMs.

Any of the devices in the operating environment, including clients, servers, and hosts, may take the form of software, physical or Virtual Machines (VMs), or any combination of these, although any implementation need not require a particular device implementation or configuration. Similarly, data protection system components such as databases, storage servers, storage volumes (LUNs), storage disks, replication services, backup servers, restore servers, backup clients, and restore clients may likewise take the form of software, physical machines, or Virtual Machines (VMs), although no particular component implementation is required for any embodiment. In the case of a VM, the VM may be created and controlled using a hypervisor or other Virtual Machine Monitor (VMM).

The term "data" as used herein is intended to encompass a wide range. Thus, the terms encompass by way of example and not limitation, data fragments, data chunks, data blocks, atomic data, emails, any type of object, file, contact, directory, subdirectory, volume, container, and any group of one or more of the above, such as may result from a data stream segmentation process.

Exemplary embodiments of the present invention are applicable to any system capable of storing and processing various types of objects in analog, digital, or other forms. Although terms such as documents, files, blocks, or objects may be used by way of example, the principles of the disclosure are not limited to any particular form of representing and storing data or other information. Rather, these principles apply equally to any object capable of representing information.

As discussed in more detail below, the embodiments disclosed herein may comprise the use of a special purpose or general-purpose computer including various computer hardware or software modules. The computer may comprise a processor and a computer storage medium carrying instructions which, when executed by and/or caused to be executed by the processor, perform any one or more of the methods disclosed herein.

As mentioned above, embodiments within the scope of the present invention also include computer storage media that are physical media for carrying or having computer-executable instructions or data structures stored thereon. Such computer storage media can be any available physical media that can be accessed by a general purpose or special purpose computer.

By way of example, and not limitation, such computer storage media can comprise hardware storage such as solid state disk/devices (SSD), RAM, ROM, EEPROM, CD-ROM, flash memory, phase change memory ("PCM"), or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other hardware storage device that can be used to store program code in the form of computer-executable instructions or data structures that can be accessed and executed by a general purpose or special purpose computer system to implement the disclosed functionality of the present invention. Combinations of the above should also be included within the scope of computer storage media. Such media are also examples of non-transitory storage media, and non-transitory storage media also encompass cloud-based storage systems and structures, although the scope of the invention is not limited to these examples of non-transitory storage media.

Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts disclosed herein are disclosed as example forms of implementing the claims.

As used herein, the term "module" or "component" may refer to a software object or routine that executes on a computing system. The different components, modules, engines, and services described herein may be implemented as objects or processes that execute on the computing system, e.g., as separate threads. While the systems and methods described herein may be implemented in software, implementations in hardware or a combination of software and hardware are also possible and contemplated. In the present disclosure, a "computing entity" may be any computing system, or any module or combination of modules running on a computing system, as previously defined herein.

In at least some examples, hardware processors are provided that are operable to implement executable instructions for performing methods or processes, such as the methods and processes disclosed herein. The hardware processor may or may not include elements of other hardware, such as the computing devices and systems disclosed herein.

In terms of computing environments, embodiments of the invention may be implemented in client-server environments, whether networked or local, or in any other suitable environment. Suitable operating environments for at least some embodiments of the invention include cloud computing environments in which one or more of a client, server, or other machine may reside and operate in a cloud environment.

The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:信息处理系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!