Systems and methods for tracking and logging mute events that occur during communication sessions are disclosed. The method includes generating a disruption report that includes one or more aspects of a mute event detected during a communication session. The disruption report is communicated to a network for further analysis.
Legal claims defining the scope of protection, as filed with the USPTO.
an access device configured to provide a wireless link between the wireless communications system and a mobile device; and wherein the voice-communication session is for communicating data between the mobile device and at least one end-point device; receive a session-end message for signaling an end of a voice-communication session according to an input from a user of the mobile device, determine, at the mobile device, a packet drop rate; generate, at the mobile device, a radio condition indicator that represents one or more conditions, including the determined packet drop rate, that are associated with the wireless link during the voice-communication session; and wherein the mute report represents a mute event detected by the mobile device during the voice-communication session, wherein the mute report includes, for the mute event, the radio condition indicator, and wherein the mute report is determined according to a predetermined format that designates values and/or bit locations within the session-end message for the mute report. determine a mute report based on the session-end message, an Internet Protocol (IP) Multimedia Core Network Subsystem (IMS) network coupled to the access device, the IMS network including one or more network components configured to: . A wireless communications system comprising:
claim 1 wherein the set of mute reports includes the determined mute report; and crowd-sourcing a set of mute reports representative of mute events across a set of corresponding voice-communication sessions, wherein the estimated cause represents a geographic location, the access device, a manufacturer, or a device type corresponding to the mobile device, a network condition, or a combination thereof associated with the set of mute reports. identifying an estimated cause associated with the determined mute report based on analyzing the set of mute reports, . The wireless communications system of, further comprising a network analyzer coupled to or included in the IMS network, the network analyzer configured to:
claim 1 . The wireless communications system of, wherein the mute report represents the mute event occurring at a beginning portion of the voice-communication session and/or occurring intermittently during the voice-communication session.
claim 1 . The wireless communications system of, wherein the mute report is determined based on parsing a text header to identify one or more text strings that represent a mute event status, a duration, a direction, the radio condition indicator, a corresponding delimiter, or a combination thereof.
claim 1 determining a number of sequentially reported absences in packets associated with the voice-communication session; determining a period associated with a reporting frequency for the sequentially reported absences; determining, using the number of sequentially reported absences and the period associated with the reporting frequency, a duration of the mute event; and generating the mute report including the duration of the mute event. . The wireless communications system of, wherein the one or more network components are configured to determine the mute report by:
claim 1 receiving, from a baseband modem associated with the mobile device, link quality data including at least one of: a Channel Quality Indicator, Channel State Information, a Received Strength Indicator, a Reference Signal Received Power, or a Reference Signal Received Quality; and generating the radio condition indicator using the link quality data. . The wireless communications system of, wherein the one or more network components are configured to generate the radio condition indicator by:
claim 1 . The wireless communications system of, wherein the mute report is separate from a Call Detail Record (CDR) and a link quality data configured to describe the wireless link to the access device.
wherein the IMS network is coupled to an access device configured to provide a wireless link with a mobile device; and at least one hardware data processor, wherein the at least one hardware data processor is coupled to an Internet Protocol (IP) Multimedia Core Network Subsystem (IMS) network, and wherein the voice-communication session is for communicating data between the mobile device and at least one end-point device; receive a session-end message for signaling an end of a voice-communication session according to an input from a user of the mobile device, determine, at the mobile device, a packet drop rate; generate, at the mobile device, a radio condition indicator that represents one or more conditions, including the determined packet drop rate, that are associated with the wireless link; and wherein the mute report represents a mute event detected by the mobile device during the voice-communication session, wherein the mute report includes, for the mute event, the radio condition indicator, and wherein the mute report is determined according to a predetermined format that designates values and/or bit locations within the session-end message for the mute report. determine a mute report based on the session-end message, at least one memory device coupled to the at least one hardware data processor and storing instructions, which when executed by the at least one hardware data processor performs operations to: . An apparatus for use in a wireless communications system, the apparatus comprising:
claim 8 wherein the set of mute reports includes the determined mute report; and crowd-sourcing a set of mute reports representative of mute events across a set of corresponding voice-communication sessions, wherein the estimated cause represents a geographic location, the access device, a manufacturer, or a device type corresponding to the mobile device, a network condition, or a combination thereof associated with the set of mute reports. identifying an estimated cause associated with the determined mute report based on analyzing the set of mute reports, . The apparatus of, further comprising a network analyzer coupled to the at least one hardware data processor, the network analyzer configured to:
claim 8 . The apparatus of, wherein the mute report represents the mute event occurring at a beginning portion of the voice-communication session and/or occurring intermittently during the voice-communication session.
claim 8 . The apparatus of, wherein the mute report is determined based on parsing a text header to identify one or more text strings that represent a mute event status, a duration, a direction, the radio condition indicator, a corresponding delimiter, or a combination thereof.
claim 8 determining a number of sequentially reported absences in packets associated with the voice-communication session; determining a period associated with a reporting frequency for the sequentially reported absences; determining, using the number of sequentially reported absences and the period associated with the reporting frequency, a duration of the mute event; and generating the mute report including the duration of the mute event. . The apparatus of, wherein the at least one memory device performs the operations to determine the mute report by:
claim 8 receiving, from a baseband modem associated with the mobile device, link quality data including at least one of: a Channel Quality Indicator, Channel State Information, a Received Strength Indicator, a Received Signal Received Power, or a Received Signal Received Quality; and generating the radio condition indicator using the link quality data. . The apparatus of, wherein the at least one memory device performs the operations to generate the radio condition indicator by:
claim 8 . The apparatus of, wherein the mute report is separate from a Call Detail Record (CDR) and a link quality data configured to describe the wireless link to the access device.
wherein the voice-communication session is for communicating data between the mobile device and at least one end-point device; receiving a session-end message for signaling an end of a voice-communication session according to an input from a user of a mobile device, determining, at the mobile device, a packet drop rate; generating, at the mobile device, a radio condition indicator that represents one or more conditions, including the determined packet drop rate, that are associated with a wireless link during the voice-communication session; and wherein the mute report represents a mute event detected by the mobile device during the voice-communication session, wherein the mute report includes, for the mute event, the radio condition indicator, and wherein the mute report is determined according to a predetermined format that designates values and/or bit locations within the session-end message for the mute report. determining a mute report based on the session-end message, . A method comprising:
claim 15 wherein the set of mute reports includes the determined mute report; and crowd-sourcing a set of mute reports representative of mute events across a set of corresponding voice-communication sessions, wherein the estimated cause represents a geographic location, an access device, a manufacturer, or a device type corresponding to the mobile device, a network condition, or a combination thereof associated with the set of mute reports. identifying an estimated cause associated with the determined mute report based on analyzing the set of mute reports, . The method of, further comprising:
claim 15 . The method of, wherein the mute report represents the mute event occurring at a beginning portion of the voice-communication session and/or occurring intermittently during the voice-communication session.
claim 15 . The method of, wherein the mute report is determined based on parsing a text header to identify one or more text strings that represent a mute event status, a duration, a direction, the radio condition indicator, a corresponding delimiter, or a combination thereof.
claim 15 . The method of, wherein the mute report is separate from a Call Detail Record (CDR) and a link quality data configured to describe the wireless link to an access device.
claim 15 determining a number of sequentially reported absences in packets associated with the voice-communication session; determining a period associated with a reporting frequency for the sequentially reported absences; determining, using the number of sequentially reported absences and the period associated with the reporting frequency, a duration of the mute event; and generating the mute report including the duration of the mute event. . The method of, wherein determining the mute report comprises:
Complete technical specification and implementation details from the patent document.
This application is a continuation of U.S. patent application Ser. No. 17/684,303, filed on Mar. 1, 2022, entitled DATA DISRUPTION TRACKING FOR WIRELESS NETWORKS, SUCH AS IMS NETWORKS, which is a division of U.S. patent application Ser. No. 17/081,905, filed on Oct. 27, 2020, entitled DATA DISRUPTION TRACKING FOR WIRELESS NETWORKS, SUCH AS IMS NETWORKS, which are hereby incorporated by reference in their entireties.
Rapid growth in computing technology is creating greater demand for data communication. As an example, some mobile devices and applications allow users to watch streaming content in ultra-high definition. Also, increasing number of new devices (e.g., Internet of Things (IoT) devices, and/or wearable devices) or devices that previously provided limited functionalities (e.g., appliances) are now communicating data. However, the amount of available network resources may be limited in supporting the growing demand.
In the drawings, some components and/or operations can be separated into different blocks or combined into a single block for discussion of some of the implementations of the present technology. Moreover, while the technology is amenable to various modifications and alternative forms, specific implementations have been shown by way of example in the drawings and are described in detail below. The intention, however, is not to limit the technology to the particular implementations described. On the contrary, the technology is intended to cover all modifications, equivalents, and alternatives falling within the scope of the technology as defined by the appended claims.
Some traditional mobile devices include internal mechanisms that detect network-related mutes, e.g., when voice-related signals are lost or dropped due to an error, during voice communications. When a duration of a mute event reaches a predetermined threshold, traditional mobile devices automatically terminate the session without user input to end the session (e.g., hanging up or terminating the call). Generally, these devices send Session Initiation Protocol (SIP) BYE messages to the core network to signal terminations. For such mute-based automatic terminations, the mobile device can use special headers to notify the core network of the mute event. However, users often terminate the session (e.g., hang up the call) in response to the mute event before the predetermined duration threshold. Accordingly, the mobile devices do not send the mute-related information, and the core network fails to obtain any information regarding the mute event and thus does not know if, e.g., the user terminated the call because of a poor-quality connection.
In contrast, implementations of the present technology seek to provide quality reports for mute events, even for events that do not persist until the threshold duration and/or even when the user terminates the session. In some implementations, mobile devices are configured to determine the mute-related information (via, e.g., the existing internal mechanisms) that represent network-related mutes (e.g., absence of Real-time Transfer Protocol (RTP) packets) during voice communications. The mobile devices track the mute-related information (via, e.g., an Internet Protocol (IP) Media Subsystem (IMS) protocol stack) and report the tracked information to the mobile communication network. For example, the mobile devices can be reconfigured such that the RTP packet loss is periodically reported to the IMS stack. The IMS stack in the mobile device can track the RTP loss information (e.g., duration, loss rate, direction, channel conditions, etc.) during the session. When the session ends, regardless of the source of termination, the IMS stack can include the tracked information in the SIP BYE message according to a predetermined process. Also, the mobile devices can also be configured to determine and report a duration, a direction, a packet drop rate, a radio connection indicator, and/or a geographic location associated with, or at the time of, the mute event.
The network receives the quality information from the mobile devices, such as through the SIP BYE messages. Accordingly, the core network obtains the crowd-sourced information related to the mute events. In some implementations, the core network uses the crowd-sourced information to identify patterns and/or causes for the mute events. For example, the core-network can generate a histogram and/or implement a pattern recognition algorithm to identify certain conditions, scenarios, locations, and/or device combinations associated with the mute events.
Using the reported information, the network can obtain more accurate information of mute events, thereby identifying and fixing potential root-causes for the mutes (e.g., erroneous conditions). Accordingly, by communicating the quality information for mute events, the network can improve network performances and reduce mute events.
Various examples of the invention will now be described. The following description provides certain specific details for a thorough understanding and enabling description of these examples. One skilled in the relevant technology will understand, however, that the invention can be practiced without many of these details. Likewise, one skilled in the relevant technology will also understand that the invention can include many other obvious features not described in detail herein. Additionally, some well-known structures or functions may not be shown or described in detail below, to avoid unnecessarily obscuring the relevant descriptions of the various examples. Further, the examples in this application of prior or related systems and their associated limitations are intended to be illustrative and not exclusive. Other limitations of existing or prior systems will become apparent to persons of ordinary skill in the art upon reading the following description. The terminology used below is to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific examples of the invention. Indeed, certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section.
The techniques introduced here can be implemented as special-purpose hardware (for example, circuitry), as programmable circuitry appropriately programmed with software and/or firmware, or as a combination of special-purpose and programmable circuitry. Hence, implementations can include a machine-readable medium having stored thereon instructions which can be used to program a computer (or other electronic devices) to perform a process. The machine-readable medium can include, but is not limited to, floppy diskettes, optical disks, compact disc read-only memories (CD-ROMs), magneto-optical disks, ROMs, random access memories (RAMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, flash memory, or other types of media/machine-readable medium suitable for storing electronic instructions.
The phrases “in some implementations,” “according to some implementations,” “in the implementations shown,” “in other implementations,” and the like, generally mean the particular feature, structure, or characteristic following the phrase is included in at least one implementation of the present technology and can be included in more than one implementation. In addition, such phrases do not necessarily refer to the same implementations or different implementations.
1 FIG. 100 100 100 102 102 102 illustrates a communication network(also referred to herein as network) in accordance with various implementations or embodiments. The communication networkcan communicatively couple devices, including a mobile device(e.g., User Equipment (UE)). The mobile devicecan include wireless and/or mobile end-user devices. Some examples of the mobile devicecan include a mobile phone (e.g., a smart phone), a laptop, a wearable device (e.g., a smart watch, augmented-reality (AR) glasses, etc.), an IoT device, a smart vehicle, an autonomous vehicle, and the like.
100 104 100 104 104 104 102 The networkcan include access nodesconfigured to serve as hubs that function as gateways for the network. Some examples of the access nodecan include a Radio Access Network (RAN) Node (e.g., an Evolved-Universal Terrestrial Radio Access Network (E-UTRAN) Node B (eNode B or eNB), a Radio Network Controller (RNC) in an E-UTRAN, and/or a next generation Node B (gNB)). The access nodemay also include a base station, a Wireless Fidelity (WiFi) router, a modem, and/or other network gateway devices. The access nodescan be configured to communicate with the mobile devicesaccording to one or more communication protocols or standards. Some examples of the communication protocols or standards can include: Global System for Mobile Communications (GSM), Internet Protocol (IP) Multimedia Subsystem (IMS), Time Division Multiple Access (TDMA), Universal Mobile Telecommunications System (UMTS), Evolution-Data Optimized (EVDO), Long Term Evolution (LTE), Generic Access Network (GAN), Unlicensed Mobile Access (UMA), Code Division Multiple Access (CDMA) protocols (e.g., IS-95, IS-2000, and IS-856 protocols), Advanced LTE or LTE+, Orthogonal Frequency Division Multiple Access (OFDM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Advanced Mobile Phone System (AMPS), WiMAX protocols (e.g., IEEE 802.16e-2005 and IEEE 802.16m protocols), any of the various IEEE 802.11 standards, High Speed Packet Access (HSPA), (including High Speed Downlink Packet Access (HSDPA) and High Speed Uplink Packet Access (HSUPA)), Ultra Mobile Broadband (UMB), 5G NR (New Radio), and/or other communication technologies.
100 100 100 In general, the networkcan include multiple cells, with each cell including one or more BSs (macro cell), 5G transceivers (including small cell devices), or a combination of both macro and small cells (HetNets), though many other cell types are possible, including cells having one or more femtocells, picocells, IEEE 802.11 access points (WiFi APs), and the like. Depending on the configuration and size, the networkcan represent and serve various regional areas, for example, one or more rooms, one or more blocks, a city, a state, an entire nation, the whole world, etc. The networkmay be operated by a service/network provider. End users may sign up as subscribers of the provider and one or more networks thereof.
100 104 102 104 102 104 The networkcan include network nodes communicatively coupled to the access nodes. The network nodes can be configured to process and/or route information to/from the mobile devicesto counterpart communication endpoints (e.g., service providers, content/service servers, and/or other end-user devices). The access nodescan be communicatively coupled (e.g., using a backhaul connection) to backhaul equipment, for example, an operation support subsystem (OSS) server, a radio network controller (RNC), etc. Some examples of the network nodes can include a mobility management entity (MME), a serving gateway (SGW), and/or a package data network (PDN) gateway (PGW). The MME can be a control node for an access network. The MME can control an idle mode UE paging and tagging. The MME can select the serving gateway SGW for the mobile device. The SGW can be a component configured to route and forward user data packets to/from the UEs (e.g., via the access node). The SGW can function as a reference for a user plane during handovers for connecting a UE to a different connection node. The PGW can include network components configured to provide connectivity between the UEs and external packet data networks. In other words, the PGW can function as an exit/entry point of traffic for the UEs. Additionally or alternatively, the network nodes can include Network Functions (NFs).
100 101 100 101 101 100 101 118 101 The networkcan include a core networkconfigured to function as a backbone portion of the network. For example, the core networkcan include components (e.g., a set of the network nodes) configured to implement wireless communications, such as cellular communication networks and/or wireless fidelity networks. The core networkcan be connected to different parts of the network, such as the Internet and/or telephone networks. Accordingly, the core networkcan establish/facilitate communication sessionsfor exchanging data between communication endpoints (e.g., end-user devices and/or service provider servers). The core networkcan include an IP Multimedia Core Network Subsystem (IMS).
101 106 106 106 106 101 106 102 101 101 106 118 As an illustrative example, the core networkcan include one or more core gateway nodes(e.g., Proxy-Call Session Control Functions (P-CSCF)). The gateway nodescan each include hardware (e.g., circuitry), software, and/or firmware configured to function as a Session Initiation Protocol (SIP) proxy. The gateway nodescan each include a Session Border Controller (SBC). The gateway nodecan serve as a first point of contact for the core network. Accordingly, the gateway nodecan be configured to facilitate registration of the mobile devicefor the core network, such as for providing/allowing access to the core network. Also, the gateway nodecan facilitate termination of the communication session, such as for hanging up voice calls.
101 102 104 102 104 108 108 108 104 104 102 108 101 101 108 102 The core networkcan function at a layer above the radio access protocol used to link the mobile deviceto the access node. For example, the mobile deviceto the access nodecan communicate link quality measuresthat describe a characteristic or a condition of the wireless communication, such as for signal transmission, reception, detection, decoding, etc. As examples, the link quality measurecan include a Channel Quality Indicator (CQI), a Channel State Information (CSI), a Received Signal Strength Indication (RSSI), a Reference Signal Received Power (RSRP), a Reference Signal Received Quality, and the like. The link quality measurescan be processed by the access nodeto improve the wireless link between the access nodeand the mobile device, normally without providing the link quality measuresto the core network. However, in some implementations of the present technology, the core networkcan obtain the link quality measuresassociated with certain targeted conditions, such as when the mobile devicedetects mute events (e.g., absence of RTP packets).
102 100 101 110 104 110 101 110 110 112 102 101 112 102 101 112 118 118 102 101 114 114 110 118 110 116 116 Using the wireless link, the mobile deviceand the network(e.g., the core network) can exchange core messages. In other words, the payload communicated over the wireless link and through the access nodecan include the core messageprocessed by the core network. In some implementations, the core messagescan be formatted according to the SIP. For example, the core messagescan include a connection messageconfigured to request connection by the mobile deviceto the core network. The connection messagecan correspond to an authentication request from the mobile devicefor accessing the core network. The connection messagecan essentially establish the communication session. With the communication sessionestablished, the mobile deviceand the core networkcan exchange targeted/requested content, such as audio and/or visual data (e.g., web pages, images, texts, sound signals, streaming content, search results, etc.) using content packets. In some implementations, the content packetsin the core messagescan include RTP packets. For voice communications (e.g., via Voice over Internet Protocol (VOIP), Voice over LTE (VOLTE) and/or Voice over IMS), the RTP packets can carry the audio signals used to recreate the sounds/voice on the receiving device. To end the communication session, the core messagecan include a termination-based message. For example, the termination-based messagecan include a SIP BYE message used to end a voice communication.
118 122 122 114 122 122 122 104 The communication sessionscan experience unintended content disruptions. For voice communications, the content disruptionscan correspond to mute events when the content packetsare absent. For example, the content disruptionscan correspond to absence of the RTP packets. The content disruptionscan be separate or different from silences; the RTP packets can represent background noise or inserted values that correspond to silences. The content disruptionscan be caused by one or more errors or failures at the access node(e.g., degradation in the wireless link) and/or at one or more network nodes.
102 122 102 102 124 122 102 110 102 118 122 126 126 102 118 116 102 116 102 128 116 128 116 The mobile devicescan be configured to detect the content disruptions. For example, the mobile devicecan include an internal mechanism configured to detect absences in the RTP packets during voice calls. The mobile devicecan include a media timerconfigured to track a duration of the content disruption. For example, the mobile devicecan count/increment clock pulses while the RTP packets are not present in the core messages. The mobile devicecan be configured to autonomously initiate termination of the communication sessionwhen the tracked duration of the content disruptionsatisfies an autonomous termination threshold(e.g., a predetermined duration, such as 5 seconds or greater). When the tracked duration of the mute event reaches the autonomous termination threshold, the mobile devicecan autonomously/automatically terminate the communication session(e.g., send the termination-based message, such as the SIP BYE message) without user input for the termination. The mobile devicecan indicate the autonomous termination in the termination-based message. For example, the mobile devicecan generate and send an autonomous termination message(e.g., a specific type of the termination-based message) to terminate the communication session and to indicate the autonomous termination event and the corresponding mute event. In some implementations, the autonomous termination messagecan be an instance of the termination-based messagewith predetermined values/text in a header thereof.
102 130 122 130 124 126 130 124 130 122 130 108 122 The mobile devicecan further include a disruption trackerconfigured to track the content disruption(e.g., the mute event) and/or determine associated information. For example, the disruption trackercan include a circuit, a software module/routine, and the like configured to store the tracked duration(s) from the media timereven when the duration(s) do not satisfy the autonomous termination threshold. In some implementations, the disruption trackercan have a stack/layer (e.g., an RTP stack) that tracks or processes the RTP periodically to provide information related to the mute event (e.g., the tracked value of the media timer) to a reporting or a messaging stack/layer (e.g., an IMS stack). Also, the disruption trackercan be configured to determine other related aspects of the content disruption, such as by calculating/measuring a packet loss rate, a direction of the mute (e.g., whether the packets are absent in an uplink direction and/or a downlink direction), and the like. In some implementations, the disruption trackercan be configured to obtain the link quality measuresat the time of the content disruption.
102 130 132 101 102 132 122 118 118 132 130 122 132 122 108 132 116 132 132 132 The mobile device(via, e.g., the disruption trackerand/or the messaging stack/layer) can be configured to generate and send a disruption reportto the core network. The mobile devicecan generate and send the disruption reportwhen the content disruptionis detected during the communication sessionand/or when the communication sessionends, such as according to the corresponding user input. The disruption reportcan include the information determined by the disruption tracker, such as an indication that the content disruptionoccurred. The disruption reportcan further include information associated with the content disruption, such as a duration, a packet loss rate, a communication direction, the link quality measure, or a combination thereof. In some implementations, the disruption reportcan be included in the termination-based message(e.g., the SIP BYE message). For example, the disruption reportcan be included as numbers, symbols, letters, and/or other characters included in a header portion of the disruption report. Additionally or alternatively, the disruption reportcan be included in a payload portion thereof and/or a dedicated bit slot thereof.
100 101 120 120 120 122 The network(via, e.g., the core network) can track and record details of the communications in a Call Detail Record (CDR). For example, the CDRcan include details for voice communications (e.g., telephone calls), such as originating party identifier (e.g., phone number), corresponding party identifier (e.g., call recipient phone number), starting/end time of the session, session duration, utilized nodes, routing path, etc. The CDRmay not include any information associated with the content disruption.
2 FIG. 1 FIG. 1 FIG. 102 102 202 202 110 114 202 illustrates a block diagram of an example mobile device (e.g., the mobile device) in accordance with one or more implementations of the present technology. The mobile devicecan include circuitry and/or software configured to implement a radio protocol stack. The radio protocol stackcan be configured to receive and process the core messageof, such as the content packetsof. In some implementations, the radio protocol stackcan include the RTP layer configured to process the RTP packets.
202 212 114 212 118 212 124 130 212 124 214 124 214 126 102 1 FIG. 1 FIG. 1 FIG. The radio protocol stackcan include a disruption detector(e.g., an internal circuit and/or software mechanism) configured to determine disruptions (e.g., absences) in the content packets. For example, the disruption detectorcan be configured to determine absences of the RTP packets during the communication sessionof. The disruption detectorcan be associated or integral with the media timerof, the disruption trackerof, or a combination thereof. For example, the disruption detectorcan report the absence of the RTP packet(s) to the media timervia an internal content report, and the media timercan track the duration of the corresponding mute event using the internal content report. When the duration of the mute event satisfies the autonomous termination threshold, the mobile devicecan autonomously (e.g., without corresponding user input) terminate the communication session as described above.
102 204 204 100 204 110 101 204 116 132 1 FIG. 1 FIG. 1 FIG. 1 FIG. The mobile devicecan further include circuitry and/or software configured to implement a reporting stack. The reporting stackcan be configured to provide and/or format content reported or sent to the communication networkof. For example, the reporting stackcan include the IMS stack or the SIP stack configured to generate and/or format the core messagesofto the core networkof. Accordingly, the reporting stackcan be configured to generate and communicate termination-based messageof, the disruption report, or a combination thereof.
202 212 214 204 204 204 204 122 222 224 226 204 222 204 224 204 130 226 204 130 108 122 204 As an illustrative example, the radio protocol stackand/or the disruption detectorcan be configured to provide the internal content reportto the reporting stackaccording to a predetermined interval or frequency (e.g., once per a predetermined number of seconds/minute). The reporting stackcan identify a beginning of a mute event when the RTP packet is first reported as being absent during a session (e.g., subsequent to having received one or more RTP packets). The reporting stackcan track a duration of the mute event based on counting a number of subsequent sequential set of reports showing the absence of the RTP packets. The reporting stackcan determine other related aspects of the content disruption, such as a status, a measure, and/or a directionassociated with the mute event. For example, the reporting stackcan determine the statusto represent an ongoing or a detected mute event based on the absence of the RTP packet(s). Also, the reporting stackcan calculate the measureas the duration and/or the packet loss rate. The packet loss rate can be calculated based on a number of mute events, lengths of the mute events, durations between the mute events, or a combination thereof, for the communication session. Further, the reporting stackcan interact with the disruption trackerto determine the directionof the mute (e.g., whether the packets are absent in an uplink direction and/or a downlink direction). Additionally or alternative, the reporting stackcan interact with the disruption trackerto obtain the link quality measuresat the time of the content disruption. The reporting stackcan aggregate and track information regarding the mute events for each communication session.
222 204 132 204 132 102 204 132 222 224 226 When the statusand/or other tracked information for the communication session indicates the existence of at least one mute event, the reporting stackcan provide the disruption reportthat includes information regarding the mute event(s). The reporting stackcan provide the disruption reportregardless of whether the communication session is terminated autonomously by the mobile deviceor according to a termination input provided by the user. The reporting stackcan include the disruption reporthaving the status, the measure, the direction, and/or other descriptions regarding the mute event(s) occurring during a communication session in the termination-based message (e.g., the SIP BYE message) for the corresponding session.
3 FIG. 1 FIG. 110 116 132 illustrates a block diagram of an example message (e.g., the core messageof, such as the termination-based message) in accordance with one or more implementations of the present technology. The example message can include the disruption reportin one or more locations therein according to a corresponding format.
110 302 304 306 302 110 302 312 110 312 110 116 304 110 306 The core messagecan include a header, a payload, and/or one or more slots(e.g., bit locations) designated according to a predetermined format/standard. The headercan identify a type, a title, an identifier, and/or other general descriptions for the core message. For example, the headercan include a predetermined textthat provides the type, the title, etc., describing the core message. As an illustrative example, the predetermined textcan specify that the core messageis the termination-based messageand/or an indication that the corresponding session was terminated by the user. The payloadcan include content information targeted for communication by the core message. The slotscan be used to communicate information and/or values corresponding to the designated type or category of information.
132 302 304 306 204 314 302 314 132 116 222 224 226 101 314 302 132 101 132 204 132 304 306 1 FIG. The disruption reportcan be included in the header, the payload, and/or the designated slots. For example, the reporting stackcan include the mute-related information as a notifierand/or a text report in the header. The notifiercan include a predetermined set of characters that indicates the presence of the disruption reportwithin the termination-based message. The corresponding text report can describe the status, the measure, the direction, and/or other descriptions regarding the mute event(s). The core networkofcan search for the notifierwithin the header(e.g., with or without standardization) to identify the presence of the disruption report. Upon detecting the notifier, the core networkcan obtain and analyze the remaining text report to receive and determine the disruption reportor a portion thereof. Also, the reporting stackcan include the disruption reportin the payloadand/or corresponding predetermined slotsaccording to a predetermined content/format (e.g., according to standardized formats).
4 FIG. 1 FIG. 1 FIG. 1 FIG. 400 400 100 101 102 is a flow diagram illustrating an example methodfor tracking disruptions in accordance with one or more implementations of the present technology. The methodcan be implemented using the communication networkof, the core networkof, and/or the mobile deviceof.
402 102 100 102 100 102 104 100 102 101 102 101 1 FIG. 1 FIG. At block, the mobile deviceestablishes a communication session based on interacting with the communication network. For example, the mobile device(e.g., the IMS layer) and the communication networkcan interact with each other and execute a connection sequence for establishing a wireless radio link. Accordingly, the mobile devicecan establish a wireless radio link with a radio access nodeofof the communication network. Once the radio link is established, the mobile devicecan interact with the core networkofand execute an authentication sequence that includes sending one or more authenticated registration requests. The mobile devicecan access the core networkbased on the authenticated registration request.
102 101 102 101 102 101 102 101 101 Once the mobile deviceis authenticated and registered for the core network, the mobile devicecan establish a communication session for exchanging data (e.g., sound data corresponding to voice communications) with one or more end point devices. The communication session can be facilitated by the core network. To establish the communication session, the mobile deviceand the core networkcan exchange requests and responses associated with SIP INVITE. Accordingly, the mobile deviceand the core networkcan implement a voice-communication session for communicating voice data to a counterpart device over the wireless radio link and through the core network.
404 102 100 102 101 202 2 FIG. At block, the mobile deviceand the communication networkexchange content during the communication session. For example, the mobile device, the core network, and the counterpart device can communicate voice data (via, e.g., RTP packets) for the voice-communication session. The radio protocol stackofcan implement the content communication.
422 102 424 202 130 202 1 FIG. At block, the mobile devicemonitors content continuity while exchanging content. For example, as illustrated at block, the radio protocol stackand/or the disruption trackerofdetects packet disruptions. The radio protocol stackcan detect any disruptions/discontinuities in the RTP packets.
426 102 202 204 214 204 214 204 204 2 FIG. 2 FIG. At block, the mobile devicetracks mute events based on the detected packet disruptions. For example, the radio protocol stackcan provide to the reporting stackofa status (e.g., the internal content reportof) with information regarding the disruptions/discontinuities in the RTP packets. The reporting stackcan detect mute events based on the internal content reportduring the voice-communication session. The reporting stackcan detect mute events in response to an initial detection of the RTP discontinuity. The reporting stackcan further derive/analyze information regarding the mute events, such as a duration of the mute event, a packet drop rate during the voice-communication session, a mute direction (e.g., uplink/downlink), a radio condition indicator, etc., as described above.
204 214 204 224 204 204 214 204 204 204 108 204 108 2 FIG. 1 FIG. As an illustrative example, the reporting stackcan receive the internal content reportaccording to a predetermined frequency. Accordingly, the reporting stackcan derive the disruption measureofbased on calculating the mute duration using a number of sequentially (e.g., back to back) reported absences in the RTP packets and the corresponding durations/periods associated with the reporting frequency. Also, the reporting stackcan calculate the packet drop rate based on a total number of reported absences in the RTP packets in comparison to a total number of communicated packets and/or a total duration for the session. The reporting stackcan determine the mute direction based on details of the RTP packet detection included in the internal content report. The reporting stackcan further determine the radio condition indicator representative of one or more conditions associated with a wireless link between the wireless communications device and the communication network during the voice-communication session. The reporting stackcan use the packet drop rate as the radio condition or quality indicator. Alternatively or additionally, the reporting stackcan interact with the baseband modem or a corresponding layer mechanism to access the link quality measuresof(e.g., CQI, RSSI, RSRP, RSRQ, etc.) reported/obtained during the voice-communication session. The reporting stackcan use the link quality measuresto derive the radio condition indicator.
406 102 126 408 102 102 1 FIG. At decision block, the mobile devicedetermines whether the mute duration exceeds a threshold (e.g., the autonomous termination thresholdof). At block, the mobile deviceinitiates autonomous termination when the mute duration exceeds the threshold. In other words, the mobile devicecan terminate the voice-communication session without any corresponding user input.
410 102 102 Otherwise (e.g., when the mute duration is less than the threshold) at decision block, the mobile devicedetermines whether the user terminated the communication session (via, e.g., a call hang up input). The mobile devicecan continue to exchange the content without user input to terminate the voice-communication session.
412 102 102 102 116 432 102 1 FIG. At block, the mobile deviceterminates the communication session. The mobile devicecan terminate according to the autonomous termination process and/or the user input. As part of the termination process, the mobile devicegenerates a termination message (e.g., the termination-based messageof) as illustrated at block. For example, the mobile devicecan generate an SIP BYE message in terminating the communication session.
434 102 132 204 132 100 204 132 204 132 1 FIG. At block, the mobile devicegenerates a disruption report (e.g., the disruption reportof). For example, the reporting stackcan generate the disruption report(e.g., the mute report) based on the detected mute event(s) for providing information regarding the mute event(s) to a network component (e.g., the IMS component) in the communication network. The reporting stackcan generate the disruption report, including various aspects of the mute event(s), such as the indication, the duration, the direction, the rate, etc., of the mute event(s). Also, the reporting stackcan include the radio condition indicator for the mute event(s) in the disruption report, as well as other useful data (if available), such as location, timestamp, radio type, wireless protocol, and/or mobile/base station ID.
204 132 204 132 304 306 132 204 132 302 204 314 132 204 132 302 314 132 108 3 FIG. 3 FIG. 3 FIG. 3 FIG. The reporting stackcan generate the disruption reportaccording to a predetermined format and/or standard. For example, the reporting stackcan generate the SIP BYE message with the disruption reportincluded in the payloadofand/or the designated slotoffor the disruption report. Alternatively or additionally, the reporting stackcan generate the SIP BYE message with the disruption reportincluded in the headerof. The reporting stackcan include the notifierofto indicate the presence of the disruption report, such as for a user-prompted termination. The reporting stackcan include the disruption reportusing predetermined characters and/or sequences thereof (e.g., a text string) in the headerafter the notifier. The disruption reportcan be separate from a CDR associated with the call and separate from the link quality measuresassociated with the wireless connection management.
436 102 116 101 102 132 204 100 102 100 126 102 At block, the mobile devicesends the termination message (e.g., the termination-based message, such as the SIP BYE) to the core network. The mobile devicecan send the termination message and the disruption reporttherein via the reporting stackto the communication network. Accordingly, the mobile devicecan notify the communication networkof the mute event(s) when the voice-communication session is terminated in response to the user input and before satisfying the autonomous termination thresholdpredetermined for the mobile device.
452 100 116 100 132 At block, the communication networkreceives/aggregates the termination message (e.g., the termination-based message, such as the SIP BYE) from multiple mobile devices. Accordingly, the communication networkcan obtain and aggregate the disruption reportsrepresentative of mute events across multiple mobile devices and/or multiple voice-communication sessions.
454 100 100 100 132 116 100 132 100 At block, the communication networkanalyzes the termination messages from the multiple devices. In other words, the communication networkcan analyze the crowd-sourced data regarding the mute events across the multiple mobile devices and/or the multiple voice-communication sessions. For example, the communication networkcan extract the disruption reportsand/or components thereof from the termination-based messagesbased on a predetermined format that designates values and/or bit locations within the session-end message for the mute report. The communication networkcan analyze the extracted disruption reportsand/or components thereof to determine estimated causes, such as patterns associated with a design (as represented by, e.g., a manufacture brand/model) of the mobile device, a type of the mobile device (e.g., a smart phone, a wearable device, an IoT device, etc.), a geographical location, a network condition, or a combination thereof, associated with the set of obtained mute reports. The communication networkcan utilize a machine learning mechanism, a pattern-recognition mechanism, and/or other artificial-intelligence mechanism to derive patterns, clusters, models, etc., from the mute event status, the duration, the direction, the radio condition indicator, a corresponding delimiter, a geographic location associated thereto, or a combination thereof.
456 100 100 100 At block, the communication networkrecommends or takes remedial measures. For example, the communication networkcan update, adjust, add, and/or remove network functions/components according to the detected issues or make recommendations to take such measures. Alternatively or additionally, the communication networkcan implement the remedial measures using procedural changes and/or software adjustments.
132 100 100 132 314 302 100 132 As described above, the disruption reportprovides information regarding the mute event(s) even when the communication session is terminated by the user. The communication networkcan use the provided information to determine any issues and corresponding improvements as described above. Thus, the communication networkcan obtain increased amount of mute-related data and improve the connectivity and the quality of subsequent communications. Further, the disruption reportcan be implemented as text strings and/or the notifierwithin the header, thereby allowing the communication networkand the mobile devices to communicate the disruption reportseven without standardized format/protocol.
5 FIG. 500 is a diagrammatic representation of a machine in the example form of a computer system, within which a set of instructions for causing the machine to perform any one or more of the methodologies or modules discussed herein, can be executed.
5 FIG. 1 4 FIGS.- 500 502 506 520 510 500 500 500 In the example of, the computer systemincludes a processor, a memory, a drive unit(e.g., a machine-readable storage medium, such as a non-volatile memory), and an interface device. Various common components (e.g., cache memory) are omitted for illustrative simplicity. The computer systemis intended to illustrate a hardware device on which any of the components described in the example of(and any other components described in this specification) can be implemented. The computer systemcan be of any applicable known or convenient type. The components of the computer systemcan be coupled together via a bus or through some other known or convenient device.
500 500 500 500 500 500 500 This disclosure contemplates the computer systemtaking any suitable physical form. As an example, and not by way of limitation, computer systemcan be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (such as, e.g., a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, or a combination of two or more of these. Where appropriate, computer systemcan include one or more computer systems; be unitary or distributed; span multiple locations; span multiple machines; or reside in a cloud, which can include one or more cloud components in one or more networks. Where appropriate, one or more computer systemscan perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein. As an example, and not by way of limitation, one or more computer systemscan perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein. One or more computer systemscan perform at different times or at different locations one or more steps of one or more methods described or illustrated herein, where appropriate.
502 502 The processorcan be, for example, a conventional microprocessor, such as an Intel Pentium microprocessor or Motorola power PC microprocessor. One of skill in the relevant art will recognize that the terms “machine-readable (storage) medium” or “computer-readable (storage) medium” include any type of device that is accessible by the processor.
506 524 506 506 The memoryis coupled to the processor by, for example, a bus. The memorycan include, by way of example but not limitation, random access memory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM). The memorycan be local, remote, or distributed.
524 502 520 520 500 The busalso couples the processorto the drive unit. The drive unitcan include a non-volatile memory that is often a magnetic floppy or hard disk, a magnetic-optical disk, an optical disk, a read-only memory (ROM), such as a CD-ROM, EPROM, or EEPROM, a magnetic or optical card, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory during execution of software in the computer. The non-volatile storage can be local, remote, or distributed. The non-volatile memory is optional because systems can be created with all applicable data available in memory. A typical computer system will usually include at least a processor, memory, and a device (e.g., a bus) coupling the memory to the processor.
520 Software is typically stored in the drive unit. It should be understood that for software to run, if necessary, it is moved to a computer readable location appropriate for processing, and for illustrative purposes, that location is referred to as the memory in this paper. Even when software is moved to the memory for execution, the processor will typically make use of hardware registers to store values associated with the software, and local cache that, ideally, serves to speed up execution. As used herein, a software program is assumed to be stored at any known or convenient location (from non-volatile storage to hardware registers) when the software program is referred to as “implemented in a computer-readable medium.” A processor is considered to be “configured to execute a program” when at least one value associated with the program is stored in a register readable by the processor.
524 502 510 510 500 510 The busalso couples the processorto the network interface device. The network interface devicecan include one or more of a modem or network interface. It will be appreciated that a modem or network interface can be considered to be part of the computer system. The network interface devicecan include an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g., “direct PC”), or other interfaces for coupling a computer system to other computer systems.
500 514 516 514 5 FIG. The systemcan include one or more input and/or output devices, such as a video displayand/or an alpha-numeric input device. The I/O devices can include, by way of example but not limitation, a keyboard, a mouse or other pointing device, disk drives, printers, a scanner, and other input and/or output devices, including a display device. The video displaycan include, by way of example but not limitation, a cathode ray tube (CRT), liquid crystal display (LCD), or some other applicable known or convenient display device. For simplicity, it is assumed that controllers of any devices not depicted in the example ofreside in the interface.
500 In operation, the computer systemcan be controlled by operating system software that includes a file management system, such as a disk operating system. One example of operating system software with associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Washington, and their associated file management systems. Another example of operating system software with its associated file management system software is the Linux™ operating system and its associated file management system. The file management system is typically stored in the non-volatile memory and/or drive unit and causes the processor to execute the various acts required by the operating system to input and output data and to store data in the memory, including storing files on the non-volatile memory and/or drive unit.
Some portions of the detailed description can be presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or “generating” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission, or display devices.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems can be used with programs in accordance with the teachings herein, or it can prove convenient to construct more specialized apparatus to perform the methods of some implementations. The required structure for a variety of these systems will appear from the description below. In addition, the techniques are not described with reference to any particular programming language, and various implementations can thus be implemented using a variety of programming languages.
In alternative implementations, the machine operates as a standalone device or can be connected (e.g., networked) to other machines. In a networked deployment, the machine can operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
The machine can be a server computer, a client computer, a personal computer (PC), a tablet PC, a laptop computer, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, an iPhone, a Blackberry, a processor, a telephone, a web appliance, a network router, switch, or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
While the machine-readable medium or machine-readable storage medium is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” and “machine-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” and “machine-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies or modules of the presently disclosed technique and innovation.
In general, the routines executed for the implementations, can be implemented as part of an operating system or a specific application, component, program, object, module, or sequence of instructions referred to as “computer programs.” The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processing units or processors in a computer, cause the computer to perform operations to execute elements involving the various aspects of the disclosure.
Moreover, while implementations have been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various implementations are capable of being distributed as a program product in a variety of forms, and that the disclosure applies equally regardless of the particular type of machine or computer-readable media used to actually effect the distribution.
Further examples of machine-readable storage media, machine-readable media, or computer-readable (storage) media include, but are not limited to, recordable type media, such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., Compact Disk Read-Only Memory (CD-ROMS), Digital Versatile Disks, (DVDs), etc.), among others, and transmission type media, such as digital and analog communication links.
In some circumstances, operation of a memory device, such as a change in state from a binary one to a binary zero or vice versa, for example, can comprise a transformation, such as a physical transformation. With particular types of memory devices, such a physical transformation can comprise a physical transformation of an article to a different state or thing. For example, but without limitation, for some types of memory devices, a change in state can involve an accumulation and storage of charge or a release of stored charge. Likewise, in other memory devices, a change of state can comprise a physical change or transformation in magnetic orientation or a physical change or transformation in molecular structure, such as from crystalline to amorphous or vice versa. The foregoing is not intended to be an exhaustive list in which a change in state for a binary one to a binary zero or vice-versa in a memory device can comprise a transformation, such as a physical transformation. Rather, the foregoing is intended as illustrative examples.
A storage medium typically can be non-transitory or comprise a non-transitory device. In this context, a non-transitory storage medium can include a device that is tangible, meaning that the device has a concrete physical form, although the device can change its physical state. Thus, for example, non-transitory refers to a device remaining tangible despite this change in state.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like, are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements; the coupling or connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number, respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
The above Detailed Description of examples of the invention is not intended to be exhaustive or to limit the invention to the precise form disclosed above. While specific examples for the invention are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. For example, while processes or blocks are presented in a given order, alternative implementations may perform routines having steps, or employ systems having blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or sub-combinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed or implemented in parallel, or may be performed at different times. Further any specific numbers noted herein are only examples: alternative implementations may employ differing values or ranges.
The teachings of the invention provided herein can be applied to other systems, not necessarily the system described above. The elements and acts of the various examples described above can be combined to provide further implementations of the invention. Some alternative implementations of the invention may include not only additional elements to those implementations noted above, but also may include fewer elements.
Any patents and applications and other references noted above, and any that may be listed in accompanying filing papers, are incorporated herein by reference in the entirety, except for any subject matter disclaimers or disavowals, and except to the extent that the incorporated material is inconsistent with the express disclosure herein, in which case the language in this disclosure controls. Aspects of the invention can be modified to employ the systems, functions, and concepts of the various references described above to provide yet further implementations of the invention.
These and other changes can be made to the invention in light of the above Detailed Description. While the above description describes certain examples of the invention, and describes the best mode contemplated, no matter how detailed the above appears in text, the invention can be practiced in many ways. Details of the system may vary considerably in its specific implementation, while still being encompassed by the invention disclosed herein. As noted above, particular terminology used when describing certain features or aspects of the invention should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the invention with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the invention to the specific examples disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the invention encompasses not only the disclosed examples, but also all equivalent ways of practicing or implementing the invention under the claims.
To reduce the number of claims, certain aspects of the invention are presented below in certain claim forms, but the applicant contemplates the various aspects of the invention in any number of claim forms. For example, while only one aspect of the invention is recited as a means-plus-function claim under 35 U.S.C. § 112(f), other aspects may likewise be embodied as a means-plus-function claim, or in other forms, such as being embodied in a computer-readable medium. (Any claims intended to be treated under 35 U.S.C. § 112(f) will begin with the words “means for,” but use of the term “for” in any other context is not intended to invoke treatment under 35 U.S.C. § 112(f).) Accordingly, the applicant reserves the right to pursue additional claims after filing this application to pursue such additional claim forms, in either this application or in a continuing application.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 8, 2025
January 1, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.