TIME DIVISION CONTROL OF VIRTUAL LOCAL AREA NETWORK (VLAN) TO ACCOMMODATE MULTIPLE VIRTUAL APPLICATIONS
20230198806 · 2023-06-22
Assignee
Inventors
- Xiaoyu ZHANG (Shanghai, CN)
- Yuxin QIN (Shanghai, CN)
- Chenjie ZHOU (Shanghai, CN)
- Xiang Chen (Shanghai, CN)
Cpc classification
H04L41/08
ELECTRICITY
H04L12/4675
ELECTRICITY
H04L41/40
ELECTRICITY
H04L12/4641
ELECTRICITY
H04L12/467
ELECTRICITY
International classification
Abstract
Disclosed methods define VLAN time slots for one or more VLANs within an HCI environment. A management resource may control virtual application access to each VLAN in accordance with the VLAN time slots wherein only one virtual application may connect to the VLAN during a VLAN time slot. Disclosed methods may define VLAN time slots for each of the plurality of virtual applications. The VLAN time slots may be defined dynamically, wherein durations of the VLAN time slots may be re-calculated each VLAN cycle. A duration of the VLAN time slot for a particular virtual application may be determined based on the number of packets transmitted by the virtual application during a previous VLAN cycle. Each VLAN time slot may include an active interval, for transmitting packets, and an inactive interval. Each active interval may include a fixed duration base interval and a variable duration dynamic interval.
Claims
1. An information handling system management method, comprising: defining virtual local area network (VLAN) time slots for a VLAN corresponding to a particular VLAN identifier (VID); and controlling access to the VLAN in accordance with the plurality of VLAN time slots, wherein each of the plurality of VAPPs may access the VLAN during one of the plurality VLAN time slots and wherein no more than one of the plurality of VAPPs may access the VLAN during any of the VLAN time slots.
2. The method of claim 1, wherein defining the VLAN time slots comprises defining one VLAN time slot per VLAN cycle for each of the plurality of virtual applications.
3. The method of claim 2, wherein defining the VLAN time slots comprises defining the VLAN time slots dynamically wherein durations of the VLAN time slots are re-calculated for each VLAN cycle.
4. The method of claim 1, wherein a length of the VLAN time slot for a particular virtual application is determined based, at least in part, on a number of packets transmitted by the particular virtual application during one or more previous VLAN cycles.
5. The method of claim 1, wherein each VLAN time slot is associated with a corresponding virtual application and wherein each VLAN time slot includes an active interval, during which one or more packets may be transmitted, and an inactive interval during which packet transmission is prohibited.
6. The method of claim 5, wherein each active interval includes a base interval and a dynamic interval, wherein a duration of the base interval is fixed and a duration of the dynamic interval is variable.
7. The method of claim 6, wherein a duration of the dynamic interval for a particular virtual application is based, at least in part, on a number of packets transmitted by the particular virtual application during one or more previous VLAN cycles.
8. The method of claim 7, wherein the duration of the dynamic interval for a particular virtual application is based, at least in part, on a packet ratio for the particular virtual application wherein the packet ratio indicates a ratio of the packets transmitted by the particular virtual application during the one or more VLAN cycles to the total number of packets transmitted during the one or more previous VLAN cycles.
9. The method of claim 8, wherein the duration of the dynamic interval for a particular virtual application is equal to a product of the packet ratio for the particular application during a previous VLAN cycle and a sum of all dynamic intervals for the previous VLAN cycle.
10. The method of claim 1, wherein the HCI environment includes a plurality of distinct VLANs corresponding to a plurality of VIDs and wherein VLAN time slots are defined for each the plurality of VIDs.
11. An information handling system comprising: a central processing unit; a non-transitory memory resource, communicatively couple to the CPU, including process-executable program instructions that, when executed by the CPU cause the information handling system to perform management operations comprising: defining a plurality of virtual local area network (VLAN) time slots for a VLAN, wherein the plurality of VLAN time slots include a VLAN time slot corresponding to each of a plurality of virtual applications (VAPPs) associated with the VLAN; and controlling access to the VLAN in accordance with the plurality of VLAN time slots, wherein each of the plurality of VAPPs may access the VLAN during one of the plurality VLAN time slots and wherein no more than one of the plurality of VAPPs may access the VLAN during any of the VLAN time slots.
12. The information handling system of claim 11, wherein defining the VLAN time slots comprises defining one VLAN time slot per VLAN cycle for each of the plurality of virtual applications.
13. The information handling system of claim 12, wherein defining the VLAN time slots comprises defining the VLAN time slots dynamically wherein durations of the VLAN time slots are re-calculated for each VLAN cycle.
14. The information handling system of claim 11, wherein a length of the VLAN time slot for a particular virtual application is determined based, at least in part, on a number of packets transmitted by the particular virtual application during one or more previous VLAN cycles.
15. The information handling system of claim 11, wherein each VLAN time slot is associated with a corresponding virtual application and wherein each VLAN time slot includes an active interval, during which one or more packets may be transmitted, and an inactive interval during which packet transmission is prohibited.
16. The information handling system of claim 15, wherein each active interval includes a base interval and a dynamic interval, wherein a duration of the base interval is fixed and a duration of the dynamic interval is variable.
17. The information handling system of claim 16, wherein a duration of the dynamic interval for a particular virtual application is based, at least in part, on a number of packets transmitted by the particular virtual application during one or more previous VLAN cycles.
18. The information handling system of claim 17, wherein the duration of the dynamic interval for a particular virtual application is based, at least in part, on a packet ratio for the particular virtual application wherein the packet ratio indicates a ratio of the packets transmitted by the particular virtual application during the one or more VLAN cycles to the total number of packets transmitted during the one or more previous VLAN cycles.
19. The information handling system of claim 18, wherein the duration of the dynamic interval for a particular virtual application is equal to a product of the packet ratio for the particular application during a previous VLAN cycle and a sum of all dynamic intervals for the previous VLAN cycle.
20. The information handling system of claim 11, wherein the HCI environment includes a plurality of distinct VLANs corresponding to a plurality of VIDs and wherein VLAN time slots are defined for each the plurality of VIDs.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] A more complete understanding of the present embodiments and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
DETAILED DESCRIPTION
[0018] Exemplary embodiments and their advantages are best understood by reference to
[0019] For the purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a personal digital assistant (PDA), a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (“CPU”), microcontroller, or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input/output (“I/O”) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communication between the various hardware components.
[0020] Additionally, an information handling system may include firmware for controlling and/or communicating with, for example, hard drives, network circuitry, memory devices, I/O devices, and other peripheral devices. For example, the hypervisor and/or other components may comprise firmware. As used in this disclosure, firmware includes software embedded in an information handling system component used to perform predefined tasks. Firmware is commonly stored in non-volatile memory, or memory that does not lose stored data upon the loss of power. In certain embodiments, firmware associated with an information handling system component is stored in non-volatile memory that is accessible to one or more information handling system components. In the same or alternative embodiments, firmware associated with an information handling system component is stored in non-volatile memory that is dedicated to and comprises part of that component.
[0021] For the purposes of this disclosure, computer-readable media may include any instrumentality or aggregation of instrumentalities that may retain data and/or instructions for a period of time. Computer-readable media may include, without limitation, storage media such as a direct access storage device (e.g., a hard disk drive or floppy disk), a sequential access storage device (e.g., a tape disk drive), compact disk, CD-ROM, DVD, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and/or flash memory; as well as communications media such as wires, optical fibers, microwaves, radio waves, and other electromagnetic and/or optical carriers; and/or any combination of the foregoing.
[0022] For the purposes of this disclosure, information handling resources may broadly refer to any component system, device or apparatus of an information handling system, including without limitation processors, service processors, basic input/output systems (BIOSs), buses, memories, I/O devices and/or interfaces, storage resources, network interfaces, motherboards, and/or any other components and/or elements of an information handling system.
[0023] In the following description, details are set forth by way of example to facilitate discussion of the disclosed subject matter. It should be apparent to a person of ordinary skill in the field, however, that the disclosed embodiments are exemplary and not exhaustive of all possible embodiments.
[0024] Throughout this disclosure, a hyphenated form of a reference numeral refers to a specific instance of an element and the un-hyphenated form of the reference numeral refers to the element generically. Thus, for example, “device 12-1” refers to an instance of a device class, which may be referred to collectively as “devices 12” and any one of which may be referred to generically as “a device 12”.
[0025] As used herein, when two or more elements are referred to as “coupled” to one another, such term indicates that such two or more elements are in electronic communication, mechanical communication, including thermal and fluidic communication, thermal, communication or mechanical communication, as applicable, whether connected indirectly or directly, with or without intervening elements.
[0026] Before describing disclosed features for monitoring and managing event messages in a distributed computing environment, an exemplary HCI platform suitable for implementing these features is provided. Referring now to the drawings,
[0027] The HCI platform 101 illustrated in
[0028] An HCI cluster 106, and the one or more HCI nodes 110 within the cluster, may represent or correspond to an entire application or to one or more of a plurality of micro services that implement the application. As an example, an HCI cluster 106 may be dedicated to a specific micro service in which multiple HCI nodes 110 provide redundancy and support high availability. In another example, the HCI nodes 110 within HCI cluster 106 include one or more nodes corresponding to each micro service associated with a particular application.
[0029] The HCI cluster 106-1 illustrated in
[0030] PRM 114 may be implemented with one or more servers, each of which may correspond to a physical server in a data center, a cloud-based virtual server, or a combination thereof. PRM 114 may be communicatively coupled to all HCI nodes 110 across all HCI clusters 106 in HCI platform 101 and to platform administrator 102. PRM 114 may include a resource utilization monitoring (RUM) service or feature with functionality to monitor resource utilization parameters (RUPs) associated with HCI platform 101.
[0031]
[0032] In some embodiments, RUA 202 is tasked with monitoring the utilization of virtualization, compute, storage, and/or network resources on HCI node 110. Thus, the node RUA 202 may include functionality to: monitor the utilization of: network resources 204 to obtain network resource utilization parameters (RUPs), compute resources 206 to obtain compute RUPs, virtual machines 210 to obtain virtualization RUPs, storage resources 222 to obtain storage RUPs. RUA 202 may provide some or all RUPs to environment resource monitor (ERM) 226 periodically through pull and/or push mechanisms.
[0033] Referring now to
[0034]
[0035] In at least some instances, vApp2 401-2 may be created by cloning vApp1 401-1. If the media access control (MAC) addresses of the VMs 210 in vApp2 401-2 are not modified, those of ordinary skill in the field of access networks will recognize the potential for conflict and ambiguity resulting from the presence of multiple resources coupled to an Ethernet VLAN sharing a common MAC address. In addition to addressing problems associated with a potentially excessive number of virtualized resources contending for a potentially scare number of virtualized network resources, disclosed systems and method for implementing VLAN times slots would also address the duplicated MAC address issue by assigning each resource that shares the common address to a corresponding VLAN time slot.
[0036]
[0037]
[0038] The management resource may then control access (operation 604) to each VLAN in accordance with the defined VLAN time slots such that each VAPP associated with a particular VID, may access the corresponding VLAN during one, and no more than one, of the defined VLAN time slots and wherein no more than one VAPP may access the VLAN during any of the defined VLAN time slots. An exemplary implementation of VLAN time slots is described in more detail below with respect to
[0039] In at least one embodiment, the VLAN time slots and the time slot based access control described herein are implemented as layer 2 or data link layer features. In these embodiments, the implementation and management of the VLAN time slots is, beneficially, transparent to application layer software.
[0040] Referring now to
[0041] Each of the VLAN time slots 702 illustrated in
[0042]
[0043] The management resource may, in at least some embodiments, re-calculate durations of the dynamic interval 724 for each VLAN time slot 702 based on one or more parameters and a dynamic interval algorithm. In at least one embodiment, the management resource may access data indicative of the total number of packets transmitted during a previous VLAN cycle, the total duration of the VLAN cycle, and the number of VAPPs associated with the particular VLAN. With this data, the management resource may determine a dynamic interval total, which is equal to the sum of the durations of each individual dynamic interval 724. The dynamic interval total may then be allocated to the dynamic intervals 724 of each VAPPs based, at least in part, on the percentage of total packet traffic handled by a particular VLAN. To illustrate for the example in which three VAPPs are associated with a particular VLAN, after calculating the total dynamic interval for one or more previous VLAN cycles, durations for each dynamic interval 724 for the next VLAN cycle may be calculated. If a first VAPP transmitted 25% of all packet traffic handled by a particular VLAN, the dynamic interval 724 during the next time cycle might calculated as 25% of the total dynamic interval for a prior VLAN cycle.
[0044] This disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Similarly, where appropriate, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Moreover, reference in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, or component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative.
[0045] All examples and conditional language recited herein are intended for pedagogical objects to aid the reader in understanding the disclosure and the concepts contributed by the inventor to furthering the art, and are construed as being without limitation to such specifically recited examples and conditions. Although embodiments of the present disclosure have been described in detail, it should be understood that various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the disclosure.