`
`1111111111111111111111111111111111111111111111111111111111111111111111111111
`US 20180234489Al
`
`(19) United States
`c12) Patent Application Publication
`Hammons et al.
`
`(10) Pub. No.: US 2018/0234489 A1
`Aug. 16, 2018
`(43) Pub. Date:
`
`(54) LOAD BALANCING INTERNET-OF-THINGS
`(lOT) GATEWAYS
`
`(71) Applicant: Dell Products, L.P., Round Rock, TX
`(US)
`
`(72)
`
`Inventors: Marc Randall Hammons, Round
`Rock, TX (US); Todd Erick Swierk,
`Austin, TX (US); Thomas Alexander
`Shows, Cedar Park, TX (US); Roy
`Francis Rudolph, Austin, TX (US)
`
`(73) Assignee: Dell Products, L.P., Round Rock, TX
`(US)
`
`(21) Appl. No.: 15/433,464
`Feb. 15, 2017
`(22) Filed:
`Publication Classification
`
`(51)
`
`Int. Cl.
`H04L 29108
`H04L 12166
`
`(2006.01)
`(2006.01)
`
`(52) U.S. Cl.
`CPC .......... H04L 6711002 (2013.01); G06F 21/86
`(2013.01); H04L 12166 (2013.01); H04L 67112
`(2013.01)
`
`(57)
`
`ABSTRACT
`
`Systems and methods for load balancing Internet-of-Things
`(loT) gateways. In some embodiments, an Information Han-
`dling System (IHS) may include a processor and a memory
`coupled to the processor, the memory including program
`instructions stored thereon that, upon execution by the
`processor, cause the IHS to: receive metadata including
`attributes of loT devices communicatively coupled to the
`IHS, wherein the attributes are collected by the loT devices
`at least in part during a time interval leading up to the IHS
`entering an undesired state; perform feature extraction upon
`the metadata; identifY correlations between extracted fea-
`tures and the undesired state; and perform load balancing
`based upon the correlations.
`
`100~
`~-----------------~----------------T----------------1
`loT DEVICES
`PROTOCOLS
`GATEWAY(S)
`CLOUD/REMOTE SERVER
`101
`102
`103
`105
`
`BUILDING
`AUTOMATION
`SYSTEM DATA
`
`®
`SURVEILLANCE ®
`
`HVAC
`
`............
`I r
`lJ
`i ............ ..._
`~o
`I ------· ~ _______ 1__ __ • • 1
`~ G:!d
`DOD u
`§. c~ o o o 1: l lA
`~ &0 ~000~~
`~ ~ ~ tHii-11-
`I~
`0
`VISUALIZATIONS/
`IT SYSTEM DATA BIG DATA
`PROTOCOL
`DEVICE
`OT DATA
`EDGE
`REPORTING
`INTEGRATION ANAL YTICS
`TRANSLATION MANAGEMENT AGGREGATION
`ANALYTICS
`\
`\
`\
`\
`(
`(
`(
`L _:~~~~ __________ ~0~~ __ ~0~~ __ ~0~': ____ ~0~~ .~- __ ~~ ___ 1~6~ ____ ~~N- _j
`
`.........
`
`I 0
`o
`
`~
`
`I'
`
`LAN
`
`BACo.
`
`I
`
`I
`
`ol
`
`: :
`
`ol
`
`= ~:(1
`
`SMART
`METERING AND
`SUBMETERING
`
`MODBUS
`
`®
`
`Zig Bee•
`
`iApartments Ex. 1010
`
`Page 1 of 19
`
`
`
`VISUALIZATIONS/
`
`REPORTING
`
`1 06N
`\
`
`1 06B
`\
`INTEGRATION ANALYTIC$
`IT SYSTEM DATA BIG DATA
`
`1 06A
`\
`
`~ ~oool.!:::l===:=:=~
`
`1 04N
`\
`ANAL YTICS
`EDGE
`11-ll-~
`_.LJ.AI
`-+--t--1-
`
`Zig Bee*
`
`0
`0
`
`MODBUS
`
`0
`0
`
`SUBMETERING
`METERING AND
`
`SMART
`
`0 ®
`
`LIGHTING
`
`.... 0 =
`.... 0 = '"= = 0" -....
`~ 'e -....
`
`~ .....
`
`(')
`
`~ .....
`
`(')
`
`105
`
`103
`
`102
`
`101
`
`r-----------------~----------------,----------------1
`
`GATEWAY(S)
`
`FIG. 1
`
`100~
`
`PROTOCOLS
`
`loT DEVICES
`
`CLOUD/REMOTE SERVER
`
`Ol
`ol
`ol
`Ol
`
`I
`_______ ..!, ____ ...,.... I
`I
`I
`
`0 00000 =
`
`------+-
`
`HVAC
`
`BACnet
`
`~1J
`
`ETHERNET
`
`SURVEILLANCE
`
`®
`
`SYSTEM DATA
`AUTOMATION
`
`BUILDING
`
`L----------------------------------~----------------~
`
`TRANSLATION MANAGEMENT AGGREGATION
`PROTOCOL
`
`1 04C
`I
`OT DATA
`
`1 04B
`I
`DEVICE
`
`1 04A
`I
`
`~ &0 ~
`
`~ ~ ~~7000
`
`~ 0
`
`iApartments Ex. 1010
`
`Page 2 of 19
`
`
`
`Patent Application Publication Aug. 16, 2018 Sheet 2 of 6
`
`US 2018/0234489 A1
`
`HOD
`
`.-r218
`2J2
`
`207
`)
`
`200
`i
`
`2J6
`
`MEMORY
`
`~
`
`BIOS/UEFI
`I
`212
`
`213
`)
`
`4
`
`SUPER 1/0
`
`201 '-.. CPU(S)
`
`203,
`
`2~4
`GRAPHIC
`DEVICE(S)
`
`205
`\
`
`PCI DEVICE(S) 1+-
`I
`214
`210
`)
`SCSI
`CONTROLLER(S} 1+-
`
`2{1
`
`300
`\
`
`NORTHBRIDGE
`CONTROLLER
`
`.-r209
`
`SOUTHBRIDGE
`CONTROLLER
`I
`208
`'-217
`PORT(S), PIN(S),
`AND/OR ADAPTER(S) '-216
`
`2~5
`
`l
`TO/FROM NETWORK
`FIG. 2
`
`loT DEVICE
`305 PROCESSING 306
`
`PROCESSOR/
`CONTROLLER
`
`MEMORY
`
`;o2
`
`SIGNAL CONDITIONING UNIT
`
`\ UNITB
`30:
`DIGIT AU ANALOG c;g
`3J9
`308
`I ADC I
`
`PROCESSING
`CIRCUITRY
`307
`-
`
`FIG. 3
`
`TO/FROM
`PROGRAMMING
`DEVICE(S)
`
`TO/FROM
`loT NETWORK
`
`TO/FROM
`SENSOR(S)/
`ACTUATOR(S)
`
`WIRELESS
`INTERFACE(S)
`
`363
`
`WIRED
`INTERFACE(S)
`
`364
`
`iApartments Ex. 1010
`
`Page 3 of 19
`
`
`
`406C
`406N
`I Zi;Bee II ~AVE II SN~P I I M~TT I~ 000 IVIR~ALI
`
`406G
`
`406F
`
`406E
`
`FIG. 4
`4060
`
`DEVICE SERVICES
`
`I a;nm I
`
`4068
`
`406A
`I Mo;aus I
`
`405
`(
`
`SERVICE
`GATEWAY
`
`~'---410
`
`CONFIGURATION
`REGISTRY AND
`
`RESOURCE MANAGEMENT
`DEVICE, BEHAVIOR, AND
`
`;
`409
`
`CORE SERVICES
`
`407~~---co_R_E_DA_T_A_ ..... I ~.....l __ c_oM_M_A_N_D _ _.
`
`\
`408
`
`.... 0 =
`.... 0 = '"= = 0" -....
`~ 'e -....
`
`~ .....
`
`(')
`
`~ .....
`
`(')
`
`SCHEDULING AND V 414
`
`SCRUBBER
`
`EDGE ANAL YTICS V 413
`
`AND RULES
`
`NOTIFICATIONS
`ALERTS AND
`
`412 "-
`
`411 ~L---LO_G_G_IN_G_ ......
`
`SUPPORTING SERVICES
`
`v416
`
`REGISTRATION
`
`CLIENT
`
`415-'-1 DISTRIBUTION I
`
`EXPORT SERVICES
`
`~
`
`400
`
`401
`
`402
`
`403
`
`404
`
`iApartments Ex. 1010
`
`Page 4 of 19
`
`
`
`Patent Application Publication Aug. 16, 2018 Sheet 4 of 6
`
`US 2018/0234489 A1
`
`500
`\
`
`501 '-
`
`502 '-
`
`503 '-
`
`loT GATEWAY AGGREGATES DATA
`FROM ARRAY OF END POINTS
`t
`loT GATEWAY PROCESSES DATA,
`ANALYZING IN AN END-POINT-SPECIFIC WAY
`t
`loT GATEWAY INSTRUMENTS AND LOGS DATA
`ABOUT ITS INTERNAL STATE UNDER LOAD
`t
`DURING IDLE TIME, GATEWAY PERFORMS
`REGRESSIONS TO ESTABLISH CORRELATIONS
`BETWEEN ACTIVITY ON END POINT(S) AND
`VARIATION IN INTERNAL STATE ATTRIBUTES
`t
`GATEWAY CREATES REPORT FOR
`ADMINISTRATOR SHOWING CORRELATIONS
`FOUND AND HIGH UTILIZATION/SATURATION/
`ERRORS OF COMPONENTS
`t
`ADMINISTRATOR OPTS TO ENABLE RULE(S)
`BASED ON GATEWAY INTERNAL ANALYSIS
`t
`GATEWAY FOLLOWS RULES, REACTING TO
`PATTERNS MATCHED THAT MAY RESULT IN AN
`UNDESIRABLE STATE WITH VARIOUS POSSIBLE
`ACTIONS, INCLUDING BUT NOT LIMITED TO:
`507 ../ 1. RESCHEDULING TASKS (SAME GATEWAY,
`DIFFERENT TIME)
`2. REPRIORITIZING TASKS (SAME GATEWAY,
`SAME TIME, LOWER PRIORITY)
`3. REBALANCING TASKS (DIFFERENT GATEWAY)
`t
`REPEAT OVER TIME TO IDENTIFY TRENDS AND
`COMPARE ACROSS ALL GATEWAYS
`FIG. 5
`
`504 '-
`
`505 '-
`
`506 ../
`
`508
`
`iApartments Ex. 1010
`
`Page 5 of 19
`
`
`
`\0 > ....
`
`QO
`.j;o.
`.j;o.
`(.H
`N
`0
`..._
`0 .... QO
`N
`c rFJ
`
`Cl\
`0 .....
`Ul
`.....
`rFJ =- ('D
`0 .... QO
`~ ....
`~
`.... 0 =
`.... 0 = '"= = 0" -....
`~ 'e -....
`('D = .....
`'"= ~ .....
`
`('D
`
`N
`~Cl\
`
`~ .....
`
`(')
`
`~ .....
`
`(')
`
`o
`
`0
`
`o
`
`0
`
`0o0oo
`
`,.,0°9 v
`
`v
`oSo
`vO
`v v~ VO
`
`o
`
`0
`
`o"'
`0 & <5>
`o oo
`Wov
`v
`"' vo ~}
`
`0
`
`8o
`
`~ o~oo ~ g n <¢& ~ o 0
`o
`0
`eo
`"'
`o
`~g 0 OOo
`
`"'
`
`I
`I
`v-so1A
`\
`\
`
`/
`
`'V 0
`0
`
`100
`
`UTILIZATION ACROSS ALL END POINTS
`
`75
`
`50
`
`25
`
`0
`
`FIG. 6A
`
`o o o 0 IV
`o
`o0 ~~~~S"~'O'~o o v
`0 A} ~~~~0-0VO<T 0
`
`~K]_ov.A o
`
`o VI o o
`
`~
`<l:>o
`oo o
`
`·'""'-
`o oooo
`0
`o
`
`,.,
`oo
`
`0
`
`0
`
`251
`
`o
`
`I I TEMPERATURE
`
`D. 40
`"' 50
`0 60
`c 70
`o 80
`
`~~E
`
`I
`CPU UTILIZATION J
`
`ACROSS ALL 50
`
`AVAILABLE CORES
`
`I
`
`75 -1
`
`~
`
`sooA
`
`100 -1
`
`iApartments Ex. 1010
`
`Page 6 of 19
`
`
`
`Patent Application Publication Aug. 16, 2018 Sheet 6 of 6
`
`US 2018/0234489 A1
`
`/
`
`I
`
`\
`
`'
`
`'
`
`\
`\
`I
`0
`<><j
`<>
`I
`~-- <> <?- / [>
`<>
`<><>
`
`<>
`<>
`<>
`
`<>
`<>
`
`<> v--
`
`<>
`
`<>
`
`0
`0
`
`<>
`
`<>
`
`[>
`
`[>
`
`[>
`
`[>
`
`[>
`<>
`
`<>
`
`0
`
`""'" <I
`
`<>
`
`[>
`
`UJ
`0::
`UJ::::>
`~~~ ,._ co LC)
`0
`(.)UJ<> D
`<(C..
`0..::::2: UJ
`I-
`
`0
`
`0
`
`0
`
`[>
`
`0
`N
`
`0
`
`0 co
`
`)
`1:0
`0
`0 c.o
`
`0
`
`""'" z .....1 Cl)
`-<o::
`Q.....IUJ
`~CI)Q
`(/)(.)
`::JOw
`-o::_.
`;<::s
`1-(.)co
`a..
`-
`~
`(.)
`<(
`
`0
`
`co \0 . 0 ~
`
`~
`
`iApartments Ex. 1010
`
`Page 7 of 19
`
`
`
`US 2018/0234489 AI
`
`1
`
`Aug. 16, 2018
`
`LOAD BALANCING INTERNET-OF-THINGS
`(lOT) GATEWAYS
`
`FIELD
`[0001] The present disclosure generally relates to Infor-
`mation Handling Systems (IHSs), and, more particularly, to
`systems and methods for load balancing Internet -of-Things
`(loT) gateways.
`
`BACKGROUND
`[0002] A new revolution is gaining momentum-a surge
`of innovation that involves vast ecosystems of sensors,
`devices, and equipment to networks that can transmit and
`receive data. With an estimated number of connected
`"things" reaching over 25 billion by 2020, the "Internet-of-
`Things" (loT) is widely regarded as the next technological
`frontier.
`[0003] Existing loT deployments range from single device
`implementations to massive cross-platform systems that
`include tens, hundreds, or even thousands of heterogeneous
`devices. Tying it all together are different communication
`protocols that enable these various components to talk to
`each other.
`[0004] Because loT is still in its infancy, however, its
`underlying technologies remain fractured. Alliances and
`coalitions are being formed in hopes of someday unifying
`the loT landscape. But, at the present time, there is still no
`central loT standard or deployment oversight. Consumers
`and providers both continue to face ever-increasing deploy-
`ment, architecture, analytics, and security challenges.
`
`SUMMARY
`[0005] Embodiments of systems and methods for load
`balancing Internet-of-Things (loT) gateways are described.
`In an illustrative, non-limiting embodiment, an Information
`Handling System (IHS) comprises one or more processors
`and a memory coupled to the one or more processors, the
`memory including program instructions stored thereon that,
`upon execution by the one or more processors, cause the IHS
`to: receive metadata including attributes of Internet-of-
`Things (loT) devices communicatively coupled to the IHS,
`wherein the attributes are collected by the loT devices at
`least in part during a time interval leading up to the IHS
`entering an undesired state; perform feature extraction upon
`the metadata; identifY correlations between extracted fea-
`tures and the undesired state; and perform load balancing
`based upon the correlations.
`[0006]
`In various embodiments, the loT devices may be
`selected from the group consisting of: movement sensors,
`power sensors, airflow sensors, temperature sensors, humid-
`ity sensors, GPS devices, RFID readers, door locks, com-
`pressor devices, valve devices, fan devices, pump devices,
`switch devices, thermostat devices, smoke alarm devices,
`and fire alarm devices. The attributes may include, for each
`loT device, at least one of: an identification of the loT
`device, an identification of a type oflo T device, a movement
`status, power status, airflow status, temperature status,
`humidity status, GPS status, RFID status, door lock status,
`compressor status, valve status, fan status, pump status,
`switch status, thermostat status, smoke alarm device status,
`and fire alarm device status. The metadata may further
`comprise attributes of the IHS selected from the group
`consisting of: number of processor cores, average processor
`
`utilization, average processor frequency, USB device count,
`average USB block size, average USB throughput, serial
`device count, and serial average throughput. The IHS may
`enter an undesired state when it has at least one of: saturated
`processor, saturated memory, saturated storage, high average
`processor power, or high average processor temperature.
`Performing the feature extraction may include performing a
`principal component analysis using eigenvalue decomposi-
`tion or singular value decomposition of a matrix including
`the metadata. Load balancing may include at least one of:
`rescheduling tasks within the IHS to different times, repri-
`oritizing tasks within the IHS, or rebalancing tasks across
`different IHSs. Identifying the correlations may include
`determining that the undesirable state is reached when a
`subset of loT devices are simultaneously queried, and
`wherein load balancing includes staggering the queries to
`avoid the undesired state. IdentifYing the correlations may
`include determining that the undesirable state is reached
`when a subset ofloT devices are simultaneously queried and
`the IHS is executing a given process, and wherein load
`balancing includes offsetting the process from the queries in
`time. The program instructions, upon execution, may further
`cause the IHS to receive updated metadata from at least one
`oflo T device due to a change in the Io T device. The program
`instructions, upon execution, may further cause the IHS to
`perform another load balancing based, at least in part, upon
`an updated feature extraction. Performing the feature extrac-
`tion and identifYing the correlations may occur during a
`period of under-utilization of the IHS, and wherein the
`period of under-utilization may be characterized by one or
`more of: idle processor, idle memory, idle storage, low
`average processor power, low average processor tempera-
`ture.
`[0007]
`In another illustrative, non-limiting embodiment, a
`method may implement one or more of the aforementioned
`operations. In yet another illustrative, non-limiting embodi-
`ment, a hardware memory device may have program instruc-
`tions stored thereon that, upon execution by an IHS, cause
`the IHS to perform one or more of the aforementioned
`operations.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0008] The present invention(s) is/are illustrated by way of
`example and is/are not limited by the accompanying figures.
`Elements in the figures are illustrated for simplicity and
`clarity, and have not necessarily been drawn to scale.
`[0009] FIG. 1 illustrates an example of an Internet-of-
`Things (loT) deployment according to some embodiments.
`[0010] FIG. 2 illustrates an example of an Information
`Handling System (IHS) implementation according to some
`embodiments.
`[0011] FIG. 3 illustrates an example of an loT device
`implementation according to some embodiments.
`[0012] FIG. 4 illustrates examples ofloT services accord-
`ing to some embodiments.
`[0013] FIG. 5 illustrates an example of a method for load
`balancing loT gateways according to some embodiments.
`[0014] FIGS. 6A-B illustrate example results of the
`method for load balancing Io T gateways according to some
`embodiments.
`
`iApartments Ex. 1010
`
`Page 8 of 19
`
`
`
`US 2018/0234489 AI
`
`2
`
`Aug. 16, 2018
`
`DETAILED DESCRIPTION
`[0015] To facilitate explanation of the various systems and
`methods discussed herein, the following description has
`been split into sections. It should be noted, however, that the
`various sections, headings, and subheadings used herein are
`for organizational purposes only, and are not meant to limit
`or otherwise modifY the scope of the description or the
`claims.
`[0016] A. Overview
`[0017] The Internet-of-Things (loT) is an inter-network-
`ing of "things" or "objects" (generally referred to as "loT
`devices") that promotes the collection and exchange of data
`among those objects. Generally speaking, loT technology
`allows loT devices to operate remotely across a network
`infrastructure to integrate the physical world into computer-
`based systems using a variety of different communication
`protocols. In the near future, it is expected that loT will be
`used to automate nearly every field of human endeavor.
`[0018] To name but a few examples, in the field of
`manufacturing, loT may be used in process automation
`(chemicals, food, beverage, pharmaceuticals), discrete auto-
`mation (auto, machine, electronics), and industrial equip-
`ment. In the field of transportation and logistics, loT may be
`used in air, automotive, marine, or rail transport, fleet and
`freight management, cold chain logistics, traffic systems,
`public transit and travel, and usage insurance. In the energy
`field, loT may be used in power generation and distribution,
`smart grids, oil and gas, and renewable energy. In commu-
`nications, loT may be used to support various information
`technology (IT) services, network services, data centers, and
`communication equipment. With
`respect
`to natural
`resources, loT may be used in agriculture, metals and
`minerals mining, water and waste management, forestry,
`fishing, and livestock, and golf courses. In healthcare, loT
`may be used in hospitals, home care, health care plans,
`medical laboratories, biotechnology, and medical appliances
`and equipment. And in retail and hospitality, loT may be
`used in hotels, vending machines, amusement parks, restau-
`rants, sports and entertainment, etc.
`[0019]
`In several implementations, loT systems may pro-
`vide or support services ranging among: predictive mainte-
`nance, process or quality control, fleet management, supply
`chain and inventory management, smart infrastructure,
`building optimization, remote asset management, secure and
`access control, point-of-sale support, energy management,
`compliance, safety, and documentation, among many others.
`[0020] Yet the quintessential example of loT remains
`home automation. Modem home automation deployments
`(also known as "smart" or "intelligent" homes) can include
`control and automation of lighting, heating, ventilation, air
`conditioning (HVAC) systems, and appliances such as
`washer/dryers, robotic vacuums, air purifiers, ovens or
`refrigerators/freezers that use wired or wireless networking
`for remote monitoring and control.
`[0021] The expansion of loT into a plethora of new
`application areas is expected to generate incredibly large
`amounts of data from diverse, heterogeneous devices and
`locations. Nonetheless, there are currently no central stan-
`dards in this field. Consequently, loT consumers and pro-
`viders continue to face many deployment, architecture,
`analytics, and security challenges.
`[0022] To address some of these challenges, the inventors
`hereof have developed a number of systems and methods
`that have directly applicable to many loT environments,
`
`deployments, and implementations. Each of these systems
`and methods may be categorized within one or more of the
`following areas: Acquisition, Transport, Aggregation,
`Analysis, and Control.
`[0023] Acquisition encompasses the hardware-the loT
`devices-that capture data from interactions with the envi-
`ronment, with other machines, with humans or other living
`things and make it available for transmission over a network.
`Sensors are the nerve ends ofloT, and a growing assortment
`of devices are collecting data. There are cases where his-
`torical data may be analyzed to provide business practice
`improvements (not all data needs to originate from sensors).
`[0024] Transport takes the acquired data from various
`sensors and moves it over a network for aggregation and
`analysis. As the name implies, the final stages of data
`transport generally flow over communication protocols (e.g.,
`TCP/IP and others referred to below), and may be trans-
`formed into Internet friendly data formats like JSON or
`XML.
`[0025] Aggregation is responsible for the collection and
`distribution of output data to designated consumers. Con-
`sumers can include databases, on-site services, analytics
`services, enterprise service buses, third-party cloud services
`and similar repositories.
`[0026] Analysis takes the aggregated data and turns it into
`operational insights by applying context specific algorithms,
`rules, and predictive models. In most deployments, loT
`analytics may include feedback capabilities so that the
`predictive models get better over time. In some cases,
`analytics may be run in the cloud or on the edge such as on
`an Io T gateway device.
`[0027] Control provides the ability to act based upon
`insights gleaned from the analysis of loT data. Different
`types of control actions available may range from graphical
`representation to humans, who can then take manual actions,
`to fully autonomous systems that can take orchestrated
`actions to improve operations, recognize and mitigate fail-
`ures and threats, and prevent hazards.
`[0028] For example, consider a relatively simple use case
`of environmental monitoring of an office building. Assume,
`that there are sensors installed throughout the building to
`monitor temperature and carbon monoxide levels; this is part
`of the aforementioned data aggregation component of loT.
`As part of the transport component, there are many tech-
`nology protocols that may be used to transport the collected
`data, including BACnet (Building and Automation Control
`networks), Zigbee, Bluetooth Low Energy, Wi-Fi, and oth-
`ers, which may use loT gateway(s) to translate the sensors'
`data or communications to a cloud or remote backend server.
`[0029] From
`the gateway(s), data
`is communicated
`through an aggregation layer as part of the aggregation
`component. The aggregated data reaches a cloud based
`analysis engine that enables the system to responds to
`changes in the monitored environment. For instance, such a
`system may be used to enforce a rule such that, if a room
`temperature gets too hot, a command is issued to tum up the
`A/C.
`[0030] Overlaying each of these components are tech-
`niques related to security, data governance, and systems
`management of the loT infrastructure.
`[0031] To illustrate an example of an loT environment
`where the systems and methods described herein may be
`implemented, FIG. 1 shows loT deployment 100 according
`some embodiments. Particularly, deployment 100
`to
`
`iApartments Ex. 1010
`
`Page 9 of 19
`
`
`
`US 2018/0234489 AI
`
`3
`
`Aug. 16, 2018
`
`includes loT device(s) 101, such as building automation and
`data devices, surveillance devices, HVAC devices, smart
`metering and sub-metering, lighting devices, etc., which
`provide and receive data of a network using one or more
`communication protocols 102, such as Ethernet, BACnet
`(Building Automation and Control), Controller Area Net-
`work (CAN bus), Modbus, Zigbee, Bluetooth, Wi-Fi, RFID,
`etc.
`[0032] Using protocol(s) 102, loT devices 101 communi-
`cate with loT gateway(s) 103. In several implementations,
`loT gateway(s) 103 may include services such as protocol
`translation 104A, device management 104B, data aggrega-
`tion 104C, and edge analytics 104N. In many cases, ele-
`ments 101-103 may be disposed or employed in the same
`premises (e.g., a building, a home, a vehicle, etc.) and/or
`may be owned by (or licensed to) the same entity or
`consumer.
`[0033]
`In many implementations, however, gateway(s)
`103 may also be in communication with cloud or remote
`server(s) 105, which can then provide services such as IT
`system data integration 106A, big data analytics 106B, and
`visualization and reporting 106N. For example, cloud or
`remote server(s) may be provided or operated by a third-
`party remotely located with respect to the premises where
`the loT device(s) 101 and gateway(s) 103 are deployed.
`[0034] Here it should be emphasized that loT deployment
`100 is depicted for sake of illustration only. There are
`virtually infinite different configurations possible in any
`given loT deployment. In fact, it is often desirable that a
`given loT installation remain flexible, so that new and
`different loT devices, gateways, switches, access points,
`servers, services, etc. may be added, removed, or replaced,
`as the loT network evolves over time. Although the tech-
`niques discussed herein are immediately applicable to the
`example loT deployment 100 of FIG. 1, it is understood that
`the same techniques may be equally application to any loT
`environment.
`[0035] B. Hardware
`[0036]
`In some embodiments, one or more of gateway(s)
`103, server(s) 105, and/or loT devices 101 shown in FIG. 1
`may be implemented as an Information Handling System
`(IHS). For purposes of this disclosure, an IHS may include
`any instrumentality or aggregate of instrumentalities oper-
`able to compute, calculate, determine, classifY, process,
`transmit, receive, retrieve, originate, switch, store, display,
`communicate, manifest, detect, record, reproduce, handle, or
`utilize any form of information, intelligence, or data for
`business, scientific, control, or other purposes.
`[0037] For example, an IHS may be a personal computer
`(e.g., desktop or laptop), tablet computer, mobile device
`(e.g., Personal Digital Assistant (PDA) or smart phone),
`server (e.g., blade server or rack server), a network storage
`device, or any other suitable device and may vary in size,
`shape, performance, functionality, and price. An IHS may
`include Random Access Memory (RAM), one or more
`processing resources such as a Central Processing Unit
`(CPU) or hardware or software control logic, Read-Only
`Memory (ROM), and/or other types of NVMs.
`[0038] Additional components of an IHS may include one
`or more disk drives, one or more network ports for com-
`municating with external devices as well as various I/0
`devices, such as a keyboard, a mouse, touchscreen, and/or a
`
`video display. An IHS may also include one or more buses
`operable to transmit communications between the various
`hardware components.
`[0039] FIG. 2 is a block diagram of an example of an IHS.
`Although IHS 200 may be used to build any component
`shown in FIG. 1, it is particularly applicable to implemen-
`tations of loT gateway(s) 103. In some situations, an loT
`gateway can have additional compute added if edge analyt-
`ics are needed on the gateway at the network edge, as
`opposed to being distributed in the cloud/backend server.
`[0040] As shown, IHS 200 includes one or more CPUs
`201. In various embodiments, IHS 200 may be a single-
`processor system including one CPU 201, or a multi-
`processor system including two or more CPU(s) 201 (e.g.,
`two, four, eight, or any other suitable number). CPU(s) 201
`may include any processor capable of executing program
`instructions. For example, in various embodiments, CPU(s)
`201 may be general-purpose or embedded processors imple-
`menting any of a variety of Instruction Set Architectures
`(ISAs), such as the x86, POWERPC®, ARM®, SPARC®,
`or MIPS 0 ISAs, or any other suitable ISA. In multi-proces-
`sor systems, each of CPU(s) 201 may commonly, but not
`necessarily, implement the same ISA.
`[0041]
`In some cases, one or more of CPU(s) 201 may
`include a Graphics Processing Unit (GPU), field program-
`mable gate array (FPGA), or other suitable integrated com-
`ponent that is specifically used to perform analytics (e.g.,
`machine learning).
`[0042] CPU(s) 201 are coupled to northbridge controller
`or chipset 202 via front-side bus 203. Northbridge controller
`202 may be configured to coordinate I/0 traffic between
`CPU(s) 201 and other components. For example, in this
`particular implementation, northbridge controller 202 is
`coupled to graphics device(s) 204 (e.g., one or more video
`cards or adaptors) via graphics bus 205 (e.g., an Accelerated
`Graphics Port or AGP bus, a Peripheral Component Inter-
`connect or PCI bus, or the like).
`[0043] Northbridge controller 202 is also coupled to sys-
`tem memory 206 via memory bus 207, and to hard disk drive
`(HDD) 218. Memory 206 may be configured to store pro-
`gram instructions and/or data accessible by CPU(s) 201. In
`various embodiments, memory 206 may be implemented
`using any suitable memory technology, such as static RAM
`(SRAM), synchronous dynamic RAM (SDRAM), nonvola-
`tile/Flash-type memory, or any other type of memory. Con-
`versely, HDD 218 may include any magnetic, solid-state
`(SSD), or hybrid data storage device capable of storing an
`OS and other applications.
`[0044]
`In operation, CPU(s) 201 execute program instruc-
`tions that are stored in memory 206 and/or HDD 218. Under
`control of those instructions, IHS 200 may be configured to
`provide a number or services described in more detail below.
`[0045] Northbridge controller 202 is coupled to south-
`bridge controller or chipset 208 via internal bus 209. Gen-
`erally speaking, southbridge controller 208 may be config-
`ured to handle various of IHS 200's I/0 operations, and it
`may provide interfaces such as, for instance, Universal
`Serial Bus (USB), audio, serial (e.g., RS232, RS485, CAN-
`bus, RS422, etc.), parallel, Ethernet, or the like via port(s),
`pin(s) (e.g. GPIO or General-Purpose Input Output), and/or
`adapter(s) 216 over bus 217.
`[0046] For example, southbridge controller 208 may be
`configured to allow data to be exchanged between IHS 200
`and other devices, such as other IHSs attached to a network
`
`iApartments Ex. 1010
`
`Page 10 of 19
`
`
`
`US 2018/0234489 AI
`
`4
`
`Aug. 16, 2018
`
`(e.g., network 101). In various embodiments, southbridge
`controller 208 may support communication via wired or
`wireless general data networks, such as any suitable type of
`Ethernet network, for example; via telecommunications/
`telephony networks such as analog voice networks or digital
`fiber communications networks; via storage area networks
`such as Fiber Channel SANs; or via any other suitable type
`of network and/or protocol.
`[0047] Southbridge controller 208 may also enable con-
`nection to one or more keyboards, keypads, touch screens,
`scanning devices, voice or optical recognition devices, or
`any other devices suitable for entering or retrieving data.
`Multiple I/0 devices may be present in IHS 200. In some
`embodiments, I/0 devices may be separate from IHS 200
`and may interact with IHS 200 through a wired or wireless
`connection. As shown, southbridge controller 208 is further
`coupled to one or more PCI devices 210 (e.g., modems,
`network cards, sound cards, or video cards) and to one or
`more SCSI controllers 214 via parallel bus 211.
`[0048] Southbridge controller 208 is also coupled to
`BIOS/UEFI 212 and to Super I/0 Controller 213 via Low
`Pin Count (LPC) bus 215. BIOS/UEFI 212 includes non-
`volatile memory having program instructions stored thereon.
`Those instructions may be usable by CPU(s) 201 to initialize
`and test other hardware components and/or to load an
`Operating System (OS) onto IHS 200. Super I/0 Controller
`213 combines interfaces for a variety of! ower bandwidth or
`low data rate devices. Those devices may include, for
`example, floppy disks, parallel ports, keyboard and mouse,
`temperature sensor and fan speed monitoring/control,
`among others. In various implementations, southbridge con-
`troller 208 may be configured to allow data to be exchanged
`between BIOSIUEFI 212 and another IHS attached to a
`network (e.g., a remote server or other source of technical
`service) using wired or wireless capabilities of network
`adapter 216.
`[0049]
`In some cases, IHS 200 may be configured to
`provide access to different types of computer-accessible
`media separate from memory 206. Generally speaking, a
`computer-accessible medium may include any tangible,
`non-transitory storage media or memory media such as
`electronic, magnetic, or optical media-e.g., magnetic disk,
`a hard drive, a CD/DVD-ROM, a Flash memory, etc.
`coupled to IHS 200 via northbridge controller 202 and/or
`southbridge controller 208.
`[0050] The terms "physical," "hardware," "tangible," and
`"non-transitory," when used in the context of computer-
`readable storage or memories, are intended to describe
`devices excluding propagating electromagnetic signals; but
`are not intended to otherwise limit the type of physical
`storage device. For instance, the aforementioned terms are
`intended to encompass types of hardware, physical storage
`devices that do not necessarily store information perma-
`nently, including, for example, RAM. Program instructions
`and data stored on a physical memory device in non-
`transitory form may afterwards be transmitted by transmis-
`sion media or signals such as electrical, electromagnetic, or
`digital signals, as a separate or independent process, which
`may then be conveyed via a communication medium such as
`a network and/or a wireless link.
`[0051] A person of ordinary skill in the art will appreciate
`that IHS 200 is merely illustrative and is not intended to
`limit the scope of the disclosure described herein. In par-
`ticular, any computer system and/or device may include any
`
`combination ofhardware or software capable of performing
`certain operations described herein. In addition, the opera-
`tions performed by the illustrated components may, in some
`embodiments, be performed by fewer components or dis-
`tributed across additional components. Similarly, in other
`embodiments, the operations of some of the illustrated
`components may not be performed and/or other additional
`operations may be available.
`[0052] For example, in some implementations, north-
`bridge controller 202 may be combined with southbridge
`controller 208, and/or be at least partially incorporated into
`CPU(s) 201. In other implementations, one or more of the
`devices or components shown in FIG. 2 may be absent, or
`one or more other components may be present. For instance,
`in some cases, IHS 200 may include a Trusted Platform
`Module (TPM) or secure cryptoprocessor, not shown in FIG.
`2 for sake of simplicity. But it should be readily understood
`that the systems and methods described herein may be
`implemented