Patent Description:
Network, as used herein, may include the Internet cloud, as well as other networks of local to global scope. Network may include, for example, cellular telephone networks ( e. <NUM> or <NUM>), text messaging networks (such as MMS or SMS networks), local area networks (LANs), wide area networks (WANs), and combinations thereof, as would be readily recognized by those of ordinary skill in the art upon study of this disclosure. Network may include, for example, data storage devices, input/output devices, servers, routers, switches, databases, computers, wireless communication devices, access points, cellular networks, optical devices, cables and other communication pathways, and other hardware and operable software, as would be readily recognized by those of ordinary skill in the art upon study of this disclosure. Network may be wired (e.g. optical, electromagnetic), wireless (e.g. infra-red (IR), electromagnetic), or a combination of wired and wireless, and the network may conform, at least in part, to various standards, (e.g. Bluetooth®, ANT, ZigBee, FDDI, ARCNET IEEE <NUM>, IEEE <NUM>, IEEE <NUM>, IEEE <NUM>-<NUM>, USB).

Certain networks may include clients numbering in the hundreds or even thousands connected to a specific segment of the network. These clients are generally configured as computers. In addition, there may be other clients not connected to the network but in close proximity to the network. As used herein, computer may include, for example without limitation, single-processor or multiprocessor computers, system-on-a-chip, minicomputers, mainframe computers, personal computers, cloud-based computing, hand-held computing devices, mobile devices, cellular telephones, smartphones, tablets, watches, microcontrollers, and other processor-based devices, as would be readily recognized by those of ordinary skill in the art upon study of this disclosure. Computer, in various implementations, may include memory, display, mouse, keyboard, data storage device(s), I/O device(s), and so forth, as would be readily recognized by those of ordinary skill in the art upon study of this disclosure. Use of the term client herein does not necessarily imply and particular network hierarchy or network architecture.

Clients, whether connected to the network or not, may perform certain actions. For example, a client may maintain a list of Wi-Fi networks termed known networks to which the client has been connected in the past, and the client may continually probe in search of a known network or in search of a better access point to the network. This probing creates congestion as described below. In addition, many clients may be communicating data via the network, for example, by browsing the Internet, tweeting, or downloading email. Congestion caused by client activity on the network creates unacceptable latency in data communication, for example, between multiple clients and a server with which the multiple clients are communicating via the network. Latency, as used herein, refers to delay in the communication of data packets on the network, and jitter refers to changes in latency.

As an example, it may be theoretically possible, but not practical, to avoid network congestion by asking the user of every client that may communicate with the network to turn the client off or to use Airplane Mode. Asking users to turn their clients off for brief periods of time could increase compliance, but not enough to solve the network congestion or latency problems.

<CIT> pertains to an apparatus that predicts traffic usage in uplink and downlink directions of a link that is configured to support a communication session for the client device. In an example, the predictions can be based upon a call state parameter (e.g., if the client device is a non-floorholder or is muted the client device is unlikely to send much traffic in the uplink direction, etc.). The apparatus initiates, in association with the communication session, (i) an uplink-specific QoS adjustment to a first level of Quality of Service (QoS) assigned to the uplink direction of the link based on the predicted traffic usage in the uplink direction, and/or (ii) a downlink-specific QoS adjustment to a second level of QoS assigned to the downlink direction of the link based on the predicted traffic usage in the downlink direction. The apparatus can correspond to the client device or alternatively to a server.

<CIT> discloses a method where a first WebRTC proxy module on a first UE receives a multiplexed stream from a first WebRTC multimedia client application on the first UE. The first WebRTC proxy module de-multiplexes into at least first and second de-multiplexed streams. The first WebRTC proxy module sends the first de-multiplexed stream to a second WebRTC proxy module on a second UE via a first set of links with QoS, and sends a second de-multiplexed stream to the second WebRTC proxy module on a second set of links. The second WebRTC proxy module re-multiplexes the first and second de-multiplexed streams to obtain either an original or compressed version of the multiplexed stream, and then delivers the re-multiplexed stream to a second WebRTC multimedia client application on the second UE.

Currently, in various practical implementations, a buffer is added to facilitate data communication. However, the buffer may triple the latency resulting in unacceptable data communication performance of the network. For example, a user speaks sounds into a client that communicates the sounds as data to a server via the network, and the server transforms the data into audio broadcast from a speaker. In this example, latency in data communication via the network results in the user hearing a delay in the sounds broadcast from the speaker with respect to the sounds spoken into the client, which may be disturbing to the speaker. Use of a buffer, in this example, increases the latency, and, thus, increases the delay between the sounds spoken into the client and the sounds broadcast from the speaker. Latency in data communication via the network may cause other problems in other implementations.

Accordingly, there is a need for improved apparatus as well as related methods that eliminate network congestion including latency in data communication between, for example, multiple clients and a server via a network.

These and other needs and disadvantages are overcome by the method as defined in claim <NUM>.

The Figures are exemplary only, and the implementations illustrated therein are selected to facilitate explanation. The Figures including the apparatus, methods, and compositions of matter illustrated in the Figures are not to be considered limiting unless expressly so stated. For example, the components of various apparatus illustrated in the Figures may be selected for explanatory purposes, and the components may be grouped in the Figures in various ways to facilitate description, so that the apparatus may include various other components or the components may be grouped in various other ways, in other implementations. The steps in the various methods illustrated in the Figures, for example, may be performed in other orders, or the steps in the various methods may be divided or subdivided in various ways, in other implementations. Methods, in other implementations, may include steps additional to those illustrated or may not include certain steps of the illustrated methods. Information flows and process flows in the Figures included herein are indicated by arrows, and are selected for explanatory purposes. It should be understood that other information flows may occur between various components and that other process flows may occur, in various other implementations. The number, position, relationship and dimensions of the elements shown in the Figures to form the various implementations described herein are explained herein or are understandable to a person of ordinary skill in the art upon study of this disclosure. Where used in the various Figures, the same numerals designate the same or similar elements. Furthermore, when the terms "top," "bottom," "right," "left," "forward," "rear," "first," "second," "inside," "outside," and similar terms are used, the terms should be understood in reference to the orientation of the implementations shown in the Figures and are utilized to facilitate description thereof. Use herein of relative terms such as generally, about, approximately, essentially, may be indicative of engineering, manufacturing, computational, or scientific tolerances such as ±<NUM>%, ±<NUM>%, ±<NUM>%, ±<NUM>%, or other such tolerances, as would be recognized by those of ordinary skill in the art upon study of this disclosure.

In various aspects, methods and related apparatus disclosed herein minimize congestion on a network that is communicating with several clients by, for example, emulating the shutdown of data communication of clients other than a selected client with the network. All clients other than a selected client are placed in a defined state wherein the clients communicate only a restricted quantity of data with the network, thereby minimizing network congestion on the network, in various aspects. In various aspects, some of the clients may be placed in the defined state wherein the clients communicate only a restricted quantity of data with the network and a remainder of the clients are allowed to communicate variously a non-restricted quantity of data with the network or partly restricted quantity of data with the network.

The several clients may number on the order of <NUM>, <NUM>, <NUM> , or more, in various aspects. The methods may include initiation of a sequence of events in an operating system of each client that limits data communication between each client and the network, in various aspects. When so initiated, for example, this sequence of operations may limit data communicated with the network to only data generated by a data source of each client, and the data source may vary from client to client. The data source may include, for example, a microphone, a camera, or a sensor of the client. The sensor may be, for example, a temperature sensor or a device orientation sensor. In various aspects, methods may initiate the sequence of operations with permission of a corresponding user of each client, automatically, and with minimum inconvenience to the user of each client.

In various aspects, the first step of an exemplary method is registering each client of the several clients with the network and then installing a client app on each client of the several clients.

At the second step of the exemplary method, in various aspects, a network resource manager sends data to the client app on each client via the network that causes the client app to temporarily activate the client's data source. In various operating systems, activating the data source may initiate a sequence of operations that prevents the client from communicating any data with the network other than data generated by the data source. In such aspects, the data sources of all clients are generating data that normally would be communicated to the network upon completion of the second step.

However, the third step of the exemplary method, in various aspects, applies to all clients except for a selected client that is designated from all the clients by the network resource manager. The data source of the selected client, such as a microphone of the selected client, is the only data source that is allowed to communicate data with the network in a normal manner in various aspects. Data from the data sources of all clients other than the selected client is either attenuated or dumped entirely as necessary so that either minimal data or no data from the data sources of all clients other than the selected client is communicated with the network, in various aspects. The selected client is allowed to send data from the data source to the network, and the selected client may be prevented from sending data to the network other than data generated by the selected client's data source, in various aspects.

As an example, consider several clients arrayed within an auditorium all in communication with the network with one client being designated as the selected client. The clients may all be smartphones, and the data source of each client is selected as a microphone, in this example. Data from the data source (e. , the microphone) of the selected client is then communicated with the network, in this example. Clients other than the selected client, in this example, communicate either no data or minimal data with the network. Note that clients may save power by watching every network connection to detect idle connections. If no data is being communicated, the client may first lose priority status first and then the network connection may be closed. Thus, some minimal data may be communicated from each client with the network in order to preserve priority status and prevent closure of the network connection, in various aspects.

Accordingly, the network is substantially free of competing data (congestion) from clients other than the selected client, in this example, to allow communication of data from the data source (e.g., audio data from the microphone) from the selected client via the network with minimum latency and maximum fidelity. The data communicated via the network from the selected client may then be broadcast to the auditorium via speaker(s) in operable communication with the network, in this example.

<FIG>, IB illustrate exemplary communication system <NUM> that may limit congestion on network <NUM>. As illustrated in <FIG>, IB, exemplary network communication system <NUM> includes server <NUM> that includes a computer, network <NUM>, and clients 40a, 40b, 40c, 40d each of which includes a computer. Network communication system <NUM> is alterable between noisy state of operation <NUM> illustrated in <FIG>, and quiet state of operation <NUM> illustrated in Figure IB.

Network communication system <NUM> disclosed herein including network resource manager <NUM> and client apps 42a, 42b, 42c, 42d are implemented, at least in part, as operable software, and various related methods, such as exemplary method <NUM> (see <FIG>) are implemented in operable software. Compositions of matter are hereby disclosed herein that include non- transitory computer readable media comprising computer readable instructions that, when executed, cause one or more computers to function as at least portions of the network communication system <NUM> disclosed herein or to implement method steps of the methods, such as method <NUM>, disclosed herein.

Software may be, for example, in the form of high-level code such as C or Java, or may be in the form of machine code. The software may, for example, execute on one computer. The software may, for example, execute in a container, such as a Docker Container. In other implementations, two or more computers may communicate with one another via network, and the software may be organized in various ways such that portions of the software may be distributed operatively over the two or more computers to be executed by the two or more computers. Although generally described as implemented by software for explanatory purposes, methods and apparatus disclosed herein may be implemented, at least in part, in hardware or firmware, or in various combination of hardware, firmware, and software, in various implementations. As would be recognized by those of ordinary skill in the art upon study of this disclosure, methods, apparatus, and compositions of matter disclosed herein may be practiced in distributed computing environments where certain tasks are performed by processors that are linked by network. A nominal representation of data may either be the data itself or a pointer, description, or other data that may be used to create the data.

As illustrated in <FIG>, IB, exemplary implementation of network communication system <NUM> includes server <NUM> in communication with clients 40a, 40b, 40c, 40d via network <NUM>. As illustrated, network resource manager <NUM> is operatively received by server <NUM>, and client apps 42a, 42b, 42c, 42d are operatively received by clients 40a, 40b, 40c, 40d, respectively. Network <NUM> of network communication system <NUM>, as illustrated, includes access points 32a, 32b and pathways 44a, 44b, 44c, 44d. While pathways 44a, 44b, 44c, 44d as illustrated as implemented as wireless, it should be recognized that pathways 44a, 44b, 44c, 44d may be variously wired, wireless, or combinations of wired and wireless, in various implementations. As illustrated, server <NUM> including network resource manager <NUM> is in communication with access points 32a, 32b of network <NUM> via pathways 24a, 24b, respectively, and server <NUM> may control access points 32a, 32b. Pathways 24a, 24b may be variously wired, wireless, or combinations of wired and wireless, in various implementations. Clients 40a, 40b are in communication with access point 32a via pathways 44a, 44b and thence with server <NUM> via pathway 24a, in this implementation. Clients 40c, 40d are in communication with access point 32b via pathways 44c, 44d, respectively, and thence with server <NUM> via pathway 24b, in this implementation. Thus, in this exemplary implementation of network communication system <NUM>, clients 40a, 40b, 40c, 40d including client app 42a, 42b, 42c, 42d, respectively, are in data communication with server <NUM> including network resource manager <NUM> via network <NUM>, and server <NUM> including network resource manager <NUM> controls at least portions of network <NUM> in communication with clients 40a, 40b, 40c, 40d.

Client 40a, 40b, 40c, 40d includes client app 42a, 42b, 42c, 42d operatively received by operating system 51a, 51b, 51c, <NUM> Id, respectively, as illustrated. Operating system 51a, 51b, 51c, <NUM> Id and client app 42a, 42b, 42c, 42d communicate with network <NUM> via network stacks 48a, 48b, 48c, 48d, respectively, as illustrated. Clients 40a, 40b, 40c, 40d include corresponding data sources 47a, 47b, 47c, 47d operably linked with corresponding client app 42a, 42b, 42c, 42d, as illustrated. Data sources 47a, 47b, 47c, 47d may communicate data 49a, 49b, 49c, 49d with network <NUM> via network stacks 48a, 48b, 48c, 48d, respectively, as illustrated in <FIG>, IB. Each of data sources 47a, 47b, 47c, 47d may be, for example, a microphone, camera, or sensor, so that each of source data 49a, 49b, 49c, 49d may be audio data, video data, or sensor data, respectively, in correspondence to each of data sources 47a, 47b, 47c, 47d.

Network <NUM>, as illustrated in <FIG>, <FIG>, may be formed, in part, as a wireless LAN based upon, for example, <NUM> protocols, and network <NUM> may implement Internet Protocol. It should be understood that, in various other implementations, network <NUM> may include a network as used herein with network <NUM> being of local to global in scope. In various implementations, data may be communicated via network <NUM> by various wired and wireless technologies and combinations thereof.

Access points 32a, 32b and clients 40a, 40b, 40c, 40d of network communication system <NUM> are exemplary for explanatory purposes. Thus, various other implementations of communication system <NUM> may have various other configurations of network <NUM>, may have various numbers of access points, such as access points 32a, 32b, and various numbers of clients, such as clients 40a, 40b, 40c, 40d, and various numbers of clients may be in communication with network <NUM>. The number of clients, for example, may range from a single client to hundreds of clients, thousands of clients, or more, in various implementations.

As illustrated in <FIG>, network communication system operates in noisy state of operation <NUM>. Clients 40a, 40b, 40c, 40d including client app 42a, 42b, 42c, 42d and data source 47a, 47b, 47c, 47d, respectively, are in unrestricted data communication <NUM> with server <NUM> including network resource manager <NUM>, and each of clients 40a, 40b, 40c, 40d may communicate unrestricted quantity of data <NUM>, as illustrated in <FIG>. For example, unrestricted quantity of data <NUM> may be a capacity such as a maximum user signaling rate of network <NUM>. In noisy state of operation <NUM>, clients 40a, 40b, 40c, 40d may communicate with network <NUM> with generally the same priority.

As illustrated in Figure IB, network communication system <NUM>, network communication system operates in quiet state of operation <NUM>. In quiet state of operation <NUM>, clients 40a, 40b, 40c, 40d are in communication with network <NUM> by VoIP connections 80a, 80b, 80c, 80d. Network resource manager <NUM> of server <NUM> has designated one of clients 40a, 40b, 40c, 40d as selected client <NUM> in quiet state of operation <NUM>, as illustrated. For explanatory purposes, client 40b is designated as selected client <NUM>, in this implementation. Selected client <NUM> is then in partly restricted data communication <NUM> with network <NUM> to communicate partly restricted quantity of data <NUM> with network <NUM>, while clients 40a, 40c, 40d other than selected client <NUM> are in restricted data communication <NUM> with network <NUM> to communicate restricted quantity of data <NUM> with network <NUM>, as illustrated. In other implementations, there may be more than one selected client <NUM>.

VoIP connections 80a, 80b, 80c, 80d are implemented using Voice over Internet Protocol (VoIP), also called IP telephony. VoIP is a methodology and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol networks, such as network <NUM>. Voice over IP may be implemented in various ways using both proprietary VoIP protocols and open standard VoIP protocols. Exemplary VoIP protocols include Session Initiation Protocol (SIP), H. <NUM>, Media Gateway Control Protocol (MGCP), H. <NUM>, Real Time Transport Protocol (RTP), Real Time Transport Control Protocol (RTCP), Secure Real-time Transport Protocol (SRTP), Session Description Protocol (SDP), Inter- Asterisk exchange (IAX), Extensible Messaging and Presence Protocol (XMPP), Jingle, and Skype protocol.

As illustrated in Figure IB, because client 40b has been designated as selected client <NUM>, client 40b is in partly restricted data communication <NUM> with network <NUM>. Selected client <NUM> communicates partly restricted quantity of data <NUM> with server <NUM> including network resource manager <NUM> via network <NUM>, as illustrated. Clients 40a, 40c, 40d are in restricted data communication <NUM> with network <NUM>, and, thus, clients 40a, 40c, 40d communicate restricted quantity of data <NUM> with network <NUM>, as illustrated. In quiet state of operation <NUM>, partly restricted data communication <NUM> of selected client <NUM> has a greater priority on network <NUM> than restricted data communication <NUM> of clients 40a, 40c, 40d, in this implementation. Because clients 40a, 40c, 40d communicate restricted quantity of data <NUM> with network <NUM> and because selected client <NUM> communicates partly restricted quantity of data <NUM> with network <NUM>, congestion on network <NUM> may be reduced thereby reducing latency of partly restricted data communication <NUM> with network <NUM> by selected client <NUM>, which has priority. Thus, at quiet state of operation <NUM> all clients 40a, 40b, 40c, 40d, are placed in a defined state wherein the clients 40a, 40b, 40c, 40d communicate either restricted quantity of data <NUM> or partly restricted quantity of data <NUM> with network <NUM>, thereby minimizing network congestion thus reducing latency on network <NUM>, in this implementation. In other implementations, selected client <NUM> may be in unrestricted data communication <NUM> to communicate unrestricted quantity of data <NUM> with network <NUM>. In other implementations, clients 40a, 40b, 40c, 40d may be in various combinations of unrestricted data communication <NUM> to communicate unrestricted quantity of data <NUM>, partly restricted data communication <NUM> to communicate partly restricted quantity of data <NUM>, or restricted data communication <NUM> to communicate restricted quantity of data <NUM>. Unrestricted quantity of data <NUM>, restricted quantity of data <NUM>, and partly restricted quantity of data may include source data 49a, 49b, 49c, 49d from data source 47a, 47b, 47c, 47d, respectively.

Partly restricted data communication <NUM> may be implemented, at least in part, by communicating only source data from the data source, such as source data 49a, 49b, 49c, 49d from data source 47a, 47b, 47c, 47d, respectively, with network <NUM>. Restricted data communication <NUM> may be implemented, at least in part, by communicating only a portion of source data from the data source, such as source data 49a, 49b, 49c, 49d from data source 47a, 47b, 47c, 47d, respectively, with network <NUM>. Source data 49a, 49b, 49c, 49d from data source 47a, 47b, 47c, 47d is communicated to network <NUM> through network stacks 48a, 48b, 48c, 48d, respectively. At least a portion of source data 49a, 49b, 49c, 49d may be dumped from network stacks 48a, 48b, 48c, 48d, respectively, before the remainder of the source data 49a, 49b, 49c, 49d, if any, is sent to network <NUM>.

When clients 40a, 40c, 40d are in restricted data communication <NUM> with network <NUM>, each of clients 40a, 40c, 40d as controlled by client apps 42a, 42b, 42c, respectively, communicates generally no more than restricted quantity of data <NUM>. Restricted quantity of data <NUM> may be defined as a quantity of data minimally required to maintain data communication between each of clients 40a, 40c, 40d and network <NUM>. For example, when client 40a is in restricted data communication <NUM>, client app 42a may communicate the restricted quantity of data <NUM> with network resource manager <NUM> to maintain communication between client 40a and server <NUM>, and network resource manager <NUM> may communicate the restricted quantity of data <NUM> with client app 42a to maintain data communication between network resource manager <NUM> and client 40a. For example, the restricted quantity of data <NUM> may be essentially zero, in some implementations. Communication of the restricted quantity of data <NUM> prevents VoIP connections 80a, 80c, 80d from timing out due to lack of activity, in this implementation.

When selected client <NUM> is in partly restricted data communication <NUM> as controlled by client app 42b, in this implementation, selected client <NUM> may communicate no more than partly restricted quantity of data <NUM> with network <NUM>. Partly restricted quantity of data <NUM> may include data communications minimally required to maintain data communication between selected client <NUM> and network <NUM> and may include additional data communications. In various implementations, partly restricted quantity of data <NUM> may be greater than restricted quantity of data <NUM> but less than unrestricted quantity of data <NUM>.

<FIG> illustrates an exemplary method <NUM> for limiting congestion on a network, such as network <NUM>. Other implementations may, for example, include additional steps to those of exemplary method <NUM>, various modifications of the steps of exemplary method <NUM>, or may not include certain steps of exemplary method <NUM>.

As illustrated in <FIG>, exemplary method <NUM> alters a data communication system, such as data communication system <NUM>, between a noisy state of operation, such as noisy state of operation <NUM> illustrated in <FIG>, and a quiet state of operation, such as quiet state of operation <NUM> illustrated in Figure IB. As illustrated in <FIG>, method <NUM> is entered at step <NUM> with the data communication system being in the noisy state of operation.

At step <NUM>, a network resource manager, such as network resource manager <NUM>, is operatively received on a server, such as server <NUM>.

At step <NUM>, a client app, such as client app 42a, 42b, 42c, 42d, is operatively received onto each client, such as each of client 40a, 40b, 40c, 40d.

At step <NUM>, the client apps are placed in communication with the network resource manager via a network, such as network <NUM>. All clients including the corresponding client apps are now in communication in both directions with the server including the network resource manager via the network. All clients are in unrestricted data communication, such as unrestricted data communication <NUM>, with the network, and all clients communicate an unrestricted quantity of data, such as unrestricted quantity of data <NUM>, with the network. At step <NUM>, the data communication system may, for example, conform to the data communication system in the noisy state of operation illustrated in <FIG>. Note that, in certain implementations, rogue clients meaning clients that have not received the client app or are otherwise not in communication with the network resource manager may be deauthenticated from the network by the network resource manager.

At step <NUM>, the known networks list is removed from each client in order to prevent probing. The known network list may be restored as appropriate.

At step <NUM>, the network resource manager on the server may distribute a list of all clients and associated users to every client app. The network resources manager requires the list of all clients and associated users, while having the list of all clients and associated users is optional for the clients. A profile of the user of each client such as a curriculum vitae, photo, Facebook page, or Linkedln page may be selectively presented using the clients.

At step <NUM>, one or more clients may request designation as a selected client, such as selected client <NUM>, using the client app. The request for designation as the selected client is communicated from the client(s) to the network resource manager.

At step <NUM>, the network resource manager designates the selected client (e.g., chooses one client to speak). The server designates the selected client from amongst the clients requesting designation as the selected client.

At step <NUM>, the network resource manager on the server sends an instruction prompting the operating system, such as operating system 51a, 51b, 51c, <NUM> Id, on each client to establish a VoIP connection, such as VoIP connection 80a, 80b, 80c, 80d, between each client and the server. The client app may cooperate with the operating system in prompting the operating system to establish the VoIP connection. The VoIP connection gives the client app of the selected client exclusive access to the network thereby reducing background operations and network use to a minimum, in this implementation.

At step <NUM>, restricted quantity of data, such as restricted quantity of data <NUM>, and partly restricted quantity of data, such as partly restricted quantity of data <NUM>, communicated between the clients and the server via the VoIP connections is tagged with an appropriate Quality of Service (QoS) level. The QoS level ensures that data packets that comprise the data receive an appropriate priority. QoS prioritizes a bandwidth relationship between individual application or protocols according to the following <NUM> classes:.

Bandwidth may be allocated using QoS based on the following "minimum to maximum" percentages of downlink and uplink values for each class: Maximum: <NUM>% - <NUM>% Premium: <NUM>% -<NUM>% Express: <NUM>% - <NUM>% Standard: <NUM>% -<NUM>% Bulk: <NUM>% -<NUM>%.

For example, <NUM>,000kbit of uplink traffic, "Standard" class traffic can be reduced and de- prioritized to <NUM>% or <NUM>,500kbit when a concurrent express or higher priority service requires the down/uplink pipe at the same time.

Upon completion of step <NUM>, all clients other than the selected client are in restricted data communication with the network. The selected client is in partly restricted data communication with the network upon completion of step <NUM>.

At step <NUM>, the network resource manager on the server sends restricted quantity of data to each client, for example, in order to maintain data communication with each client or test network performance. In certain implementations, the restricted quantity of data sent to the selected client may differ from the restricted quantity of data sent to clients other than the selected client. The restricted quantity of data communicated to all clients at step <NUM> may include commands that trigger each client's operating system, such as operating system 51a, 51b, 51c, <NUM> Id, to activate a data source, such as data source 47a, 47b, 47c, 47d, operatively engaged with the client to generate source data, such as source data 49a, 49b, 49c, 49d. Generating source data may be done in a loop having high priority that continuously triggers each client to activate the corresponding data source. Note that, in certain implementations, the restricted quantity of data sent to the selected client may comprise, for example, a side-tone.

At step <NUM>, clients other than the selected client communicate restricted quantities of data with the network such as the resource manager on the server in order to maintain data communication with the server. Restricted quantities of data communicated with the network resource manager at step <NUM> may be indicative, for example, of signal strength, latency, timing information, and location. In certain implementations, no data is sent from clients other than the selected client to the server. To achieve this minimization of data communication from each client other than the selected client, each client other than the selected client is behaving as if taking part in a low-latency data communication. Although the client app on each client other than the selected client, for example, generates source data from the data source operatively engaged with the client, the source data may be dumped from a network stack, such as network stack 48a, 48b, 48c, 48d before being sent to the network as the restricted quantity of data in various ways, as would be readily recognized by those of ordinary skill in the art upon study of this disclosure. For example, source data may be placed in a buffer operably included with the network stack and then at least a portion thereof dumped from the buffer before the remainder of the source data, if any, is sent to the network through the network stack as the restricted quantity of data.

At step <NUM>, each client other than the selected client is prohibited from probing the network, and each client other than the selected client is communicating restricted data via the network.

At step <NUM>, the selected client communicates the partly restricted quantity of data with the network resource manager on the server via the network. The partly restricted quantity of data may include all source data generated by the data source of the selected client. The server including the network resource manager may utilize the partly restricted quantity of data, for example, to output audio from the data source of the selected client to an audience. When the selected client is in partly restricted data communication, the selected client may be restricted from certain types of data communications with the network such as email communications, web browsing, text messaging, and so forth, as would be readily recognized by those of ordinary skill in the art upon study of this disclosure. The network communication system is operating in the quiet state of operation at step <NUM>.

At step <NUM>, the selected client is undesignated by the network resource manager on the server. Another client may then be designated at the selected client.

At step <NUM>, the network resource manager terminates the VoIP connection with all clients. Upon termination of the VoIP connection at step <NUM>, the network communication is altered from the quiet state of operation to the noisy state of operation. All clients are now in unrestricted data communication with the network following termination of the VoIP connections.

Claim 1:
A method of network operation, comprising the steps of:
installing a client app (42a, 42b, 42c, 42d) on each of several clients (40a, 40b, 40c, 40d);
registering with a network resource manager (<NUM>) the client app of said each of the several clients, said each of the several clients communicating with a network (<NUM>) and the client app of said each of said several clients communicating with the network resource manager via the network;
placing the network in a quiet state of operation (<NUM>) while communicating data from a data source (47a, 47b, 47c, 47d) of a selected client (<NUM>) by data being communicated with the network from all of the several clients by performing the steps of:
activating the data source of said each of the several clients by establishing by the client app upon direction by the network resource manager, a VoIP connection (80a, 80b, 80c, 80d) between the data source of said each of the several clients and the network thereby triggering a process by an operating system (51a, 51b, 51c, 51d) of said each of the several clients that restricts data being communicated with the network from said each of the several clients other than data from the data source;
dumping at said each of the several clients other than the selected client at least a portion of data being generated by the data source of said each of the several clients other than the selected client thereby preventing communication of at least a portion of the data being generated by the data source of said each of the several clients other than the selected client with the network; and
communicating all data from the data source of the selected client with the network;
and placing the network from the quiet state of operation into a noisy state of operation (<NUM>), upon direction by the network resource manager, by closing the VoIP connection between the data source of said each of the several clients and the network thereby unrestricting data being communicated with the network from said all of the several clients.