throbber
111111
`
`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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket