US20230141746A1 - Internet of things solution deployment in hybrid environment - Google Patents
Internet of things solution deployment in hybrid environment Download PDFInfo
- Publication number
- US20230141746A1 US20230141746A1 US18/093,824 US202318093824A US2023141746A1 US 20230141746 A1 US20230141746 A1 US 20230141746A1 US 202318093824 A US202318093824 A US 202318093824A US 2023141746 A1 US2023141746 A1 US 2023141746A1
- Authority
- US
- United States
- Prior art keywords
- edge gateway
- iot
- response
- deploy
- template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
Definitions
- the Internet of Things is a system including networks of devices and objects, such as sensors, actuators, edge gateways, and data centers, with the purpose of interconnecting all things in such a way as to make the things intelligent, programmable, and more capable of interacting with users and each other.
- An IoT solution may include hardware components such as sensors, actuators, edge gateways, and data centers and software components running on these hardware components. Data may be collected by sensors and transmitted to edge gateways for edge computing and data centers for cloud computing. Data centers and/or edge gateways may generate and transmit commands to actuators based on the computing so that actuators may perform actions according to the commands.
- Conventional IoT solutions may not be suitable in hybrid environments which integrate software and/or hardware components in the IoT solution from different vendors.
- FIG. 1 is a schematic diagram illustrating an example hybrid environment in which one or more IoT solutions are deployed;
- FIG. 2 is a flowchart of an example virtualized computing environment including an example edge gateway agent to facilitate the deployment of one or more IoT solutions in a hybrid environment;
- FIG. 3 is a schematic diagram illustrating an example detailed process to deploy one or more IoT solutions in a hybrid environment.
- FIG. 1 is a schematic diagram illustrating an example hybrid environment 100 in which one or more IoT solutions are deployed. It should be understood that, depending on the desired implementation, hybrid environment 100 may include additional and/or alternative components than that shown in FIG. 1 .
- a first homogeneous IoT solution 110 and a second homogeneous IoT solution 120 are deployed in hybrid environment 100 .
- a homogeneous IoT solution software and/or hardware components are from a single vendor.
- Homogeneous IoT solution 110 is provided by a first single vendor
- homogenous IoT solution 120 is provided by a second single vendor.
- Homogeneous IoT solution 110 may include, but not limited to, data center 111 , edge gateway 112 , sensor 113 , actuator 114 , and connections 115 and 116 . Homogeneous IoT solution 110 may also include IoT service component 117 deployed in data center 111 and IoT service component 118 deployed in edge gateway 112 .
- homogeneous IoT solution 120 may include, but not limited to, data center 121 , edge gateway 122 , sensor 123 , and connections 124 and 125 .
- Homogeneous IoT solution 120 may also include IoT service component 126 deployed in data center 121 and IoT service components 127 deployed in edge gateway 122 .
- edge gateway 112 is disposed close to sensor 113 and actuator 114 , and connection 116 is implemented by a relatively short-ranged connection, such as Bluetooth, Wi-Fi, Zigbee, or Modbus.
- Data center 111 is distant from edge gateway 112 , sensor 113 , and actuator 114 .
- Connection 115 is implemented by a relatively long-ranged connection, such as connections implemented by Hypertext Transfer 2 (HTTP 2) or Message Queuing Telemetry Transport (MQTT).
- edge gateway 122 is close to sensor 123
- data center 121 is distant from edge gateway 122 and sensor 123 .
- Connection 124 is a relatively long-ranged connection while connection 125 is a relatively short-ranged connection.
- homogeneous IoT solution 110 is for monitoring and controlling an offshore oil field.
- Sensor 113 and actuator 114 may be disposed at the offshore oil field.
- Sensor 113 is configured to detect the pressure of the offshore oil field.
- Actuator 114 is configured to open a valve to release the pressure.
- Edge gateway 112 is also disposed at the first offshore oil field.
- IoT service component 118 is configured to interface and communicate with sensor 113 and actuator 114 through connection 116 .
- Edge gateway 112 is configured to communicate with data center 111 . Therefore, pressures detected by sensor 113 may be transmitted to onshore data center 111 through connections 116 and 115 .
- User 150 may access data center 111 through IoT service component 117 to remotely monitor the detected pressure.
- user 150 may issue a command of opening the valve to release the pressure to cloud 111 through IoT service component 117 .
- Cloud 111 is configured to send the command to edge gateway 112 through connection 115 .
- IoT service component 118 on edge gateway 112 is configured to send the command to actuator 114 through connection 116 so that actuator 114 may open the valve to release pressure according to the command.
- homogeneous IoT solution 120 is for monitoring and controlling a chemistry factory.
- Sensor 123 may be disposed in a remote pipeline of the factory to detect a temperature.
- Edge gateway 122 is disposed near the remote pipeline but away from a central control room of the factory.
- IoT service component 127 is configured to interface and communicate with sensor 123 through connection 125 .
- IoT service component 128 has machine learning capability.
- Edge gateway 122 is configured to transmit data collected by sensor 123 back to and receive data from data center 121 at the central control room of the factory through connection 124 .
- User 150 may access data center 121 through IoT service component 126 to monitor the detected temperature.
- IoT service component 128 is configured to determine a threshold temperature based on detected high temperatures and the corresponding lowered temperatures.
- edge computing at edge gateway 112 is important because connection 115 may be unstable in severe weather conditions (e.g., hurricanes or typhoons) and the commands to release the pressure may not be able to transmit to edge gateway 112 in time.
- IoT service component 128 is specifically designed for homogenous IoT solution 120 and may not be compatible with components (e.g., edge gateway 112 ) of another homogeneous IoT solution 110 .
- edge gateway 112 is configured as virtualized computing environment to run IoT service components originally designed for other IoT solutions (e.g., IoT service component 128 ).
- the virtualized computing environment includes edge gateway agent 130 . Details of the edge gateway agents will be further described below.
- virtualized computing environment 200 includes multiple hosts (one shown for simplicity, e.g., edge gateway 112 in FIG. 1 ) that are inter-connected via physical network 205 .
- Each host 210 includes suitable hardware 212 and virtualization software (e.g., hypervisor 214 ) to support various virtual machines 231 - 232 .
- virtualized computing environment 200 may include any number of hosts, where each host may be supporting one or more virtual machines. In addition, these hosts may be disposed at the same premises (e.g., the offshore oil field set forth above).
- VM 1 231 and VM 2 232 each represents a software implementation of a physical machine.
- a virtualized computing instance may represent an addressable data compute node or isolated user space instance.
- any suitable technology may be used to provide isolated user space instances, not just hardware virtualization.
- Other virtualized computing instances may include containers (e.g., running within a VM or on top of a host operating system without the need for a hypervisor or separate operating system or implemented as an operating system level virtualization), virtual private servers, client computers, etc.
- containers e.g., running within a VM or on top of a host operating system without the need for a hypervisor or separate operating system or implemented as an operating system level virtualization
- virtual private servers e.g., client computers, etc.
- the virtual machines may also be complete computational environments, containing virtual equivalents of the hardware and software components of a physical computing system.
- An application supported by a virtual machine may be a containerized application.
- hypervisor may refer generally to a software layer or component that supports the execution of multiple virtualized computing instances, including system-level software in guest virtual machines that supports namespace containers such as Docker, etc.
- IoT service component 128 is configured as compiled executable files or container images to run on a virtualized computing instance or workload (e.g., VM 1 231 and VM 2 232 ) in virtualized computing environment 200 .
- Hypervisor 214 maintains a mapping between underlying hardware 212 and virtual resources allocated to respective virtual machines 231 - 232 .
- Hardware 212 includes suitable physical components, such as central processing unit(s) or processor(s) 220 ; memory 222 ; physical network interface controllers (NICs) 224 ; and storage disk(s) 228 accessible via storage controller(s) 226 , etc.
- Virtual resources are allocated to each virtual machine 231 / 232 to support guest operating system (OS) 251 / 252 and IoT application 241 / 242 .
- the virtual resources may include virtual CPU, virtual memory, virtual disk, virtual network interface controller (VNIC), etc.
- VNIC virtual network interface controller
- VNICs 271 - 272 also known as virtual Ethernet cards. Although one-to-one relationships are shown, one virtual machine may be associated with multiple VNICs (each VNIC having its own network address).
- Hypervisor 214 further implements virtual switch 216 to handle egress packets from, and ingress packets to, respective virtual machines 231 - 232 .
- packet may refer generally to a group of bits that can be transported together from a source to a destination, such as a message, frame, segment, datagram, etc.
- VM 1 231 and VM 2 232 implement respective IoT applications 241 - 242 to interact with some IoT components (e.g., sensor 113 , actuator 114 in FIG.
- Data center 270 may support IoT solution manager 272 to manage and/or deploy IoT applications 241 and 242 in virtualized computing environment 200 .
- hypervisor 214 is configured to deploy edge gateway agent 218 to communicate with IoT solution manager 272 .
- Edge gateway agent 218 collects information 293 associated with host 210 and sends the collected information to IoT solution manager 272 .
- IoT solution manager 272 may issue a command to deploy IoT applications 241 and 242 .
- FIG. 3 is a flowchart of example detailed process 300 for deploying IoT application in virtualized computing environment 200 .
- Example process 300 may include one or more operations, functions, or actions illustrated by one or more blocks, such as 305 to 340 . The various blocks may be combined into fewer blocks, divided into additional blocks, and/or eliminated depending on the desired implementation.
- hypervisor 214 on host 210 hypervisor 214 ′ on host 210 ′ and IoT solution manager 272 may implement example process 300 .
- edge gateway agent 218 In conjunction with FIG. 2 , at 305 in FIG. 3 , host 210 , or more particularly hypervisor 214 , deploys edge gateway agent 218 to facilitate IoT solution deployments.
- edge gateway agent 218 is supported by the host OS of host 210 .
- edge gateway agent 218 is configured to push metadata 293 of host 210 , including hardware and software information of host 210 , to IoT solution manager 272 .
- Edge gateway agent 218 is also configured to push system usage metrics 293 of host 210 , including usages of hardware 212 , to IoT solution manager 272 .
- Edge gateway agent 218 is also configured to push location information of host 210 to IoT solution manager 272 .
- edge gateway agent 218 ′ deploys edge gateway agent 218 ′ to facilitate IoT solution deployments.
- edge gateway agent 218 ′ is supported by the host OS of host 210 ′.
- edge gateway agent 218 ′ is configured to push metadata 293 ′ of host 210 ′, including hardware and software information of host 210 ′, to IoT solution manager 272 .
- Edge gateway agent 218 ′ is also configured to push system usage metrics 293 ′ of host 210 ′, including usages of hardware 212 ′, to IoT solution manager 272 .
- Edge gateway agent 218 ′ is also configured to push location information of host 210 ′ to IoT solution manager 272 .
- edge gateway agent 218 may use passthrough approaches to collect metadata and system usage metrics 293 of one single host 210 or virtualization approaches to aggregate metadata and system usage metrics 293 and 293 ′ of multiple hosts 210 and 210 ′ disposed in one single premise.
- IoT solution manager 272 is configured to register hosts 210 and 210 ′ based on metadata and/or system usage metrics 293 and 293 ′ as a potential resource to deploy an IoT solution implemented by one or more IoT applications.
- IoT solution manager 272 is configured to receive an IoT solution deployment request.
- the IoT solution deployment request may include an IoT solution template to deploy the IoT solution.
- the IoT solution template may specify one or more requirements to deploy the IoT solution.
- IoT solution manager 272 is configured to determine whether hypervisors 214 or 214 ′ fulfils a first requirement specified in the IoT solution template. In response to a determination that hypervisors 214 or 214 ′ does not fulfil the first requirement, at 325 in FIG. 3 , IoT solution manager 272 is configured to reject the deployment of the IoT solution on hosts 210 or 210 ′.
- the first requirement may include, but not limited to, an architecture on which the IoT solution is to be running and a communication protocol that the IoT solution uses.
- Some example architecture may include x86, arm64, and arm 32 .
- Some example communication protocols may include HTTP2 and MQTT.
- hosts 210 or 210 ′ may be edge gateway 112 disposed at a remote place, such as an offshore oil field and hypervisor 214 or 214 ′ may be outdated to support the architecture on which the IoT solution to be running and the communication protocol that the IoT solution uses.
- information associated with hypervisors 214 and 214 ′ e.g., vendor and version number
- IoT solution manager 272 is configured to determine whether edge gateways 214 or 214 ′ fulfil a second requirement specified in the IoT solution template.
- IoT solution manager 272 is configured to determine whether hosts 210 and 210 ′ are disposed in the same premises based on the first location information and the second location information.
- IoT solution manager 272 in response to the determination that hosts 210 and 210 ′ are disposed in the same premises, IoT solution manager 272 is configured to aggregate system usage metrics 293 and 293 ′ to determine whether aggregated available hardware resources of hosts 210 and 210 ′ fulfil the second requirement. In response to the aggregated available hardware resources of hosts 210 and 210 ′ does not fulfil the second requirement, at 325 in FIG. 3 , IoT solution manager 272 is configured to reject the deployment of the IoT solution.
- IoT solution manager 272 is configured to push the IoT solution template including compiled executable files or container images to hypervisor 214 and 214 ′.
- hypervisor 214 is configured to provision VM 1 231 and VM 2 232 according to the IoT solution template to run the compiled executable files or container images as IoT applications 241 and 242 .
- hypervisor 214 ′ is configured to provision VM 1 231 ′ and VM 2 232 ′ according to the IoT solution template to run the compiled executable files or container images as IoT applications 241 ′ and 242 ′.
- IoT solution manager 272 in response to the determination that hosts 210 and 210 ′ are disposed in different premises, IoT solution manager 272 is configured to determine whether available hardware resources of host 210 fulfils the second requirement based on system usage metrics 293 . In response to the available hardware resources of host 210 does not fulfil the second requirement, at 325 in FIG. 3 , IoT solution manager 272 is configured to reject the deployment of the IoT solution on host 210 . Similarly, IoT solution manager 272 is also configured to determine whether available hardware resources of host 210 ′ fulfill the second requirement based on system usage metrics 293 ′. In response to the available hardware resources of host 210 ′ does not fulfil the second requirement, at 325 in FIG. 3 , IoT solution manager 272 is configured to reject the deployment of the IoT solution on host 210 ′.
- IoT solution manager 272 is configured to push the IoT solution template including compiled executable files or container images to hypervisor 214 .
- hypervisor 214 is configured to provision VM 1 231 and VM 2 232 according to the IoT solution template to run the compiled executable files or container images as IoT applications 241 and 242 .
- IoT solution manager 272 is configured to push the IoT solution template including compiled executable files or container images to hypervisor 214 ′.
- hypervisor 214 ′ is configured to provision VM 1 231 ′ and VM 2 232 ′ according to the IoT solution template to run the compiled executable files or container images as IoT applications 241 ′ and 242 ′.
- the above examples can be implemented by hardware (including hardware logic circuitry), software or firmware or a combination thereof.
- the above examples may be implemented by any suitable computing device, computer system, etc.
- the computer system may include processor(s), memory unit(s) and physical NIC(s) that may communicate with each other via a communication bus, etc.
- the computer system may include a non-transitory computer-readable medium having stored thereon instructions or program code that, when executed by the processor, cause the processor to perform processes described herein with reference to FIG. 1 to FIG. 5 .
- a computer system may be deployed in virtualized computing environment 100 to perform the functionality of host 110 or server 180 .
- Special-purpose hardwired circuitry may be in the form of, for example, one or more application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), and others.
- ASICs application-specific integrated circuits
- PLDs programmable logic devices
- FPGAs field-programmable gate arrays
- processor is to be interpreted broadly to include a processing unit, ASIC, logic unit, or programmable gate array etc.
- a computer-readable storage medium may include recordable/non recordable media (e.g., read-only memory (ROM), random access memory (RAM), magnetic disk or optical storage media, flash memory devices, etc.).
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Example methods are provided to deploy an Internet of Things (IoT) solution in a hybrid environment. The methods include deploying a first agent application on a first edge gateway of a first vendor by the first edge gateway. The first agent application is configured to collect a first set of information associated with the first edge gateway. The methods include deploying a second agent application on a second edge gateway of a second vendor by the second edge gateway. The second agent application is configured to collect a second set of information associated with the second edge gateway. In response to a determination of a first virtualized computing environment on the first edge gateway or a second virtualized computing environment on the second edge gateway fulfils a first requirement of a template to deploy the IoT solution, the methods include deploying the IoT solution in the first virtualized computing environment, the second virtualized computing environment, or both.
Description
- The present application is a continuation application under 35 U.S.C. § 120 of U.S. patent application Ser. No. 16/683,269, filed on Nov. 14, 2019, which is incorporated herein by reference in its entirety.
- Unless otherwise indicated herein, the approaches described in this section are not admitted to be prior art by inclusion in this section.
- The Internet of Things (IoT) is a system including networks of devices and objects, such as sensors, actuators, edge gateways, and data centers, with the purpose of interconnecting all things in such a way as to make the things intelligent, programmable, and more capable of interacting with users and each other. An IoT solution may include hardware components such as sensors, actuators, edge gateways, and data centers and software components running on these hardware components. Data may be collected by sensors and transmitted to edge gateways for edge computing and data centers for cloud computing. Data centers and/or edge gateways may generate and transmit commands to actuators based on the computing so that actuators may perform actions according to the commands. Conventional IoT solutions may not be suitable in hybrid environments which integrate software and/or hardware components in the IoT solution from different vendors.
-
FIG. 1 is a schematic diagram illustrating an example hybrid environment in which one or more IoT solutions are deployed; -
FIG. 2 is a flowchart of an example virtualized computing environment including an example edge gateway agent to facilitate the deployment of one or more IoT solutions in a hybrid environment; and -
FIG. 3 is a schematic diagram illustrating an example detailed process to deploy one or more IoT solutions in a hybrid environment. - In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented here. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the drawings, can be arranged, substituted, combined, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
- Challenges relating to an Internet of Things (IoT) solution deployment in a hybrid environment will now be explained in more detail using
FIG. 1 .FIG. 1 is a schematic diagram illustrating anexample hybrid environment 100 in which one or more IoT solutions are deployed. It should be understood that, depending on the desired implementation,hybrid environment 100 may include additional and/or alternative components than that shown inFIG. 1 . - In the example illustrated in
FIG. 1 , a firsthomogeneous IoT solution 110 and a secondhomogeneous IoT solution 120 are deployed inhybrid environment 100. In a homogeneous IoT solution, software and/or hardware components are from a single vendor.Homogeneous IoT solution 110 is provided by a first single vendor, andhomogenous IoT solution 120 is provided by a second single vendor. -
Homogeneous IoT solution 110 may include, but not limited to,data center 111,edge gateway 112,sensor 113,actuator 114, and 115 and 116. Homogeneous IoTconnections solution 110 may also include IoTservice component 117 deployed indata center 111 and IoTservice component 118 deployed inedge gateway 112. - Similarly,
homogeneous IoT solution 120 may include, but not limited to,data center 121,edge gateway 122,sensor 123, and 124 and 125. Homogeneous IoTconnections solution 120 may also include IoTservice component 126 deployed indata center 121 and IoTservice components 127 deployed inedge gateway 122. - In some embodiments,
edge gateway 112 is disposed close tosensor 113 andactuator 114, andconnection 116 is implemented by a relatively short-ranged connection, such as Bluetooth, Wi-Fi, Zigbee, or Modbus.Data center 111 is distant fromedge gateway 112,sensor 113, andactuator 114.Connection 115 is implemented by a relatively long-ranged connection, such as connections implemented by Hypertext Transfer 2 (HTTP 2) or Message Queuing Telemetry Transport (MQTT). Similarly,edge gateway 122 is close tosensor 123, anddata center 121 is distant fromedge gateway 122 andsensor 123.Connection 124 is a relatively long-ranged connection whileconnection 125 is a relatively short-ranged connection. - For illustration only, for example,
homogeneous IoT solution 110 is for monitoring and controlling an offshore oil field.Sensor 113 andactuator 114 may be disposed at the offshore oil field.Sensor 113 is configured to detect the pressure of the offshore oil field. Actuator 114 is configured to open a valve to release the pressure. Edgegateway 112 is also disposed at the first offshore oil field.IoT service component 118 is configured to interface and communicate withsensor 113 andactuator 114 throughconnection 116. Edgegateway 112 is configured to communicate withdata center 111. Therefore, pressures detected bysensor 113 may be transmitted toonshore data center 111 through 116 and 115.connections User 150 may accessdata center 111 throughIoT service component 117 to remotely monitor the detected pressure. In response to the detected pressure exceeding a threshold,user 150 may issue a command of opening the valve to release the pressure to cloud 111 throughIoT service component 117. Cloud 111 is configured to send the command to edgegateway 112 throughconnection 115.IoT service component 118 onedge gateway 112 is configured to send the command toactuator 114 throughconnection 116 so thatactuator 114 may open the valve to release pressure according to the command. - For illustration only, for example,
homogeneous IoT solution 120 is for monitoring and controlling a chemistry factory.Sensor 123 may be disposed in a remote pipeline of the factory to detect a temperature. Edgegateway 122 is disposed near the remote pipeline but away from a central control room of the factory. IoTservice component 127 is configured to interface and communicate withsensor 123 throughconnection 125. IoTservice component 128 has machine learning capability. Edgegateway 122 is configured to transmit data collected bysensor 123 back to and receive data fromdata center 121 at the central control room of the factory throughconnection 124.User 150 may accessdata center 121 throughIoT service component 126 to monitor the detected temperature. In response to the detected temperature exceeding a threshold,user 150 may take actions to lower the temperature (e.g., increasing a flow rate of a cooling pipeline sleeved onto the remote pipeline). In some embodiments, based on the machine learning capability, IoTservice component 128 is configured to determine a threshold temperature based on detected high temperatures and the corresponding lowered temperatures. - In some embodiments, edge computing at
edge gateway 112 is important becauseconnection 115 may be unstable in severe weather conditions (e.g., hurricanes or typhoons) and the commands to release the pressure may not be able to transmit toedge gateway 112 in time. In some embodiments, there is a need to deployIoT service component 128 atedge gateway 112 to determine the threshold pressure and locally issue commands to release the pressure atedge gateway 112. Conventionally, IoTservice component 128 is specifically designed forhomogenous IoT solution 120 and may not be compatible with components (e.g., edge gateway 112) of anotherhomogeneous IoT solution 110. - In some embodiments,
edge gateway 112 is configured as virtualized computing environment to run IoT service components originally designed for other IoT solutions (e.g., IoT service component 128). The virtualized computing environment includesedge gateway agent 130. Details of the edge gateway agents will be further described below. - In the example in
FIG. 2 ,virtualized computing environment 200 includes multiple hosts (one shown for simplicity, e.g.,edge gateway 112 inFIG. 1 ) that are inter-connected viaphysical network 205. Eachhost 210 includessuitable hardware 212 and virtualization software (e.g., hypervisor 214) to support various virtual machines 231-232. In practice,virtualized computing environment 200 may include any number of hosts, where each host may be supporting one or more virtual machines. In addition, these hosts may be disposed at the same premises (e.g., the offshore oil field set forth above).VM1 231 andVM2 232 each represents a software implementation of a physical machine. - Although examples of the present disclosure refer to virtual machines, it should be understood that a “virtual machine” running on
host 210 is merely one example of a “virtualized computing instance” or “workload.” A virtualized computing instance may represent an addressable data compute node or isolated user space instance. In practice, any suitable technology may be used to provide isolated user space instances, not just hardware virtualization. Other virtualized computing instances may include containers (e.g., running within a VM or on top of a host operating system without the need for a hypervisor or separate operating system or implemented as an operating system level virtualization), virtual private servers, client computers, etc. Such container technology is available from, among others, Docker, Inc. The virtual machines may also be complete computational environments, containing virtual equivalents of the hardware and software components of a physical computing system. An application supported by a virtual machine may be a containerized application. The term “hypervisor” may refer generally to a software layer or component that supports the execution of multiple virtualized computing instances, including system-level software in guest virtual machines that supports namespace containers such as Docker, etc. In some embodiments, in conjunction withFIG. 1 ,IoT service component 128 is configured as compiled executable files or container images to run on a virtualized computing instance or workload (e.g.,VM1 231 and VM2 232) invirtualized computing environment 200. -
Hypervisor 214 maintains a mapping betweenunderlying hardware 212 and virtual resources allocated to respective virtual machines 231-232.Hardware 212 includes suitable physical components, such as central processing unit(s) or processor(s) 220;memory 222; physical network interface controllers (NICs) 224; and storage disk(s) 228 accessible via storage controller(s) 226, etc. Virtual resources are allocated to eachvirtual machine 231/232 to support guest operating system (OS) 251/252 andIoT application 241/242. Corresponding tohardware 212, the virtual resources may include virtual CPU, virtual memory, virtual disk, virtual network interface controller (VNIC), etc. In the example inFIG. 2 , virtual machines 231-232 are associated with respective VNICs 271-272 (also known as virtual Ethernet cards). Although one-to-one relationships are shown, one virtual machine may be associated with multiple VNICs (each VNIC having its own network address). -
Hypervisor 214 further implementsvirtual switch 216 to handle egress packets from, and ingress packets to, respective virtual machines 231-232. The term “packet” may refer generally to a group of bits that can be transported together from a source to a destination, such as a message, frame, segment, datagram, etc. For example inFIG. 2 ,VM1 231 andVM2 232 implement respective IoT applications 241-242 to interact with some IoT components (e.g.,sensor 113,actuator 114 inFIG. 1 andother edge gateways 210 at the same premises) in an edge computing level through a short-rangedphysical network 205 and other IoT components (e.g., data center 270) remotely in a cloud computing level through a long-rangedphysical network 205.Data center 270 may supportIoT solution manager 272 to manage and/or deploy 241 and 242 inIoT applications virtualized computing environment 200. - In some embodiments,
hypervisor 214 is configured to deployedge gateway agent 218 to communicate withIoT solution manager 272.Edge gateway agent 218 collectsinformation 293 associated withhost 210 and sends the collected information toIoT solution manager 272. In response,IoT solution manager 272 may issue a command to deploy 241 and 242.IoT applications -
FIG. 3 is a flowchart of exampledetailed process 300 for deploying IoT application invirtualized computing environment 200.Example process 300 may include one or more operations, functions, or actions illustrated by one or more blocks, such as 305 to 340. The various blocks may be combined into fewer blocks, divided into additional blocks, and/or eliminated depending on the desired implementation. As will be described further below,hypervisor 214 onhost 210,hypervisor 214′ onhost 210′ andIoT solution manager 272 may implementexample process 300. - In conjunction with
FIG. 2 , at 305 inFIG. 3 ,host 210, or more particularlyhypervisor 214, deploysedge gateway agent 218 to facilitate IoT solution deployments. In some embodiments,edge gateway agent 218 is supported by the host OS ofhost 210. In some embodiments,edge gateway agent 218 is configured to pushmetadata 293 ofhost 210, including hardware and software information ofhost 210, toIoT solution manager 272.Edge gateway agent 218 is also configured to pushsystem usage metrics 293 ofhost 210, including usages ofhardware 212, toIoT solution manager 272.Edge gateway agent 218 is also configured to push location information ofhost 210 toIoT solution manager 272. - Similarly, at 305′ in
FIG. 3 , host 210′, or more particularly hypervisor 214′, deploysedge gateway agent 218′ to facilitate IoT solution deployments. In some embodiments,edge gateway agent 218′ is supported by the host OS ofhost 210′. In some embodiments,edge gateway agent 218′ is configured to pushmetadata 293′ ofhost 210′, including hardware and software information ofhost 210′, toIoT solution manager 272.Edge gateway agent 218′ is also configured to pushsystem usage metrics 293′ ofhost 210′, including usages ofhardware 212′, toIoT solution manager 272.Edge gateway agent 218′ is also configured to push location information ofhost 210′ toIoT solution manager 272. - In some embodiments,
edge gateway agent 218 may use passthrough approaches to collect metadata andsystem usage metrics 293 of onesingle host 210 or virtualization approaches to aggregate metadata and 293 and 293′ ofsystem usage metrics 210 and 210′ disposed in one single premise.multiple hosts - At 310 in
FIG. 3 ,IoT solution manager 272 is configured to register 210 and 210′ based on metadata and/orhosts 293 and 293′ as a potential resource to deploy an IoT solution implemented by one or more IoT applications.system usage metrics - At 315 in
FIG. 3 ,IoT solution manager 272 is configured to receive an IoT solution deployment request. The IoT solution deployment request may include an IoT solution template to deploy the IoT solution. The IoT solution template may specify one or more requirements to deploy the IoT solution. - At 320 in
FIG. 3 ,IoT solution manager 272 is configured to determine whether 214 or 214′ fulfils a first requirement specified in the IoT solution template. In response to a determination that hypervisors 214 or 214′ does not fulfil the first requirement, at 325 inhypervisors FIG. 3 ,IoT solution manager 272 is configured to reject the deployment of the IoT solution on 210 or 210′.hosts - In some embodiments, the first requirement may include, but not limited to, an architecture on which the IoT solution is to be running and a communication protocol that the IoT solution uses. Some example architecture may include x86, arm64, and arm 32. Some example communication protocols may include HTTP2 and MQTT.
- In conjunction with
FIG. 1 andFIG. 2 , hosts 210 or 210′ may beedge gateway 112 disposed at a remote place, such as an offshore oil field and 214 or 214′ may be outdated to support the architecture on which the IoT solution to be running and the communication protocol that the IoT solution uses. In some embodiments, at 305 and 305′ inhypervisor FIG. 3 , information associated with 214 and 214′ (e.g., vendor and version number) may be also collected byhypervisors edge gateway agents 218/218′ and sent toIoT solution manager 272. In some other embodiments, in response to a determination that hypervisors 214 or 214′ fulfils the first requirement, at 330 inFIG. 3 ,IoT solution manager 272 is configured to determine whether 214 or 214′ fulfil a second requirement specified in the IoT solution template.edge gateways - More specifically, at 330 in
FIG. 3 ,IoT solution manager 272 is configured to determine whether 210 and 210′ are disposed in the same premises based on the first location information and the second location information.hosts - In some embodiments, in response to the determination that hosts 210 and 210′ are disposed in the same premises,
IoT solution manager 272 is configured to aggregate 293 and 293′ to determine whether aggregated available hardware resources ofsystem usage metrics 210 and 210′ fulfil the second requirement. In response to the aggregated available hardware resources ofhosts 210 and 210′ does not fulfil the second requirement, at 325 inhosts FIG. 3 ,IoT solution manager 272 is configured to reject the deployment of the IoT solution. - In response to the aggregated available hardware resources of
210 and 210′ fulfil the second requirement, at 335 and 335′ inhosts FIG. 3 ,IoT solution manager 272 is configured to push the IoT solution template including compiled executable files or container images to 214 and 214′. In response to receiving the IoT solution template, at 340 inhypervisor FIG. 3 ,hypervisor 214 is configured to provisionVM1 231 andVM2 232 according to the IoT solution template to run the compiled executable files or container images as 241 and 242. Similarly, at 340′ inIoT applications FIG. 3 ,hypervisor 214′ is configured to provisionVM1 231′ andVM2 232′ according to the IoT solution template to run the compiled executable files or container images asIoT applications 241′ and 242′. - In some other embodiments, in response to the determination that hosts 210 and 210′ are disposed in different premises,
IoT solution manager 272 is configured to determine whether available hardware resources ofhost 210 fulfils the second requirement based onsystem usage metrics 293. In response to the available hardware resources ofhost 210 does not fulfil the second requirement, at 325 inFIG. 3 ,IoT solution manager 272 is configured to reject the deployment of the IoT solution onhost 210. Similarly,IoT solution manager 272 is also configured to determine whether available hardware resources ofhost 210′ fulfill the second requirement based onsystem usage metrics 293′. In response to the available hardware resources ofhost 210′ does not fulfil the second requirement, at 325 inFIG. 3 ,IoT solution manager 272 is configured to reject the deployment of the IoT solution onhost 210′. - In response to the available hardware resources of
host 210 fulfilling the second requirement, at 335 inFIG. 3 ,IoT solution manager 272 is configured to push the IoT solution template including compiled executable files or container images tohypervisor 214. In response to receiving the IoT solution template, at 340 inFIG. 3 ,hypervisor 214 is configured to provisionVM1 231 andVM2 232 according to the IoT solution template to run the compiled executable files or container images as 241 and 242.IoT applications - Similarly, in response to the available hardware resources of
host 210′ fulfilling the second requirement, at 335′ inFIG. 3 ,IoT solution manager 272 is configured to push the IoT solution template including compiled executable files or container images to hypervisor 214′. In response to receiving the IoT solution template, at 340′ inFIG. 3 ,hypervisor 214′ is configured to provisionVM1 231′ andVM2 232′ according to the IoT solution template to run the compiled executable files or container images asIoT applications 241′ and 242′. - Computer System
- The above examples can be implemented by hardware (including hardware logic circuitry), software or firmware or a combination thereof. The above examples may be implemented by any suitable computing device, computer system, etc. The computer system may include processor(s), memory unit(s) and physical NIC(s) that may communicate with each other via a communication bus, etc. The computer system may include a non-transitory computer-readable medium having stored thereon instructions or program code that, when executed by the processor, cause the processor to perform processes described herein with reference to
FIG. 1 toFIG. 5 . For example, a computer system may be deployed invirtualized computing environment 100 to perform the functionality ofhost 110 or server 180. - The techniques introduced above can be implemented in special-purpose hardwired circuitry, in software and/or firmware in conjunction with programmable circuitry, or in a combination thereof. Special-purpose hardwired circuitry may be in the form of, for example, one or more application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), and others. The term ‘processor’ is to be interpreted broadly to include a processing unit, ASIC, logic unit, or programmable gate array etc.
- The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams, flowcharts, and/or examples. Insofar as such block diagrams, flowcharts, and/or examples contain one or more functions and/or operations, it will be understood by those within the art that each function and/or operation within such block diagrams, flowcharts, or examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or any combination thereof.
- Those skilled in the art will recognize that some aspects of the embodiments disclosed herein, in whole or in part, can be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and or firmware would be well within the skill of one of skill in the art in light of this disclosure.
- Software and/or to implement the techniques introduced here may be stored on a non-transitory computer-readable storage medium and may be executed by one or more general-purpose or special-purpose programmable microprocessors. A “computer-readable storage medium”, as the term is used herein, includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant (PDA), mobile device, manufacturing tool, any device with a set of one or more processors, etc.). A computer-readable storage medium may include recordable/non recordable media (e.g., read-only memory (ROM), random access memory (RAM), magnetic disk or optical storage media, flash memory devices, etc.).
- The drawings are only illustrations of an example, wherein the units or procedure shown in the drawings are not necessarily essential for implementing the present disclosure. Those skilled in the art will understand that the units in the device in the examples can be arranged in the device in the examples as described, or can be alternatively located in one or more devices different from that in the examples. The units in the examples described can be combined into one module or further divided into a plurality of sub-units.
Claims (19)
1. A method to deploy an Internet of Things (IoT) solution in a hybrid environment, wherein the method comprises:
deploying a first agent application on a first edge gateway of a first vendor, by the first edge gateway, to collect a first set of information associated with the first edge gateway;
deploying a second agent application on a second edge gateway of a second vendor, by the second edge gateway, to collect a second set of information associated with the second edge gateway; and
in response to a determination that a first virtualization software on the first edge gateway or a second virtualization software on the second edge gateway fulfils a first requirement of a template to deploy the IoT solution, receiving the template at the first edge gateway or the second edge gateway from a management entity to deploy the IoT solution on the first edge gateway, the second edge gateway, or both.
2. The method of claim 1 , wherein the first set of information includes information associated with the first virtualization software and the second set of information includes information associated with the second virtualization software.
3. The method of claim 2 , wherein the information associated with the first virtualization software includes the first vendor and a first version of the first virtualization software and the information associated with the second virtualization software includes the second vendor and a second version of the second virtualization software.
4. The method of claim 1 , wherein the first set of information includes a first location information of the first edge gateway and the second set of information includes a second location information of the second edge gateway, the method further comprising:
in response to a determination that the first edge gateway and the second edge gateway are disposed in the same premises,
aggregating available hardware resources of the first edge gateway and available hardware resources of the second edge gateway to fulfil a second requirement of the template; and
deploying the IoT solution on the first edge gateway and the second edge gateway.
5. The method of claim 4 , the method further comprising:
in response to a determination that the first edge gateway is disposed in a first premises and the second edge gateway is disposed in a second premises,
deploying the IoT solution on the first edge gateway in response that, based on the first set of information, available hardware resources of the first edge gateway fulfil the second requirement of the template.
6. The method of claim 4 , the method further comprising:
in response to a determination that the first edge gateway is disposed in a first premises and the second edge gateway is disposed in a second premises,
rejecting to deploy the IoT solution on the second edge gateway in response that, based on the second set of information, available hardware resources of the second edge gateway do not fulfil the second requirement of the template.
7. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor, cause the processor to deploy an Internet of Things (IoT) solution in a hybrid environment, wherein the method comprises:
deploying a first agent application on a first edge gateway of a first vendor, by the first edge gateway, to collect a first set of information associated with the first edge gateway;
deploying a second agent application on a second edge gateway of a second vendor, by the second edge gateway, to collect a second set of information associated with the second edge gateway; and
in response to a determination that a first virtualization software on the first edge gateway or a second virtualization software on the second edge gateway fulfils a first requirement of a template to deploy the IoT solution, receiving the template at the first edge gateway or the second edge gateway from a management entity to deploy the IoT solution on the first edge gateway, the second edge gateway, or both.
8. The non-transitory computer-readable storage medium of claim 7 , wherein the first set of information includes information associated with the first virtualization software and the second set of information includes information associated with the second virtualization software.
9. The non-transitory computer-readable storage medium of claim 8 , wherein the information associated with the first virtualization software information includes the first vendor and a first version of the first virtualization software and the information associated with the second virtualization software includes the second vendor and a second version of the second virtualization software.
10. The non-transitory computer-readable storage medium of claim 7 , wherein the first set of information includes a first location information of the first edge gateway and the second set of information includes a second location information of the second edge gateway, the method further comprising:
in response to a determination that the first edge gateway and the second edge gateway are disposed in the same premises,
aggregating available hardware resources of the first edge gateway and available hardware resources of the second edge gateway to fulfil a second requirement of the template; and
deploying the IoT solution on the first edge gateway and the second edge gateway.
11. The non-transitory computer-readable storage medium of claim 10 , wherein the method further comprises:
in response to a determination that the first edge gateway is disposed in a first premises and the second edge gateway is disposed in a second premises,
deploying the IoT solution on the first edge gateway in response that, based on the first set of information, available hardware resources of the first edge gateway fulfil the second requirement of the template.
12. The non-transitory computer-readable storage medium of claim 10 , wherein the method further comprises:
in response to a determination that the first edge gateway is disposed in a first premises and the second edge gateway is disposed in a second premises,
rejecting to deploy the IoT solution on the second edge gateway in response that, based on the second set of information, available hardware resources of the second edge gateway do not fulfil the second requirement of the template.
13. A system configured to deploy an Internet of Things (IoT) solution in a hybrid environment, wherein the system comprises:
a first processor; and
a first non-transitory computer-readable medium having stored thereon instructions that, in response to execution by the first processor, cause the first processor to:
deploy a first agent application on a first edge gateway of a first vendor, by the first edge gateway, to collect a first set of information associated with the first edge gateway; and
in response to a determination that a first virtualization software on the first edge gateway fulfils a first requirement of a template to deploy the IoT solution, receiving the template at the first edge gateway from a management entity to deploy the IoT solution on the first edge gateway.
14. The system of claim 13 , further comprising:
a second processor; and
a second non-transitory computer-readable medium having stored thereon instructions that, when executed by the second processor, cause the second processor to:
deploy a second agent application on a second edge gateway of a second vendor, by the second edge gateway, to collect a second set of information associated with the second edge gateway; and
in response to a determination that a second virtualization software on the second edge gateway fulfils the first requirement of the template to deploy the IoT solution, receiving the template at the second edge gateway from a management entity to deploy the IoT solution on the second edge gateway.
15. The system of claim 14 , wherein the first set of information includes information associated with the first virtualization software.
16. The system of claim 15 , wherein the information associated with the first virtualization software includes the first vendor and a first version of the first virtualization software.
17. The system of claim 14 , wherein the first set of information includes a first location information of the first edge gateway and the second set of information includes a second location information of the second edge gateway, the first non-transitory computer-readable medium having stored thereon additional instructions that, when executed by the first processor, cause the first processor to:
in response to a determination that the first edge gateway and the second edge gateway are disposed in the same premises,
aggregate available hardware resources of the first edge gateway and available hardware resources of the second edge gateway to fulfil a second requirement of the template; and
deploy the IoT solution on the first edge gateway, the second edge gateway, or both.
18. The system of claim 17 , the first non-transitory computer-readable medium having stored thereon additional instructions that, when executed by the first processor, cause the first processor to:
in response to a determination that the first edge gateway is disposed in a first premises and the second edge gateway is disposed in a second premises,
deploy the IoT solution on the first edge gateway in response that, based on the first set of information, available hardware resources of the first edge gateway fulfil the second requirement of the template.
19. The system of claim 17 , the first non-transitory computer-readable medium having stored thereon additional instructions that, when executed by the first processor, cause the first processor to:
in response to a determination that the first edge gateway is disposed in a first premises and the second edge gateway is disposed in a second premises,
reject to deploy the IoT solution on the first edge gateway in response that, based on the second set of information, available hardware resources of the first edge gateway do not fulfil the first requirement of the template.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/093,824 US20230141746A1 (en) | 2019-11-14 | 2023-01-06 | Internet of things solution deployment in hybrid environment |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/683,269 US11550636B2 (en) | 2019-11-14 | 2019-11-14 | Internet of things solution deployment in hybrid environment |
| US18/093,824 US20230141746A1 (en) | 2019-11-14 | 2023-01-06 | Internet of things solution deployment in hybrid environment |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/683,269 Continuation US11550636B2 (en) | 2019-11-14 | 2019-11-14 | Internet of things solution deployment in hybrid environment |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20230141746A1 true US20230141746A1 (en) | 2023-05-11 |
Family
ID=75910006
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/683,269 Active 2040-12-03 US11550636B2 (en) | 2019-11-14 | 2019-11-14 | Internet of things solution deployment in hybrid environment |
| US18/093,824 Abandoned US20230141746A1 (en) | 2019-11-14 | 2023-01-06 | Internet of things solution deployment in hybrid environment |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/683,269 Active 2040-12-03 US11550636B2 (en) | 2019-11-14 | 2019-11-14 | Internet of things solution deployment in hybrid environment |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US11550636B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11893372B1 (en) * | 2022-08-10 | 2024-02-06 | Nexcom International Co., Ltd. | Deployment system for internet of things and deployment method for the same |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12001870B2 (en) * | 2021-03-26 | 2024-06-04 | Red Hat. Inc. | Injection and execution of workloads into virtual machines |
| CN113691497A (en) * | 2021-07-13 | 2021-11-23 | 之江实验室 | An IoT device control architecture and method based on KubeEdge and EdgeOS |
| CN114205189B (en) * | 2021-08-25 | 2023-03-24 | 四川长虹电器股份有限公司 | Method for batch burning of equipment information based on secondary gateway |
| JP2023061144A (en) * | 2021-10-19 | 2023-05-01 | 横河電機株式会社 | Control system, control method and program |
| US20240028368A1 (en) * | 2022-07-19 | 2024-01-25 | Vmware, Inc. | Remote edge virtualization management |
Citations (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120300017A1 (en) * | 2011-05-23 | 2012-11-29 | Li Gordon Yong | Distributed resource management for a plurality of local media gateways to provide video conferencing |
| US20160085594A1 (en) * | 2013-05-08 | 2016-03-24 | Convida Wireless, Llc | Method and apparatus for the virtualization of resources using a virtualization broker and context information |
| US20170373933A1 (en) * | 2016-06-22 | 2017-12-28 | Amazon Technologies, Inc. | Intelligent configuration discovery techniques |
| US20180054327A1 (en) * | 2016-08-18 | 2018-02-22 | Sap Se | INTERNET OF THINGS (IoT) GATEWAY |
| US20180287959A1 (en) * | 2015-11-03 | 2018-10-04 | International Business Machines Corporation | Cloud-based dynamic iot resource allocation in response to a changing sensor status |
| US10193753B1 (en) * | 2015-08-31 | 2019-01-29 | EMC IP Holding Company LLC | Automated configuration and deployment of internet of things platforms |
| US10198281B2 (en) * | 2015-08-28 | 2019-02-05 | Vmware, Inc. | Hybrid infrastructure provisioning framework tethering remote datacenters |
| US20190090080A1 (en) * | 2017-09-18 | 2019-03-21 | American Megatrends, Inc. | System and method for dynamically adding capabilities of sensors and actuators to cloud driver |
| US10255067B2 (en) * | 2016-11-22 | 2019-04-09 | Sap Se | Development of internet of things (IoT) applications |
| US20190138318A1 (en) * | 2016-07-01 | 2019-05-09 | Intel Corporation | Dynamic user interface in machine-to-machine systems |
| US20190149361A1 (en) * | 2016-07-08 | 2019-05-16 | Intel Corporation | Intelligent gateway configuration for internet-of-things networks |
| US20190207965A1 (en) * | 2017-12-28 | 2019-07-04 | Corlina, Inc. | System and method for monitoring the trustworthiness of a networked system |
| US20190280940A1 (en) * | 2017-11-09 | 2019-09-12 | International Business Machines Corporation | Dynamically optimizing internet of things device configuration rules via a gateway |
| US20190373062A1 (en) * | 2016-06-15 | 2019-12-05 | Mcrest Ltd. | Terminal for remote monitoring system, program for remote monitoring, and remote monitoring system |
| US10623240B2 (en) * | 2016-08-25 | 2020-04-14 | Intel Corporation | IoT solution sizing |
| US20200126050A1 (en) * | 2017-01-19 | 2020-04-23 | Nokia Technologies Oy | IoT GATEWAY AND DESTINATION CLOUD SERVER |
| US10944638B1 (en) * | 2019-09-26 | 2021-03-09 | Vmware, Inc. | Internet of things device discovery and configuration |
| US11533222B2 (en) * | 2019-01-16 | 2022-12-20 | Vmware, Inc. | Auto-enrollment of IoT endpoints |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160065653A1 (en) * | 2014-08-26 | 2016-03-03 | Fujitsu Limited | Internet of things (iot) device configuration construction |
| WO2017066936A1 (en) * | 2015-10-21 | 2017-04-27 | Intel Corporation | Mobile edge compute dynamic acceleration assignment |
| US10439890B2 (en) * | 2016-10-19 | 2019-10-08 | Tata Consultancy Services Limited | Optimal deployment of fog computations in IoT environments |
| US11296902B2 (en) * | 2017-02-05 | 2022-04-05 | Intel Corporation | Adaptive deployment of applications |
| US11281499B2 (en) * | 2017-02-05 | 2022-03-22 | Intel Corporation | Microservice provision and management |
| US10425449B2 (en) * | 2017-02-15 | 2019-09-24 | Dell Products, L.P. | Classifying internet-of-things (IOT) gateways using principal component analysis |
| US10262019B1 (en) * | 2017-09-22 | 2019-04-16 | EMC IP Holding Company LLC | Distributed management optimization for IoT deployments |
| US11689640B2 (en) * | 2018-04-11 | 2023-06-27 | Intel Corporation | Flexible multi-access edge computing (MEC) services consumption through hosts zoning |
| CN111181747B (en) * | 2018-11-09 | 2023-05-02 | 中兴通讯股份有限公司 | A gateway collaboration implementation method, device, IoT gateway, and storage medium |
| US11356420B2 (en) * | 2018-11-30 | 2022-06-07 | International Business Machines Corporation | Internet of things (IoT) gateway flow engine optimizer and configuration distribution |
| WO2020118573A1 (en) * | 2018-12-12 | 2020-06-18 | Siemens Aktiengesellschaft | Application configuration method, apparatus, system of industrial internet of things solution, computer software product, and readable medium |
| US10708135B1 (en) * | 2019-01-31 | 2020-07-07 | EMC IP Holding Company LLC | Unified and automated installation, deployment, configuration, and management of software-defined storage assets |
| US11243817B2 (en) * | 2019-03-29 | 2022-02-08 | Intel Corporation | Technologies for data migration between edge accelerators hosted on different edge locations |
| US11711268B2 (en) * | 2019-04-30 | 2023-07-25 | Intel Corporation | Methods and apparatus to execute a workload in an edge environment |
-
2019
- 2019-11-14 US US16/683,269 patent/US11550636B2/en active Active
-
2023
- 2023-01-06 US US18/093,824 patent/US20230141746A1/en not_active Abandoned
Patent Citations (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120300017A1 (en) * | 2011-05-23 | 2012-11-29 | Li Gordon Yong | Distributed resource management for a plurality of local media gateways to provide video conferencing |
| US20160085594A1 (en) * | 2013-05-08 | 2016-03-24 | Convida Wireless, Llc | Method and apparatus for the virtualization of resources using a virtualization broker and context information |
| US10198281B2 (en) * | 2015-08-28 | 2019-02-05 | Vmware, Inc. | Hybrid infrastructure provisioning framework tethering remote datacenters |
| US10193753B1 (en) * | 2015-08-31 | 2019-01-29 | EMC IP Holding Company LLC | Automated configuration and deployment of internet of things platforms |
| US20180287959A1 (en) * | 2015-11-03 | 2018-10-04 | International Business Machines Corporation | Cloud-based dynamic iot resource allocation in response to a changing sensor status |
| US20190373062A1 (en) * | 2016-06-15 | 2019-12-05 | Mcrest Ltd. | Terminal for remote monitoring system, program for remote monitoring, and remote monitoring system |
| US20170373933A1 (en) * | 2016-06-22 | 2017-12-28 | Amazon Technologies, Inc. | Intelligent configuration discovery techniques |
| US20190138318A1 (en) * | 2016-07-01 | 2019-05-09 | Intel Corporation | Dynamic user interface in machine-to-machine systems |
| US20190149361A1 (en) * | 2016-07-08 | 2019-05-16 | Intel Corporation | Intelligent gateway configuration for internet-of-things networks |
| US20180054327A1 (en) * | 2016-08-18 | 2018-02-22 | Sap Se | INTERNET OF THINGS (IoT) GATEWAY |
| US10623240B2 (en) * | 2016-08-25 | 2020-04-14 | Intel Corporation | IoT solution sizing |
| US10255067B2 (en) * | 2016-11-22 | 2019-04-09 | Sap Se | Development of internet of things (IoT) applications |
| US20200126050A1 (en) * | 2017-01-19 | 2020-04-23 | Nokia Technologies Oy | IoT GATEWAY AND DESTINATION CLOUD SERVER |
| US20190090080A1 (en) * | 2017-09-18 | 2019-03-21 | American Megatrends, Inc. | System and method for dynamically adding capabilities of sensors and actuators to cloud driver |
| US20190280940A1 (en) * | 2017-11-09 | 2019-09-12 | International Business Machines Corporation | Dynamically optimizing internet of things device configuration rules via a gateway |
| US20190207965A1 (en) * | 2017-12-28 | 2019-07-04 | Corlina, Inc. | System and method for monitoring the trustworthiness of a networked system |
| US11533222B2 (en) * | 2019-01-16 | 2022-12-20 | Vmware, Inc. | Auto-enrollment of IoT endpoints |
| US10944638B1 (en) * | 2019-09-26 | 2021-03-09 | Vmware, Inc. | Internet of things device discovery and configuration |
Non-Patent Citations (4)
| Title |
|---|
| Hegyi et al.; "Application orchestration in mobile edge cloud, Placing of IoT applications to the edge"; 2016 IEEE 1st International Workshops on Foundations and Applications of Self-Systems; (Hegyi_2016.pdf; pages 230-235) (Year: 2016) * |
| Taneja et al; "Resource Aware Placement of IoT Application Modules in Fog-Cloud Computing Paradigm"; Telecommunications Software and Systems Group, Waterford Institute Of Technology, Waterford, Ireland; IEEE, 978-3-901882-89-0 @2017 IFIP; (Taneja_2017.pdf; pages 1222-1228) (Year: 2017) * |
| Tanganelli et al.; "Edge-Centric Distributed Discovery and Access in the Internet of Things"; IEEE INTERNET OF THINGS JOURNAL, VOL. 5, NO. 1, FEBRUARY 2018; (Tanganelli_2018.pdf; pages 425-438) (Year: 2018) * |
| Yigitoglu et al.; "Foggy: A Framework for Continuous Automated IoT Application Deployment in Fog Computing"; 2017 IEEE 6th International Conference on AI & Mobile Services; (Yigitoglu_2017.pdf; pages 38-45) (Year: 2017) * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11893372B1 (en) * | 2022-08-10 | 2024-02-06 | Nexcom International Co., Ltd. | Deployment system for internet of things and deployment method for the same |
| US20240053971A1 (en) * | 2022-08-10 | 2024-02-15 | Nexcom International Co., Ltd. | Depolyment system for internet of things and deployment method for the same |
Also Published As
| Publication number | Publication date |
|---|---|
| US11550636B2 (en) | 2023-01-10 |
| US20210149740A1 (en) | 2021-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20230141746A1 (en) | Internet of things solution deployment in hybrid environment | |
| US11936521B2 (en) | In-memory workflow management in edge devices | |
| US12047232B2 (en) | Initializing network device and server configurations in a data center | |
| US11106480B2 (en) | Systems, methods, and apparatus to improve containerized application visibility | |
| EP3944081B1 (en) | Data center resource monitoring with managed message load balancing with reordering consideration | |
| JP6463814B2 (en) | System and method for dynamically optimizing boot hardware frequency | |
| US9860309B2 (en) | Hybrid cloud network monitoring system for tenant use | |
| CN102460393B (en) | Systems and methods for establishing cloud bridges between virtual storage resources | |
| US11474880B2 (en) | Network state synchronization for workload migrations in edge devices | |
| CN113867883A (en) | Scalable control plane for telemetry data collection within a distributed computing system | |
| TW202211035A (en) | System, device and method for resource allocation | |
| US10356223B1 (en) | Connection migration for Internet of Things (IoT) devices | |
| KR101720360B1 (en) | Copy circumvention in a virtual network environment | |
| US11301278B2 (en) | Packet handling based on multiprocessor architecture configuration | |
| JP2023537849A (en) | Method and system for instantiating and transparently migrating running containerized processes | |
| US20140029623A1 (en) | VLAN Advertisement And Automated Configuration | |
| US10846120B2 (en) | Configuration tracking in virtualized computing environments | |
| CN108139936A (en) | The methods, devices and systems of access to the serial port from the virtual machine in the virtual application of deployment are provided | |
| CN108334421A (en) | System recovery using WO L | |
| US20170034000A1 (en) | Inter-networking device link provisioning system | |
| US11340932B2 (en) | Packet handling based on multiprocessor architecture configuration | |
| EP4330815B1 (en) | Peer booting operating systems on an edge network | |
| US11303524B2 (en) | Network bandwidth configuration | |
| WO2020000409A1 (en) | Managing quality of storage service in virtual network | |
| US20250085993A1 (en) | Establishment of service meshes between virtual computing instances and external devices |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |