[go: up one dir, main page]

WO2022231632A1 - Device management - Google Patents

Device management Download PDF

Info

Publication number
WO2022231632A1
WO2022231632A1 PCT/US2021/030353 US2021030353W WO2022231632A1 WO 2022231632 A1 WO2022231632 A1 WO 2022231632A1 US 2021030353 W US2021030353 W US 2021030353W WO 2022231632 A1 WO2022231632 A1 WO 2022231632A1
Authority
WO
WIPO (PCT)
Prior art keywords
mat
sections
host
devices
electronic device
Prior art date
Application number
PCT/US2021/030353
Other languages
French (fr)
Inventor
Syed S. Azam
John W. Frederick
Jason Lee WARKENTIN
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2021/030353 priority Critical patent/WO2022231632A1/en
Priority to TW111100988A priority patent/TW202245454A/en
Publication of WO2022231632A1 publication Critical patent/WO2022231632A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips

Definitions

  • Compute devices are commonly used with peripheral devices and other compute devices to perform input processing and output functionality.
  • a desktop compute device may be coupled to by a keyboard, a computer mouse, and a display device to allow a user to interact with compute device using physical input and view the state of compute device using the display device.
  • FIGS. 1 and 2 are block diagrams depicting example device management systems.
  • FIGS. 3-8 depicts example environments in which various device management systems may be implemented.
  • FIGS. 9-14 depicts example features of example mat apparatus sections.
  • FIG. 15 depicts example components useable to implement an example device management system.
  • FIGS. 16 and 17 are flow diagrams depicting example methods of device management.
  • the example apparatus may be a substantially flat device, such as a mat, including a number of controllers to manage data communications and power delivery.
  • the method includes providing access to a port of a system coupled to the apparatus based on a number of host devices and the location of the electronic device with respect to the apparatus.
  • an electronic device refers to any apparatus with an electronic component, such as a component that uses electrical signals to communicate and/or activate an operation. Electronic devices utilize electrical signals to provide power to the device and activate circuitry.
  • an electronic device includes a power delivery (PD) controller to negotiate power levels and otherwise manage the electrical signals for the electronic components.
  • PD power delivery
  • An example apparatus discussed herein is a connectable mat section where connecting the mat sections allows electronic communication and power delivery channels of each section to connect and make a larger, connected mat and larger network of communication and/or power delivery buses.
  • a mat may refer to an apparatus that is substantially flat lengthwise on at least one side (e.g., the top and bottom of the mat), such that electronic devices may be placed on the mat and remain on the mat according to user interaction with the electronic device.
  • An example of a mat is a computer mouse mat, which may have a cushion, textile, textured coating, or other material layered to enhance use of a computer mouse on a desk.
  • the apparatus discussed herein may be used on a desk, table, or any other workspace, and may act as a layer between the workspace and the electronic devices.
  • the apparatus sections may include mounting hardware to attach to a wall or ceiling and mechanical interfaces that securely allow an electronic device to remain attached to the mat while in a vertical orientation or upside-down orientation.
  • FIG. 1 Another example of an apparatus in which data and power capabilities may be implemented is a display stand and/or display base of a display device.
  • FIG. 1 Another example of an apparatus in which data and power capabilities may be implemented is a bezel of a display device, where bezels may be connected to each other to form a frame around the display and/or connected to a bezel of separate display to form a connection across display devices.
  • An interface may be located on the bezel surface such that a peripheral may be attached at various locations along the bezel.
  • an apparatus with an interface compatible with the plurality of connected apparatus sections may be implemented in an electronic device, such as a compute device.
  • electronic devices may be designed to be stackable, such that the electronic devices connect to a mat as described herein via an intermediary electronic device with interfaces corresponding to the mat interface on the top and the bottom of the intermediary electronic device.
  • Any references to components or methods useable with a mat, or mat section, as described herein are applicable to other apparatus form factors, such as the display bezel and display stands discussed above.
  • a compute system is a combination of circuitry and executable instructions to perform an operation.
  • An example compute system includes a host device with an input/output (IO) bus for managing connections with peripheral devices.
  • IO input/output
  • a host device is a general computer (or a specialized computer) with a processor resource and a memory resource with instructions stored thereon that, when executed by the processor resource, cause operation of an operating system (OS).
  • OS operating system
  • a peripheral device is an electronic device capable of being connected to and communicating with the host device.
  • the peripheral device may be a human interface device (HID) to allow a user to input information to be processed by the host device, such as generation of signals corresponding to information input from interaction with a customer or employee corresponding to a retail transaction.
  • Example peripheral devices include display devices, print apparatus, hubs, switches, routers, keyboards, computer mice, scanners, readers, personal identification number (PIN) entry device (e.g., PIN pads), biometric devices, headsets, speakers, cameras, external data storage devices, disc writers, direct inking tablets, lighting devices, power banks, and the like.
  • PIN personal identification number
  • peripheral devices generally extend the input and output capabilities of the general compute device to include functionalities, new or improved, in comparison to the integrated components of the general compute device.
  • a “display device” may be an electronic device to present content visually.
  • Example display devices may include a screen such as a liquid crystal display (LCD) panel, an organic light-emitting diode (OLED) panel, a micro light emitting diode (pLED), or other display technology.
  • a display device may also include circuitry to operate the screen, such as a monitor scaler or other video processor.
  • a display device may present (e.g., displays) an image on a panel using a data source to determine a color to display for every pixel on the panel.
  • the source image data may include color data according to a color space such as red, green, and blue (RGB) channel data. Colors displayed by a panel are entirely dependent on the color characteristics of the display panel. For LCD panels, color characteristic information may include spectral output of the backlight and the tone of the color filters applied on the top of the grayscale liquid crystals.
  • the display memory may be used to store multiple color calibration profiles that correspond to a plurality of luminosity ranges or “display modes,” such as standard RGB (sRGB), high dynamic range (HDR), standard dynamic range (SDR), etc.
  • a “print apparatus” may be a device to print content on a physical medium (e.g., paper, textiles, a layer of powder-based build material, etc.) with a print material (e.g., ink or toner).
  • a print material e.g., ink or toner
  • the print apparatus may be an office printer that uses pre-cut sheet print medium that is size A4 or a wide-format print apparatus that prints latex-based print fluid on a print medium, such as a web roll for paper larger than A2.
  • a print apparatus may be a three-dimensional (3D) print apparatus that deposits print materials in a layer-wise additive manufacturing process.
  • a print apparatus may utilize suitable print consumables, such as ink, toner, fluids or powders, or other raw materials for printing.
  • suitable print consumables such as ink, toner, fluids or powders, or other raw materials for printing.
  • An example of fluid print material is a water-based latex ink ejectable from a print head, such as a piezoelectric print head or a thermal inkjet print head.
  • Other examples of print fluid may include dye-based color inks, pigment- based inks, solvents, gloss enhancers, fixer agents, and the like.
  • Various examples described below relate to providing a mechanism to bridge electronic devices (e.g., peripheral devices and host devices) via a physical apparatus, such as a mat.
  • the apparatus includes controllers that are capable of identifying when an electronic device is in proximity of (e.g., in contact with) the apparatus and determine which capabilities to provide to the electronic device based on the location of the electronic device with respect to the apparatus.
  • the apparatus may be used in singular to bridge IO capabilities, the apparatus may identify a number of connected mat sections and generate a map of potential locations corresponding to the mat.
  • the capabilities of all the devices in contact with mat are shared with others, where in other examples, the capabilities of the many coupled devices are divided into groups based on location, device information, and/or other relationship information.
  • FIGS. 1 and 2 are block diagrams depicting example device management systems 100 and 200.
  • the apparatus 101 includes a device management system 100 with multiple controllers.
  • the controllers depicted in FIG. 1 include a management controller 102, a PD controller 104, and an IO controller 106.
  • the management controller 102 includes circuitry or a combination of circuitry and executable instructions to determine virtual boundaries corresponding to sections of the physically connected apparatus sections, such that a device placed on the physically connected apparatus sections in a virtual zone obtain access to ports allocated to that virtual zone.
  • movement of a peripheral device across virtual zone boundaries generates, via the management controller 102 and the IO controller 106, a handshake to allow the peripheral device to change a host connection and enumerates the peripheral device for access by the host device when the host device corresponds to a same virtual zone as the peripheral device.
  • Power delivery may also be managed, via the management controller 102 and the PD controller 104, based on the relationship between the device and the physically connected apparatus sections.
  • a controller is a combination of a processor resource and a memory resource with executable instructions stored thereon.
  • the executable instructions may include data and a control program, that when executed, causes the processor resource to perform operations according to the control program.
  • a PD controller 104 may include a set of executable instructions that, when executed by the processor resource, cause the power to be delivered to a port and/or device.
  • an IO controller 106 may include a set of executable instruction that, when executed by the processor resource, cause data communications to occur on a bus or via a wireless protocol (e.g., cause communication between components and/or devices).
  • a bus is not directly shown in the figures, however, it is implied in connecting electronic hardware components to allow for an electronic component to send a signal to another electronic component.
  • the controllers may be integrated into a single controller or distributed via a different number of controllers.
  • the system 100 may be integrated within or otherwise connected to a number of physically connected apparatus sections 110, which may comprise the entirety of the mat, for example.
  • the system 100 may be able to communicate with the physically connected apparatus sections 110, such as connecting to a port or a bus of the physically connected apparatus sections 110.
  • the management controller 102 of the system 100 may retrieve location identifiers of a number of the physically connected apparatus sections 110 and generate a map of the physically connected apparatus sections.
  • the management controller 102 may then control the PD controller 104 and the IO controller 106 to distribute communications abilities (e.g., port access and/or peripheral access) and power delivery to electronic devices associated with the physically connectable apparatus sections based on the locations of the electronic devices with respect to the map of the physically connected apparatus sections 110.
  • communications abilities e.g., port access and/or peripheral access
  • the PD controller 104 represents any circuitry or combination of circuitry and executable instructions to provide power to the physically connected apparatus sections 110 and/or provide power to devices coupled to the physically connected apparatus sections 110.
  • the PD controller 104 may be a combination of circuitry and executable instructions to manage delivery of power to an electronic device, such as by negotiating an appropriate current for the delivery protocol.
  • the PD controller 104 may be a combination of circuitry and executable instructions to manage power delivery from a power source to an electronic device from a power source via a bus of the physically connected apparatus sections.
  • the PD controller 104 may interact with a wireless charge device to provide power wirelessly to an electronic device.
  • the PD controller 104 may manage a battery or power bank which stores power for use, such as when the physically connected apparatus sections 110 lose power from an alternating current power source, such as a wall outlet.
  • the PD controller may negotiate power contracts with electronic devices that become coupled to the physically connected apparatus sections 110. Limitations may be established for groups of electronic devices based on context, as managed by the management controller 102 and discussed further below with respect to the management controller 102.
  • the IO controller 106 represents any circuitry or combination of circuitry and executable instructions to provide data communication via the physically connected apparatus sections 110 and/or provide data communication to devices coupled to the physically connected apparatus sections 110.
  • the IO controller 106 may be a combination of circuitry and executable instructions to manage the transfer of data signals to or from an electronic device via a bus of the physically connected apparatus sections 110.
  • the IO controller 106 may be part of a hub, such as a universal serial bus (USB) hub, that is separate to the physically connectable apparatus sections 110 or integrated into an apparatus section.
  • USB universal serial bus
  • the IO controller 106 causes port allocation (e.g., assignment between an upstream port and a downstream port) when the executable instructions (e.g., control program) is executed by a circuitry (e.g., a processor resource).
  • the system 100 may be integrated into a management section of the physically connectable apparatus sections 110, where the management section differs from the other apparatus sections by including the controller features for managing the other apparatus sections.
  • the IO controller 106 may enumerate and otherwise manage a peripheral device coupled to the apparatus section (e.g., via an IO port of the IO hub).
  • the IO controller 106 as managed by the management controller 102, may cause port management (e.g., assignment, enumeration, etc.) in response to contact of an electronic device to a designated portion of the physically connected apparatus sections 110.
  • the management controller 102 represents any circuitry or combination of circuitry and executable instructions to cause management of signals via the physically connected apparatus sections 110 and/or management of data communications and/or power transfer with devices coupled to the physically connectable apparatus sections 110.
  • the management controller 102 may be a combination of circuitry and executable instructions to determine a number of physically connected apparatus sections 110, identify a number of ports supported by a system coupled to the physically connected apparatus sections 110 (e.g., ports of an a hub integrated into an apparatus sections and/or ports of an electronic device coupled to the physically connected apparatus sections 110), and divide the number of physically connected apparatus sections 110 into a number of groups based on the number of ports.
  • the management controller 102 may include a combination of circuitry and executable instructions to cause port assignments to be allocated to the number of groups (e.g., via the IO controller 106).
  • the management controller 102 may be part of electronic bridge circuitry that causes the upstream and downstream IO ports to couple with respect to allowing access to a peripheral device via a host device, e.g., via configuration or other management of the IO controller 106.
  • the management controller 102 may cause, via a combination of circuitry and executable instructions, the IO controller to assign a port of the number of ports to an electronic device based on a group of the number of groups to which the electronic device is coupled.
  • the management controller 102 may include a combination of circuitry and executable instructions to determine whether a host device is located on the physically connected apparatus sections, determine a number of configurations of port access rights based on the number of ports and a configuration of the host device, and cause the IO controller 106 to perform a reallocation of port assignments based on the host device being added to the system or removed from the system.
  • the management controller 102 may include circuitry and executable instructions to determine location information of a number of the physically connected apparatus sections relative to each other and location information of devices relative to the physically connected apparatus sections.
  • each of the physically connected apparatus sections and the electronic devices include location identifiers associated with connection ports, and the management controller 102 utilizes the location information from all the devices to determine how the electronic devices and ports are to be coupled via their associations with (e.g., physical contact with) the physically connected apparatus sections 110.
  • the management controller 102 may include an inertial measurement unit (IMU), the management controller to use data from the IMU to determine relative location information.
  • IMU inertial measurement unit
  • the management controller 102 and/or each of the physically connectable apparatus sections 110 may include a memory resource having a unique device identifier and/or location identifier stored thereon.
  • the unique device identifier and location identifier may be a number, value, character, string, classification, or other manner of designation interpretable by the management controller 102 and/or a host device.
  • An example location identifier may be a port designation corresponding to one of the mechanical and/or electrical interfaces of the apparatus section.
  • the management controller 102 is a combination of circuitry and executable instructions to map a location of the electronic device with respect to the number of physically connected apparatus sections 110 and allocate access to a port to a peripheral device coupled to the electronic device based on the mapped location of the electronic device.
  • the physically connected apparatus sections 110 may provide an electrical interface to generate electrical communication between the physically connected apparatus sections 110 and any coupled electronic devices.
  • the physically connected apparatus sections may include a network of active and passive transmitters and/or sensors rather than electrical contacts to detect and interact with devices.
  • the management controller 102 may include a combination of circuitry and executable instructions to manage a number of virtual zones of the physically connected apparatus sections 110.
  • the management controller 102 may include a memory resource with a number of virtual zone templates, defining regions of subsets of the physically connected apparatus sections, and, the management controller 102 may determine which template to select based on a number of host devices (e.g., and the location information of the host devices) and/or a user selection.
  • a template represents a preset of virtual zone boundaries, such as a number of zones delineated in a general rectangle or other geometric shape.
  • the virtual zone templates match a display workspace template to replicate the allocation of virtual workspace (e.g., as shown via a number of display devices) with an equivalent amount of the plurality of mat sections.
  • the virtual zones may be manually identified by a user and may or may not be equally divided among the mat sections.
  • the divisions of the virtual zones e.g. the number of virtual zones and/or the boundaries of the virtual zones
  • the management controller 102 may include a combination of circuitry and executable instructions to monitor electronic device connection with the physically connected apparatus sections and negotiate changes to virtual zone allocations based on context. For example, a mat of physically connected apparatus sections 110 may be divided into three zones, each with two ports assigned initially, where after two electronic devices are located on a section of physically connected apparatus sections corresponding to a zone, a third electronic device may be placed on the section of physically connected apparatus sections where the other two devices are. In that example, the management controller 102 may determine that power nor data communication may be provided to the third electronic device because the number of ports allocated to the virtual zone exceeded the maximum.
  • the management controller 102 may identify that there is an available port allocated to another zone renegotiate that available port to be allocated to the third electronic device within the overloaded zone, the result being that a first zone may then have three ports allocated, one port allocated to the second zone, and two ports allocated to the third zone.
  • Reallocation of resources among zones may be based on a variety of context information, including size of zones, the types and status of electronic devices (e.g., an inactive electronic device may give up the port allocation to another device that is active or recently connected), and priority of capabilities allocated to each zone (e.g., a first zone may have maximum priority to receive as many port allocations as necessary where a second zone has lowest priority and may have a maximum of one port allocated to that section when all ports are intended to be used.) Similar negotiations with regards to power may be managed by the management controller 102.
  • power allotments may be allocated to each section and, based on context (such as an inactive machine), the power availability may be renegotiated across zones or within a zone based on available power and context (such as device priority for receiving charge capabilities).
  • context such as an inactive machine
  • the management controller 102 manages the configurations and operations of the PD controller 104 and the IO controller 104 so that ports, IO capabilities, and power delivery are dynamically allocated based on context, including locations of the electronic devices with respect to the physically connected apparatus sections.
  • FIG. 2 depicts the example device management system 200 may comprise a memory resource 220 operatively coupled to a processor resource 222.
  • the memory resource 220 may contain a set of instructions that are executable by the processor resource 222.
  • the set of instructions are operable to cause the processor resource 222 to perform operations of the system 200 when the set of instructions are executed by the processor resource 222.
  • the set of instructions stored on the memory resource 220 may be represented as a map module 202, a devices module 204, a groups module 206, and a ports module 208.
  • the map module 202, the devices module 204, the groups module 206, and the ports module 208 represent program instructions.
  • the program instructions When executed by a processor resource, the program instructions cause function of the management controller 102, the PD controller 104, and/or the IO controller 106 of FIG. 1 , such as the methods discussion herein.
  • the processor resource 222 may carry out a set of instructions to execute the modules 202, 204, 206, 208, and/or any other appropriate operations among and/or associated with the modules of the system 200.
  • the processor resource 222 may carry out a set of instructions to map a peripheral device to a location based on an identifier associated with a section of connected mat sections, determine a number of host devices associated with the connected mat sections, divide the number of connected mat sections into a number of groups based on the location of the host devices and a number of available ports, and assign management for communications with the peripheral device to a first host device of the number of host devices based on the location of the peripheral device with respect to the connected mat sections.
  • the processor resource 222 may carry out a set of instructions to determine a number of IO capabilities via IO ports coupled to the connected mat sections and physically connected peripheral devices, determine whether the peripheral device is to be connected to multiple host devices or dedicated to a single host device based on context (including a class of the peripheral device, activity status of the number of host devices, and the location of the peripheral device), divide the number of IO capabilities based on the number of groups and locations of the IO ports, map the IO capabilities to the number of host devices based on the number of groups and locations of the host devices, perform virtual USB port mapping of upstream ports and downstream ports based on locations of the host devices with respect to the connected mat sections, and determine whether to provide power, communications, or both to the peripheral device based on the location of the peripheral device with respect to the connected mat sections in response to contact with a surface of a group of the number of groups of the connected mat sections.
  • the processor resource 222 may carry out a set of instructions to identify a number of output devices coupled to the connected mat sections and cause an output area of the number of output devices to be divided based on number of hosts connected to the connected mat sections.
  • the processor resource 222 may carry out a set of instructions to determine a proximity of the electronic device to a mat of connected sections, determine a location of the electronic device in response to a determination that the electronic device is within a proximity threshold of the mat, and provide access to a port of a system coupled to the mat based on a number of host devices and the location of the electronic device with respect to the mat.
  • the processor resource 222 may carry out a set of instructions to establish virtual zones corresponding to portions of the mat; update a mapping of a boundary of the virtual zones with location information relative to another mat section in response to physical connection of the other mat section to the mat; change a boundary of a virtual zone based on movement of a host device across the mat; and determine whether to provide power, access to a communication channel, or both to an electronic device in response to the electronic device contacting the mat; and assign access to a port based on the location of another electronic device coupled to the mat.
  • modules illustrated in FIG. 2 and discussed in other example implementations perform specific functionalities in the examples discussed herein, these and other functionalities may be accomplished, implemented, or realized at different modules or at combinations of modules.
  • two or more modules illustrated and/or discussed as separate may be combined into a module that performs the functionalities discussed in relation to the two modules.
  • functionalities performed at one module as discussed in relation to these examples may be performed at a different module or different modules.
  • FIG. 15 depicts yet another example of how functionality may be organized into modules.
  • a processor resource is any appropriate circuitry capable of processing (e.g., computing) instructions, such as one or multiple processing elements capable of retrieving instructions from a memory resource and executing those instructions.
  • the processor resource 222 may be a central processing unit (CPU) that enables device management by fetching, decoding, and executing modules 202, 204, 206, and 208.
  • Example processor resources include at least one CPU, a semiconductor-based microprocessor, a programmable logic device (PLD), and the like.
  • Example PLDs include an application specific integrated circuit (ASIC), a field- programmable gate array (FPGA), a programmable array logic (PAL), a complex programmable logic device (CPLD), and an erasable programmable logic device (EPLD).
  • a processor resource may include multiple processing elements that are integrated in a single device or distributed across devices.
  • a processor resource may process the instructions serially, concurrently, or in partial concurrence.
  • a memory resource represents a medium to store data utilized and/or produced by the system 200.
  • the medium is any non-transitory medium or combination of non-transitory media able to electronically store data, such as modules of the system 200 and/or data used by the system 200.
  • the medium may be a storage medium, which is distinct from a transitory transmission medium, such as a signal.
  • the medium may be machine-readable, such as computer-readable.
  • the medium may be an electronic, magnetic, optical, or other physical storage device that is capable of containing (i.e. , storing) executable instructions.
  • a memory resource may be said to store program instructions that when executed by a processor resource cause the processor resource to implement functionality of the system 200 of FIG. 2.
  • the instructions residing on a memory resource may comprise any set of instructions to be executed directly (such as machine code) or indirectly (such as a script) by a processor resource.
  • a memory resource may be integrated in the same device as a processor resource or it may be separate but accessible to that device and the processor resource.
  • a memory resource may be distributed across devices.
  • the system 200 may include the executable instructions that are part of an installation package that when installed may be executed by a processor resource to perform operations of the system 200, such as methods described with regards to FIGS. 16-17.
  • a memory resource may be a portable medium such as a compact disc, a digital video disc, a flash drive, or memory maintained by a computer device, such as a web server, from which the installation package may be downloaded and installed.
  • the executable instructions may be part of an application or applications already installed.
  • a memory resource may be a non-volatile memory resource such as read only memory (ROM), a volatile memory resource such as random-access memory (RAM), a storage device, or a combination thereof.
  • Example forms of a memory resource include static RAM (SRAM), dynamic RAM (DRAM), electrically erasable programmable ROM (EEPROM), flash memory, or the like.
  • a memory resource may include integrated memory such as a hard drive (HD), a solid-state drive (SSD), or an optical drive.
  • FIGS. 3-8 depicts an example environment in which various device management systems may be implemented.
  • the device management system 300 includes a management controller 302.
  • the management controller 302 identifies a number of ports of the hub 308.
  • the hub 308 includes four ports labeled A, B, C, and D.
  • the management controller 302 identifies the number of physically connected mat sections to form mat 310.
  • the management controller 302 may cause a request from circuitry (e.g., a memory resource) and receive the unique identifier for section 311 and section 312.
  • the sections 311 and 312 may have an electrical and/or mechanical interface, such as a slideable mechanical interface extending from side surfaces of the mat sections to allow the sections to mate together.
  • the mechanical interface allows the apparatus sections to connect to the number of the physically connected apparatus and may have multiple connections to various portions of the physically connected apparatus sections. In this manner, the apparatus sections may be connected into a collection of unified sections, to act as a single device, such as a mat, with a changeable size and extensible data & power network.
  • the management controller 302 may then determine the relative location of the sections 311 and 312, such as the section 312 is located to the right of section 311 or that section 312 is connected to section 311 at an eastward facing port 315.
  • the management controller 302 determines to divide the number of ports 308 into groups corresponding to the number of mat sections, which is two in the example of FIG. 3.
  • the management controller 302 then causes ports A and C to be allocated to section 311 and ports B and D to be allocated to section 312.
  • the management controller 302 identifies that sections 313 and 314 have been coupled to the mat 310 and performs reallocation operations accordingly. For example, the management controller 302 receives a connection signal via southern port 317 of section 311 and a southern port 318 of section 312 via electrical connection, determines to increase the number of sections of the mat to four, generates a corresponding number of groups, and assigns a port to each of the connected sections (e.g., because there are four ports and four sections). In this example, port C is reallocated to section 313 and port D is reallocated to section 314.
  • the ports would be reallocated accordingly to the sections remaining connected.
  • the number of sections and ports are examples used for the sake of clarity; however, it would be expected that the systems and methods discussed herein are useable with any number of mat sections and in various connection combinations (e.g., to form various mat shapes).
  • a plurality of square mat sections have been coupled together to form a mat 510.
  • the number of physically connected apparatus sections connect into a mat 510 on which a host device or a peripheral device may be located.
  • a host device 534 is located within a proximity threshold of the mat 510.
  • the host device 534 may be in contact with the mat 510 and may be in contact with mat across a plurality of mat sections, such as connecting the mat bus network via contact with electrical contact pads on the surface of the housing of the mat sections.
  • the mat 510 may include a controller to enumerate or otherwise initialize the host device 534 for access to the communication and/or power delivery network provideable via the mat 510.
  • the host device 534 may have access to peripheral devices coupled to the mat 510, such as display 536, keyboard 540, and computer mouse 542.
  • peripheral devices coupled to the mat 510 such as display 536, keyboard 540, and computer mouse 542.
  • a controller of the mat 510 may generate a corresponding virtual zone 530 that encompasses the entirety of the mat 510, and thereby allows the host device 534 to connect to all devices in proximity to or coupled to the mat 510.
  • a second host device such as a cell phone 644, may come within a proximity threshold of (e.g., in contact with) the mat 510.
  • a controller of the mat 510 may divide the previous virtual zone 530 of FIG. 5 into two virtual zones 630 and 632 as shown in FIG. 6.
  • the left side of the mat 510 and the second side of the mat 510 are divided into two virtual zones because the second host 644 is placed on the left side of the host device 534 with respect to the mat 510.
  • the two virtual zones may then determine how to allow operation of the peripheral devices with the host devices.
  • the display 536 may similarly divide the visual output into two portions as well, equal to the number of hosts (and virtual zones), and provide visual output from both the host 534 and 644 corresponding to the zones (e.g., on the same side of the display as the side of the mat).
  • the operations of the peripheral device may change to provide input to or output from a host based on which zone the peripheral device is located.
  • the mat 710 may include controllers, such as controllers 702, 704, and 706 that represent controllers 102, 104, and 106 of FIG. 1 , respectively.
  • the controllers may be distributed across separate mat sections or integrated into a single director mat section (e.g., mat section with management capabilities over the other mat sections), such as shown in the upper left most corner section of the mat 710.
  • the management controller 702 may start with a single zone, whether or not a host device is coupled to the mat 710. A single zone may allow the mat 710 to act as a docking station, where placing the device 734 on the mat 710 allows the keyboard 740 and 742 to interact with the host device 734.
  • FIG. 8 shows that the management controller 702 may, based on context, change the number of zones and then cause the IO controller 706 and/or PD controller 704 to allow connections across devices in accordance with the zones.
  • the controller 702 has divided the mat 710 into two zones 830 and 832 based on the host device 734 and the host device 844 being coupled to the mat 710.
  • devices may be restricted to connections with devices within the same zone, and in other situations, the devices may be able to interact with various zones at the same time.
  • the mat 710 may be able to connect with legacy devices, such as printer 848 may take advantage of the convenience of the mat-based power and communication networks via a legacy port 850 on the mat section, thus making the mat interfaceable with devices that may have universal port interfaces rather than the proprietary interface to connect with the top surface of the mat 710.
  • the printer 848 may be allocated only to host device 734 because both are in the same zone 830, while phone 844 may be restricted from access to the printer 848 because the phone is located in zone 832. Some devices, such as a keyboard 740 may have access to multiple zones (such as because the keyboard is located across multiple zones).
  • the computer mouse 742 may move a cursor on display 736 from a right side of the screen to a left side of the screen, where the left and right side are divided among hosts, and, as soon as the mouse cross that virtual border, the input from the mouse 742 may interact with host 734 rather than host device 844, even though it is generally in the same zone as host device 844 and a different zone from host 834 (because in this context the computer operates a cursor that moved across virtual boundaries).
  • Adding a peripheral device that provides network capability may generate redundancy for example, the router 846 may negotiate with the management control 704 and provide Internet communications to both host devices 734 and 844 via physical connection with the mat 710 and/or a wireless connection directly negotiated with the router 846.
  • Multiple displays 837 and 838 may be added to the configuration shown in FIG. 7, and because the displays 837 and 838 are enumerated via the management controller 702, the displays 837 and 838 may automatically power on and connect the video output from the host device 734 once the peripheral devices receive power from the mat 710 and perform handshakes with the management controller 702 to allow IO capabilities to connect to those peripherals.
  • the display 837 may automatically start showing output from corresponding to the host device 734 which is in the same zone 830 as the display 837, while the display 838 may automatically start presenting output corresponding to the host device 844 which is in the same zone 832 as the display 838.
  • the mat sections may be connected to a power source via a power source interface. Power may be provided to the sections via outlets or battery power and may be exchanged among sections as desired for the computing experienced.
  • the power source interface may be coupled to the wireless charge device such that the wireless charge device is to receive electrical power via the power source interface.
  • the wireless charge device may provide power to an electronic device coupled to the mat as managed by the PD controller. Such charging may be prioritized, such as by zone or other context, to allow for consistent operation as desired.
  • FIGS. 9-14 depicts example features of example mat apparatus sections.
  • the apparatus section 911 depicts multiple interfaces on the housing 951.
  • the top surface 953 may include an interface 960 for making direct electrical contact with a device place on the mat.
  • the electronic devices may be naturally placed on the apparatus 911 and make connection to the capabilities of the mat 910 while still being operable as the device would be on a desk.
  • the example interface 960 shown in FIG. 9 is pogo pin connectors.
  • the side surfaces 955 may include interfaces 952 and 954 for connecting to other mat sections 912 and 913.
  • the sections 911 , 912, and 913 may electrically connect via USB-C connectors such as male connectors 954 and female connectors 952.
  • the twelve pogo pins of interface 960 may couple to the twelve pins of the USB protocol, such that the surface of the housing and a surface of the physically connected apparatus sections includes at least twelve electrical contacts corresponding to a negative set of pins of a USB protocol or a positive set of pins of the USB protocol.
  • a controller may provide a USB hub functionality and power delivery functionality via the electrical contacts on the top surface of the mat section to corresponding contacts on the electronic device.
  • a controller of the mat section 911 may determine whether an interface of an electronic device is aligned or not with respect to the interface 960, or otherwise able to determine the contact status or charging status of the electronic device.
  • the interfaces 1062 to which the apparatus sections, such as section 1011 , are to connect to other sections may be pogo pins as well as the interface 1060 on the top surface. Alignment among the sections may be assisted using alignment nodes, such as magnets 1058 to ensure the connections between adapters is secure to maintain integrity of the electrical network among the mat sections.
  • the mat section 1011 may include a number of light- emitting diodes (LEDs) 1070 to provide status indications, such as a number of LEDs to show a power state, a color of LED to indicated an IO port state, a color associated with a zone or a number of LEDs to light up to show an amount of alignment with contacts, and the like.
  • LEDs light- emitting diodes
  • the LEDs 1070 could be included in the mat to communicate status, activity, remaining power, remaining number of ports for a zone, outline different zones, device connections, error codes, failed handshake, and/or help users place devices, as further examples.
  • the mat section 1011 may include surface markings to assist a user to make proper alignment with the mat or instructions could be displayed on the monitor or spoken with audio to help the user properly position devices on the mat.
  • magnets 1068 are available on the surface to assist proper orientation and alignment to interface 1060 on the top surface.
  • the mat sections may provide various capabilities to the overall mat.
  • a wireless charging capability may be added to the mat via connecting the section 1111 to the mat, where power may be provided to the mat via connectors 1152 and/or 1154 to the charging coil 1156, such that a corresponding charging feature on an electronic device can receive power via transfer between the coils.
  • a wireless charge device may be located adjacent the top surface of the section 1111 and the wireless charge device to provide power to a host device when the host device is within a proximity threshold of the top surface.
  • additional resources that may be coupled to the mat include memory resources, processor resources, etc. to allow for improved device operation for host devices coupled to the mat sections.
  • FIG. 12 depicts that sections with particular capabilities may have various interfaces to couple to the mat and/or an electronic device.
  • the mat sections may provide resources to devices corresponding to the virtual zone to which they are assigned by the management controller.
  • resources may be provided via the mat network and the resource may be integrated within mat sections or connected to the mat sections by wire, contact, or wirelessly.
  • Contact-based connections may provide the convenience of ease of connection and integrity of wired connections, thus balancing convenience and connection efficiency.
  • the example shape of the apparatus sections need not be square, but could be other shapes, such as triangles.
  • the mat 1310 may include a number of triangular mat sections, where each side of the triangle includes an interface (e.g., 1315, 1316) to couple to another triangular mat section.
  • orientation of the mat section may determine how the mat interacts with an electronic device touching that mat section.
  • the interface pins on a top facing triangle may provide positive pin connections while interface pins on a bottom facing triangle may provide negative pin connections.
  • the number of electrical contact pads on a surface of the housing may be at least twice the number of pins used for a protocol (e.g., to provide positive and negative connections over adjacent interfaces of apparatus sections).
  • the side interface 1466 of the mat section 1411 may include twelve pogo pins to connect with another pogo pin interface of a separate mat section.
  • the top surface interface may be a number of concentric triangles 1464 as shown in FIG. 14, to allow the electrical contacts on an electrical device to make the proper number of pin connections.
  • twelve concentric triangular contacts corresponding to twelve pogo pins of the side interface and twelve pins used in a USB protocol.
  • the electrical interfaces may be compatible with various protocols, such as USB type C, THUNDERBOLT connections, or other industry standard electrical connection.
  • FIG. 15 depicts example components useable to implement example device management system 1500.
  • the example components of FIG. 15 generally include a management controller 1502, a PD controller 1504, and an IO controller 1506.
  • the example components of FIG. 15 may be implemented as part of a mat section or on a compute device, such as a host device.
  • the management controller 1502 includes program instructions, such as a map module 1570, a devices module 1572, a groups module 1574, and a ports module 442, to assist power and data management of the mat and devices bridged via the mat.
  • program instructions such as a map module 1570, a devices module 1572, a groups module 1574, and a ports module 442, to assist power and data management of the mat and devices bridged via the mat.
  • the new device may perform request 1582 to join the device bridge of the mat and/or the handshake request is initiated by the management controller 1502 in response to an electrical signal received from the electronic device contacting the mat.
  • the handshake between the management controller 1502 and an electrical device may be via a wireless protocol such as WIFI or BLUETOOTH.
  • the map module 1570 represents program instructions that when executed cause a processor resource to generate a map of the mat sections and electronic devices coupled to the mat, using the section identifiers 1584, device identifiers 1588, and/or location information 1590.
  • the devices module 1572 represents program instructions that when executed cause a processor resource to identify the devices connected to the mat.
  • the groups module 1574 represents program instructions that when executed cause a processor resource to determine a number of virtual zones based on the number of devices and/or ports 1586 coupled to the mat. Execution of the groups module 1574 may identify a virtual zone template from a data store based on a number of IO ports supported by the mat and/or the number and location of host devices on the mat.
  • the ports module 1576 represents program instructions that when executed cause a processor resource to cause the IO controller 1506 to perform port assignments based on the virtual zones determined via execution of the groups module 1574.
  • the management controller 1502 sends instructions to the PD controller 1504 and the IO controller 1506 to provide power and data communications based on the groups (e.g., the virtual zones and port assignments) identified via execution of modules 1570, 1572, 1574, and 1576.
  • the PD controller 1504 includes program instructions, such as a proximity module 1578, to assist delivery of power to a device that is within a proximity threshold of the mat and as authorized by the management controller.
  • Authentication methods may be used to ensure the communications and power delivery are performed securely between each mat section, each virtual zone, and/or each electronic device, whether connected physically or wirelessly.
  • the management controller may generally support encryption and decryption techniques and adhere to security protocols or other authorization protocols, such as high-definition content protection (HDCP) protocols.
  • the proximity module 1578 represents program instructions that when executed cause a processor resource to cause the PD controller 1504 to determine whether a device is in close enough proximity to receive power through direct electrical contact or via wireless charging. Proximity may be determined via near-field communication (NFC) protocol or any other wireless transmission protocol.
  • the location information 1590 of the device may be used by the PD controller 1578 to determine whether any devices (identified via device identifiers 1588) are within the proximity threshold of a virtual zone authorized to receive power via the mat (identified via group information 1592).
  • the IO controller 1506 includes program instructions, such as an assignment module 1580, to assist management of communications between devices coupled to the mat.
  • the assignment module 1580 represents program instructions that when executed cause a processor resource to cause the IO controller 1506 to perform upstream and/or downstream port assignments to generate the connections between devices based on the virtual zones in which the devices reside (and any other context, such as status information provided from device or a sensor coupled to the mat).
  • the IO controller 1506 uses location information 1590 and the device identifiers 1588 to determine which groups of devices have access to rights to another group of devices based on the group information generated via execution of the management module 1502.
  • the IO controller 1580 may cause automatic state changes among peripheral devices and/or host devices based on the virtual zones of the mat and/or other context parameters.
  • the 10 controller 1506 provides instructions 1598 to cause access to ports and/or devices based on the virtual zones defined by the group information 1592.
  • FIGS. 16 and 17 are flow diagrams depicting example methods 1600 and 1700 of device management. Such methods 1600 and 1700 are performable via execution of controllers, such as controllers 102, 104, and 106 of FIG. 1.
  • example methods of managing power and data communications of an electronic device may generally comprise determining a proximity of an electronic device to a mat of connected sections, determining a location of the electronic device with respect to the mat, and providing port access based on the context of devices coupled to the mat.
  • a proximity of an electronic device to a mat is determined.
  • the mat is made up of a plurality of connected sections that together form a network for power delivery and a network for data communication.
  • a location of the electronic device is identified in response to a determination that the electronic device is within a proximity threshold of the mat at block 1602.
  • the connected mat sections may include sensors and/or transmitters that may detect the presence of a host device or peripheral device.
  • the trajectory of the device may be determined by the management controller, where the trajectory is towards the mat and the management controller may begin enumeration of other operations to prepare the device to connect to the network, devices, and/or power delivery system of the mat.
  • access to a port of the system coupled to the mat is provided to an electronic device based on context of devices coupled to the mat, including a number of host devices and the location of the electronic device with respect to the mat.
  • FIG. 17 includes blocks similar to blocks of FIG. 16 and provides additional blocks and details.
  • FIG. 17 depicts additional blocks and details generally regarding determining the groups of devices coupled to the mat and assigning connections among devices and ports.
  • virtual zones corresponding to portions of the mat are established.
  • the virtual zones may be determined based on the size of the mat, the number of ports supported by the IO controller of the mat, the number of host devices, and location thereof, etc.
  • the virtual zones may be determined by dividing the number of connectable mat sections into a number of groups based on the location of the host devices and a number of available ports.
  • the division of the mat into virtual zones may be performed in any appropriate manner, such as equal divisions among the number of host devices, lengthwise divisions based on priority of the host devices, widthwise divisions based on proximity to a display device, isolating zones to a specific perimeter around an identified host device, and the like.
  • the zones may be partially or fully defined by a user, such as by generating their own virtual zone templates to be selected from when a particular host or number of hosts coupled to the mat.
  • a peripheral device is mapped to a location based on an identifier associated with the connectable mat sections.
  • the peripheral device may be connected to a mat section designated as specific square (such as B3) of a matrix of M rows and N columns.
  • the identifier may be a unique identifier associated with the mat section and/or a location identifier generated by the management controller to designate the location.
  • a number of IO capabilities coupled to the connectable mat sections is determined.
  • the IO capabilities may be identified via IO ports of an integrated mat or IO capabilities of peripheral devices physically connected to the mat, as examples.
  • the number of IO capabilities are divided based on the number of groups and locations of the IO ports.
  • the device bridge may control race conditions for access to a peripheral device. For example, the downstream ports may be flagged for dedicated use based on visual context with the mat (e.g., which group the devices are connected to).
  • a mapping of a boundary of the virtual zones established at block 1702 is updated in response to a physical connection of another mat section to the already connect mat sections.
  • the mapping may be updated with mat section identifier information corresponding to location information relative to the other connected mat sections.
  • the mapping may then be used to designate which sections (and thereby which electronic devices) are to receive power and/or communication via the mat.
  • the priority level for communications and/or power may be determined based on which virtual zone the electronic device corresponds to.
  • access to the peripheral device is assigned to a host device based on the location of the peripheral device with respect to the connect mat sections (e.g., how the virtual zones are associated with regions of the connectable mat sections). The context used to determine the location of the peripheral device and whether to provide access to host devices.
  • the device-to-mat mapping operations may include mapping the IO capabilities of the peripheral device to a number of host devices based on the number of groups and locations of the host devices.
  • access to a port of the system coupled to a mat is assigned based on location of a first peripheral device and a second peripheral device, where the location of the other peripheral device with respect to the mat may determine which group to allocated the first peripheral device to.
  • the correlation between devices may be managed by dynamically maintaining a mapping corresponding to the devices’ locations relative to the proportions of the mat.
  • movement of a host device may change a boundary of a virtual zone and movement of a peripheral device across virtual zone boundaries may cause a handshake to be performed to allow the peripheral device to change a host connection to a different host device, thus allowing the peripheral device to be enumerated for access by the new host device corresponding to a same virtual zone as the peripheral device.
  • an apparatus may be used has a housing for a network of communication and/or power delivery that is managed based on determined locations of groups of devices with respect to the apparatus.
  • FIGS. 15-17 illustrate specific orders of execution, the execution order may differ from that which is illustrated.
  • the execution order of the blocks may be scrambled relative to the order shown.
  • the blocks shown in succession may be executed concurrently or with partial concurrence. All such variations are within the scope of the present description.
  • All the features disclosed in this specification including any accompanying claims, abstract and drawings), and/or all the elements of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or elements are mutually exclusive.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)

Abstract

An example apparatus and method of managing an electronic device is described herein. The example apparatus may include a number of controllers to manage data communications and power delivery. The method includes providing access to a port (of a system coupled to a mat) to an electronic device based on a number of host devices and the location of the electronic device with respect to the mat.

Description

DEVICE MANAGEMENT
BACKGROUND
[0001] Compute devices are commonly used with peripheral devices and other compute devices to perform input processing and output functionality. For example, a desktop compute device may be coupled to by a keyboard, a computer mouse, and a display device to allow a user to interact with compute device using physical input and view the state of compute device using the display device.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] FIGS. 1 and 2 are block diagrams depicting example device management systems.
[0003] FIGS. 3-8 depicts example environments in which various device management systems may be implemented.
[0004] FIGS. 9-14 depicts example features of example mat apparatus sections.
[0005] FIG. 15 depicts example components useable to implement an example device management system.
[0006] FIGS. 16 and 17 are flow diagrams depicting example methods of device management.
DETAILED DESCRIPTION
[0007] In the following description and figures, some example implementations of apparatus, device management systems, and/or methods of managing data communications and power delivery are described. The example apparatus may be a substantially flat device, such as a mat, including a number of controllers to manage data communications and power delivery. The method includes providing access to a port of a system coupled to the apparatus based on a number of host devices and the location of the electronic device with respect to the apparatus. [0008] As used herein, an electronic device refers to any apparatus with an electronic component, such as a component that uses electrical signals to communicate and/or activate an operation. Electronic devices utilize electrical signals to provide power to the device and activate circuitry. In some examples, an electronic device includes a power delivery (PD) controller to negotiate power levels and otherwise manage the electrical signals for the electronic components.
[0009] An example apparatus discussed herein is a connectable mat section where connecting the mat sections allows electronic communication and power delivery channels of each section to connect and make a larger, connected mat and larger network of communication and/or power delivery buses. A mat, as used herein, may refer to an apparatus that is substantially flat lengthwise on at least one side (e.g., the top and bottom of the mat), such that electronic devices may be placed on the mat and remain on the mat according to user interaction with the electronic device. An example of a mat is a computer mouse mat, which may have a cushion, textile, textured coating, or other material layered to enhance use of a computer mouse on a desk. Indeed, the apparatus discussed herein may be used on a desk, table, or any other workspace, and may act as a layer between the workspace and the electronic devices. The apparatus sections may include mounting hardware to attach to a wall or ceiling and mechanical interfaces that securely allow an electronic device to remain attached to the mat while in a vertical orientation or upside-down orientation.
[0010] Another example of an apparatus in which data and power capabilities may be implemented is a display stand and/or display base of a display device. Yet another example of an apparatus in which data and power capabilities may be implemented may be a bezel of a display device, where bezels may be connected to each other to form a frame around the display and/or connected to a bezel of separate display to form a connection across display devices. An interface may be located on the bezel surface such that a peripheral may be attached at various locations along the bezel. In some examples, an apparatus with an interface compatible with the plurality of connected apparatus sections may be implemented in an electronic device, such as a compute device. In this manner, electronic devices may be designed to be stackable, such that the electronic devices connect to a mat as described herein via an intermediary electronic device with interfaces corresponding to the mat interface on the top and the bottom of the intermediary electronic device. Any references to components or methods useable with a mat, or mat section, as described herein are applicable to other apparatus form factors, such as the display bezel and display stands discussed above.
[0011] A compute system is a combination of circuitry and executable instructions to perform an operation. An example compute system includes a host device with an input/output (IO) bus for managing connections with peripheral devices. A host device is a general computer (or a specialized computer) with a processor resource and a memory resource with instructions stored thereon that, when executed by the processor resource, cause operation of an operating system (OS).
[0012] A peripheral device is an electronic device capable of being connected to and communicating with the host device. For example, the peripheral device may be a human interface device (HID) to allow a user to input information to be processed by the host device, such as generation of signals corresponding to information input from interaction with a customer or employee corresponding to a retail transaction. Example peripheral devices include display devices, print apparatus, hubs, switches, routers, keyboards, computer mice, scanners, readers, personal identification number (PIN) entry device (e.g., PIN pads), biometric devices, headsets, speakers, cameras, external data storage devices, disc writers, direct inking tablets, lighting devices, power banks, and the like. In this manner, peripheral devices generally extend the input and output capabilities of the general compute device to include functionalities, new or improved, in comparison to the integrated components of the general compute device.
[0013] In examples described herein, a “display device” may be an electronic device to present content visually. Example display devices may include a screen such as a liquid crystal display (LCD) panel, an organic light-emitting diode (OLED) panel, a micro light emitting diode (pLED), or other display technology. In some examples, a display device may also include circuitry to operate the screen, such as a monitor scaler or other video processor.
[0014] A display device may present (e.g., displays) an image on a panel using a data source to determine a color to display for every pixel on the panel. The source image data may include color data according to a color space such as red, green, and blue (RGB) channel data. Colors displayed by a panel are entirely dependent on the color characteristics of the display panel. For LCD panels, color characteristic information may include spectral output of the backlight and the tone of the color filters applied on the top of the grayscale liquid crystals. The display memory may be used to store multiple color calibration profiles that correspond to a plurality of luminosity ranges or “display modes,” such as standard RGB (sRGB), high dynamic range (HDR), standard dynamic range (SDR), etc.
[0015] In examples described herein, a “print apparatus” may be a device to print content on a physical medium (e.g., paper, textiles, a layer of powder-based build material, etc.) with a print material (e.g., ink or toner). For example, the print apparatus may be an office printer that uses pre-cut sheet print medium that is size A4 or a wide-format print apparatus that prints latex-based print fluid on a print medium, such as a web roll for paper larger than A2. For another example, a print apparatus may be a three-dimensional (3D) print apparatus that deposits print materials in a layer-wise additive manufacturing process. A print apparatus may utilize suitable print consumables, such as ink, toner, fluids or powders, or other raw materials for printing. An example of fluid print material is a water-based latex ink ejectable from a print head, such as a piezoelectric print head or a thermal inkjet print head. Other examples of print fluid may include dye-based color inks, pigment- based inks, solvents, gloss enhancers, fixer agents, and the like.
[0016] Various examples described below relate to providing a mechanism to bridge electronic devices (e.g., peripheral devices and host devices) via a physical apparatus, such as a mat. The apparatus includes controllers that are capable of identifying when an electronic device is in proximity of (e.g., in contact with) the apparatus and determine which capabilities to provide to the electronic device based on the location of the electronic device with respect to the apparatus. Though the apparatus may be used in singular to bridge IO capabilities, the apparatus may identify a number of connected mat sections and generate a map of potential locations corresponding to the mat. In some examples, the capabilities of all the devices in contact with mat are shared with others, where in other examples, the capabilities of the many coupled devices are divided into groups based on location, device information, and/or other relationship information. This may allow for an intuitive device bridge that modifies the computing environment based on context of the devices (e.g., location of devices with respect to each other and the state of the devices). [0017] FIGS. 1 and 2 are block diagrams depicting example device management systems 100 and 200. Referring to FIG. 1 , the apparatus 101 includes a device management system 100 with multiple controllers. The controllers depicted in FIG. 1 include a management controller 102, a PD controller 104, and an IO controller 106. In general, the management controller 102 includes circuitry or a combination of circuitry and executable instructions to determine virtual boundaries corresponding to sections of the physically connected apparatus sections, such that a device placed on the physically connected apparatus sections in a virtual zone obtain access to ports allocated to that virtual zone. For example, movement of a peripheral device across virtual zone boundaries generates, via the management controller 102 and the IO controller 106, a handshake to allow the peripheral device to change a host connection and enumerates the peripheral device for access by the host device when the host device corresponds to a same virtual zone as the peripheral device. Power delivery may also be managed, via the management controller 102 and the PD controller 104, based on the relationship between the device and the physically connected apparatus sections.
[0018] As used herein, a controller is a combination of a processor resource and a memory resource with executable instructions stored thereon. The executable instructions may include data and a control program, that when executed, causes the processor resource to perform operations according to the control program. For example, a PD controller 104 may include a set of executable instructions that, when executed by the processor resource, cause the power to be delivered to a port and/or device. For another example, an IO controller 106 may include a set of executable instruction that, when executed by the processor resource, cause data communications to occur on a bus or via a wireless protocol (e.g., cause communication between components and/or devices). A bus is not directly shown in the figures, however, it is implied in connecting electronic hardware components to allow for an electronic component to send a signal to another electronic component. In some examples, the controllers may be integrated into a single controller or distributed via a different number of controllers.
[0019] The system 100 may be integrated within or otherwise connected to a number of physically connected apparatus sections 110, which may comprise the entirety of the mat, for example. The system 100 may be able to communicate with the physically connected apparatus sections 110, such as connecting to a port or a bus of the physically connected apparatus sections 110. The management controller 102 of the system 100 may retrieve location identifiers of a number of the physically connected apparatus sections 110 and generate a map of the physically connected apparatus sections. The management controller 102 may then control the PD controller 104 and the IO controller 106 to distribute communications abilities (e.g., port access and/or peripheral access) and power delivery to electronic devices associated with the physically connectable apparatus sections based on the locations of the electronic devices with respect to the map of the physically connected apparatus sections 110.
[0020] The PD controller 104 represents any circuitry or combination of circuitry and executable instructions to provide power to the physically connected apparatus sections 110 and/or provide power to devices coupled to the physically connected apparatus sections 110. For example, the PD controller 104 may be a combination of circuitry and executable instructions to manage delivery of power to an electronic device, such as by negotiating an appropriate current for the delivery protocol. For another example, the PD controller 104 may be a combination of circuitry and executable instructions to manage power delivery from a power source to an electronic device from a power source via a bus of the physically connected apparatus sections. In some examples, the PD controller 104 may interact with a wireless charge device to provide power wirelessly to an electronic device. In some examples, the PD controller 104 may manage a battery or power bank which stores power for use, such as when the physically connected apparatus sections 110 lose power from an alternating current power source, such as a wall outlet. The PD controller may negotiate power contracts with electronic devices that become coupled to the physically connected apparatus sections 110. Limitations may be established for groups of electronic devices based on context, as managed by the management controller 102 and discussed further below with respect to the management controller 102.
[0021] The IO controller 106 represents any circuitry or combination of circuitry and executable instructions to provide data communication via the physically connected apparatus sections 110 and/or provide data communication to devices coupled to the physically connected apparatus sections 110. For example, the IO controller 106 may be a combination of circuitry and executable instructions to manage the transfer of data signals to or from an electronic device via a bus of the physically connected apparatus sections 110. The IO controller 106 may be part of a hub, such as a universal serial bus (USB) hub, that is separate to the physically connectable apparatus sections 110 or integrated into an apparatus section. The IO controller 106 causes port allocation (e.g., assignment between an upstream port and a downstream port) when the executable instructions (e.g., control program) is executed by a circuitry (e.g., a processor resource). The system 100 may be integrated into a management section of the physically connectable apparatus sections 110, where the management section differs from the other apparatus sections by including the controller features for managing the other apparatus sections. In an example, the IO controller 106 may enumerate and otherwise manage a peripheral device coupled to the apparatus section (e.g., via an IO port of the IO hub). The IO controller 106, as managed by the management controller 102, may cause port management (e.g., assignment, enumeration, etc.) in response to contact of an electronic device to a designated portion of the physically connected apparatus sections 110.
[0022] The management controller 102 represents any circuitry or combination of circuitry and executable instructions to cause management of signals via the physically connected apparatus sections 110 and/or management of data communications and/or power transfer with devices coupled to the physically connectable apparatus sections 110. For example, the management controller 102 may be a combination of circuitry and executable instructions to determine a number of physically connected apparatus sections 110, identify a number of ports supported by a system coupled to the physically connected apparatus sections 110 (e.g., ports of an a hub integrated into an apparatus sections and/or ports of an electronic device coupled to the physically connected apparatus sections 110), and divide the number of physically connected apparatus sections 110 into a number of groups based on the number of ports. In that example, the management controller 102 may include a combination of circuitry and executable instructions to cause port assignments to be allocated to the number of groups (e.g., via the IO controller 106). For another example, the management controller 102 may be part of electronic bridge circuitry that causes the upstream and downstream IO ports to couple with respect to allowing access to a peripheral device via a host device, e.g., via configuration or other management of the IO controller 106. Indeed the management controller 102 may cause, via a combination of circuitry and executable instructions, the IO controller to assign a port of the number of ports to an electronic device based on a group of the number of groups to which the electronic device is coupled.
[0023] The management controller 102 may include a combination of circuitry and executable instructions to determine whether a host device is located on the physically connected apparatus sections, determine a number of configurations of port access rights based on the number of ports and a configuration of the host device, and cause the IO controller 106 to perform a reallocation of port assignments based on the host device being added to the system or removed from the system. [0024] The management controller 102 may include circuitry and executable instructions to determine location information of a number of the physically connected apparatus sections relative to each other and location information of devices relative to the physically connected apparatus sections. In some examples, each of the physically connected apparatus sections and the electronic devices include location identifiers associated with connection ports, and the management controller 102 utilizes the location information from all the devices to determine how the electronic devices and ports are to be coupled via their associations with (e.g., physical contact with) the physically connected apparatus sections 110. For another example, the management controller 102 may include an inertial measurement unit (IMU), the management controller to use data from the IMU to determine relative location information.
[0025] In another example, the management controller 102 and/or each of the physically connectable apparatus sections 110 may include a memory resource having a unique device identifier and/or location identifier stored thereon. The unique device identifier and location identifier may be a number, value, character, string, classification, or other manner of designation interpretable by the management controller 102 and/or a host device. An example location identifier may be a port designation corresponding to one of the mechanical and/or electrical interfaces of the apparatus section. In an example, the management controller 102 is a combination of circuitry and executable instructions to map a location of the electronic device with respect to the number of physically connected apparatus sections 110 and allocate access to a port to a peripheral device coupled to the electronic device based on the mapped location of the electronic device. The physically connected apparatus sections 110 may provide an electrical interface to generate electrical communication between the physically connected apparatus sections 110 and any coupled electronic devices. In one example, the physically connected apparatus sections may include a network of active and passive transmitters and/or sensors rather than electrical contacts to detect and interact with devices.
[0026] The management controller 102 may include a combination of circuitry and executable instructions to manage a number of virtual zones of the physically connected apparatus sections 110. In one example, the management controller 102 may include a memory resource with a number of virtual zone templates, defining regions of subsets of the physically connected apparatus sections, and, the management controller 102 may determine which template to select based on a number of host devices (e.g., and the location information of the host devices) and/or a user selection. A template, as used herein, represents a preset of virtual zone boundaries, such as a number of zones delineated in a general rectangle or other geometric shape. In some examples, the virtual zone templates match a display workspace template to replicate the allocation of virtual workspace (e.g., as shown via a number of display devices) with an equivalent amount of the plurality of mat sections. The virtual zones may be manually identified by a user and may or may not be equally divided among the mat sections. In some examples, the divisions of the virtual zones (e.g. the number of virtual zones and/or the boundaries of the virtual zones) may change, as managed by the management controller 102, in response detected additions of electronic devices to the physically connected apparatus sections 110 and/or removal of electronic devices from the physically connected apparatus sections.
[0027] The management controller 102 may include a combination of circuitry and executable instructions to monitor electronic device connection with the physically connected apparatus sections and negotiate changes to virtual zone allocations based on context. For example, a mat of physically connected apparatus sections 110 may be divided into three zones, each with two ports assigned initially, where after two electronic devices are located on a section of physically connected apparatus sections corresponding to a zone, a third electronic device may be placed on the section of physically connected apparatus sections where the other two devices are. In that example, the management controller 102 may determine that power nor data communication may be provided to the third electronic device because the number of ports allocated to the virtual zone exceeded the maximum. In that same example, based on configuration, the management controller 102 may identify that there is an available port allocated to another zone renegotiate that available port to be allocated to the third electronic device within the overloaded zone, the result being that a first zone may then have three ports allocated, one port allocated to the second zone, and two ports allocated to the third zone. Reallocation of resources among zones may be based on a variety of context information, including size of zones, the types and status of electronic devices (e.g., an inactive electronic device may give up the port allocation to another device that is active or recently connected), and priority of capabilities allocated to each zone (e.g., a first zone may have maximum priority to receive as many port allocations as necessary where a second zone has lowest priority and may have a maximum of one port allocated to that section when all ports are intended to be used.) Similar negotiations with regards to power may be managed by the management controller 102. For example, power allotments may be allocated to each section and, based on context (such as an inactive machine), the power availability may be renegotiated across zones or within a zone based on available power and context (such as device priority for receiving charge capabilities). In this manner, the management controller 102 manages the configurations and operations of the PD controller 104 and the IO controller 104 so that ports, IO capabilities, and power delivery are dynamically allocated based on context, including locations of the electronic devices with respect to the physically connected apparatus sections.
[0028] In some examples, functionalities described herein in relation to any of FIGS. 1-2 may be provided in combination with functionalities described herein in relation to any of FIGS. 3-17.
[0029] FIG. 2 depicts the example device management system 200 may comprise a memory resource 220 operatively coupled to a processor resource 222. Referring to FIG. 2, the memory resource 220 may contain a set of instructions that are executable by the processor resource 222. The set of instructions are operable to cause the processor resource 222 to perform operations of the system 200 when the set of instructions are executed by the processor resource 222. The set of instructions stored on the memory resource 220 may be represented as a map module 202, a devices module 204, a groups module 206, and a ports module 208. The map module 202, the devices module 204, the groups module 206, and the ports module 208 represent program instructions. When executed by a processor resource, the program instructions cause function of the management controller 102, the PD controller 104, and/or the IO controller 106 of FIG. 1 , such as the methods discussion herein. The processor resource 222 may carry out a set of instructions to execute the modules 202, 204, 206, 208, and/or any other appropriate operations among and/or associated with the modules of the system 200.
[0030] For example, the processor resource 222 may carry out a set of instructions to map a peripheral device to a location based on an identifier associated with a section of connected mat sections, determine a number of host devices associated with the connected mat sections, divide the number of connected mat sections into a number of groups based on the location of the host devices and a number of available ports, and assign management for communications with the peripheral device to a first host device of the number of host devices based on the location of the peripheral device with respect to the connected mat sections.
[0031] For another example, the processor resource 222 may carry out a set of instructions to determine a number of IO capabilities via IO ports coupled to the connected mat sections and physically connected peripheral devices, determine whether the peripheral device is to be connected to multiple host devices or dedicated to a single host device based on context (including a class of the peripheral device, activity status of the number of host devices, and the location of the peripheral device), divide the number of IO capabilities based on the number of groups and locations of the IO ports, map the IO capabilities to the number of host devices based on the number of groups and locations of the host devices, perform virtual USB port mapping of upstream ports and downstream ports based on locations of the host devices with respect to the connected mat sections, and determine whether to provide power, communications, or both to the peripheral device based on the location of the peripheral device with respect to the connected mat sections in response to contact with a surface of a group of the number of groups of the connected mat sections.
[0032] For yet another example, the processor resource 222 may carry out a set of instructions to identify a number of output devices coupled to the connected mat sections and cause an output area of the number of output devices to be divided based on number of hosts connected to the connected mat sections.
[0033] For yet another example, the processor resource 222 may carry out a set of instructions to determine a proximity of the electronic device to a mat of connected sections, determine a location of the electronic device in response to a determination that the electronic device is within a proximity threshold of the mat, and provide access to a port of a system coupled to the mat based on a number of host devices and the location of the electronic device with respect to the mat.
[0034] For yet another example, the processor resource 222 may carry out a set of instructions to establish virtual zones corresponding to portions of the mat; update a mapping of a boundary of the virtual zones with location information relative to another mat section in response to physical connection of the other mat section to the mat; change a boundary of a virtual zone based on movement of a host device across the mat; and determine whether to provide power, access to a communication channel, or both to an electronic device in response to the electronic device contacting the mat; and assign access to a port based on the location of another electronic device coupled to the mat.
[0035] Although these particular modules and various other modules are illustrated and discussed in relation to FIG. 2 and other example implementations, other combinations or sub-combinations of modules may be included within other implementations. Said differently, although the modules illustrated in FIG. 2 and discussed in other example implementations perform specific functionalities in the examples discussed herein, these and other functionalities may be accomplished, implemented, or realized at different modules or at combinations of modules. For example, two or more modules illustrated and/or discussed as separate may be combined into a module that performs the functionalities discussed in relation to the two modules. As another example, functionalities performed at one module as discussed in relation to these examples may be performed at a different module or different modules. FIG. 15 depicts yet another example of how functionality may be organized into modules.
[0036] A processor resource is any appropriate circuitry capable of processing (e.g., computing) instructions, such as one or multiple processing elements capable of retrieving instructions from a memory resource and executing those instructions. For example, the processor resource 222 may be a central processing unit (CPU) that enables device management by fetching, decoding, and executing modules 202, 204, 206, and 208. Example processor resources include at least one CPU, a semiconductor-based microprocessor, a programmable logic device (PLD), and the like. Example PLDs include an application specific integrated circuit (ASIC), a field- programmable gate array (FPGA), a programmable array logic (PAL), a complex programmable logic device (CPLD), and an erasable programmable logic device (EPLD). A processor resource may include multiple processing elements that are integrated in a single device or distributed across devices. A processor resource may process the instructions serially, concurrently, or in partial concurrence.
[0037] A memory resource represents a medium to store data utilized and/or produced by the system 200. The medium is any non-transitory medium or combination of non-transitory media able to electronically store data, such as modules of the system 200 and/or data used by the system 200. For example, the medium may be a storage medium, which is distinct from a transitory transmission medium, such as a signal. The medium may be machine-readable, such as computer-readable. The medium may be an electronic, magnetic, optical, or other physical storage device that is capable of containing (i.e. , storing) executable instructions. A memory resource may be said to store program instructions that when executed by a processor resource cause the processor resource to implement functionality of the system 200 of FIG. 2. The instructions residing on a memory resource may comprise any set of instructions to be executed directly (such as machine code) or indirectly (such as a script) by a processor resource. A memory resource may be integrated in the same device as a processor resource or it may be separate but accessible to that device and the processor resource. A memory resource may be distributed across devices.
[0038] In some examples, the system 200 may include the executable instructions that are part of an installation package that when installed may be executed by a processor resource to perform operations of the system 200, such as methods described with regards to FIGS. 16-17. In that example, a memory resource may be a portable medium such as a compact disc, a digital video disc, a flash drive, or memory maintained by a computer device, such as a web server, from which the installation package may be downloaded and installed. In another example, the executable instructions may be part of an application or applications already installed. A memory resource may be a non-volatile memory resource such as read only memory (ROM), a volatile memory resource such as random-access memory (RAM), a storage device, or a combination thereof. Example forms of a memory resource include static RAM (SRAM), dynamic RAM (DRAM), electrically erasable programmable ROM (EEPROM), flash memory, or the like. A memory resource may include integrated memory such as a hard drive (HD), a solid-state drive (SSD), or an optical drive.
[0039] FIGS. 3-8 depicts an example environment in which various device management systems may be implemented. Referring to FIG. 3, the device management system 300 includes a management controller 302. The management controller 302 identifies a number of ports of the hub 308. In the example of FIG. 3, the hub 308 includes four ports labeled A, B, C, and D. The management controller 302 identifies the number of physically connected mat sections to form mat 310. For example, the management controller 302 may cause a request from circuitry (e.g., a memory resource) and receive the unique identifier for section 311 and section 312. The sections 311 and 312 may have an electrical and/or mechanical interface, such as a slideable mechanical interface extending from side surfaces of the mat sections to allow the sections to mate together. The mechanical interface allows the apparatus sections to connect to the number of the physically connected apparatus and may have multiple connections to various portions of the physically connected apparatus sections. In this manner, the apparatus sections may be connected into a collection of unified sections, to act as a single device, such as a mat, with a changeable size and extensible data & power network.
[0040] The management controller 302 may then determine the relative location of the sections 311 and 312, such as the section 312 is located to the right of section 311 or that section 312 is connected to section 311 at an eastward facing port 315. The management controller 302 then determines to divide the number of ports 308 into groups corresponding to the number of mat sections, which is two in the example of FIG. 3. The management controller 302 then causes ports A and C to be allocated to section 311 and ports B and D to be allocated to section 312.
[0041] Referring to FIG. 4, when two additional mat sections 313 and 314 are coupled to the sections 311 and 312, the management controller 302 identifies that sections 313 and 314 have been coupled to the mat 310 and performs reallocation operations accordingly. For example, the management controller 302 receives a connection signal via southern port 317 of section 311 and a southern port 318 of section 312 via electrical connection, determines to increase the number of sections of the mat to four, generates a corresponding number of groups, and assigns a port to each of the connected sections (e.g., because there are four ports and four sections). In this example, port C is reallocated to section 313 and port D is reallocated to section 314. If one of the sections was disconnected from the others, then the ports would be reallocated accordingly to the sections remaining connected. The number of sections and ports are examples used for the sake of clarity; however, it would be expected that the systems and methods discussed herein are useable with any number of mat sections and in various connection combinations (e.g., to form various mat shapes).
[0042] Referring to FIG. 5, a plurality of square mat sections have been coupled together to form a mat 510. For example, the number of physically connected apparatus sections connect into a mat 510 on which a host device or a peripheral device may be located. In the example of FIG. 5, a host device 534 is located within a proximity threshold of the mat 510. As will be discussed with respect to FIG. 9, the host device 534 may be in contact with the mat 510 and may be in contact with mat across a plurality of mat sections, such as connecting the mat bus network via contact with electrical contact pads on the surface of the housing of the mat sections. The mat 510 may include a controller to enumerate or otherwise initialize the host device 534 for access to the communication and/or power delivery network provideable via the mat 510. In this manner, the host device 534 may have access to peripheral devices coupled to the mat 510, such as display 536, keyboard 540, and computer mouse 542. As there is only one host device coupled to the mat 510, a controller of the mat 510 may generate a corresponding virtual zone 530 that encompasses the entirety of the mat 510, and thereby allows the host device 534 to connect to all devices in proximity to or coupled to the mat 510.
[0043] Referring to FIG. 6, a second host device, such as a cell phone 644, may come within a proximity threshold of (e.g., in contact with) the mat 510. Upon identification of the second host device, a controller of the mat 510 may divide the previous virtual zone 530 of FIG. 5 into two virtual zones 630 and 632 as shown in FIG. 6. In the example, of FIG. 5, the left side of the mat 510 and the second side of the mat 510 are divided into two virtual zones because the second host 644 is placed on the left side of the host device 534 with respect to the mat 510. The two virtual zones may then determine how to allow operation of the peripheral devices with the host devices. For example, the display 536 may similarly divide the visual output into two portions as well, equal to the number of hosts (and virtual zones), and provide visual output from both the host 534 and 644 corresponding to the zones (e.g., on the same side of the display as the side of the mat). As will be discussed with respect to FIGS. 7 & 8, depending on context (e.g., the state and/or classification of the peripheral device), the operations of the peripheral device may change to provide input to or output from a host based on which zone the peripheral device is located.
[0044] Referring to FIG. 7, the mat 710 may include controllers, such as controllers 702, 704, and 706 that represent controllers 102, 104, and 106 of FIG. 1 , respectively. The controllers may be distributed across separate mat sections or integrated into a single director mat section (e.g., mat section with management capabilities over the other mat sections), such as shown in the upper left most corner section of the mat 710. The management controller 702 may start with a single zone, whether or not a host device is coupled to the mat 710. A single zone may allow the mat 710 to act as a docking station, where placing the device 734 on the mat 710 allows the keyboard 740 and 742 to interact with the host device 734. FIG. 8 shows that the management controller 702 may, based on context, change the number of zones and then cause the IO controller 706 and/or PD controller 704 to allow connections across devices in accordance with the zones.
[0045] Referring to FIG. 8, the controller 702 has divided the mat 710 into two zones 830 and 832 based on the host device 734 and the host device 844 being coupled to the mat 710. In some examples, devices may be restricted to connections with devices within the same zone, and in other situations, the devices may be able to interact with various zones at the same time. The mat 710 may be able to connect with legacy devices, such as printer 848 may take advantage of the convenience of the mat-based power and communication networks via a legacy port 850 on the mat section, thus making the mat interfaceable with devices that may have universal port interfaces rather than the proprietary interface to connect with the top surface of the mat 710. The printer 848 may be allocated only to host device 734 because both are in the same zone 830, while phone 844 may be restricted from access to the printer 848 because the phone is located in zone 832. Some devices, such as a keyboard 740 may have access to multiple zones (such as because the keyboard is located across multiple zones). In another example, the computer mouse 742 may move a cursor on display 736 from a right side of the screen to a left side of the screen, where the left and right side are divided among hosts, and, as soon as the mouse cross that virtual border, the input from the mouse 742 may interact with host 734 rather than host device 844, even though it is generally in the same zone as host device 844 and a different zone from host 834 (because in this context the computer operates a cursor that moved across virtual boundaries). Adding a peripheral device that provides network capability, such as router 846, may generate redundancy for example, the router 846 may negotiate with the management control 704 and provide Internet communications to both host devices 734 and 844 via physical connection with the mat 710 and/or a wireless connection directly negotiated with the router 846.
[0046] Multiple displays 837 and 838 may be added to the configuration shown in FIG. 7, and because the displays 837 and 838 are enumerated via the management controller 702, the displays 837 and 838 may automatically power on and connect the video output from the host device 734 once the peripheral devices receive power from the mat 710 and perform handshakes with the management controller 702 to allow IO capabilities to connect to those peripherals. In the example, where two zones as shown in FIG. 8, the display 837 may automatically start showing output from corresponding to the host device 734 which is in the same zone 830 as the display 837, while the display 838 may automatically start presenting output corresponding to the host device 844 which is in the same zone 832 as the display 838.
[0047] The mat sections may be connected to a power source via a power source interface. Power may be provided to the sections via outlets or battery power and may be exchanged among sections as desired for the computing experienced. The power source interface may be coupled to the wireless charge device such that the wireless charge device is to receive electrical power via the power source interface. The wireless charge device may provide power to an electronic device coupled to the mat as managed by the PD controller. Such charging may be prioritized, such as by zone or other context, to allow for consistent operation as desired.
[0048] FIGS. 9-14 depicts example features of example mat apparatus sections. The apparatus section 911 depicts multiple interfaces on the housing 951. The top surface 953 may include an interface 960 for making direct electrical contact with a device place on the mat. By providing an apparatus having electrical contact pads on a surface of the housing, the electronic devices may be naturally placed on the apparatus 911 and make connection to the capabilities of the mat 910 while still being operable as the device would be on a desk. [0049] The example interface 960 shown in FIG. 9 is pogo pin connectors.
The side surfaces 955 may include interfaces 952 and 954 for connecting to other mat sections 912 and 913. The sections 911 , 912, and 913 may electrically connect via USB-C connectors such as male connectors 954 and female connectors 952. In that example, the twelve pogo pins of interface 960 may couple to the twelve pins of the USB protocol, such that the surface of the housing and a surface of the physically connected apparatus sections includes at least twelve electrical contacts corresponding to a negative set of pins of a USB protocol or a positive set of pins of the USB protocol. A controller may provide a USB hub functionality and power delivery functionality via the electrical contacts on the top surface of the mat section to corresponding contacts on the electronic device. In some examples, a controller of the mat section 911 may determine whether an interface of an electronic device is aligned or not with respect to the interface 960, or otherwise able to determine the contact status or charging status of the electronic device.
[0050] Referring to FIG. 10, the interfaces 1062 to which the apparatus sections, such as section 1011 , are to connect to other sections may be pogo pins as well as the interface 1060 on the top surface. Alignment among the sections may be assisted using alignment nodes, such as magnets 1058 to ensure the connections between adapters is secure to maintain integrity of the electrical network among the mat sections. The mat section 1011 may include a number of light- emitting diodes (LEDs) 1070 to provide status indications, such as a number of LEDs to show a power state, a color of LED to indicated an IO port state, a color associated with a zone or a number of LEDs to light up to show an amount of alignment with contacts, and the like. Indeed, the LEDs 1070 could be included in the mat to communicate status, activity, remaining power, remaining number of ports for a zone, outline different zones, device connections, error codes, failed handshake, and/or help users place devices, as further examples. In some examples, the mat section 1011 may include surface markings to assist a user to make proper alignment with the mat or instructions could be displayed on the monitor or spoken with audio to help the user properly position devices on the mat.
In the example of mat section 1011 , magnets 1068 are available on the surface to assist proper orientation and alignment to interface 1060 on the top surface.
[0051] Referring to FIG. 11 , the mat sections, such as mat section 1111 , may provide various capabilities to the overall mat. In the example of FIG. 11 , a wireless charging capability may be added to the mat via connecting the section 1111 to the mat, where power may be provided to the mat via connectors 1152 and/or 1154 to the charging coil 1156, such that a corresponding charging feature on an electronic device can receive power via transfer between the coils. Indeed, a wireless charge device may be located adjacent the top surface of the section 1111 and the wireless charge device to provide power to a host device when the host device is within a proximity threshold of the top surface. Other examples of additional resources that may be coupled to the mat include memory resources, processor resources, etc. to allow for improved device operation for host devices coupled to the mat sections.
FIG. 12 depicts that sections with particular capabilities may have various interfaces to couple to the mat and/or an electronic device. The mat sections may provide resources to devices corresponding to the virtual zone to which they are assigned by the management controller. In this manner, resources may be provided via the mat network and the resource may be integrated within mat sections or connected to the mat sections by wire, contact, or wirelessly. Contact-based connections may provide the convenience of ease of connection and integrity of wired connections, thus balancing convenience and connection efficiency.
[0052] Referring to FIGS. 13 & 14, the example shape of the apparatus sections need not be square, but could be other shapes, such as triangles. Referring to FIG. 13, the mat 1310 may include a number of triangular mat sections, where each side of the triangle includes an interface (e.g., 1315, 1316) to couple to another triangular mat section. In this example, orientation of the mat section may determine how the mat interacts with an electronic device touching that mat section. For example, the interface pins on a top facing triangle may provide positive pin connections while interface pins on a bottom facing triangle may provide negative pin connections. Such variations may depend on protocol implemented with the mat power and data delivery system. Indeed, the number of electrical contact pads on a surface of the housing may be at least twice the number of pins used for a protocol (e.g., to provide positive and negative connections over adjacent interfaces of apparatus sections).
[0053] Referring to FIG. 14, the side interface 1466 of the mat section 1411 may include twelve pogo pins to connect with another pogo pin interface of a separate mat section. The top surface interface may be a number of concentric triangles 1464 as shown in FIG. 14, to allow the electrical contacts on an electrical device to make the proper number of pin connections. For example, twelve concentric triangular contacts corresponding to twelve pogo pins of the side interface and twelve pins used in a USB protocol. The electrical interfaces may be compatible with various protocols, such as USB type C, THUNDERBOLT connections, or other industry standard electrical connection.
[0054] FIG. 15 depicts example components useable to implement example device management system 1500. Referring to FIG. 15, the example components of FIG. 15 generally include a management controller 1502, a PD controller 1504, and an IO controller 1506. The example components of FIG. 15 may be implemented as part of a mat section or on a compute device, such as a host device.
[0055] The management controller 1502 includes program instructions, such as a map module 1570, a devices module 1572, a groups module 1574, and a ports module 442, to assist power and data management of the mat and devices bridged via the mat. When a new device couples to the mat (e.g., makes electrical connection with metal contact pads on the top surface of the mat section), the new device may perform request 1582 to join the device bridge of the mat and/or the handshake request is initiated by the management controller 1502 in response to an electrical signal received from the electronic device contacting the mat. In some examples, the handshake between the management controller 1502 and an electrical device may be via a wireless protocol such as WIFI or BLUETOOTH.
[0056] The map module 1570 represents program instructions that when executed cause a processor resource to generate a map of the mat sections and electronic devices coupled to the mat, using the section identifiers 1584, device identifiers 1588, and/or location information 1590. The devices module 1572 represents program instructions that when executed cause a processor resource to identify the devices connected to the mat. The groups module 1574 represents program instructions that when executed cause a processor resource to determine a number of virtual zones based on the number of devices and/or ports 1586 coupled to the mat. Execution of the groups module 1574 may identify a virtual zone template from a data store based on a number of IO ports supported by the mat and/or the number and location of host devices on the mat. The ports module 1576 represents program instructions that when executed cause a processor resource to cause the IO controller 1506 to perform port assignments based on the virtual zones determined via execution of the groups module 1574. [0057] The management controller 1502 sends instructions to the PD controller 1504 and the IO controller 1506 to provide power and data communications based on the groups (e.g., the virtual zones and port assignments) identified via execution of modules 1570, 1572, 1574, and 1576. The PD controller 1504 includes program instructions, such as a proximity module 1578, to assist delivery of power to a device that is within a proximity threshold of the mat and as authorized by the management controller. Authentication methods may be used to ensure the communications and power delivery are performed securely between each mat section, each virtual zone, and/or each electronic device, whether connected physically or wirelessly. For example, the management controller may generally support encryption and decryption techniques and adhere to security protocols or other authorization protocols, such as high-definition content protection (HDCP) protocols. The proximity module 1578 represents program instructions that when executed cause a processor resource to cause the PD controller 1504 to determine whether a device is in close enough proximity to receive power through direct electrical contact or via wireless charging. Proximity may be determined via near-field communication (NFC) protocol or any other wireless transmission protocol. The location information 1590 of the device may be used by the PD controller 1578 to determine whether any devices (identified via device identifiers 1588) are within the proximity threshold of a virtual zone authorized to receive power via the mat (identified via group information 1592).
[0058] The IO controller 1506 includes program instructions, such as an assignment module 1580, to assist management of communications between devices coupled to the mat. The assignment module 1580 represents program instructions that when executed cause a processor resource to cause the IO controller 1506 to perform upstream and/or downstream port assignments to generate the connections between devices based on the virtual zones in which the devices reside (and any other context, such as status information provided from device or a sensor coupled to the mat). The IO controller 1506 uses location information 1590 and the device identifiers 1588 to determine which groups of devices have access to rights to another group of devices based on the group information generated via execution of the management module 1502. The IO controller 1580 may cause automatic state changes among peripheral devices and/or host devices based on the virtual zones of the mat and/or other context parameters. The 10 controller 1506 provides instructions 1598 to cause access to ports and/or devices based on the virtual zones defined by the group information 1592.
[0059] FIGS. 16 and 17 are flow diagrams depicting example methods 1600 and 1700 of device management. Such methods 1600 and 1700 are performable via execution of controllers, such as controllers 102, 104, and 106 of FIG. 1. Referring to FIG. 16, example methods of managing power and data communications of an electronic device may generally comprise determining a proximity of an electronic device to a mat of connected sections, determining a location of the electronic device with respect to the mat, and providing port access based on the context of devices coupled to the mat.
[0060] At block 1602, a proximity of an electronic device to a mat is determined. As discussed herein, the mat is made up of a plurality of connected sections that together form a network for power delivery and a network for data communication.
[0061] At block 1604, a location of the electronic device is identified in response to a determination that the electronic device is within a proximity threshold of the mat at block 1602. The connected mat sections may include sensors and/or transmitters that may detect the presence of a host device or peripheral device. In that example, the trajectory of the device may be determined by the management controller, where the trajectory is towards the mat and the management controller may begin enumeration of other operations to prepare the device to connect to the network, devices, and/or power delivery system of the mat.
[0062] At block 1606, access to a port of the system coupled to the mat is provided to an electronic device based on context of devices coupled to the mat, including a number of host devices and the location of the electronic device with respect to the mat.
[0063] FIG. 17 includes blocks similar to blocks of FIG. 16 and provides additional blocks and details. In particular, FIG. 17 depicts additional blocks and details generally regarding determining the groups of devices coupled to the mat and assigning connections among devices and ports.
[0064] At block 1702, virtual zones corresponding to portions of the mat are established. As discussed herein the virtual zones may be determined based on the size of the mat, the number of ports supported by the IO controller of the mat, the number of host devices, and location thereof, etc. For example, the virtual zones may be determined by dividing the number of connectable mat sections into a number of groups based on the location of the host devices and a number of available ports. The division of the mat into virtual zones (e.g., associate a subset of the mat sections to a group) may be performed in any appropriate manner, such as equal divisions among the number of host devices, lengthwise divisions based on priority of the host devices, widthwise divisions based on proximity to a display device, isolating zones to a specific perimeter around an identified host device, and the like. In some examples, the zones may be partially or fully defined by a user, such as by generating their own virtual zone templates to be selected from when a particular host or number of hosts coupled to the mat.
[0065] At block 1704, a peripheral device is mapped to a location based on an identifier associated with the connectable mat sections. For example, the peripheral device may be connected to a mat section designated as specific square (such as B3) of a matrix of M rows and N columns. The identifier may be a unique identifier associated with the mat section and/or a location identifier generated by the management controller to designate the location.
[0066] At block 1706, a number of IO capabilities coupled to the connectable mat sections (e.g., via IO ports of a hub integrated in the mat) is determined. The IO capabilities may be identified via IO ports of an integrated mat or IO capabilities of peripheral devices physically connected to the mat, as examples. At block 1708, the number of IO capabilities are divided based on the number of groups and locations of the IO ports. By separating and designating IO capabilities (e.g., access and ownership of an IO device or port), the device bridge may control race conditions for access to a peripheral device. For example, the downstream ports may be flagged for dedicated use based on visual context with the mat (e.g., which group the devices are connected to).
[0067] At block 1710, a mapping of a boundary of the virtual zones established at block 1702 is updated in response to a physical connection of another mat section to the already connect mat sections. The mapping may be updated with mat section identifier information corresponding to location information relative to the other connected mat sections. The mapping may then be used to designate which sections (and thereby which electronic devices) are to receive power and/or communication via the mat. In that example, the priority level for communications and/or power may be determined based on which virtual zone the electronic device corresponds to.
[0068] At block 1712, a determination is made by the controller (e.g., based on context) whether to provide access to power delivery, a communication channel, or both to an electronic device in response to the electronic device contacting the mat. If a communication channel is determined to be established for that electronic device, a virtual USB port mapping of upstream ports and downstream ports is performed based on the location of the host devices with respect the other connectable mat sections and the peripheral devices with respect to the connectable mat sections. At block 1716, access to the peripheral device is assigned to a host device based on the location of the peripheral device with respect to the connect mat sections (e.g., how the virtual zones are associated with regions of the connectable mat sections). The context used to determine the location of the peripheral device and whether to provide access to host devices. For example, the device-to-mat mapping operations may include mapping the IO capabilities of the peripheral device to a number of host devices based on the number of groups and locations of the host devices. In an example, access to a port of the system coupled to a mat is assigned based on location of a first peripheral device and a second peripheral device, where the location of the other peripheral device with respect to the mat may determine which group to allocated the first peripheral device to.
[0069] In this manner, the correlation between devices may be managed by dynamically maintaining a mapping corresponding to the devices’ locations relative to the proportions of the mat. In an example, movement of a host device may change a boundary of a virtual zone and movement of a peripheral device across virtual zone boundaries may cause a handshake to be performed to allow the peripheral device to change a host connection to a different host device, thus allowing the peripheral device to be enumerated for access by the new host device corresponding to a same virtual zone as the peripheral device. Indeed, in this manner, an apparatus may be used has a housing for a network of communication and/or power delivery that is managed based on determined locations of groups of devices with respect to the apparatus.
[0070] Although the flow diagrams of FIGS. 15-17 illustrate specific orders of execution, the execution order may differ from that which is illustrated. For example, the execution order of the blocks may be scrambled relative to the order shown. Also, the blocks shown in succession may be executed concurrently or with partial concurrence. All such variations are within the scope of the present description. [0071] All the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all the elements of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or elements are mutually exclusive.
[0072] The terms “include,” “have,” and variations thereof, as used herein, mean the same as the term “comprise” or appropriate variation thereof. Furthermore, the term “based on,” as used herein, means “based at least in part on.” Thus, a feature described as based on some stimulus may be based only on the stimulus or a combination of stimuli including the stimulus. The article “a” as used herein does not limit the element to a single element and may represent multiples of that element. Furthermore, use of the words “first,” “second,” or related terms in the claims are not used to limit the claim elements to an order or location, but are merely used to distinguish separate claim elements.
[0073] The present description has been shown and described with reference to the foregoing examples. It is understood that other forms, details, and examples may be made without departing from the spirit and scope of the following claims.

Claims

CLAIMS What is claimed is:
1. An apparatus comprising: a power delivery controller to manage delivery of power to an electronic device; a management controller to: determine a number of physically connected apparatus sections; identify a number of ports supported by a system coupled to the physically connected apparatus sections; divide the number of the physically connected apparatus sections into a number of groups based on the number of ports; and cause port assignments to be allocated to the number of groups; and an input/output (IO) controller to manage communications with the number of ports, the IO controller to assign a port of the number of ports to the electronic device based on a group of the number of groups to which the electronic device is coupled.
2. The apparatus of claim 1 , wherein the management controller is further to: determine whether a host device is located on the physically connected apparatus sections; determine a number of configurations of port access rights based on the number of ports and a configuration of the host device; and cause the IO controller to perform a reallocation of port assignments based on the host device being added to the system or removed from the system.
3. The apparatus of claim 1 , comprising: a housing having electrical contact pads on a surface of the housing; and a mechanical interface to connect to an apparatus section of the number of the physically connected apparatus sections, wherein the number of physically connected apparatus sections connect into a mat on which a host device or a peripheral device may be located to contact the electrical contact pads on the surface of the housing.
4. The apparatus of claim 3, wherein: the surface of the housing and a surface of the physically connected apparatus sections includes at least twelve electrical contacts, the electrical contacts corresponding to a negative set of pins of a universal serial bus (USB) protocol or a positive set of pins of the USB protocol, the controller including USB hub functionality and power delivery functionality via the electrical contacts.
5. The apparatus of claim 1 , further comprising: an input/output (IO) hub including the number of ports, wherein the IO controller assigns both downstream ports and upstream ports; wherein a peripheral device connected to an IO port of the IO hub is enumerated with a host device in response to contact of the host device with a designated portion of the physically connected apparatus sections.
6. The apparatus of claim 1 , further comprising: a housing including a top surface and a slidable mechanical interface extending from a side surface; a wireless charge device adjacent the top surface, the wireless charge device to provide power to a host device when the host device is within a proximity threshold of the top surface; a power source interface coupled to the wireless charge device such that the wireless charge device is to receive electrical power via the power source interface.
7. The apparatus of claim 1 , further comprising: a memory resource having: a unique device identifier stored thereon; and a location identifier corresponding to each of the mechanical interfaces, stored thereon, wherein the management controller is to: map a location of the electronic device with respect to the number of physically connected apparatus sections; and allocate access to a port to a peripheral device coupled to the electronic device based on the mapped location of the electronic device.
8. A non-transitory computer-readable storage medium (NTCRSM) comprising a set of instructions executable by a processor resource to: map a peripheral device to a location based on an identifier associated with a section of connected mat sections; determine a number of host devices associated with the connected mat sections; divide the number of connected mat sections into a number of groups based on the location of the host devices and a number of available ports; and assign management for communications with the peripheral device to a first host device of the number of host devices based on the location of the peripheral device with respect to the connected mat sections.
9. The NTCRSM of claim 8, wherein the set of instructions is executable by the processor resource to: determine whether the peripheral device is to be connected to multiple host devices or dedicated to a single host device based on context including a class of the peripheral device, activity status of the number of host devices, and the location of the peripheral device.
10. The NTCRSM of claim 8, wherein the set of instructions is executable by the processor resource to: determine a number of input/output (IO) capabilities via IO ports coupled to the physically connected mat sections and physically connected peripheral devices, divide the number of IO capabilities based on the number of groups and locations of the IO ports; map the IO capabilities to the number of host devices based on the number of groups and locations of the host devices.
11 .The NTCRSM of claim 8, wherein the set of instructions is executable by the processor resource to: identify a number of output devices coupled to the connected mat sections; cause an output area of the number of output devices to be divided based on number of hosts connected to the connected mat sections.
12. The NTCRSM of claim 11 , wherein the set of instructions is executable by the processor resource to: perform virtual universal serial bus (USB) port mapping of upstream ports and downstream ports based on locations of the host devices with respect to the connected mat sections; and determine, in response to contact with a surface of a group of the number of groups of the connected mat sections, whether to provide power, communications, or both to the peripheral device based on the location of the peripheral device with respect to the connected mat sections.
13. A method of managing power and data communications of an electronic device, the method comprising: determining a proximity of the electronic device to a mat of connected sections; determining a location of the electronic device in response to a determination that the electronic device is within a proximity threshold of the mat; and providing access to a port of a system coupled to the mat based on a number of host devices and the location of the electronic device with respect to the mat.
14. The method of claim 13, further comprising: establishing virtual zones corresponding to portions of the mat; wherein: the access to the port of the system coupled to the mat is assigned based on the location of another electronic device coupled to the mat; movement of a host device changes a boundary of a virtual zone; and movement of a peripheral device across virtual zone boundaries generates a handshake to allow the peripheral device to change a host connection and enumerates the peripheral device for access by the host device when the host device corresponds to a same virtual zone as the peripheral device.
15. The method of claim 13, comprising: in response to physical connection of another mat section to the mat, updating a mapping of a boundary of the virtual zones with location information relative to the other mat; and determining, in response to the electronic device contacting the mat, whether to provide power, access to a communication channel, or both to the electronic device.
PCT/US2021/030353 2021-04-30 2021-04-30 Device management WO2022231632A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/US2021/030353 WO2022231632A1 (en) 2021-04-30 2021-04-30 Device management
TW111100988A TW202245454A (en) 2021-04-30 2022-01-10 Device management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/030353 WO2022231632A1 (en) 2021-04-30 2021-04-30 Device management

Publications (1)

Publication Number Publication Date
WO2022231632A1 true WO2022231632A1 (en) 2022-11-03

Family

ID=83847222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2021/030353 WO2022231632A1 (en) 2021-04-30 2021-04-30 Device management

Country Status (2)

Country Link
TW (1) TW202245454A (en)
WO (1) WO2022231632A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003262A1 (en) * 2002-06-28 2004-01-01 Paul England Methods and systems for protecting data in USB systems
US20070245058A1 (en) * 2006-04-14 2007-10-18 Henry Wurzburg Method for automatically switching usb peripherals between usb hosts
US20130111100A1 (en) * 2011-10-31 2013-05-02 Atish Ghosh Device Charging Over USB Using a Plurality of Handshakes
US20170185126A1 (en) * 2015-12-24 2017-06-29 Intel Corporation Adjustable power delivery scheme for universal serial bus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003262A1 (en) * 2002-06-28 2004-01-01 Paul England Methods and systems for protecting data in USB systems
US20070245058A1 (en) * 2006-04-14 2007-10-18 Henry Wurzburg Method for automatically switching usb peripherals between usb hosts
US20130111100A1 (en) * 2011-10-31 2013-05-02 Atish Ghosh Device Charging Over USB Using a Plurality of Handshakes
US20170185126A1 (en) * 2015-12-24 2017-06-29 Intel Corporation Adjustable power delivery scheme for universal serial bus

Also Published As

Publication number Publication date
TW202245454A (en) 2022-11-16

Similar Documents

Publication Publication Date Title
EP3504625B1 (en) Automatically configuring a universal serial bus (usb) type-c port of a computing device
KR102653262B1 (en) apparatus having a touch layer with openings
US11237840B2 (en) All in one mobile computing device
US8665479B2 (en) Three-dimensional printing
CN107113226B (en) Electronic device for identifying peripheral equipment and method thereof
KR102606531B1 (en) Display apparatus and method for controlling thereof
KR102182760B1 (en) Curved modular display
CN109690513A (en) System, method and apparatus for local virtualized video in a hybrid docking station
EP3243115B1 (en) Modular computing device
US10684962B2 (en) Vendor-specific peripheral device class identifiers
EP3642701B1 (en) Electronic device and method for controlling touch sensing signals and storage medium
US9426210B2 (en) Mapping server and mapping method
CN107862580A (en) A product push method and system
GB2589930A (en) Digital display system and method
KR20190112406A (en) A mobile electronic device and a method for forwarding user input to an application according to input means
US20220164193A1 (en) Electronic device for executing heterogeneous operating systems and method therefor
WO2022231632A1 (en) Device management
CN117597662A (en) Display apparatus and control method thereof
US9229629B2 (en) Device identification method, communicative connection method between multiple devices, and interface controlling method
US10802675B2 (en) Information processing apparatus and non-transitory computer readable medium storing information processing program
US20200272295A1 (en) Information processing apparatus and non-transitory computer readable medium storing information processing program
US11494074B1 (en) Systems for accessing additional information from an interface
GB2606053A (en) Digital display system and method
CN102339373B (en) File supply system, electronic device and display panel
KR102417701B1 (en) Method and apparatus for displaying in electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21939566

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21939566

Country of ref document: EP

Kind code of ref document: A1