Disclosure of Invention
In view of the above problems, the present invention is proposed to provide an application installation method and system that overcomes or at least partially solves the above problems, and can simplify user operations and save transmission bandwidth.
According to one aspect of the invention, an installation method of an application program is provided, wherein the application program comprises an enterprise version application program and a non-enterprise version application program, the enterprise version application program comprises an enterprise version server installed on computing equipment of an enterprise user management control center and an enterprise version client installed on enterprise user terminal equipment, and unified management of user terminal equipment where each enterprise version client is located is realized through the enterprise version server; the non-enterprise client side user is installed on the user terminal equipment, and can independently realize the management of the user terminal equipment; the method comprises the following steps:
the enterprise version server side sends the IP address and the port number information of the computing equipment where the enterprise version server side is located to user terminal equipment provided with a non-enterprise version client side so as to inform the user terminal equipment of switching the non-enterprise version client side into the enterprise version client side;
the non-enterprise client side obtains files required for installing the enterprise client side on the basis of the non-enterprise client side from the enterprise server side according to the IP address and the port number;
and switching the non-enterprise version client into an enterprise version client by operating the file, so that the user terminal equipment receives monitoring management of the enterprise version server.
Optionally, the sending, by the enterprise server, the IP address and the port number information of the computing device where the enterprise server is located to the user terminal device installed with the non-enterprise client includes:
the enterprise version server generates a verification code according to the IP address and the port number of the computing equipment where the enterprise version server is located, and sends the verification code to the user terminal equipment provided with the non-enterprise version client;
the non-enterprise version client acquires files required for installing the enterprise version client on the basis of the non-enterprise version client from the enterprise version server according to the IP address and the port number, and the method comprises the following steps:
the non-enterprise client receives the verification code input by a user through a preset entrance;
and acquiring the IP address and the port number according to the verification code, and acquiring files required for installing the enterprise client on the basis of the non-enterprise client from the enterprise server according to the IP address and the port number.
Optionally, there are at least two network cards on the computing device where the enterprise version server is located, corresponding to at least two IP addresses and ports, where the enterprise version server generates a verification code according to the IP address and the port number of the computing device where the enterprise version server is located, and sends the verification code to the user terminal device where the non-enterprise version client is installed, where the method includes:
and generating at least two verification codes respectively aiming at the at least two IP addresses and ports, determining the IP addresses and ports which can be communicated by the user terminal equipment according to the network segment information of the user terminal equipment, and sending the IP addresses which can be communicated by the user terminal equipment and the verification codes corresponding to the ports to the user terminal equipment.
Optionally, the generating, by the enterprise version server, the verification code according to the IP address and the port number of the computing device where the enterprise version server is located includes:
encrypting a character string consisting of the IP address and the port number, and taking an obtained ciphertext as the verification code;
the acquiring the IP address and the port number according to the verification code comprises the following steps:
and decrypting the verification code to obtain the IP address and the port number.
Optionally, the method further comprises:
and displaying the interface of the enterprise version client after the non-enterprise version client is switched to the enterprise version client.
According to another aspect of the invention, an installation system of an application program is provided, wherein the application program comprises an enterprise version application program and a non-enterprise version application program, the enterprise version application program comprises an enterprise version server installed on a computing device of an enterprise user management control center and an enterprise version client installed on an enterprise user terminal device, and unified management of user terminal devices where the enterprise version clients are located is realized through the enterprise version server; the non-enterprise client side user is installed on the user terminal equipment, and can independently realize the management of the user terminal equipment; wherein
the enterprise edition server side comprises: :
the notification unit is used for sending the IP address and port number information of the computing equipment where the enterprise version server side is located to the user terminal equipment which is provided with the non-enterprise version client side so as to notify the user terminal equipment of switching the non-enterprise version client side into the enterprise version client side;
the non-enterprise version client comprises:
the file acquisition unit is used for acquiring files required for installing the enterprise version client on the basis of the non-enterprise version client from the enterprise version server according to the IP address and the port number;
and the file operation unit is used for switching the non-enterprise version client into an enterprise version client by operating the file, so that the user terminal equipment receives monitoring management of the enterprise version server.
Optionally, the notification unit includes:
the verification code generation subunit is used for generating a verification code according to the IP address and the port number of the computing equipment where the enterprise version server side is located and sending the verification code to the user terminal equipment provided with the non-enterprise version client side;
the file acquiring unit includes:
the verification code receiving subunit is used for receiving the verification code input by the user through a preset entrance;
and the acquisition subunit is used for acquiring the IP address and the port number according to the verification code and acquiring a file required for installing the enterprise client on the basis of the non-enterprise client from the enterprise server according to the IP address and the port number.
Optionally, at least two network cards exist on the computing device where the enterprise version server side is located, and correspond to at least two IP addresses and ports, and the verification code generating subunit is specifically configured to:
and generating at least two verification codes respectively aiming at the at least two IP addresses and ports, determining the IP addresses and ports which can be communicated by the user terminal equipment according to the network segment information of the user terminal equipment, and sending the IP addresses which can be communicated by the user terminal equipment and the verification codes corresponding to the ports to the user terminal equipment.
Optionally, the verification code generating subunit includes:
the encryption subunit is used for encrypting the character string formed by the IP address and the port number and taking the obtained ciphertext as the verification code;
the file acquiring unit includes:
and the decryption subunit is used for decrypting the verification code to obtain the IP address and the port number.
Optionally, the method further comprises:
and the display unit is used for displaying the interface of the enterprise version client in the user terminal equipment after the non-enterprise version client is switched into the enterprise version client.
According to the installation method and the installation system of the application program, only the IP address and the port number information of the computing equipment where the enterprise version server side is located are input into the non-enterprise version client side, the non-enterprise version client side can obtain files required for installing the enterprise version client side on the basis of the non-enterprise version client side from the enterprise version server side, then the files are operated, the non-enterprise version client side can be automatically switched into the enterprise version client side, and unified management of the enterprise version server side is received. Therefore, in the whole implementation process, only the IP address and the port number information are input to the non-enterprise client side, which greatly simplifies the operation of the user. In addition, when the file is sent from the enterprise version server to the terminal, only the file required by the enterprise version client is needed to be sent on the basis of the non-enterprise version client, but not all the files required by the enterprise version client are directly installed, and transmission bandwidth is saved. In addition, in the implementation process, the non-enterprise version client does not need to be uninstalled, and only some related programs need to be newly installed, so that the method is convenient and quick.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Referring to fig. 1, an embodiment of the present invention first provides an installation method of an application program, where the application program includes an enterprise version application program and a non-enterprise version application program, the enterprise version application program includes an enterprise version server installed on a computing device of an enterprise user management control center, and an enterprise version client installed on an enterprise user terminal device, and unified management of user terminal devices where the enterprise version clients are located is achieved through the enterprise version server; the non-enterprise client side user is installed on the user terminal equipment, and can independently realize the management of the user terminal equipment; the method can comprise the following steps:
s101: the enterprise version server side sends the IP address and the port number information of the computing equipment where the enterprise version server side is located to user terminal equipment provided with a non-enterprise version client side so as to inform the user terminal equipment of switching the non-enterprise version client side into the enterprise version client side;
in the embodiment of the invention, when an enterprise needs to deploy an enterprise-version security product, an administrator can download an enterprise-version installation file at first, wherein the installation file comprises an installation file of an enterprise-version server and an installation file of an enterprise-version client. The administrator may then first install the enterprise version of the server on his or her computing device (or other computing device acting as a server). After the enterprise version server is installed, the IP address and the port number information of the computing device where the enterprise version server is located can be sent to each terminal in the enterprise, so that the terminal can obtain some information from the enterprise version server by using the IP address and the port number. These terminals include, among other things, terminals that have installed non-enterprise clients.
It should be noted that when the IP address and port number information are sent to the terminal, the IP address and port number information may be directly sent in a plaintext manner, or, in order to ensure the security in the information transmission process, the IP address and port number information may be first encrypted at the enterprise version service end, the obtained ciphertext is used as the verification code, and then the verification code is sent to the terminal. Therefore, after the terminal user acquires the verification code, the verification code can be input into an entrance provided by the non-enterprise client, and then the verification code is decrypted by the non-enterprise client to acquire the IP address and the port number information of the enterprise server.
Specifically, when encrypting an IP address and a port number, there may be a plurality of algorithms, for example, one implementation manner may be:
the method comprises the following steps: PORT as a string that needs to be encrypted, such as: 192.168.91.166: 8800;
step two: defining a variable nMOVE, if the length of the character string needing encryption is an even number, nMOVE =1, and if the length of the character string needing encryption is an odd number, nMOVE =0; 8800 is 19 bits, nMOVE =0 as 192.168.91.166;
step three: define variable j = start from 0 to (length of string to be encrypted-1)% 22; cycles, e.g., bit 0, j =0; since the maximum value of the port number is 65535, the maximum length to be encrypted is 21, and when the numbers are modulo 22 from 0 to (the length of the string to be encrypted is-1), the obtained results are the numbers themselves, that is, assuming that the length of the string to be encrypted is 19, the variable j also has 19 values in total, the 0 th bit, j =0, the 1 st bit, j =1 … … the (length of the string to be encrypted is-1) th bit, j = (the length of the string to be encrypted is-1);
step four: the variable c = is defined as ASCII code of characters from 0 th to (length of the string to be encrypted-1) th bit; if the 0 th bit character is ' 1 ', c =49, if the 1 st bit character is ' 9 ', c =57, … …, if the (length of the character string to be encrypted is-1) ' bit character is ' 0 ', c = 48;
fault tolerance: because the string needing to be encrypted is composed of IP address and port number information, the characters are all in "/1234567890:", the value range of the corresponding ASCII code in the characters is 46-58, therefore, if the value of c is not in the range of 46-58 (namely not in./1234567890:), the existence of an error is proved, and the string returns to the null;
step five: if the value of each bit of the encrypted verification code is d = c +16+ j + nMOVE, if the 0 th bit, c =49, j =0, d =49+16+0+0=65, the first bit after encryption is A; bit 1, c =57, J =1, d =57+16+1+0=74, then the second bit after encryption is J; … …, finally, for 192.168.91.166:8800, the encrypted strings are: AJDAEKNEINHLNOXWP.
And then the encrypted string can be used as a verification code to be sent to the terminal, and the non-enterprise client of the terminal can decrypt the encrypted string to obtain the IP address and the port number information by utilizing the reverse process after receiving the encrypted string. For example, the process of decryption may be as follows:
the method comprises the following steps: cycle j = starting from 0 to (length of string to be encrypted-1), c = d-16-j-nMove, e.g., in the foregoing example, c =65-16-0-0= 49;
step two: and c, converting the ASCII code of c into a corresponding control character, wherein the control character corresponding to 49 is 1, and so on to obtain the IP address and the port number information.
The above encryption algorithm is only one of many encryption algorithms, and in practical applications, other algorithms may be used for implementation, which is not limited herein.
It should be noted that, in practical applications, for reasons such as large employee data of some enterprises, a computing device of an administrator may be provided with multiple network cards, each network card corresponds to an IP address and a port number, and thus, when generating the verification code, a verification code can be generated for each IP address and port number. For example, if three network cards are on a computing device, three authentication codes are generated. For a terminal user, not every network card can be connected, for example, for a certain terminal, only a certain IP address may be connected, so when sending an authentication code to the terminal, the IP address where the terminal can be connected to a service end can be judged according to the IP address of the terminal, and then the corresponding authentication code is sent to the terminal.
When determining which IP address a terminal can communicate with, the determination may be made according to the IP address of the terminal and the network segment where each IP address of the server is located. A network segment is a part of a network of computing devices that can communicate directly using the same physical layer device (transmission medium, relay, hub, etc.). I.e., from one IP address to another, e.g., 192.168.0.1 to 192.168.255.255, is a network segment. If the two physical devices are in the same network segment, the two physical devices can be communicated, otherwise, the two physical devices cannot be directly communicated. Therefore, the administrator can select an IP address in the same network segment as the terminal from the IP addresses of the own computing device according to the network segment in which the IP address of the terminal is located, and then send the verification code corresponding to the IP address to the terminal.
It should be noted that, specifically, when sending the IP address and port number information (plaintext or verification code) to the terminal, the verification code may be sent to the terminal user by means of mail, instant messaging software, website announcement, or the like, or the terminal user may access the enterprise version installation and deployment terminal page to obtain related information, or the like.
S102: the non-enterprise client side obtains files required for installing the enterprise client side on the basis of the non-enterprise client side from the enterprise server side according to the IP address and the port number;
because the non-enterprise-version client is installed in the terminal, the information of the IP address and the port number of the computing equipment where the enterprise-version server is located can be input into the non-enterprise-version client, and the non-enterprise-version client initiates a request to the enterprise-version server according to the IP address and the port number, so that the enterprise-version server can judge that the non-enterprise-version client is installed on the current terminal, and files required for installing the enterprise-version client on the basis of the non-enterprise-version client can be returned to the terminal.
If the IP address and the port number information of the computing equipment where the enterprise version server side is located are sent to the terminal in the form of the verification code, the terminal user can input the verification code into an entrance provided by the non-enterprise version client side, and then the non-enterprise version client side can decrypt the verification code to obtain the IP address and the port number information.
After receiving the request of the non-enterprise client, the enterprise server can return the files required for installing the enterprise client on the basis of the non-enterprise client to the client. The term "file required for installing the enterprise version client on the basis of the non-enterprise version client" means that the non-enterprise version client has the function of the enterprise version client as long as the program is installed on the terminal, because the non-enterprise version client is installed on the terminal, and the non-enterprise version client is just lack of some programs and is not installed relative to the enterprise version client. Thus, such files refer to installation files required to install the portion of the program that is missing from the non-enterprise version of the client, e.g., a program for pulling policies from the enterprise version of the server, a program for interface customization, etc.
S103: and switching the non-enterprise version client into an enterprise version client by operating the file, so that the user terminal equipment receives monitoring management of the enterprise version server.
After acquiring the 'files required for installing the enterprise version client on the basis of the non-enterprise version client', the files can be operated on the terminal, for example, installation is started, and the like, so that the part of programs which are lacked by the non-enterprise version client relative to the enterprise version client can be installed in the terminal, the non-enterprise version client can be switched to the enterprise version client, and unified management of the enterprise version server can be accepted. Meanwhile, after the non-enterprise version client is switched into the enterprise version client, the interface of the enterprise version client can be displayed.
In short, in the embodiment of the present invention, only the IP address and port number information of the computing device where the enterprise version server is located need to be input to the non-enterprise version client, the non-enterprise version client can acquire the files required for installing the enterprise version client on the basis of the non-enterprise version client from the enterprise version server, and then operate the files, so that the non-enterprise version client can be automatically switched to the enterprise version client, and the unified management of the enterprise version server is accepted. Therefore, in the whole implementation process, only the IP address and the port number information are input to the non-enterprise client side, which greatly simplifies the operation of the user. In addition, when the file is sent from the enterprise version server to the terminal, only the file required by the enterprise version client is needed to be sent on the basis of the non-enterprise version client, but not all the files required by the enterprise version client are directly installed, and transmission bandwidth is saved. In addition, in the implementation process, the non-enterprise version client does not need to be uninstalled, and only some related programs need to be newly installed, so that the method is convenient and quick.
It should be noted that, in the implementation process of the embodiment of the present invention, some improvements need to be made on the basis of the prior art for both enterprise-version security products and non-enterprise-version security products to implement the related functions. In addition, in practical application, the non-enterprise version client and the enterprise version security product can belong to the same developer, so that corresponding functions can be realized on the non-enterprise version client and the enterprise version security product in the development process, so as to support the implementation scheme provided by the embodiment of the invention.
In order to better understand the installation method of the enterprise version client provided by the embodiment of the invention, the following describes the installation method in more detail through an example in practical application.
Since the enterprise version server can perform unified control and management on each enterprise version client, the enterprise version server is also called a control center, and from the functional viewpoint, the control center can be composed of a web service, a background database and a publishing service, and the process of installing the enterprise version client is introduced on the basis of the structure. Referring to fig. 2, the following steps may be included:
s201: a network administrator downloads installation files of enterprise-edition security products, wherein the installation files comprise installation files of an enterprise-edition server and installation files of an enterprise-edition client, and then the network administrator installs the enterprise-edition server, namely a control center;
s202: the web service of the control center generates the verification code according to the IP address and the port number of the computing equipment, and the verification code is stored by the background database.
S203: the web service of the control center requests the verification code from the background database;
s204: a background database of the control center returns a verification code to the web service;
s205: the web service of the control center displays the verification code;
s206: a network administrator sends a request for acquiring a verification code to a web service of a control center;
s207: the web service of the control center returns the verification code to the network administrator;
s208: the network administrator sends the verification code to the terminal computing equipment provided with the non-enterprise client so as to inform the terminal computing equipment to switch the non-enterprise client which is installed into the enterprise client, wherein the verification code can be sent in a mode of mails, instant messaging software and the like;
s209: inputting the received verification code into the non-enterprise client by the terminal user of the non-enterprise client;
s210: the non-enterprise client acquires the IP address and the port number of the computing equipment where the enterprise server is located according to the verification code, and sends a request for downloading an installation file of the enterprise client to a publishing service of the control center according to the IP address and the port number;
s211: the release service of the control center returns the installation file of the enterprise version client;
s212: the non-enterprise client triggers the operation of the installation file of the enterprise client to realize the switching from the non-enterprise client to the enterprise client;
s213: the enterprise version client sends a notification message of successful switching to a background database of the control center;
s214: and the web service of the control center reads the client side after the background database display switching.
Corresponding to the installation method of the application program provided by the embodiment of the invention, the embodiment of the invention also provides an installation system of the application program, and the installation system is shown in fig. 3, wherein the application program comprises an enterprise version application program and a non-enterprise version application program, the enterprise version application program comprises an enterprise version server installed on the computing equipment of the enterprise user management control center and an enterprise version client installed on the enterprise user terminal equipment, and the enterprise version server is used for realizing the unified management of the user terminal equipment where each enterprise version client is located; the non-enterprise client side user is installed on the user terminal equipment, and can independently realize the management of the user terminal equipment; wherein,
the enterprise edition server side comprises: :
a notification unit 301, configured to send information about an IP address and a port number of a computing device where an enterprise version server is located to a user terminal device installed with a non-enterprise version client, so as to notify the user terminal device to switch the non-enterprise version client to an enterprise version client;
the non-enterprise version client comprises:
a file obtaining unit 302, configured to obtain, from the enterprise server, a file required for installing an enterprise client on the non-enterprise client according to the IP address and the port number;
a file operating unit 303, configured to switch the non-enterprise-version client to an enterprise-version client by operating the file, so that the user terminal device receives monitoring management of the enterprise-version server.
Wherein, the notification unit 301 may include:
the verification code generation subunit is used for generating a verification code according to the IP address and the port number of the computing equipment where the enterprise version server side is located and sending the verification code to the user terminal equipment provided with the non-enterprise version client side;
the file acquiring unit 302 may include:
the verification code receiving subunit is used for receiving the verification code input by the user through a preset entrance;
and the acquisition subunit is used for acquiring the IP address and the port number according to the verification code and acquiring a file required for installing the enterprise client on the basis of the non-enterprise client from the enterprise server according to the IP address and the port number.
The enterprise version server side is provided with at least two network cards corresponding to at least two IP addresses and ports, and the verification code generating subunit is specifically used for:
and generating at least two verification codes respectively aiming at the at least two IP addresses and ports, determining the IP addresses and ports which can be communicated by the user terminal equipment according to the network segment information of the user terminal equipment, and sending the IP addresses which can be communicated by the user terminal equipment and the verification codes corresponding to the ports to the user terminal equipment.
The verification code generation subunit includes:
the encryption subunit is used for encrypting the character string formed by the IP address and the port number and taking the obtained ciphertext as the verification code;
the file acquiring unit includes:
and the decryption subunit is used for decrypting the verification code to obtain the IP address and the port number.
In addition, the system may further include:
and the display unit is used for displaying the interface of the enterprise version client in the user terminal equipment after the non-enterprise version client is switched into the enterprise version client.
In short, in the system according to the embodiment of the present invention, only the IP address and the port number information of the computing device where the enterprise version server is located need to be input to the non-enterprise version client, and the non-enterprise version client can obtain files required for installing the enterprise version client on the basis of the non-enterprise version client from the enterprise version server, and then operate the files, so that the non-enterprise version client can be automatically switched to the enterprise version client to receive the unified management of the enterprise version server. Therefore, in the whole implementation process, only the IP address and the port number information are input to the non-enterprise client side, which greatly simplifies the operation of the user. In addition, when the file is sent from the enterprise version server to the terminal, only the file required by the enterprise version client is needed to be sent on the basis of the non-enterprise version client, but not all the files required by the enterprise version client are directly installed, and transmission bandwidth is saved. In addition, in the implementation process, the non-enterprise version client does not need to be uninstalled, and only some related programs need to be newly installed, so that the method is convenient and quick.
The algorithms and displays presented herein are not inherently related to any particular computing device, virtual system, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components in an installed device of application programs according to embodiments of the present invention. The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.
The application is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the computer system/server include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, microprocessor-based systems, set-top boxes, programmable consumer electronics, networked personal computers, minicomputer systems, mainframe computer systems, distributed cloud computing environments that include any of the above, and the like.
The computer system/server may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. The computer system/server may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.