This disclosure relates to determining distance between a CMTS and a modem device.
The Data-Over-Cable Service Interface Specification (DOCSIS) was established by cable television network operators (also referred to as multiple service operators or MSOs) to facilitate transporting data traffic, primarily Internet traffic, over existing community antenna television (CATV) networks. In addition to transporting data traffic, as well as television content signals over a CATV network, MSOs can also use their CATV network infrastructure for carrying voice, video on demand (VoD) and video conferencing traffic signals, among other types.
Subscribers can access these services through user devices, which can include, for example, cable modems, embedded multimedia terminal adapters (EMTAs) (also known as cable telephony modems), set-top boxes, or gateway devices. A subscriber can have one or more user devices capable of receiving data services registered with a service provider, such as an MSO. Once a device is registered to a subscriber, its identifier, for example its media access control (MAC) address, can be used to authorize it to receive signals, including those for data service. If a subscriber were to provide one of his or her devices to a non-subscriber such as, for example a neighbor, the device might still be authorized by the network to receive signals, resulting in the provision of services to both the subscriber and the non-subscriber user. The subscriber might for example, decide to split the bill for services with the non-subscriber. As another example, the movement can be of a DOCSIS compliant set-top box. Typically, discounts are provided for the second (or more) set-top boxes that a subscriber has in his or her home. Whatever type of arrangement exists between the subscriber and the unauthorized user, there is the potential that a service provider such as an MSO can lose a substantial amount of revenue due to such fraudulent sharing of devices. Further, determining whether a device is no longer where it was originally installed can be used in the emergency 911 context as well wherein operators would like to determine the origin of a call. Additionally, certain characteristics of a device, for example, the make, model, installation date, and capabilities of the device can alert a provider of outdated or non-working equipment.
Efficient problem diagnosis for network infrastructure has grown in importance as network services have become more ubiquitous. Such network services can include cable service. Currently, one example cable architecture is a hybrid fiber coax (HFC) architecture. An HFC architecture can employ fiber optic cable for the long distance from a hub (or headend) site to a node. A hub site (or headend) is a source point for downstream signals and a destination point for upstream signals. A fiber node can include a grouping of approximately five-hundred homes passed. Inside a node the signals are distributed via coaxial cable to customer premise equipment (CPE) devices, which are typically located inside a home, apartment, or office. A CPE device can be a cable modem (CM), multimedia terminal adapter (MTA), set-top box (STB), or gateway device. A coaxial cable plant divides two-way signals by frequency between upstream and downstream components. The sub-split return is used by many current HFC networks, which means that signals for the return path are separated from the forward path at the sub-very-high frequency band. A coaxial portion of the cable plant is built with a tree-and-branch architecture, so an outage on a fiber node branch can potentially affect multiple subscribers in different geographic locations.
Another example architecture is Remote PHY (Physical), or R-PHY, which is an extension of DOCSIS. Remote PHY addresses the limitations of analog fiber and the Hybrid Fiber-Coaxial (HFC) bottleneck, breaking through by unlocking major bandwidth increases in existing access networks by splitting Cable Modem Termination System (CMTS) functions so that the Converged Cable Access Platform (CCAP) core and physical-layer functions run separately in different locations.
Yet another architecture is Remote MAC/PHY, or RMD, which can enable remote MAC/PHY products from multiple vendors to interoperate.
Diagnosis of a network problem can be performed using software that communicates with the CPE devices. Cable service assurance involves the identification and subsequent troubleshooting of problems in a-network such as an HFC network or other network architectures, for example as described herein. A problem can originate from a CPE device, a fiber node, a cable modem termination system (CMTS), an R-PHY device or a remote MACPHY (RMD) device. A fiber node can connect the CMTS, R-PHY device or a remote MACPHY device to a CPE device or devices. An important diagnosis is identifying the particular fiber node that is associated with a CPE device experiencing an outage. Several inputs to and outputs from multiple fiber nodes can be summed together to provide connectivity to a single CMTS at a hub site. As a consequence, there is no obvious and reliable method to identify the connectivity information relating to a fiber node with a CPE device. Typically, the billing data of a CPE device can be used to identify the fiber node information. However, the billing data can often become out-of-date and costly to update regularly. Therefore, there remains a need for a more accurate and reliable way to determine the distance between a CMTS and a modem, between a Remote PHY device (RPD) and a cable modem or between a Remote MACPHY device (RMD) and a cable modem. Accomplishing such determinations thereby broadens the scope of the current technology from central access architectures (with CMTS) to include distributed access architectures (with RPD and RMD).
Hybrid Fiber Coaxial (HFC) networks provide a wide bandwidth and represent the solution of choice for many residential networks. The Data Over Cable Service Interface Specification (DOC SIS) protocol is an important standard for HFC networks and is supported by the majority of current vendors. This protocol uses various algorithms to resolve collisions within the network by means of determining distance to a cable modem using either the ranging information that was obtained as part of the cable modem initialization process or the RF power levels at the CMTS or cable modem. However, the performance of these methods tends to deteriorate when the network load is high or there is a lot of noise on the network. Ranging provides a total round trip delay from the cable modem to the CMTS and back but does not account for the delay asymmetry inherent in the upstream and downstream paths. RF power levels can be affected by amplifiers in the coaxial cable plant. DTP as a protocol to accurately determine the distance from a CMTS to the cable modem is unique. DTP accounts for delay asymmetry to allow the overall delay and as a result, distance to a particular modem to be accurately determined. This can be used an aid to troubleshooting network issues and provide additional information in cases where records are missing or outdated.
Like reference numbers and designations in the various drawings indicate like elements.
In some implementations of this disclosure, systems and methods can operate to alert of possible fraud resulting in the movement of an authorized device from one physical location to another, and in particular from a location owned or rented by a subscriber to another location owned or rented by a non-subscriber.
In some implementations, a headend 110 can provide video, data, and voice service to a subscriber. The CMTS 105 can include a processor, a memory, and a storage device. The CMTS 105 can also have one or more transmitters/receivers 130 for transmitting signals through one or more transport networks, including the HFC network 115, to one or more user devices 120a-d. The transmitters/receivers 130 can be one or more separate transmitter and receiver components residing on the same board, or separate boards; further, the transmitter and receiver can also include various sub-components, such as modulators and demodulators. The CMTS 105 can also receive data signals from user devices through one or more transport networks, including the HFC network 115.
The example HFC network 115 can use a combination of optical fibers and coaxial cable to send data to and receive data from the headend 110. The HFC network 115 can be bi-directional wherein signals are carried in both directions on the same network from the headend 110 to the user devices 120a-d, and from the user devices 120a-d to the headend 110. The downstream signals, which can also be referred to as forward-path signals, carry information from the headend 110 to the home such as video content voice, and internet data. The upstream signals, which may also be referred to as return-path signals, carry information from user devices to the headend 110, such as control signals to order a movie, or internet data such as email.
The optical fiber portion of an HFC network 115 can extend from the headend 110 (e.g., including centralized, local, or regional headend) to a hub site for one or more neighborhoods, and then to a fiber optic node. The co-axial portion of an HFC network 115 uses co-axial cable connecting the fiber optic node to a plurality of homes having end user devices 120a-d. In example implementations, the HFC transmitter/receiver 130 can transmit communications directly to an HFC network (e.g., HFC network 115 of
The transport network connecting the headend to user devices can also include one or more radio frequency over glass (RFoG) networks, which can be deployed with an existing HFC network 115. An RFoG topology includes an all-fiber service from the headend 110 to a field node, or optical network unit (ONU), which is typically located at or near the user's premises. Coaxial cable can be used to connect the ONUs of an RFoG network to one or more user devices 120a-d. In the headend, a downstream laser sends a broadcast signal that is optically split a multitude of times. The optical network unit or ONU recovers the RF broadcast signal and passes it into the subscriber's coax network.
Upstream transmissions from the user devices 120a-d can pass through an RFoG network and be received by an RFoG transmitter/receiver at the headend. The user devices 120a-d can transmit RF signals to their respective ONUs. The ONUs can modulate the upstream RF traffic onto optical channels and sends those signals to an optical splitter, which then passes on the signals on the optical channels to the RFoG transmitter/receiver. In various implementations, the RFoG transmitter/receiver can be one or more separate transmitter and receiver components residing on the same board, or alternatively separate boards; further, the transmitter and receiver can also include various sub-components, such as modulators and demodulators. The RFoG transmitter/receiver receives the optically modulated signals on optical channels and demodulates the signals into the electrical signals, which can be RF signals. Signals from the RFoG network can then be combined with one or more RF signals coming from other HFC networks such as HFC network 115, or from other RFoG networks using an RF combiner, before being received by the CMTS transmitter/receiver 130.
A transmission map 200 allows for a user device to determine when and at what frequency to transmit information so as to avoid conflicts that can result in the loss of data. User devices can connect to the transport network at various physical locations. Based on a number of factors, including, for example, the varying distance of each user device from the headend, it can take a signal longer to reach the headend if it is transmitted from one device versus another, even if both transmissions occur at the same time. Because of such a timing delay, timing offsets are associated with each user device so that the timing delay is accounted for by user devices that transmit according to a transmission map 200. Without timing offsets, the potential exists that one user device transmission can overlap with that of another user device, resulting in collisions and possible loss of data that might require a re-transmission.
Returning to
Although various implementations can be used to determine the timing delay of a device's transmission to a receiving device, a synchronization process can be performed whereby transmissions are sent between the headend 110 and the user device 120 to determine the timing delay of the user device 120 and the appropriate timing offset needed to account for the timing delay. As mentioned above, such a timing delay might also exist for other devices and other architectures, such as the timing delay of a DSL modem transmitting to a DSLAM at a central office of a telephone company.
In an implementation employing DOCSIS, the CMTS 105 sends a “SYNC message” to a user device 120. Upon receiving the SYNC message, the user device 120 sets its system clock to time unit 0. It for example, a time unit of 3 has passed, then the CMTS 105 clock time will read 3 when the user device clock time has been set to 0.
The CMTS 105 will then send a MAP message (transmission map message) instructing the user device 120 to send a “Ranging Request” to the CMTS 105. For example, the CMTS 105 might send the MAP message at CMTS 105 clock time 5, asking the user device 120 to transmit the ranging request at the user device 120 clock time 12. By the time the user device 120 receives the message, the user device 120 time will be 8. The user device 120 will send out the ranging request according to its own clock at time 12. With a one-trip delay of 3-time units, by the time the ranging request is received by the CMTS 105, the user device 120 time clock will read 15 and the CMTS 105 time clock will read 18. In this example, the CMTS 105 asked for the user device 120 to transmit at CMTS 105 time clock 12. If there were no timing delays at alt it would have received a ranging request at 12. Because of the round-trip delay of 6-time units, the CMTS 105 received the ranging request from the user device 120 at CMTS 105 time clock 18. The CMTS 105 then sends a “Ranging Response” message to the user device 120 letting it know that its timing offset is 6 time units.
When the CMTS 105 sends a transmission map, for example the transmission map like the one shown in
It should be noted again that various implementations using offsets and ranging can be used to determine the timing delay of a device's transmission to a receiving device, including a high-resolution timing offset available in some versions of DOCSIS, and methods used in non-DOCSIS networks.
When a user device 120 is physically moved, even if it is from one room to another, the result will be a change in the timing delay and timing offset of the user device 120. There can be many factors that influence the timing delay. Significant amongst these factors are the length of the cables (i.e., physical distance of the path between the user device 120 and the receiving device CMTS 105, for example). Other factors that can influence the timing delay can include the downstream model of the user device 120 and the firmware running on the user device, and even the temperature surrounding cabling.
A difference between the initial or previous timing delay and a subsequent timing delay can be used as a “red flag” to alert of potential fraud. In example implementations, fraud detection might be enhanced if the demographics of the neighborhood(s) in which the user devices 120 reside (or that a node 205 serves) are considered in conjunction with changes in the timing delay of the user device 120. In particular, a movement resulting in a delay of a certain number of ticks might for example, correspond to a conservative estimate that a user device 120 was moved 160 feet. If a subscriber resided on a large lot or estate and had multiple user devices 120, such as a cable modem and a gateway device or set-top box, for example, then a movement of a user device 120a a distance of 160 feet might constitute a move from one part of the residence to another, considering the size of the estate. To consider as a factor data regarding whether a subscriber lives in an estate, suburb, or rural area can eliminate a “false positive.” On the other hand, in a multiple-dwelling unit (MDU) neighborhood, such as an apartment complex, if a user device 120a was moved 160 feet such a move might have exceeded the bounds of the subscriber's residence, which can be another factor indicating that the subscribe might be either sharing the device with a non-subscriber neighbor or might have given the device to a non-subscriber neighbor.
In some implementations, to consider the demographics and the timing delay of the user devices 120, a process can be performed in which timing data from all available user devices 120 on a node 205, for example, can be collected. Subscriber account data from a subscriber billing database, for example, can also be imported.
In some implementations, every user device 120 on a node can be considered for the analysis. Recorded in a database, for example, can be information regarding which node is associated with which user devices 120, or viewed another way, which user devices 120 are associated with which nodes.
In other implementations, a radius of the coaxial plant served by the node 205 (the coaxial portion of an HFC network extending from the node 205 to the subscriber homes) can be considered. To consider devices within this radius, the minimum timing offset can be subtracted from the timing offset of each user device 120. The resulting value can represent the CMTS's timing constant plus the time induced by the signal's propagation through the fiber to the node. Then, the difference in timing offset between the user devices having the minimum timing offset and maximum timing offset can represent a radius of the coaxial plant served by the node 205.
Each subscriber account can contain information regarding the subscriber's physical location, for example the residential street address, and the MAC address of one or more user devices 120 associated with the subscriber's account. Tests can be performed to verify how the accounts are distributed within the area served by the node 205 associated with the user devices 120. This data can then be used to estimate the demographics of the area. Old or outdated records can result from a network operator performing upgrades for new services or additional legs.
However, in all of these implementations, there exists shortcomings in the ability of DOCSIS to consider all of the interferences when determining the distance between a CMTS and a modem.
DOCSIS protocol uses various algorithms to resolve collisions within the network by means of determining distance to a cable modem using either the ranging information that was obtained as part of the cable modem initialization process or the RF power levels at the CMTS or cable modem. However, the performance of these methods tends to deteriorate when the network load is high or there is excess noise on the network. Ranging provides a total round trip delay from the cable modem to the CMTS and back but does not account for the delay asymmetry inherent in the upstream and downstream paths. RF power levels can be affected by amplifiers in the coaxial cable plant. While DOCSIS Time Protocol is a defined protocol, the application of the protocol to accurately determine the distance from a CMTS to the cable modem is unique. DOCSIS Time Protocol (DTP) determines and accounts for delay asymmetry to allow consideration of the overall delay and as a result, distance to a particular modem to be accurately determined. This allows for much greater accuracy for troubleshooting network issues, detecting fraud, and providing additional information in cases where records are missing or outdated.
As shown in
Each distribution leg 420, 430, and 440 is shown with similar components. The test access points (TAPs) attenuate or reduce signal going through a shorter cable run and send more signal to the longer cable run to overcome cable loss. The TAP receives the signal coming from the CMTS and splits the signal into a local signal that connects to the cable modems in the houses, and another signal that is passed to the next tap in the line. In one example, a tap typically has four local outputs, allowing connection to, for example, four houses. When positioned correctly, they do not add material delay to the signal in either direction.
Also shown in
As shown, houses symbolize the user locations where the cable modems are deployed. It is noted that there is a length of coax cable between the tap and the house and there also is additional coaxial cable inside the house to connect to the cable modem. The term ‘hop,’ for illustrative purposes, indicates a set of taps and houses between amplifiers.
Therefore, again referring again to
DOCSIS networks have been deployed for many years to provide wireline access to users. Using a DOCSIS infrastructure for deploying and backhauling the wireless access networks using base stations in the wireless networks, requires accurate synchronization of both time frequency and phase to a grand-master clock.
IEEE 1588 Precision Time Protocol (PTP) is a standard that establishes frequency and phase synchronization on non-deterministic Ethernet links, but it was not designed for DOCSIS networks. DOCSIS Time Protocol (DTP) solves many issues that enable DOCSIS networks to effectively deliver PTP to wireless base stations, however it is challenging to implement because the frequency and phase timing fall short of being accurate enough to meet the requirements for supporting many wireless base stations on DOCSIS networks.
When DOCSIS is lightly loaded, it has been demonstrated that it is possible to support PTP “over-the-top” of DOCSIS. But because DOCSIS was not specifically developed with highly accurate PTP in mind, a highly loaded system is not able to support PTP to the accuracy levels required by time division duplex (TDD) 5G base stations without the use of DOCSIS Time Protocol.
DOCSIS Time Protocol establishes PTP-to-DOCSIS interfaces at the CMTS and cable modem which creates a timing bridge between them. The cable modem regenerates PTP and sends it to the base station. The CMTS uses the ranging capabilities of DOCSIS and delays through the CMTS and cable modem to calculate timing offsets for an accurate PTP time stamp at the cable modem.
Time frequency and phase along with synchronization are important. A transmitter maps bits into 8-bit bytes so that multiple transmissions are multiplexed on the same channel. The transmitter uses a clock, at a predetermined time frequency to determine when to transmit the bits. The receiver samples the information at exactly the same time rate. If it does not, it may sample the same bit more than once (sampling at higher frequencies), or a bit may not be sampled at all (sampling at lower frequencies).
Phase synchronization aligns each transmission when multiple transmitters share the same channel. The transmissions are mapped into non-overlapping timeslots to avoid transmission collisions, which is called a time division multiple access (TDMA) system. For it to work, transmissions in one timeslot must not overlap transmissions in another timeslot.
With DOCSIS, there are multiple cable modems transmitting on a shared channel. The transmissions are both frequency and phase synchronized. The CMTS uses media access control (MAC) management messages so that their transmissions do not interfere with other cable modem transmissions.
Precision Time Protocol was developed to address one limitation of Ethernet, its non-deterministic nature, which makes it unable to support applications requiring accurate synchronization, for example, such as LTE and 5G. One example is time division duplex base stations must be synchronized to within a certain distance from each other, requiring each base station to be within a certain distance of a of a primary reference time clock (PRTC). PTP (IEEE 1588) was developed to address this problem, and it specifies frequency and phase synchronization across Ethernet transmission links using time stamps to address latency and jitter issues.
DOCSIS time protocol was introduced to reliably support PTP on DOCSIS networks. DOCSIS time protocol allows the timing and frequency system of the CMTS, the hybrid fiber/coax (HFC) plant and the CM to be a timing bridge that accurately takes the PTP timing source at the input of the CMTS and replicates it at the output of the cable modems with the correct timing offsets to consider all the delays through the DOCSIS system.
To do this, the CMTS receives a PTP timestamp on a PTP slave port and synchronizes its internal clock to that timestamp. The CMTS synchronizes all DOCSIS timestamps to its internal clock, which makes the DOCSIS timestamp traceable to a PTP timestamp.
DOCSIS time protocol also provides a signaling path that determines the downstream timing offset to compensate for delays through the DOCSIS system. The timing offset is used as a correction factor for the PTP timestamp at the cable modems. The DOCSIS time protocol runs between the CMTS and the cable modem. It sends the CMTS timestamp value to the cable modem, calculates the delay in the downstream path, and adds the delay to the CMTS timestamp value to generate the value for the cable modem PTP timestamp.
In DOCSIS, the MAC protocol uses a ranging procedure to determine the timing offset of each cable modem from the CMTS, so that packets sent from cable modems at different distances appear at the CMTS without overlapping timeslots.
Additional delays internal to the CMTS and the cable modem can remain unknown and may change with configuration changes. These values must also be measured so that the timing offset of the DOCSIS system can be calculated for the PTP timestamp at the output of the cable modem. Accurate time frequency and phase are required in wireless base stations, and extremely accurate timing is required in TDD wireless base stations. PTP is a protocol that supports frequency and phase requirements necessary for 5G wireless base stations and DOCSIS time protocol is the means by which DOCSIS networks are enabled to deliver PTP to them.
Knowing the position of wireless nodes is required for location-aware services and applications. The position can be calculated using the distance between wireless nodes. Furthermore, distance helps when deciding the time of handovers or finding the optimal routing path throughout an ad-hoc network. Usually, received signal strength indications are applied to identify the location of wireless nodes. In order to overcome the problem of interrupt latencies and hence inaccuracies when measuring the duration of packet transmission in the operating system, time is also measured on the hardware layer—for example, on the WLAN card. Such solutions can allow to record time stamps at a resolution of 1 μs.
Accordingly, DTP accounts for delay asymmetry and allows the overall delay to be ascertained. This leads to the distance from a CMTS to a modem to more accurately determined. Using DTP for obtaining values to compensate for delay through measurement, particularly path delay introduced by the coax cable going from the CMTS to the cable modem. This is computed based on the length of the coax cable and the speed of propagation in the coax cable. The distance can be calculated from the delay, as the propagation velocity is well-known in coax cable.
Data storage can be limited to the values that are obtained a part of the calibration process. For example, one data stored is the time adjust (t-adj) value that equalizes the delay from the network side interface of the CMTS to the Ethernet output of the cable modem. Another example is the round-trip delay (t-tro) that the cable modem measures as the total of the upstream and downstream delays.
The headend device, for example, the CMTS, uses the ranging capabilities of DOCSIS and delays through the CMTS and cable modem to calculate timing offsets for an accurate time stamp, for example, a PTP time stamp, at the cable modem.
The process 500 can begin at stage 510 wherein one or more user devices, which can be user devices 120 of
At stage 520, ranging data associated with the end user device, reflecting the route between the end user device, for example a cable modem, and the headend, such as a CTMS, is received.
At stage 530, DOCSIS time protocol data associated with the route between the end user device and the headend is obtained.
At stage 540, various data is considered to determine a correction factor to account for the shortcomings of the ranging data. The DOCSIS time protocol data provides delay symmetry data which helps determine a value for overall delay.
At stage 550, according to DOCSIS time protocol data and the delay asymmetry is considered to determine an overall delay associated with the route, including node information and other information not included in DOCSIS-layer.
At stage 560, a correction factor, using the DOCSIS time protocol data is determined.
Finally at 570, the ranging data and the correction factor are used to determine an accurate measurement of the distance between the headend and the end user device.
Any of the devices (e.g., CMTS, cable modems, EMTAs, etc.) and components thereto or software modules/programs described in this disclosure, can be realized by instructions that upon execution cause one or more processing devices to carry out the processes and functions described above. Such instructions can, for example, comprise interpreted instructions, such as script instructions, e.g., JavaScript or ECMAScript instructions, or executable code, or other instructions stored in a computer readable medium.
Implementations of the subject matter and the functional operations described in this specification can be provided in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible program carrier for execution by, or to control the operation to data processing apparatus. The tangible program carrier can be a propagated signal or a computer readable medium. The propagated signal is an artificially generated signal e.g., a machine generated electrical optical or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a computer. The computer readable medium can be a machine readable storage device, a machine readable storage substrate, a memory device, a composition of matter effecting a machine readable propagated signal or a combination of one or more of them.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output thereby tying the process to a particular machine (e.g., a machine programmed to perform the processes described herein). The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
To provide for interaction with a user, embodiments of the subject matter described in this specification can be operable to interface with a computing device having a display, e.g., a CRT (cathode ray tube), LCD (liquid crystal display), LED (light emitting diode) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub combination or variation of a sub combination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Particular embodiments of the subject matter described in this specification have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results, unless expressly noted otherwise. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some implementations, multitasking and parallel processing may be advantageous.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 63/394,246 filed Aug. 1, 2022; and claims the benefit of U.S. Provisional Patent Application Ser. No. 63/314,829 filed Feb. 28, 2022.
Number | Date | Country | |
---|---|---|---|
63314829 | Feb 2022 | US | |
63394246 | Aug 2022 | US |