Device, system and method for dynamically adjusting a queue structure and message sequencing

A device, system and method for dynamically adjusting a queue structure and message sequencing is provided. A device receives, from one or more edge devices receiving outbound signaling messages on one or more control channels, rankings of previously transmitted outbound signaling messages. The device adjusts (and/or causes adjusting of) one or more of a queue structure and a message sequence of the outbound signaling messages based on the rankings. The device transmits (and/or causes transmission), to the one or more edge devices, the outbound signaling messages according to one or more of the queue structure and the message sequence, as adjusted.

BACKGROUND

Wireless communication infrastructure for transmitting signaling messages on a control channel is generally performed via a queue having a predefined structure, for example at individual base stations (e.g. of a cell site and/or wireless communication site), and the like.

DETAILED DESCRIPTION

Wireless communication infrastructure for transmitting signaling messages on a control channel is generally performed via a queue having a predefined structure, for example at individual base stations (e.g. of a cell site and/or wireless communication site), and the like. However, traffic priority can change over time, in particular for wireless communication devices used by public safety personnel, first responders, and the like. For example, an incident may occur that causes messaging traffic of given types to increase, such as voice traffic, and an existing queue for transmitting signaling messages on a control channel, with a predefined structure, may not be adequately reflect a current state of messaging traffic. For example, a need for voice traffic may increase, but the queue may be transmitting signaling messages which schedule time slots (e.g. in a time-division multiple access (TDMA) network) for voice messages at a fixed rate. Similarly, in other situations, at a site, a number of edge devices which are enabled to communicate via data, but are not enabled to communicate via voice, may increase, or vice versa, but the queue may be transmitting signaling messages which schedule time slots for data and/or voice messages at a fixed rate.

Hence, provided herein is a computing device which manages outbound signaling messages on one or more control channels, the computing device adapted to receive, from one or more edge devices receiving the outbound signaling messages, rankings of previously transmitted outbound signaling messages. Hence, the edge devices are adapted to rank such received outbound signaling messages (e.g. outbound signaling messages refer to signaling messages transmitted to the edge devices) and transmit the rankings to the computing device. Rankings may be based on usefulness and/or effectiveness of received outbound signaling messages. For example, usefulness may be understood herein as whether, or not, an edge device undergoes a change in state due to a received outbound signaling message, and/or whether, or not, an edge device uses data from an outbound signaling message; and effectiveness may be understood herein as timeliness of a received outbound signaling message and/or a lateness of a received outbound signaling message, and the like.

The computing device receives the rankings, and generally causes one or more of a queue structure and a message sequence of the outbound signaling messages to be adjusted based on the rankings. As such, the computing device may cause transmitting, to the one or more edge devices, the outbound signaling messages according to one or more of the queue structure and the message sequence, as adjusted.

For example, new outbound signaling messages may be assigned a priority at the computing device (and/or a computing device of a site at which a queue is located) based on the rankings. For example, new outbound signaling messages that are of a similar type, as relatively higher ranked previously transmitted outbound signaling messages, may be assigned a higher priority than new outbound signaling messages that are of a similar type as relatively lower ranked previously transmitted outbound signaling messages.

The computing device may the adjust the queue structure and/or a message sequence on a control channel such that repeats of relatively higher priority outbound signaling messages increase and/or repeats of relatively lower priority outbound signaling messages decrease and/or are offloaded to a communication path different from the control channel.

The computing device may include, but is not limited to, a fixed network enterprise (FNE) device and/or a communication infrastructure device and/or a cloud computing device and/or a base station device, and the like. The edge devices may include mobile devices and/or portable devices and/or subscriber devices of the same network of which the computing device is a component and/or the edge devices may be roaming to the network.

An aspect of the specification provides method comprising: receiving, at a computing device managing outbound signaling messages on one or more control channels, from one or more edge devices receiving the outbound signaling messages on the one or more control channels, rankings of previously transmitted outbound signaling messages; adjusting, at the computing device, one or more of a queue structure and a message sequence of the outbound signaling messages based on the rankings; and transmitting, from the computing device, to the one or more edge devices, the outbound signaling messages according to one or more of the queue structure and the message sequence, as adjusted.

Another aspect of the present specification provides a device comprising: a communication unit; and a controller communicatively coupled to the communication unit, the controller configured to: receive, via the communication unit, from one or more edge devices receiving outbound signaling messages on one or more control channels, rankings of previously transmitted outbound signaling messages; adjust one or more of a queue structure and a message sequence of the outbound signaling messages based on the rankings; and transmit, via the communication unit, to the one or more edge devices, the outbound signaling messages according to one or more of the queue structure and the message sequence, as adjusted.

Each of the above-mentioned examples will be discussed in more detail below, starting with example system and device architectures of the system in which the embodiments may be practiced, followed by an illustration of processing blocks for achieving an improved technical method, device, and system for dynamically adjusting a queue structure and message sequencing

Example embodiments are herein described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to example embodiments. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a special purpose and unique machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. The methods and processes set forth herein need not, in some embodiments, be performed in the exact sequence as shown and likewise various blocks may be performed in parallel rather than in sequence. Accordingly, the elements of methods and processes are referred to herein as “blocks” rather than “steps.”

The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus that may be on or off-premises, or may be accessed via the cloud in any of a software as a service (SaaS), platform as a service (PaaS), or infrastructure as a service (IaaS) architecture so as to cause a series of operational blocks to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide blocks for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. It is contemplated that any part of any aspect or embodiment discussed in this specification can be implemented or combined with any part of any other aspect or embodiment discussed in this specification.

Attention is directed toFIG.1, which depicts a system100for dynamically adjusting a queue structure and message sequencing. The various components of the system100are in communication via any suitable combination of wired and/or wireless communication links, and communication links between components of the system100are depicted inFIG.1, and throughout the present specification, as double-ended arrows between respective components; the communication links may include any suitable combination of wireless and/or wired links and/or wireless and/or wired communication networks, and the like.

While present examples are described with respect to a computing device and mobile devices and/or edge devices associated with a public-safety entity (e.g., such as a police department, and the like), computing devices and edge devices associated with other types of entities, and/or consumer computing devices and/or edge devices, may leverage a same or similar technique as described herein. For example, computing devices and/or edge devices associated with a warehousing entity, a construction entity, a service industry entity, and/or a consumer entity, such as a consumer and/or commercial network provider, and the like, may implement same and/or similar techniques as described herein.

Herein, the terms “traffic” and/or “messages” are understood to refer to messages exchanged on communication channels and/or talkgroups between edge devices and/or mobile devices. In contrast, the terms “signaling messages” and/or “outbound signaling messages” are understood to refer to control messages, and the like, transmitted from a site, to the edge devices and/or mobile devices, on a control channel, which generally control scheduling of time slots and/or signaling for transmission of the traffic and/or messages exchanged on the communication channels and/or the talkgroups between edge devices and/or mobile devices, and the like (e.g. outbound signaling messages are understood to be outbound from a site and/or base station to edge devices and/or mobile devices). Similarly, “inbound signaling messages” are understood to refer to control messages, and the like, transmitted from edge devices and/or mobile devices to a base station, on a control channel, which generally request time slots for transmitting voice data and/or data traffic and the like (e.g. inbound signaling messages are understood to be inbound to a site and/or base station from edge devices and/or mobile devices).

Similarly, the term “control channel” as used herein is understood to be a communication channel on which the signaling messages (e.g. outbound and/or inbound signaling messages) are transmitted, which may be similar to, or different from, the communication channels and/or talkgroups on which traffic and/or messages are exchanged between edge devices and/or mobile devices.

Hence, edge devices and/or mobile devices described herein are understood to communicate via channels and/or communication channels, including, but not limited to, talkgroups. Indeed, the term “channel” and/or “communication channel”, as used herein, includes, but is not limited to, a physical radio-frequency (RF) communication channel, a logical radio-frequency communication channel, a trunking talkgroup (interchangeably referred to herein a “talkgroup”), a trunking announcement group, a VOIP (Voice-over-internet-protocol) communication path, a push-to-talk channel, and the like. Indeed, groups of channels may be logically organized into talkgroups, and/or dynamically allocated into talkgroups, though channels in a talkgroup may be dynamic as the traffic (e.g. communications) in a talkgroup may increase or decrease, and channels assigned to the talkgroup may be adjusted accordingly. Hence, calls and/or communications and/or traffic herein may include, but are not limited to, push-to-talk (PTT) calls, VOIP calls, cell phone calls, and the like.

The system100is next described in detail.

The system100comprises a computing device101configured to manage outbound signaling messages on one or more control channels. For example, as depicted the system100comprises a site and/or base station103(e.g. including, but not limited to, a cellular site and/or base station and/or eNodeB site) that includes a wireless antenna105and a queue device107that operates a signaling message queue109(interchangeably referred to hereafter as the queue109). The queue device107generally generates and transmits outbound signaling messages111(interchangeably referred to hereafter as the signaling messages111) on a control channel113(e.g. which may include, one or more control channels) by sequencing the signaling messages111into the queue109which may include, but is not limited to, sequencing repeats of the signaling messages111in the queue109. The queue device107may implement any other suitable functionality of the base station103; for example, the queue device107may generally comprise a computing device which manages and/or performs any suitable functionality of the base station103, including, but not limited to, sequencing the signaling messages111into the queue109, managing traffic between edge devices of the system100, amongst other possibilities.

In general, the computing device101may comprise one or more servers and/or one or more cloud computing devices, one or more FNE devices and/or a communication infrastructure device and/or one or more cloud computing devices and/or one or more base station devices, and the like. In particular examples, the computing device101may be combined with the queue device107such that the computing device101is located at the base station103. However, the computing device101may be in communication with a plurality of sites and/or base stations, including, but not limited to, the base station103, and manage respective queues thereof. Regardless, it is understood that computing device101generally manages outbound signaling messages on one or more control channels, including, but not limited to, the control channel113.

The system100further comprises a plurality of edge devices115-1,115-2. . .115-N, (interchangeably referred to hereafter, collectively, as the edge devices115and, generically, as an edge device115; this convention will be used throughout the present specification).

The queue device107generally transmits the signaling messages111to the edge devices115on the control channel113based on the structure of the queue109, described in more detail below with respect toFIG.4andFIG.5. While not depicted, the edge devices115may transmit inbound signaling messages on the control channel113(e.g. and/or another control channel) to the base station103, for example based on a time slot schedule transmitted via the signaling messages111.

While not depicted, the edge devices115further communicate via channels, for example to transmit voice traffic and/or data traffic, and/or any other suitable traffic, to each other (e.g. and/or other edge devices115at other sites and/or base stations). In general, the signaling messages111control scheduling for traffic and/or time slots, and the like, of data exchanged between the edge devices115on the channels.

While three edge devices115are depicted (e.g. “N”=3), the system100may comprise as few as two edge devices115and/or as many as tens to hundred to thousands of edge devices115, which may be communicating on channels and/or talkgroups via the base station103, and/or other base stations in wired and/or wireless communication with the base station103. In particular the control channel113and communication channels are understood to comprise wireless channels of a wireless communication network, the base station103may be a component of such a network.

As depicted, the edge devices115may include mobile devices and/or portable devices and/or subscriber devices associated with a same network of which the base station103is a component (e.g. one or more the edge devices115may not be roaming), and/or one or more of the edge devices115may be roaming to such a network. In some examples, an edge device115may comprise a vehicle communication device (e.g. a radio installed in a vehicle), while in other examples an edge device115may comprise a communication fixed device, including, but not limited to, a dispatch radio operated by a dispatcher dispatching first responders to incidents.

Furthermore, while not depicted, one or more of the edge devices115may be operated by public safety personnel and/or first responders, such as police officers, firefighters, emergency medical technician, and the like; in these examples, the edge devices115may be communicating on a network dedicated to public safety personnel (e.g. such as a P25 network and/or a TDMA network, and the like) and/or a consumer and/or commercial network (e.g. such as a commercial broadband network). However, in other examples, or more of the edge devices115may be operated by employees of commercial entities and/or consumers, and communicating on a network operated by such commercial entities, and/or a consumer and/or commercial network.

In yet further examples, the edge devices115and/or the computing device101may be configured to communicate on more than one type of network; for example, the edge devices115and/or the computing device101may be communicating on a network dedicated to public safety personnel (e.g. such as a P25 network, of which the base station103is a component), and on broadband networks (e.g. via other base stations, not depicted and/or the base station103may include components for communicating on more than one type of network). Hence, the edge devices115and/or the computing device101(and alternatively the base station103) may be configured to communicate via different communication paths (e.g. which are understood to include, but are not limited to, communication links on different networks).

In some examples, an edge device115may have specific functionality that limits certain types of traffic and/or an edge device115may be dedicated and/or primary dedicated, to certain types of traffic. For example, one or more of the edge devices115may be primarily for voice traffic, such as dedicated PTT radios, and the like. Similarly, one or more of the edge devices115may be primarily for data traffic, such as a messaging device and/or a pager, and the like.

Furthermore, a number of edge devices115in the system100may change over time and/or types of traffic being exchanged on the channels between the edge devices115may change over time. For example, a public-safety incident, such a car accident, and the like, may occur and first responders operating the edge devices115may coordinate a response to the public-safety incident by exchanging voice traffic using the edge devices115, causing an increase in voice traffic. Hence, a structure of the queue109and/or a sequence of signaling messages111in the queue109may not be suitable for such a change in traffic.

Hence, as depicted, the edge devices115comprise respective ranking engines117-1,117-2. . .117-N (e.g. ranking engines117and/or a ranking engine117) which rank signaling messages111received at the edge devices115and provides such rankings119to the computing device101, for example via any suitable communication link and/or communication channel121. While only one group of rankings119is depicted inFIG.1, it is understood that the edge devices115generate and transmit respective rankings119. While for simplicity the communication channel121is depicted as being between the edge devices115and the computing device101, it is understood that the communication channel121may be via the base station103and may include, but is not limited to, the control channel113, another channel operated the base station103and/or a communication path different from channels operated by the base station103.

The term engines, as used herein is understood to include a combination of hardware and software which implements a given functionality. For example, the ranking engines117may comprise a combination of a hardware processor and/or controller of a respective edge device115which ranks the signaling messages111and provides such rankings119to the computing device101.

Hence, the edge devices115are generally configured to receive and rank the signaling messages111, and provide and/or transmit such rankings119(e.g. via the ranking engines117) to the computing device101, for example via the communication channel121.

In general, ranking engines117may generate the rankings119by ranking the signaling messages111according to one or more of usefulness and effectiveness thereof.

For example, usefulness may be understood herein as a rating and/or a value and/or an indicator that indicates whether, or not, an edge device115undergoes a change in state due to a received outbound signaling message111, and/or whether, or not, an edge device115uses data from an outbound signaling message111.

In a particular example, a given signaling message111may be to provide an identifier of channel on which a given edge device115is going to transmit a PTT voice message, and other given signaling messages111may repeat the same information. When other edge devices115first receive the given signaling message111, respective ranking engines117may rank the given signaling message111as being useful, for example according to any numerical ranking scheme, including, but not limited to, a numerical ranking scheme that rates signaling messages111on a scale of 1 to 10, and the like. However, when repeats of the given signaling message111are received at the other edge devices115, the respective ranking engines117may rank the repeats of the given signaling message111as being less useful. Hence, for example, the given signaling message111may be initially ranked as “10” on a scale of 1 to 10, and repeats of the given signaling message111may be ranked lower than “10” on such a scale; the usefulness of repeats of the given signaling message111may decrease as a number of received repeats of the given signaling message increases.

In another examples, given signaling messages111may comprise identifier signaling messages111(e.g. “IDEN” signaling message types of a TDMA network), and repeats thereof, which identifies a network of which the base station103is a component. A ranking engine117of a roaming edge device115, initially receiving such an identifier signaling message111may rank the identifier signaling message111as relatively high with respect to usefulness, as the roaming edge device115may use an initially received identifier signaling message111to register with the network; however, as repeats of an identifier signaling messages111are received, a ranking engine117of a roaming edge device115may rank such repeats as relatively lower. Similarly, ranking engines117of non-roaming edge devices115, which have previously registered with the network may rank identifier signaling messages111as relatively lower with respect to usefulness.

Effectiveness may be understood herein as a rating and/or a value and/or an indicator that indicates timeliness of a received outbound signaling message111and/or a lateness, and the like, of a received outbound signaling message111, and the like.

In a particular example, a first edge device115may request a time slot for a call to transmit voice traffic (e.g. via a request to “call” other edge devices115using an inbound signaling message transmitted to the base station103on the control channel113, for example when a PTT button at the edge device115is actuated), and a call grant signaling message111may grant such a call request. In one example, the call grant signaling message111may comprise an identifier of the first edge device115that requested the call, as well as a schedule for the time slot for the call. The call grant signaling message111is understood to be received by other edge devices115so that they may receive voice traffic from the edge device115in the time slot on the call. However, there may be a delay in receiving the call grant signaling message111at a second edge device115(e.g. different from the first edge device115), such that the second edge device115joins the “call” late. As such, a ranking engine117at the second edge device115may rank the call grant signaling message111as being relatively low with respect to effectiveness, again according to any suitable ranking system. However, the second edge device115may rank the call grant signaling message111as being relatively high with respect to usefulness.

Hence, a given signaling message111may be ranked by a ranking engine117according to usefulness and/or effectiveness, and/or according to a weighting scheme which combines such rankings. For example, a late received call grant signaling message111may be ranked high for usefulness but low for effectiveness, but the usefulness ranking may be higher weighted than the effectiveness ranking (e.g. a usefulness rating for a given signaling message111may be weighted at 75%, and an effectiveness rating for the given signaling message111may be weighted at 25%, amongst other possibilities). Hence, in these examples, a ranking119for a given signaling message111may comprise a combined weighted ranking as to usefulness and effectiveness thereof.

However a ranking119for a given signaling message111may comprise a combination that includes both a usefulness ranking and an effectiveness ranking (e.g. distinct from each other).

Regardless, the computing device101receives the rankings119according to any suitable scheme implemented by the ranking engines117and the computing device101is generally configured to process and/or analyze the rankings119according to a same and/or similar scheme.

Regardless, the computing device101receives the rankings119(e.g. which are understood to be rankings of previously transmitted outbound signaling messages111) and adjusts the queue109based on the rankings119, as described in more detail below.

Attention is next directed toFIG.2, which depicts a schematic block diagram of an example of the computing device101. As has already been mentioned, in general, the computing device101may comprise one or more servers and/or one or more cloud computing devices, one or more FNE devices and/or a communication infrastructure device and/or one or more cloud computing devices and/or one or more base station devices, and the like. In particular examples, the computing device101may be combined with the queue device107such that the computing device101is located at the base station103. However, the computing device101may be in communication with a plurality of sites and/or base stations, including, but not limited to, the base station103, and manage respective queues thereof. Regardless, it is understood that computing device101generally manages outbound signaling messages on one or more control channels, including, but not limited to, the control channel113.

As depicted, the computing device101comprises: a communication unit202, a processing unit203, a Random-Access Memory (RAM)204, one or more wireless transceivers208, one or more wired and/or wireless input/output (I/O) interfaces209, a combined modulator/demodulator210, a code Read Only Memory (ROM)212, a common data and address bus217, a controller220, and a static memory222storing at least one application223. Hereafter, the at least one application223will be interchangeably referred to as the application223.

While not depicted, the computing device101may include one or more of an input device and a display screen and the like, a microphone (e.g., to receive voice commands) such that a user (e.g., an administrator of the system100), may interact with the computing device101. The computing device101may include any other suitable components.

As shown inFIG.2, the computing device101includes the communication unit202communicatively coupled to the common data and address bus217of the processing unit203.

The processing unit203may include the code Read Only Memory (ROM)212coupled to the common data and address bus217for storing data for initializing system components. The processing unit203may further include the controller220coupled, by the common data and address bus217, to the Random-Access Memory204and the static memory222.

The communication unit202may include one or more wired and/or wireless input/output (I/O) interfaces209that are configurable to communicate with the base station103, the queue device107, and/or the edge devices115. For example, the communication unit202may include one or more transceivers208and/or wireless transceivers for communicating with the base station103, the queue device107, and/or the edge devices115, and/or any other suitable component of the system100. Hence, the one or more transceivers208may be adapted for communication with one or more communication networks used to communicate with the base station103, the queue device107, and/or the edge devices115, and/or any other suitable component of the system100. For example, the one or more transceivers208may be adapted for communication with one or more of the Internet, a digital mobile radio (DMR) network, a Project 25 (P25) network, a terrestrial trunked radio (TETRA) network, a Bluetooth network, a Wi-Fi network, for example operating in accordance with an IEEE 802.11 standard (e.g., 802.11a, 802.11b, 802.11g), an LTE (Long-Term Evolution) network and/or other types of GSM (Global System for Mobile communications) and/or 3GPP (3rdGeneration Partnership Project) networks, a 5G network (e.g., a network architecture compliant with, for example, the 3GPP TS 23 specification series and/or a new radio (NR) air interface compliant with the 3GPP TS 38 specification series) standard), a Worldwide Interoperability for Microwave Access (WiMAX) network, for example operating in accordance with an IEEE 802.16 standard, and/or another similar type of wireless network. Hence, the one or more transceivers208may include, but are not limited to, a cell phone transceiver, a DMR transceiver, P25 transceiver, a TETRA transceiver, a 3GPP transceiver, an LTE transceiver, a GSM transceiver, a 5G transceiver, a Bluetooth transceiver, a Wi-Fi transceiver, a WiMAX transceiver, and/or another similar type of wireless transceiver configurable to communicate via a wireless radio network.

The communication unit202may optionally include one or more wireline transceivers208, such as an Ethernet transceiver, a USB (Universal Serial Bus) transceiver, or similar transceiver configurable to communicate via a twisted pair wire, a coaxial cable, a fiber-optic link, or a similar physical connection to a wireline network. The transceiver208is also coupled to a combined modulator/demodulator210.

The controller220may include ports (e.g., hardware ports) for coupling to other hardware components.

The controller220may include one or more logic circuits, one or more processors, one or more microprocessors, and/or the controller220may include one or more ASIC (application-specific integrated circuits) and one or more FPGA (field-programmable gate arrays), and/or another electronic device. In some examples, the controller220and/or the computing device101is not a generic controller and/or a generic device, but a device specifically configured to implement functionality for dynamically adjusting a queue structure and message sequencing. For example, in some examples, the computing device101and/or the controller220specifically comprises a computer executable engine configured to implement functionality for dynamically adjusting a queue structure and message sequencing.

The static memory222is a non-transitory machine readable medium that stores machine readable instructions to implement one or more programs or applications. Example machine readable media include a non-volatile storage unit (e.g., Erasable Electronic Programmable Read Only Memory (“EEPROM”), Flash Memory) and/or a volatile storage unit (e.g., random-access memory (“RAM”)). In the example ofFIG.2, programming instructions (e.g., machine readable instructions) that implement the functional teachings of the computing device101as described herein are maintained, persistently, at the memory222and used by the controller220, which makes appropriate utilization of volatile storage during the execution of such programming instructions.

In particular, the memory222stores instructions corresponding to the at least one application223that, when executed by the controller220, enables the controller220to implement functionality described herein including, but not limited to, the blocks of the method set forth inFIG.3.

In illustrated examples, when the controller220executes the one or more applications223, the controller220is enabled to: receive, from one or more edge devices receiving outbound signaling messages on one or more control channels, rankings of previously transmitted outbound signaling messages; adjust one or more of a queue structure and a message sequence of the outbound signaling messages based on the rankings; and transmit (and/or cause transmitting) to the one or more edge devices, the outbound signaling messages according to one or more of the queue structure and the message sequence, as adjusted.

The application223may include numerical algorithms configured to implement the functionality as described above and/or determine how to adjust one or more of a queue structure and a message sequence of outbound signaling messages based on rankings.

Alternatively, and/or in addition to numerical algorithms, the application223may include machine learning models and/or algorithms, and the like, which have been trained to implement the functionality as described above and/or determine how to adjust one or more of a queue structure and a message sequence of outbound signaling messages based on rankings. In some of these examples, the application223may be operated by the controller220in a learning mode to receive feedback on how adjustments of one or more of a queue structure and a message sequence of outbound signaling messages affected rankings, to improve, for example, usefulness and/or effectiveness of outbound signaling messages.

The one or more machine learning models and/or algorithms of the application223may include, but are not limited to: a deep-learning based algorithm; a neural network; a generalized linear regression algorithm; a random forest algorithm; a support vector machine algorithm; a gradient boosting regression algorithm; a decision tree algorithm; a generalized additive model; evolutionary programming algorithms; Bayesian inference algorithms, reinforcement learning algorithms, and the like. However, generalized linear regression algorithms, random forest algorithms, support vector machine algorithms, gradient boosting regression algorithms, decision tree algorithms, generalized additive models, and the like may be preferred over neural network algorithms, deep learning algorithms, evolutionary programming algorithms, and the like, in some public safety environments. Any suitable machine learning algorithm and/or deep learning algorithm and/or neural network is within the scope of present examples.

While details of the edge devices115are not depicted, the edge devices115may have components similar to the computing device101as depicted inFIG.2adapted, however, for the functionality thereof. For example, the edge devices115may include respective display screens, input devices, speakers, microphones, clocks, radio frequency signal strength measurement devices, and the like as well as the aforementioned ranking engines117. Indeed, the ranking engines117may also be implemented via numerical algorithms and/or machine learning algorithms that have been trained to rank signaling messages, for example according to usefulness and/or effectiveness as described above; such machine learning algorithms may also be operated in a learning mode. Regardless, it is understood that the edge devices115include respective transceivers for communicating via channels and control channels, as described herein.

Attention is now directed toFIG.3, which depicts a flowchart representative of a method300for dynamically adjusting a queue structure and message sequencing. The operations of the method300ofFIG.3correspond to machine readable instructions that are executed by the computing device101, and specifically the controller220of the computing device101. In the illustrated example, the instructions represented by the blocks ofFIG.3are stored at the memory222for example, as the application223. The method300ofFIG.3is one way that the controller220and/or the computing device101and/or the system100may be configured. Furthermore, the following discussion of the method300ofFIG.3will lead to a further understanding of the system100, and its various components.

The method300ofFIG.3need not be performed in the exact sequence as shown and likewise various blocks may be performed in parallel rather than in sequence. Accordingly, as has already been mentioned, components of the method300are referred to herein as “blocks” rather than “steps.” The method300ofFIG.3may be implemented on variations of the system100ofFIG.1, as well.

At a block302, the controller220and/or the computing device101receives, from one or more edge devices115that receive outbound signaling messages111on one or more control channels (e.g. the control channel113), rankings119of previously transmitted outbound signaling messages111.

The rankings119may have any suitable format that indicates, for example, types and associated usefulness and/or effectiveness of signaling messages111. For example, a ranking119for a given signaling message111received from a given edge device115may indicate a type of the given signaling message111(e.g. a call grant signaling message) and/or information included in the given signaling message111and the like.

Such a ranking119may further include, but is not limited to: a time that the given signaling message111was received at the given edge device115; an identifier of the site and/or base station103from which the given signaling message111was received; radio frequency (RF) conditions (e.g. a signal strength of the control channel113and the like) associated with and/or at the given edge device115(presuming that the given edge device115includes hardware for determining and/or measuring such RF conditions); identifiers of channels and/or talkgroups, and the like, associated with the given edge device115(e.g. on which the given edge device115is registered to communicate); an indicator of whether the given signaling message111failed (e.g. a given scheduled action and/or was ignored, described in more detail below); and the like. In particular, the ranking engines117may be configured to include such information in the rankings119.

In specific examples, the rankings119may include, but are not limited to:A count of a number of repeats and/or retries of a given signaling message111; for example, a number of repeats of a given signaling message111that were received prior to a respective action being implemented at a given edge device115(e.g. the term “retry” be interchangeable with the term “repeat”).Whether a number of repeats of a given signaling message111was exhausted. For example, a number of repeats of a given signaling message111may be limited to a given number and when the number of repeats reaches the given number, and a respective action is still not implemented at a given edge device115, the number of repeats may be referred to as being exhausted and/or the signaling message111may be referred to as having failed.A lateness of a given signaling message111, as described above, including, but not limited to, any suitable time periods that indicate such a lateness.Whether or not a given signaling message111caused a “bonk” at a given edge device115, which may be related to the lateness and/or a number of repeats of a given signaling message111. For example a “bonk” may be understood as noise and/or audible feedback generated via a speaker of an edge device115indicating that a request associated with a given signaling message111failed and/or was not responded to in a timely manner, and/or otherwise indicating an error when attempting to transmit traffic using an edge device115, and the like.

Indeed, a ranking119may include any other suitable information which may include, but is not limited to, whether a given signaling message111is out of range (e.g. a value in a given signaling message111is not processable by an edge device115), an associated decode failure, an associated false recovery, an associated bit error rate, and the like.

Furthermore, the rankings119may be received periodically and/or upon request by the computing device101and/or according to any other suitable schedule. Furthermore, the rankings119may be received one-to-one with respective signaling messages111(e.g. such that one ranking119is generated and transmitted for a given signal message111) and/or the rankings119may comprise groups of rankings of signal messages111.

At a block304, the controller220and/or the computing device101adjusts and/or causes adjusting of one or more of a queue structure and a message sequence of the outbound signaling messages111based on the rankings119.

For example, as described above, the rankings119, received from the one or more edge devices115, rank the previously transmitted outbound signaling messages111(e.g. received at the one or more edge devices115) according to one or more of usefulness and effectiveness thereof.

While specific examples for generating rankings119of certain types signaling messages111have been previously described, the rankings119may include rankings of any suitable signaling messages111.

For example, the rankings119may include, but are not limited to a usefulness ranking for a given previously transmitted outbound signaling message111defining one or more of (amongst other possibilities):How useful the given previously transmitted outbound signaling message111was to an edge device115for controlling behavior thereof. For example, as described above an initially received signaling message111of a given type and/or including given information may be more useful than a repeated signaling message111of the same type and/or including the same information. Hence, in general, the usefulness of a given previously transmitted outbound signaling message111may be determined based on whether, or not, the given previously transmitted outbound signaling message111changes behavior, or not, at an edge device115. For example, a given previously transmitted outbound signaling message111that changes behavior of an edge device115may be assigned a higher usefulness ranking than a signaling message111that does not change behavior of an edge device115and/or maintains a behavior of an edge device115and/or is ignored by the edge device115as being irrelevant.Whether the given previously transmitted outbound signaling message111was a repeat of another previously transmitted outbound signaling message111. Such examples were previously described and may further be related to whether, or not, a repeat of another previously transmitted outbound signaling message111changes behavior of an edge device115.Whether the given previously transmitted outbound signaling message111was a data signaling message111received by a data edge device115or a voice edge device115. For example, as previously described, an edge device115may be primarily for voice traffic or data traffic, and hence a data signaling message111(e.g. for scheduling a time slot to transmit or received data, such as text messages, pager messages, and/or locations of the edge device115and/or any other suitable data) may be assigned a lower usefulness rating by a voice edge device115than by a data edge device115.Whether the given previously transmitted outbound signaling message111was a voice signaling message received by a data edge device115or a voice edge device115. For example, as previously described, an edge device115may be primarily for voice traffic or data traffic, and hence a voice signaling message111(e.g. for scheduling a time slot to transmit voice traffic, such PTT calls, and the like) may be assigned a lower usefulness rating by a data edge device115than by a voice edge device115.

Similarly, the rankings119may include, but are not limited to an effectiveness ranking defining how effective a given previously transmitted outbound signaling message111was for controlling timely behavior an edge device115.

An example of an effectiveness ranking for call grant signaling messages111was previously described, however an effectiveness ranking may be determined for other types of signaling messages111.

For example, an edge device115may transmit, to the base station103, an inbound signaling message requesting a time slot, and the like, for performing any suitable action on a communication channel and/or talkgroup, and a corresponding outbound signaling message111granting the request may arrive “late” from the base station103, such that, prior to the edge device115receiving the corresponding outbound signaling message111, the edge device115transmit a repeat of the inbound signaling message requesting a time slot for performing the action. Such a repeat and/or late receipt of the corresponding signaling message111may cause a bonk to occur at the edge device115(e.g. a noise generated indicating that an initial request failed) and/or a relatively late performance of the action. In these examples, the corresponding outbound signaling message111arriving late (e.g. as determined by a bonk occurring and/or by a repeat transmission of an inbound signaling message from the edge device115to the base station103requesting a time slot for performing the action) may be ranked relatively lower than outbound signaling messages111which are not received late (e.g. which do not cause a bonk and/or a repeat transmission of an inbound signaling message).

Indeed, one or more of a bonk, a “late” call grant signaling message111, a late join to a call, and the like, may cause a ranking engine117to lower an effectiveness ranking of a signaling message111.

Regardless, the controller220and/or the computing device101receives the rankings119and causes a queue structure and/or a message sequence of the queue109to be adjusted accordingly.

For example, the controller220and/or the computing device101may adjust one or more of the queue structure and the message sequence of the outbound signaling messages111by adjusting one or more of:A number of queues (e.g. sub-queues) in a queue structure of the queue109. For example, the controller220and/or the computing device101may assign priorities to signaling messages111based on the rankings119as described in more detail below. Furthermore, the queue109may comprise a number of sub-queues into which signaling messages111of different priorities are sequenced, for example to transmit higher priority signaling messages111prior to lower priority signaling messages111and/or to increase or decrease numbers of repeats of the signaling messages111. Hence, in these examples, a number of the queues and/or sub-queues of the queue109may be increased or decreased. In yet further examples, the number of the queues and/or sub-queues of the queue109may not change, but the queues and/or sub-queues of the queue109may be rearranged.Transitions between the queues (e.g. sub-queues) in a queue structure of the queue109. For example, as described below, such transitions may be used to control numbers of repeats of the signaling messages111. Hence, to increase numbers of repeats of certain, signaling messages111, more transitions may be added between certain queues (e.g. sub-queues) in a queue structure of the queue109; similarly, to decrease numbers of repeats of certain, signaling messages111, transitions may be reduced between certain queues (e.g. sub-queues) in a queue structure of the queue109. In yet further examples, a number of the transitions of the queue109may not change, but the transitions of the queue109may be rearranged.Repeats of the outbound signaling messages111in the queue structure of the queue109. For example, the controller220and/or the computing device101may assign priorities to signaling messages111based on the rankings119and cause repeats of higher priority signaling messages111to increase and further cause repeats of lower priority signaling messages111to decrease.Positions of given outbound signaling messages111in the queue structure of the queue109. For example, as mentioned above, the controller220and/or the computing device101may assign priorities to signaling messages111based on the rankings119and adjust positions of higher priority signaling messages111to change relative to lower priority signaling messages111such that the higher priority signaling messages111are transmitted prior to the lower priority signaling messages111.

However, the controller220and/or the computing device101may adjust one or more of the queue structure and the message sequence of the outbound signaling messages111by adjusting any suitable aspect of the queue109and the like.

As mentioned above, the controller220and/or the computing device101may assign priorities to signaling messages111based on the rankings119. For example, the rankings119of certain previous signaling messages111may indicate a relatively low usefulness ranking; hence, the controller220and/or the computing device101may assign a relatively low priority to same and/or similar signaling messages111(e.g. of a same and/or similar type and/or including same and/or similar information as previous signaling messages111having a relatively low usefulness ranking). Similarly, the rankings119of other previous signaling messages111may indicate a relatively high usefulness ranking; hence, the controller220and/or the computing device101may assign a relatively high priority to same and/or similar signaling messages111(e.g. of a same and/or similar type and/or including same and/or similar information as previous signaling messages111having a relatively high usefulness ranking).

Similarly, the rankings119of certain previous signaling messages111may indicate a relatively low effectiveness ranking; hence, the controller220and/or the computing device101may assign a relatively high priority to same and/or similar signaling messages111(e.g. of a same and/or similar type and/or including same and/or similar information as previous signaling messages111having a relatively low effectiveness ranking) for example to improve their effectiveness. Similarly, the rankings119of other previous signaling messages111may indicate a relatively high effectiveness ranking; hence, the controller220and/or the computing device101may assign a relatively higher priority to same and/or similar signaling messages111(e.g. of a same and/or similar type and/or including same and/or similar information as previous signaling messages111having a relatively high effectiveness ranking) to improve and/or maintain their effectiveness.

However, the controller220and/or the device101may assign priorities in any suitable manner to improve usefulness and/or effectiveness of signal messages111as indicated by the rankings119. Similarly, the controller220and/or the device101may accordingly adjust one or more of the queue structure and the message sequence of the queue109may be adjusted to cause such higher and lower priority signaling messages111to be transmitted as described above.

For example, the controller220and/or the computing device101may generally adjust the queue109to reduce repeats of less useful signal messages111, increase repeats of more useful signal messages111, and/or generally improve usefulness of signal messages111. Similarly, the controller220and/or the computing device101generally adjusts the queue109to reduce repeats less effective signal messages111, increase repeats of more effective signal messages111, and/or generally improve effectiveness of signal messages111.

Hence, in general, the method300may further comprise the controller220and/or the device101: determining respective priorities of outbound signaling messages111; and adjusting one or more of a queue structure and a message sequence of the outbound signaling messages111to cause one or more of: repeats of higher priority outbound signaling messages111to increase; and respective repeats of lower priority outbound signaling messages111to one or more of: decrease; and be offloaded to a communication path different from the control channel113. For example, repeats of lower priority outbound signaling messages111may be transmitted via a broadband network rather than on a P25 network, and the like.

In general, the controller220and/or the computing device101may adjust a queue structure and/or a message sequence of the queue109by transmitting a command to the queue device107indicating a changed queue structure and/or a changed message sequence of the queue109, causing the queue device107to adjust the queue109accordingly. Alternatively, when the computing device101is combined with the queue device107, the controller220and/or the computing device101may adjust a queue structure and/or a message sequence of the queue109accordingly.

An examples of queue structure and/or message sequence of the queue109before and after adjustment are described in more detail below with respect toFIG.4andFIG.5.

At a block306, the controller220and/or the computing device101transmits (and/or causes transmission of) the outbound signaling messages111, to the one or more edge devices115, according to one or more of the queue structure and the message sequence, as adjusted. For example, when the computing device101is remote and/or separate from the queue device107the outbound signaling messages111being transmitted according to one or more of the queue structure and the message sequence, as adjusted, may occur via the computing device101transmitting the aforementioned command to the queue device107such that that the queue device107sequences the signaling messages111in an adjusted queue structure of the queue109accordingly. Alternatively, when the computing device101is combined with the queue device107, the computing device101may sequences the signaling messages111in an adjusted queue structure of the queue109accordingly.

The method300may be further adapted to correlate the rankings119with time. For example, the rankings119may indicate that the usefulness and/or effectiveness of given signaling messages111correlate with time. In particular, certain types of signaling messages111may be determined to be more or less useful and/or effective at certain times of day, for example as a type of traffic and/or numbers of edge devices115change with time and/or according to a time of day. Hence, adjusting one or more of the queue structure and the message sequence of the outbound signaling messages111may occur for given times, such that a first queue structure and/or first message sequence is used in a daytime (and/or during times associated with daytime), and a second queue structure and/or second message sequence is used in a nighttime (and/or during times associated with nighttime). For example, a number of edge devices115may increase in a region serviced by the base station103at night, and decrease during the day (e.g. due to police officers increasing patrolling of the region at night) and the queue structure and/or message sequence may be adjusted accordingly.

However, such correlations may occur between the rankings119and other factors and/or conditions. In particular, the method may further comprising correlating the rankings119with one or more of: time; sites with which the one or more edge devices115are communicating (e.g. the edge devices115may move between sites); locations of the one or more edge devices115; radio-frequency conditions associated with the one or more edge devices115; incidents associated with the one or more edge devices115; talkgroups associated with the one or more edge devices115; failures of previously transmitted outbound signaling messages111; and the like. In these examples, adjusting one or more of the queue structure and the message sequence of the outbound signaling messages111may be further based on the rankings119as correlated with such factors.

As such, the computing device101may maintain a database, and the like, of given queue structures and/or messaging sequences that increased the rankings119when associated factors and/or conditions occurred in the system100. For example, when a given set of radio-frequency conditions associated with the one or more edge devices115occurred in the system100(e.g. for a given site and/or base station), as determined from previously received rankings119, a given queue structure and/or messaging sequence may have been determined to improve the rankings119; hence, when same and/or similar radio-frequency conditions occur in the system100(e.g. for the given site and/or base station), the controller220and/or the computing device101may adjust the queue109according to the previously determined given queue structure and/or messaging sequence that previously improved the rankings119.

Similarly, when the edge devices115are associated with first responders, such as police officers, the computing device101may have access to a database of incidents to which the police officers are currently responding, and/or the rankings119may include indicators of such incidents (e.g. when police officers operating the edge devices115are responding to a car accident, the rankings119may indicate same). Hence, when a given incident associated with the one or more edge devices115occurred in the system100, a given queue structure and/or messaging sequence may have been determined to improve the rankings119; hence, when a same and/or similar incident occurs in the system100, the controller220and/or the computing device101may adjust the queue109according to the previously determined given queue structure and/or messaging sequence that previously improved the rankings119.

Put another way, the controller220and/or the computing device101may “learn” which queue structures and/or messaging sequences of the queue109improve the rankings119under given conditions and adjust the queue structure and/or messaging sequence of the queue109accordingly when a given condition occurs.

Hence, while present examples are described with respect to adjusting a queue structure and/or a message sequence of outbound signaling messages based rankings119of previously transmitted outbound signaling messages111, the ranking119received from the edge devices115, it is understood that such rankings119may include, but are not limited to, previously received and/or historical rankings used to train one or more machine learning models and/or algorithms. Hence, it is understood that adjusting a queue structure and/or a message sequence of outbound signaling messages based the rankings119received from the edge devices115, as described herein may include, but is not limited to, adjusting a queue structure and/or a message sequence of outbound signaling messages based on estimated and/or predicted rankings using historically learned rankings (e.g. for given times and/or given locations and/or given incident types) previously received from the edge devices115.

For example, receiving the rankings119may occur well prior to adjusting one or more of a queue structure and a message sequence of the outbound signaling messages111based on the rankings119, and the ranking119may be used to train one or more machine learning models and/or algorithms to adjust one or more of a queue structure and a message sequence of the outbound signaling messages111. In these examples, the controller220and/or the computing device101may determine types of outbound signaling messages111for sequencing in the queue109and adjust the one or more of a queue structure of the queue109and/or a message sequence of the outbound signaling messages111using one or more machine learning models and/or algorithms that have been trained to implement such functionality using historically received rankings119.

Regardless, the controller220and/or the computing device101may continue to adjust the queue structure and/or messaging sequence of the queue109based on the rankings119as described above. For example, when a given of time day occurs, the controller220and/or the computing device101may adjust the queue structure and/or messaging sequence of the queue109to a stored queue structure and/or messaging sequence associated with the time of day, and continue to adjust the queue structure and/or messaging sequence of the queue109based on the rankings119.

In some examples, the computing device101may manage queues of more than one site and/or base station. Hence, in these examples, instance of the method300may be implemented concurrently, and the like to adjust queues at different sites and/or base stations. Put another way, the controller220and/or the computing device101may manages a plurality of respective queues for a plurality of sites and/or base stations, and adjusting one or more of a queue structure and a message sequence of outbound signaling messages111may occur for each of the plurality of respective queues for the plurality of sites and/or base stations as described above. Hence, in these examples the different behaviors of edge devices115in response to receiving signaling messages111from different base stations may cause respective queues of the base stations to be adjusted differently.

Put yet another way, adjusting one or more of a queue structure and a message sequence of outbound signaling messages, by the controller220and/or the computing device101, may occur for one or more specific sites and/or base stations (e.g. including, but not limited to the base station103), used by the one or more edge devices115and the computing device101to communicate on one or more control channels (e.g. including, but not limited to the control channel113).

An example of the method300is next described with respect toFIG.4andFIG.5which are substantially similar toFIG.1with like components having like numbers. While for simplicity the wireless antenna105is not depicted inFIG.4andFIG.5, it is nonetheless understood to be present.

With attention first directed toFIG.4, details of the queue109at the queue device107are depicted, for example prior to being adjusted by the computing device101based on the rankings119.

In particular, the queue109is understood to include a plurality of queues and/or sub-queues Q1, Q2, Q3, Q4, Q5, Q6, Q7, and Q8 (referred to hereafter as the sub-queues) arranged in a particular structure as described below; the structure may be selected based on time of day, and/or other factors described herein. Furthermore a plurality of signaling messages111are depicted as being sequenced at the queue109, for example to a given priority thereof. For example, as depicted, data signaling messages111have a relatively highest priority, voice signaling messages111have a relatively medium priority, and other types of signaling messages111are either of a relatively low priority (e.g. identifier signaling messages) or classified as being “continuous” which may control general management of the messages between the edge devices115and may not be specifically associated with data and/or voice etc. As such, as depicted inFIG.4, the signaling messages111comprise high priority signaling messages111-H for controlling data traffic, medium priority signaling messages111-M for controlling voice traffic, low priority signaling messages111-L for controlling other types of traffic, and continuous signaling messages111-C for general management of traffic, and the like.

Furthermore, the high priority signaling messages111-H are sequenced at the sub-queue Q1, and transmitted on the control channel113, and then the high priority signaling messages111-H are again sequenced at the sub-queue Q2, and again transmitted on the control channel113(e.g. to repeat their transmission).

The medium priority signaling messages111-M are sequenced at the sub-queue Q3, and transmitted on the control channel113after the high priority signaling messages111-H of the sub-queue Q2 are transmitted, and then the medium priority signaling messages111-M are again sequenced at the sub-queue Q4, and again transmitted on the control channel113(e.g. to repeat their transmission).

The high and medium priority signaling messages111-H,111-M are again sequenced at the sub-queue Q6, and again transmitted on the control channel113(e.g. to again repeat their transmission).

Thereafter, the low priority signaling messages111-L are combined with the high and medium priority signaling messages111-H,111-M and sequenced at the sub-queue Q7, and transmitted on the control channel113, to first transmit the low priority signaling messages111-L and again transmit the high and medium priority signaling messages111-H,111-M.

Transmission of the signaling messages111-H,111-M,111-L at the sub-queue Q7 may repeat, for example a given number of times (e.g. per priority type), for example when transmission of signaling messages111in the sub-queue Q7 again occurs.

The continuous signaling messages111-C are sequenced at the sub-queue Q8 and transmitted on the control channel113, for example after signaling messages of the transmission of signaling messages111the sub-queue Q7 are transmitted. Hence, signaling messages111in the sub-queues Q1, Q2, Q3, Q4, Q5, Q6, Q7, and Q8 are transmitted in an order of sub-queues Q1, Q2, Q3, Q4, Q5, Q6, Q7, and Q8, and further then further signaling messages111in the sub-queues Q1, Q2, Q3, Q4, Q5, Q6, Q7, and Q8 again occur. When signaling messages111may be removed from the sub-queue Q7 when they reach a respective given number of repeats, and the like.

Hence, as depicted, the data signaling messages111in the queue109, sequenced at the sub-queue Q1, are first transmitted and repeated a most number of times, as compared to, for example, voice signaling messages111sequenced at the sub-queue Q3.

However, as depicted, the ranking engines117rank the signaling messages111received at the edge devices115, and generate, and transmit, the rankings119to the computing device101, which receive (e.g. at the block302of the method300) the rankings119. From the rankings119, the computing device101may determine (e.g. at the block304) an adjusted queue structure401and/or adjusted message priorities403. For example, the edge devices115may have an increase in voice traffic which causes the ranking engines117to generate the rankings119to indicate that data signaling messages may be less useful than voice signaling messages and, with the queue structure depicted inFIG.4, voice signaling messages may have relatively low effectiveness ratings. As such, the computing device101determines the adjusted queue structure401and/or adjusted message priorities403such that new voice signaling messages111have a higher priority than new data signaling messages111and/or such that new voice signaling messages111are repeated more often than new data signaling messages111in the queue109, for example to increase the usefulness and/or effectiveness of the voice signaling messages in the rankings119.

As depicted, the adjusted queue structure401and/or adjusted message priorities403are provided to the queue device107(e.g. as a command405) which adjusts the queue accordingly.

For example, attention is next directed toFIG.5which depicts the queue109after being adjusted. As depicted, a message sequence is adjusted such that the high priority signaling messages111-H comprise voice signaling messages111and the medium priority signaling messages111-M comprise data signaling messages111, with the signaling messages111-L,111-C being unchanged. Such changes may be defined by the adjusted message priorities403.

Furthermore, as depicted a queue structure of the sub-queues Q1, Q2, Q3, Q4, Q5, Q6, Q7, and Q8 are adjusted such that the high priority signaling messages111-H are sequenced in the sub-queues Q1, Q2, Q3, Q4 to repeat transmission the high priority signaling messages111-H prior to the medium priority signaling messages111-M being transmitted, as sequenced at the sub-queue Q5. Such changes may be defined by the adjusted queue structure401. The remaining queue structure is similar to as depicted inFIG.4. Hence, the signaling messages111are transmitted (e.g. at the block306of the method300) according to the queue109as adjusted.

As depicted, the ranking engines117continue to generate the rankings119, continue to be received at the computing device101which may continue to generate an adjusted queue structure501and/or adjusted message priorities503which may be used to again adjust the queue structure and/or the message sequence of the outbound signaling messages111at the queue109, for example via a command505. As such the queue109may be adjusted in a feedback loop with the rankings119

As should be apparent from this detailed description above, the operations and functions of the electronic computing device are sufficiently complex as to require their implementation on a computer system, and cannot be performed, as a practical matter, in the human mind. Electronic computing devices such as set forth herein are understood as requiring and providing speed and accuracy and complexity management that are not obtainable by human mental steps, in addition to the inherently digital nature of such operations (e.g., a human mind cannot interface directly with RAM or other digital storage, cannot transmit or receive electronic messages, electronically encoded video, electronically encoded audio, etc., and cannot adjust a queue structure and/or a message sequence of outbound signaling messages based on rankings, and/or a human mind cannot rank such outbound signaling messages at an edge device, among other features and functions set forth herein).