Patent Description:
The subject matter of this disclosure relates in general to the field of cloud networking, operations, management, and services. More specifically, this disclosure pertains to cloud enabling of legacy trusted networking devices for zero touch provisioning and enterprise as a service.

When it comes to computing devices (e.g. networking equipment), reliable operations of computing devices made by various companies is a characteristic that builds customer trust over time. In general, computing devices have become integrated in our everyday lives. Enterprises may have a variety of different reliable and proven computing devices (e.g. network devices). However there may be some computing devices (herein referred to as legacy devices) that are older and thus not capable of connecting to the cloud or have not been configured to implement newer features such as implementing zero-day security or allowing the legacy devices to be managed over the cloud.

Since enterprises may have any number of different computing devices that are trusted in their operation for everyday use, it is not desirable to replace all these existing computing devices for the purpose of having devices that have the newer features such as zero-day security or management over the cloud. Furthermore, with the sheer number of computing devices that enterprises can have, the resources and time needed to update (if possible) the legacy devices can also be burdensome. Thus a solution for configuring the legacy devices (for example, in order to provide zero-touch provisioning, zero-day security, and management of the existing computing devices over the cloud) is needed.

<CIT> describes a computer implemented method of executing applications in a cloud server system.

<CIT> describes a system and method for providing service definition packages for use with a cloud computing environment.

In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles briefly described above will be rendered by reference to specific embodiments that are illustrated in the appended drawings. Understanding that these drawings depict only embodiments of the disclosure and are not therefore to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which:.

The detailed description set forth below is intended as a description of various configurations of embodiments and is not intended to represent the only configurations in which the subject matter of this disclosure can be practiced. The detailed description includes specific details for the purpose of providing a more thorough understanding of the subject matter of this disclosure. However, it will be clear and apparent that the subject matter of this disclosure is not limited to the specific details set forth herein and may be practiced without these details. In some instances, structures and components are shown in block diagram form in order to avoid obscuring the concepts of the subject matter of this disclosure.

The invention is directed toward a method per claim <NUM>, a system per claim <NUM> and a computer readable medium per claim <NUM> for enabling a computing device to communicate with a cloud network. Dependent claims describe preferred embodiments of the invention. First a connection between the computing device and the Internet is needed. Once connected, the computing device is directed to locate the cloud network. The computing device can then establish a secure communication channel between the computing device and the cloud network. The computing network can then transmit current configuration data about itself to the cloud network. The cloud network will evaluate the current configuration data and retrieve updates that would be needed to modify the computing device's current configuration data so that the cloud network can manage the computing device. The cloud network provides these updates to the computing device. The computing device will incorporate the updates so that the cloud network can remotely manage the computing device.

As described herein, the present description provides details regarding enabling computing devices (such as networking devices) to connect with cloud networks so that the computing devices can be managed by the cloud networks (thereby allowing enterprise as a service to be possible). Specifically, the cloud enablement is performed via zero touch provisioning which refers to an automated process where computing devices (which may not originally be capable of connecting with the cloud network or were not configured to) are provided the capabilities of connecting with the cloud network with minimal or no input from users. These computing devices are referred to herein as legacy computing devices. By modifying legacy computing devices (which either may not originally be connected to the cloud or may not have the capabilities of connecting to the cloud), this provides any computing devices of an enterprise the ability to become managed by the cloud network. The technology described herein provides features that allow for future proofing of different computing devices as updates and other provisions for the computing devices are possible using the cloud network.

Enterprise as a Service (EaaS) is a cloud computing service model that incorporates software, infrastructure, and platform offerings with business process management and governing service layers. EaaS provides comprehensive end-to-end business process management using cloud solution management and governance. This allows enterprises to control over their devices no matter where those devices are located so long as the devices are connected to the Internet. One feature that EaaS provides is the ability of the enterprise to manage connected computing devices remotely. The present embodiments provide legacy computing devices the ability to connect with the internet and with the cloud network so that these legacy devices can also be managed via the EaaS model.

<FIG> is a conceptual block diagram illustrating an example network environment <NUM> in accordance with various embodiments of the subject technology. The example network environment <NUM> includes a cloud network <NUM> that has, for example, a wireless enabled gateway <NUM> that allows the cloud network <NUM> to wirelessly communicate with different computing devices that are connected to the Internet. The cloud network <NUM> may be associated with an enterprise and used to manage its computing devices. Using the wireless enabled gateway <NUM>, the cloud network <NUM> can provide updates and other information to connected computing devices that would allow the could network <NUM> to remotely manage them as well as push out any updates (e.g. updates to protect against zero-day exploits).

The example network environment <NUM> also includes numerous computing devices (e.g. legacy computing devices) <NUM>. These legacy computing devices <NUM> may be incapable of initially connecting to the internet or specifically communicating with the cloud network <NUM>. For example, the legacy computing devices <NUM> may not originally have the hardware capabilities (e.g. wireless or cellular technology) to connect to the Internet or connect with the cloud network <NUM>. For example, these legacy computing devices <NUM> may have been used by the enterprise prior to the set up and use of the cloud network <NUM> by the enterprise that now manages the various computing devices on behalf of the enterprise.

In order to provide the legacy computing devices <NUM> the ability to communicate with the Internet (or more specifically with the cloud network <NUM>), modifications can be performed on the legacy computing devices <NUM> so that they can communicate with the cloud network <NUM> and allow themselves to be remotely managed. The modifications can be in the form of an external hardware component <NUM> that is connected/attached/plugged into to the legacy computing devices <NUM>. The hardware component <NUM> may include a hardware portion that provides communication features (e.g. wireless or cellular technology) as well as a software portion that provides instructions that would direct the legacy computing devices <NUM> on how to connect to the cloud network <NUM>. Alternatively, the modification to the legacy computing device <NUM> can be an internal modification <NUM>. The internal modifications <NUM> may be implemented to provide both hardware portion (e.g. wireless or cellular technology) and the instructions directing the computing device how to communicate with the Internet or cloud network. Internal modifications <NUM> can also be implemented to provide only the instructions if the computing devices <NUM> already has the necessary communication features to connect with the Internet and/or the cloud network <NUM> but does not have instructions on how to seek out the cloud network <NUM> specifically. Furthermore, internal modifications <NUM> may also be implemented during a production of the computing device.

In either case, the modifications to the legacy computing devices <NUM> provide the capabilities for the legacy computing devices <NUM> to <NUM>) connect to the internet, <NUM>) find the cloud network <NUM> that will be used to manage the legacy computing devices <NUM>, and <NUM>) establish a secure communication channel <NUM> between the legacy computing devices <NUM> and the cloud network <NUM>. The secure communication channel <NUM> will be used to transmit (in one direction) information from the legacy computing devices <NUM> to the cloud network <NUM> that includes identifying information about the legacy computing device <NUM> and any configuration information that would be used by the cloud network <NUM> to identify corresponding updates for the legacy computing device <NUM>. Furthermore, the communication channel <NUM> will be used to transmit (in the opposite direction) any updates from the cloud network <NUM> to be implemented at the computing devices <NUM>. The updates provided by the cloud network <NUM> can be used, for example, to prevent zero-day exploits by fixing any issues with applications and/or operating systems of the legacy computing device <NUM>. The updates can also be used to configure the legacy computing device so that the cloud network <NUM> can remotely manage the legacy computing device.

The cloud network <NUM> can be associated with a plurality of different cloud-based servers for the purpose of managing various computing devices belonging to a particular enterprise. Described in further detail in <FIG>, the cloud network <NUM> is capable of carrying out various different functions in its management of computing devices it oversees. For example, the cloud network <NUM> is capable of remotely carrying out optimization of day-to-day operations of the computing devices, controls the access to the computing device by other users and/or other computing devices, and updating applications or operating system functionalities for the computing device. The management of the computing devices via the cloud network <NUM> allows enterprises to customize operations of their computing devices.

To facilitate management of the legacy computing devices by the cloud network <NUM>, the cloud network <NUM> may include one or more databases. These databases store information that would be useful in updating different legacy computing devices so that they can be managed by the cloud network <NUM>. For example, the information stored therein may be used to configure the legacy computing devices so that they can be remotely managed by the cloud network <NUM>. The cloud network <NUM> can also store updates for the legacy computing devices <NUM>. These updates can be used, for example, to provision, minimize or prevent zero-day exploits pertaining to the legacy computing device <NUM>.

In another embodiment, the cloud network <NUM> may comprise a configuration server and a plurality of different management servers. The configuration servers would include the instructions that would be useable to configure different legacy computing devices <NUM> to be remotely managed by a management server of the cloud network <NUM>. Each management server may, for example, be associated with a different enterprise. The configuration server would be usable to configure and to direct the legacy computing device <NUM> to a particular management server for future management. Based on the identification information provided by the legacy computing device <NUM>, the configuration server would direct the legacy computing device <NUM> to the appropriate management server corresponding to the enterprise the legacy computing device <NUM> belongs to.

The wireless enabled gateway <NUM> provides the cloud network <NUM> the capabilities to communicate with the different computing devices <NUM> being managed by the cloud network <NUM>. In this way, an enterprise can utilize the cloud network <NUM> to remotely manage the operation of its many computing devices. The management of the computing devices <NUM> via the cloud network <NUM> allows an enterprise to oversee its computing devices in a more efficient manner. For example, with the present embodiments, the cloud network <NUM> can be used to push out the same update to each similar computing device regardless of where the computing device is physically located. This is a more efficient and quicker process compared to the alternative of using one or more administrators that would manually provide the same update to each similar computing device. Furthermore, the cloud network <NUM> also allows for remote management of computing devices where computing devices may be located in different locations (especially in scenarios where the enterprise has multiple different physical locations).

The computing devices <NUM>, as illustrated in <FIG>, can correspond to various different types of computing devices that may not be capable of connecting to the Internet or communicating with the cloud network <NUM>. Exemplary computing devices <NUM> may include (but would not be limited to) computing devices that are used on a daily basis within the enterprise such as pertaining to systems that control temperature, lighting, heating/cooling, and security. Other computing devices that can also be manage on behalf of the enterprise by the cloud network <NUM> can also include more IT-related assets such as switches, routers, servers, desktops, laptops, tablets, printers, and mobile devices.

In some cases, the legacy computing device <NUM> may not be capable of connecting to the Internet (e.g. lighting system) while others may be capable of connecting to the internet but are not currently capable of being managed via the cloud network <NUM> (e.g. printer). This is where the hardware component <NUM> or the internal modification <NUM> come in. The modifications performed on the legacy computing device <NUM> using the hardware component <NUM> or the internal modification <NUM> provide the necessary capabilities for the computing devices <NUM> to connect with the cloud network <NUM> so that they can be managed by the cloud network <NUM>. For the computing devices (such as lighting or heating/cooling systems) that are not capable of connecting to the Internet because they were not provided such functionality initially, the hardware component <NUM> can be used to provide hardware and software elements that would allow the legacy computing device <NUM> to communicate with the cloud network <NUM>. An exemplary hardware component may include a plug-in external device (e.g. external USB dongle) that can be used to attach the hardware component to the legacy computing device <NUM> in order to provide the legacy computing device <NUM> accesses to the capabilities of a wireless communication module.

An exemplary hardware component <NUM> would be made up of at least a hardware portion and a software portion. The hardware portion would correspond to some form of wireless or cellular technology (e.g. Wi-Fi, <NUM>, <NUM>, <NUM>, LTE) that would allow the legacy computing device <NUM> to communicate with other computing devices or connect to the Internet directly. This would be helpful for those computing devices <NUM> that have no way to communicate with other computing devices or connect to the Internet. Furthermore, the hardware component <NUM> would include connective features that would allow the hardware component <NUM> to be integrated with the legacy computing device <NUM>. Such connective features could be a universal serial bus (USB) connector or serial port feature that would allow the hardware component to become plugged into the legacy computing device <NUM>.

Furthermore, the hardware component <NUM> would also include a software portion. The software portion would include instructions stored in memory that would be used to instruct the legacy computing device <NUM> on how to operate the hardware portion <NUM>, for example, operate the wireless or cellular technology to connect to the Internet and communicate with the cloud network <NUM>.

The software portion associated with the hardware component <NUM> may also include instructions to direct the legacy computing device <NUM> to perform a number of different processes. For example, the instructions may provide directions to the legacy computing device <NUM> regarding how to characterize or retrieve information used to advertise the identity of the legacy computing device <NUM> to the cloud network <NUM>. Such instructions are used by the cloud network <NUM> to tailor any updates for the legacy computing device <NUM>, for example, updates that would allow the cloud network <NUM> to manage the type of computing device over the cloud or identify what applications are currently stored on the computing device <NUM> so that corresponding updates can be provided.

Other types of instructions associated with the software portion may also include directions for the legacy computing device <NUM> to connect with other computing devices in order to <NUM>) connect to the Internet and <NUM>) identify where the cloud network <NUM> is located. This allows the legacy computing device <NUM> the ability to reach out to the cloud network <NUM> to establish the secure connection/communication channel that would be used to manage the legacy computing device <NUM> via the cloud network <NUM>. Since the legacy computing device <NUM> may initially be unable to communicate directly with the cloud network <NUM>, the legacy computing device <NUM> may utilize different processes (such as wireless mesh network) using its new wireless or cellular capabilities provided via the hardware portion to connect with other computing devices in order to connect to the Internet and/or communicate with the cloud network <NUM>.

Once the secure connection between the legacy computing device <NUM> and the cloud network <NUM> has been made, the instructions (e.g. software portion) would detail how the legacy computing device <NUM> should identify itself, characterize its own information (e.g. retrieve configuration data), and transmit that data to the cloud network <NUM>. Furthermore, the instructions would be used to instruct how the legacy computing device <NUM> would receive and implement the updates from the cloud network <NUM>. The instructions automate the process of configuring the legacy computing device <NUM> so that the legacy computing device <NUM> can communicate with the cloud network <NUM> and in turn be managed by the cloud network <NUM>.

Alternatively, as described above, the instructions included in the software portion of the hardware component <NUM> could also be used to direct the legacy computing device <NUM> to a configuration server within the cloud network <NUM>. The configuration server could be used to inform to which additional server the legacy computing device <NUM> should communicate with. Specifically, the configuration server can direct the legacy computing device <NUM> to communicate with a management server associated with the enterprise; the management server being part of the cloud network and responsible for managing the computing devices for the associated enterprise. The configuration server would direct the legacy computing device <NUM> to the appropriate management server based on, for example, the identifying information provided by the legacy computing device <NUM>.

In this way, the hardware component <NUM> would allow the legacy computing device <NUM> to connect with the Internet and the cloud network <NUM> when the legacy computing devices <NUM> are already in use by the enterprise by providing hardware portions (e.g. wireless or cellular technology) and software portions (e.g. instructions). In some embodiments, some computing devices <NUM> may have the pre-requisite hardware portions (e.g. wireless or cellular technology) to communicate with other computing devices or the Internet but are unable to connect with the cloud network <NUM>. Furthermore, there may be computing devices <NUM> that may still be in production and not yet in use by an enterprise. In these situations, it may be appropriate to perform internal modifications to the legacy computing device <NUM>, for example, modifying hardware of the legacy computing device <NUM> or storing instructions into the memory of the legacy computing device <NUM>. Such internal modifications <NUM> may be performed to the legacy computing devices <NUM> instead of using the hardware component <NUM>.

In either case (via a hardware component <NUM> or internal modifications <NUM>), the legacy computing device <NUM> is provided an automated way of connecting to the Internet and the cloud network <NUM>. That is because once the modification is performed to the computing device, for example, plugging in the hardware component <NUM>, the instructions included therein automate the process of having the legacy computing device <NUM> utilize the wireless or cellular technology to connect to the Internet and in turn the cloud network <NUM>. If the internal modifications <NUM> are used, the legacy computing device <NUM> would have the necessary capabilities to perform the necessary processes to connect to the Internet and the cloud network <NUM> without any further user involvement. In both cases, a user (e.g. administrator) is not needed to perform any actions on the legacy computing device <NUM> to connect the legacy computing device <NUM> to the internet or the cloud network <NUM>. Herein referred to as zero-touch, the legacy computing device <NUM> is capable of performing the connection to the Internet and the cloud network <NUM> automatically so long as the hardware component <NUM> or the internal modifications <NUM> is provided to the legacy computing device <NUM>.

<FIG> is another conceptual block diagram illustrating cloud-based management features <NUM> that are possible for computing devices in accordance with various embodiments of the subject technology. As discussed above, the cloud network <NUM> can be used by the enterprise to manage its computing devices <NUM>. The management of the computing devices <NUM> by the cloud network <NUM> allows for remote control of the computing devices <NUM> regardless of where the computing devices <NUM> are located within the enterprises' network. Furthermore, the cloud network <NUM> is capable of utilizing information obtained from the computing devices <NUM> and other sources related to the enterprise to identify what updates (if any) should be sent down from the cloud network <NUM> to specific computing devices <NUM> so that the computing devices operate in a particular manner.

With the management of the legacy computing device <NUM> via the cloud network <NUM>, enterprises are able to take advantage of information, for example, about a business location and provide instructions as appropriate for each legacy computing device <NUM>. In an exemplary situation, the cloud network <NUM> may be capable of gathering information regarding each legacy computing device <NUM> pertaining to an enterprise's building. Such information can include when certain computing devices (e.g. switches, routers, servers, laptops, desktops, printers) are used, peak operating hours of the business, and where the computing devices are located and when they are in use within the build. This information that is collected can then be used by the cloud network <NUM> to manage, for example, other computing devices that are part of other systems associated with the enterprise. In one example, the cloud network <NUM> can be used to control the lighting and heating/cooling systems for the building. The lighting and heating/cooling systems can be controlled to operate in a particular manner, for example, to be turned on when employees are utilizing their respective computing devices but on power-saving mode when none of the computing devices are in use (e.g. after work hours when no one is in the building). In the same way, power for various other systems within the building can be controlled such as vending machines, rest rooms, and cleaning services based on the number of computing systems that are in use at a given time. The cloud network <NUM> could also manage the use of the enterprise network services based on the information in order to control bandwidth based on the traffic. More or less networking devices may be activated or deactivated based on the enterprise needs corresponding to the number of computing devices being used and where they are located within the building.

Other features that could be implemented for computing devices <NUM> within the enterprise by the cloud network that manages the computing devices <NUM> include controlling wireless access and security (e.g. VPN) for employees for enterprise computing devices and pushing out updates for the computing devices or applications stored within the computing devices. These updates can be used to maintain the current up-to-date operation of computing devices or applications but also to minimize or prevent exploits (e.g. zero-day) that could interfere with the enterprise's day-to-day operations.

Other functions can also be performed by the cloud network <NUM> in addition to the functions described above (or illustrated in <FIG>) when managing various computing devices <NUM> associated with an enterprise. These functions can be predefined by an administrator or be based on functions performed for other similar enterprises.

<FIG> is a flowchart <NUM> illustrating the steps for configuring legacy computing devices so that the legacy computing devices can be managed via the cloud. As described above, a legacy computing device is a computing device that is not initially configured to communicate with the cloud network where the cloud network would be used to automatically configure or manage the legacy computing device. This can arise in situations where an enterprise is already using a number of computing devices and subsequently sets up and starts using a cloud network to manage its computing devices. The initial computing devices that were used prior to the use of the cloud network may not have the capabilities to communicate with the cloud network or may not have any directions how to connect to the cloud network. Therefore, the present disclosure describes the cloud enablement of these legacy computing devices via zero touch provisioning (i.e. minimal to no outside user input) so that these legacy computing devices can be managed and updated by the cloud network. In this way, any number of different computing devices can become managed by the cloud network within an enterprise thereby allowing the cloud network to automatically and remotely manage the operations and update the enterprise's computing devices as needed.

In a first step, the legacy computing devices that are not currently connected to (or unable to connect to) the Internet or the cloud network are modified so that they are capable to connect to the Internet or the cloud network (in step <NUM>). In particular, the computing devices may be provided hardware portions (e.g. wireless communication technology) that enable wireless or cellular communication between the computing device and other computing devices or provide the ability of the computing device to connect with the Internet. Furthermore, the computing devices may also be provided software portions (e.g. instructions) that direct the computing devices on how to connect with other computing devices in order to find a computing device that is connected to the Internet or with the Internet directly. The software portions can also instruct the computing devices as to what types of information the computing device should provide to the cloud network once the connection between the computing device and the cloud network has been established. The modifications on the computing device can be performed using an external hardware component (as illustrated in <FIG>) that can be connected to (e.g. plugged into) the computing device, for example, via a USB port or serial port. The hardware component would include the hardware portion and the software portion that the computing device may need in order to become cloud enabled thereby capable of communicating with the cloud network.

In some situations the computing device may already have pre-existing wireless or cellular technology that is redundant with the hardware portion of the hardware component. In that case, the hardware component could still be used to modify the operations of the computing device in order to provide the instructions needed to establish communication between the computing device with other computing devices/the Internet/the cloud network. However it may also be possible to modify the computing devices internally as well to provide the necessary software instructing the computing device how to communicate with the cloud network (e.g. where the instructions include the IP address of the cloud network).

Furthermore, there may also be scenarios where the computing device can also be modified internally. For example, hardware and software portions can be incorporated into the legacy computing device in order to modify a previous version of the computing device that would have been incapable of communicating with the cloud network. The user (or other party) can modify the internal hardware of the legacy computing device or download the instructions onto the legacy computing device. In this way, the computing device would be modified from a previous version to now be capable of connecting to other computing devices or the Internet in order to communicate with the cloud network.

Once the legacy computing device has been modified, the hardware portion (e.g. wireless or cellular technology) and the software portion (e.g. instructions) can be used by the legacy computing device to automatically locate and connect with the cloud network. In situations where the legacy computing device may not have been initially connected to the Internet, the computing device may begin by using its wireless or cellular technology to connect with other computing devices (in Step <NUM>). The connection with the other computing devices allows the legacy computing device to establish a mesh network in order to find a computing device that is capable of connecting to the Internet and thus find a way for the computing device to connect to the cloud network.

The computing device that is being cloud enabled (as described herein) may know the identity of the cloud network (e.g. IP address) but not know how to connect to the Internet so that it can communicate with the cloud network. The legacy computing device connects with other computing devices in order to find an Internet connection (in Step <NUM>). The connections with the other computing devices are used to establish a computing network until at least one computing device is capable of connecting to the Internet. Once the computing device connected to the Internet is found, the legacy computing device can subsequently communicate with the cloud network. The legacy computing device can then establish the secure communication channel with the cloud network that will be used by the cloud network to manage and update the legacy computing device.

Once the secure communication channel is established between the computing device and the cloud network, the computing device can begin transmitting its own current configuration data and identifying information to the cloud network (in step <NUM>). The software portion of the hardware component or internal modifications of the legacy computing device includes instructions that direct the legacy computing device to provide types of information that may be needed by the cloud network to identify the type of legacy computing device and the current configuration of different applications or operating systems associated with the legacy computing device.

The information provided by the legacy computing device would facilitate the cloud network in looking for specific updates (stored in databases associated with the cloud network) that can be transmitted back to the legacy computing device (in step <NUM>). In particular, the cloud network would evaluate the current configurations of the legacy computing device and identify any updates that may be necessary to <NUM>) allow the cloud network to manage the computing device or <NUM>) configure applications stored on the legacy computing device or operating system of the computing device to be up-to-date. If there are any conflicts on the legacy computing device that may prevent the cloud network from managing the legacy computing device, these conflicts may be resolved with the updates that are provided from the cloud network. The updates may be stored in memory associated with the cloud network. The cloud network could retrieve the appropriate updates and push those updates, for example, that are application or operating system specific in order to address issues such as security or operability of the application or operating system of the legacy computing device (e.g. zero-day provisioning and addressing/minimizing exploits).

Other updates can be retrieved from memory that would configure the computing device to be managed by the cloud network. These updates can also be provided to the computing device. Once the updates have been received by the computing device from the cloud network, the computing device can proceed with implementing the updates (e.g. patches) to its applications and/or operating system. Once implemented, the computing device can be managed by the cloud network. The cloud network may request information from the computing device or use other sources of information in order to modify the operation of the computing device. This allows the management of the computing device to be performed remotely (via the cloud) regardless of where the computing device is located as opposed to requiring an individual (e.g. administrator) to be at the location of the computing device to implement the updates. Furthermore, the cloud network is capable of providing updates for different applications or the operating system of the computing system on a regular basis (or based on a pre-determined time period) when such updates are available to the cloud network.

<FIG> illustrate systems in accordance with various embodiments. For example, the illustrated systems may correspond to the various computing devices within the network illustrated in <FIG>. The more appropriate system will be apparent to those of ordinary skill in the art when practicing the various embodiments. Persons of ordinary skill in the art will also readily appreciate that other systems are possible.

<FIG> illustrates an example architecture for a conventional bus computing system <NUM> wherein the components of the system are in electrical communication with each other using a bus <NUM>. The computing system <NUM> can include a processing unit (CPU or processor) <NUM> and a system bus <NUM> that may couple various system components including the system memory <NUM>, such as read only memory (ROM) <NUM> and random-access memory (RAM) <NUM>, to the processor <NUM>. The computing system <NUM> can include a cache <NUM> of high-speed memory connected directly with, in close proximity to, or integrated as part of the processor <NUM>. The computing system <NUM> can copy data from the memory <NUM> and/or the storage device <NUM> to the cache <NUM> for quick access by the processor <NUM>. In this way, the cache <NUM> can provide a performance boost that avoids processor delays while waiting for data. These and other modules can control or be configured to control the processor <NUM> to perform various actions. Other system memory <NUM> may be available for use as well. The memory <NUM> can include multiple different types of memory with different performance characteristics. The processor <NUM> can include any general-purpose processor and a hardware module or software module, such as module <NUM><NUM>, module <NUM><NUM>, and module <NUM><NUM> stored in storage device <NUM>, configured to control the processor <NUM> as well as a special-purpose processor where software instructions are incorporated into the actual processor design. The processor <NUM> may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multicore processor may be symmetric or asymmetric.

To enable user interaction with the computing system <NUM>, an input device <NUM> can represent any number of input mechanisms, such as a microphone for speech, a touch-protected screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device <NUM> can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with the computing system <NUM>. The communications interface <NUM> can govern and manage the user input and system output. There may be no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.

Storage device <NUM> can be a non-volatile memory and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) <NUM>, read only memory (ROM) <NUM>, and hybrids thereof.

The storage device <NUM> can include software modules <NUM>, <NUM>, <NUM> for controlling the processor <NUM>. Other hardware or software modules are contemplated. The storage device <NUM> can be connected to the system bus <NUM>. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as the processor <NUM>, bus <NUM>, output device <NUM>, and so forth, to carry out the function.

<FIG> illustrates an example architecture for a conventional chipset computing system <NUM> that can be used in accordance with an embodiment. Similar to <FIG>, the computing system <NUM> can correspond to the computing devices in the network illustrated in <FIG>. The computing system <NUM> can include a processor <NUM>, representative of any number of physically and/or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations. The processor <NUM> can communicate with a chipset <NUM> that can control input to and output from the processor <NUM>. In this example, the chipset <NUM> can output information to an output device <NUM>, such as a display, and can read and write information to storage device <NUM>, which can include magnetic media, and solid state media, for example. The chipset <NUM> can also read data from and write data to RAM <NUM>. A bridge <NUM> for interfacing with a variety of user interface components <NUM> can be provided for interfacing with the chipset <NUM>. The user interface components <NUM> can include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on. Inputs to the computing system <NUM> can come from any of a variety of sources, machine generated and/or human generated.

The chipset <NUM> can also interface with one or more communication interfaces <NUM> that can have different physical interfaces. The communication interfaces <NUM> can include interfaces for wired and wireless LANs, for broadband wireless networks, as well as personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein can include receiving ordered datasets over the physical interface or be generated by the machine itself by processor <NUM> analyzing data stored in the storage device <NUM> or the RAM <NUM>. Further, the computing system <NUM> can receive inputs from a user via the user interface components <NUM> and execute appropriate functions, such as browsing functions by interpreting these inputs using the processor <NUM>.

It will be appreciated that computing systems <NUM> and <NUM> can have more than one processor <NUM> and <NUM>, respectively, or be part of a group or cluster of computing devices networked together to provide greater processing capability.

For clarity of explanation, in some instances the various embodiments may be presented as including individual functional blocks including functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software.

Devices implementing methods according to these disclosures can comprise hardware, firmware, and/or software, and can take any of a variety of form factors.

Claim 1:
A method (<NUM>) for enabling a legacy computing device (<NUM>) to communicate with a cloud network (<NUM>), the legacy computing device being incapable of connecting to the internet or the cloud network, the method comprising:
modifying (<NUM>) the legacy computing device so that the modified legacy computing device is capable of communicating with the cloud network, wherein the modification (<NUM>, <NUM>) is carried out via a hardware component comprising: hardware portions arranged to facilitate communication with other computing devices or the internet, and instructions for the modified legacy computing device directing the modified legacy computing device to communicate with the cloud network, and wherein the hardware component is attachable to the legacy computing device;
connecting (<NUM>) the modified legacy computing device to the internet;
locating (<NUM>) the cloud network;
establishing a secure communication channel between the modified legacy computing device and the cloud network;
transmitting (<NUM>) current configuration data from the modified legacy computing device to the cloud network, wherein the cloud network is configured to evaluate the current configuration data from the modified legacy computing device, and to retrieve updates directed at modifying the current configuration data of the modified legacy computing device to allow the cloud network to manage the modified legacy computing device;
receiving (<NUM>) the updates from the cloud network at the modified legacy computing device; and
incorporating (<NUM>) the received updates at the modified legacy computing device thereby allowing the cloud network to manage the modified legacy computing device.