US20180375709A1 - Distributed processing software based modem - Google Patents

Distributed processing software based modem Download PDF

Info

Publication number
US20180375709A1
US20180375709A1 US15/782,651 US201715782651A US2018375709A1 US 20180375709 A1 US20180375709 A1 US 20180375709A1 US 201715782651 A US201715782651 A US 201715782651A US 2018375709 A1 US2018375709 A1 US 2018375709A1
Authority
US
United States
Prior art keywords
user data
modem system
modulated
subsystem
cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US15/782,651
Other versions
US10177952B1 (en
Inventor
Michael Beeler
Kasra TOYSERKANI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apothym Technologies Group LLC
Original Assignee
Fast Fit Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fast Fit Technologies LLC filed Critical Fast Fit Technologies LLC
Priority to US15/782,651 priority Critical patent/US10177952B1/en
Assigned to FAST FIT TECHNOLOGIES, LLC reassignment FAST FIT TECHNOLOGIES, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEELER, MICHAEL, TOYSERKANI, Kasra
Priority to PCT/US2018/038397 priority patent/WO2018236942A1/en
Priority to EP18820675.9A priority patent/EP3643027B1/en
Priority to CN201880042181.0A priority patent/CN111052696A/en
Priority to JP2020520187A priority patent/JP7096885B2/en
Priority to AU2018288793A priority patent/AU2018288793A1/en
Priority to CA3067390A priority patent/CA3067390C/en
Priority to US16/213,569 priority patent/US10397038B2/en
Publication of US20180375709A1 publication Critical patent/US20180375709A1/en
Application granted granted Critical
Publication of US10177952B1 publication Critical patent/US10177952B1/en
Priority to US16/456,322 priority patent/US10505777B2/en
Assigned to ENVISTACOM, LLC reassignment ENVISTACOM, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FAST FIT TECHNOLOGIES, LLC
Priority to IL271520A priority patent/IL271520B/en
Priority to JP2022024129A priority patent/JP7130159B2/en
Assigned to APOTHYM TECHNOLOGIES GROUP, LLC reassignment APOTHYM TECHNOLOGIES GROUP, LLC MERGER AND CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: APOTHYM TECHNOLOGIES GROUP, LLC, ENVISTACOM, LLC
Assigned to APOTHYM TECHNOLOGIES GROUP, LLC reassignment APOTHYM TECHNOLOGIES GROUP, LLC CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED ON REEL 061089 FRAME 0839. ASSIGNOR(S) HEREBY CONFIRMS THE NATURE OF CONVEYANCE IS AN ASSIGNMENT ONLY, NOT A MERGER AND NOT A CHANGE OF NAME.. Assignors: ENVISTACOM, LLC
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/0003Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2649Demodulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0002Modulated-carrier systems analog front ends; means for connecting modulators, demodulators or transceivers to a transmission line
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0012Modulated-carrier systems arrangements for identifying the type of modulation

Definitions

  • a purpose built device known as a modulator/demodulator or as commonly known as a “modem” is utilized to accept user information, modulate the user data into a format known as a waveform and transmit over a medium.
  • a modem contains the ability to receive a modulated waveform and demodulate the waveform to the original user data at the receiving end.
  • the combined collection of a modulator, transmission medium, and demodulator is known in the art as a communications path.
  • a modem is a purpose built device using specialized parts with specialized software and/or firmware to create a modem.
  • SDM software defined modem
  • PCB printed circuit board
  • the described invention uses an “all software” approach for the creation of a modem within the distributed computing fabric known as “cloud computing” that is supported with commercial off the shelf (COTS) hardware know as High Performance Computing (HPC) servers.
  • HPC High Performance Computing
  • the HPC architectures are now being supported by the distributed processing companies such as Amazon Web Services (AWS), Google Cloud Computing, Microsoft's Azure, etc.
  • the architectures being supported by the cloud computing companies are also known to support or enable software defined networking (SDN).
  • SDN software defined networking
  • This disclosure relates to methods of describing a modulator and/or demodulator (modem) that is created using a high-level programming language such as OpenCL, C, C++, etc. and implementing the high-level programming language as an application on a cloud-based HPC platform within a distributed computing architecture.
  • the described methods provide the description of how an all software modem can be created using a high-level computing language, and supported in a cloud-based architecture for the creation of a communications waveform using an all-digital computing device.
  • the described method can be utilized to provide similar or higher performance in every aspect of a hardware or dedicated (purpose built) modem or a software defined modem (SDM) using the processing resources available within a cloud-based processing architecture.
  • SDM software defined modem
  • the described approach can perform the waveform processing in real time.
  • a typical communications modem that supports a communications link for satellite, tactical radio, or terrestrial communications is comprised of a user data interface and accepts user data in the form of a digital stream utilizing various synchronous and asynchronous formats and protocols.
  • the modulator portion of the modem accepts the user data and performs the process of modulating the data into a signal that is suitable for the transmission medium.
  • the actual process of the transformation from the user data to the modulated signal is carried out by a purpose-built piece of hardware consisting of discrete components, logic devices, and low-level programming language to provide the directives for the hardware to accomplish the steps required to create the final waveform to be transmitted over the transmission medium.
  • the demodulator portion of the modem performs the reverse process—again, all carried out by a purpose built piece of hardware consisting of discrete components, logic devices, and low-level programming language to provide the directives for the hardware to accomplish the steps required to accept a waveform over the transmission medium and perform the steps to return the user data.
  • the present disclosure covers how the steps required to accomplish the modulation of user data in the form of Ethernet frames and IP packets may be accomplish in an all-digital cloud computing environment using COTS processing hardware without the need of any purpose-built hardware.
  • the entire modulation and demodulation process that comprises a modem may be accomplished in an all software modem using cloud computing fabric that would be used for a SDN network.
  • This disclosure relates to, but is not limited to, providing an all-digital software only modem using the resources distributed processing resources of cloud computing.
  • a typical communications modem that supports a communications link for satellite, tactical radio, or terrestrial link is comprised of a network user interface and accepts user data in the form of a digital stream utilizing various synchronous and asynchronous protocols.
  • the modulator portion of the modem accepts the user data and performs the process of modulating the data into a format that is suitable for the transmission medium.
  • the actual process of the transformation from the user data to the modulated stream is carried out by a purpose-built piece of hardware consisting of discrete components, logic devices, and low-level programming language to provide the directives for the hardware to accomplish the steps required to create the final waveform to be transmitted over the transmission medium.
  • the demodulator portion of the modem performs the reverse process—again, all carried out by a purpose-built piece of hardware consisting of discrete components, logic devices, and low-level programming language to provide the directives for the hardware to accomplish the steps required to accept a waveform over the transmission medium and perform the steps to return the user data back to the digital stream.
  • the disclosed invention uses the described techniques and results in one or more descriptions to support the creation and manipulation of an all software digital modem using the distributed nature of the cloud computing fabric using the resources available today and planned for the future.
  • the cloud computing fabric is also utilized to provide resources for software defined networking.
  • Particular implementations described herein are and may use, but is not limited to programs, computer programming languages, microprocessors, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), and combinations of CPUs and FPGAs to form High Performance Computing (HPC) servers.
  • ASICs Application Specific Integrated Circuits
  • FPGAs Field Programmable Gate Arrays
  • HPC High Performance Computing
  • aspects of this disclosure relate to a method and system for creating an all software digital modem using the distributed processing resources of cloud computing.
  • FIG. 1 shows the prior art using purpose built modulator and demodulator hardware for supporting a waveform.
  • FIG. 2 shows the prior art using purpose built combination modulator and demodulator (modem) hardware for supporting a waveform.
  • FIG. 3 shows the prior art of a modem's components to support the modulation and demodulation capabilities with purpose built hardware.
  • FIG. 4 shows the cloud computing fabric containing servers (processors), storage, applications, etc.
  • FIG. 5 shows the next generation HPC server technology containing a CPU/GPU and hardware acceleration card.
  • FIG. 6 shows the described invention with all modem processes (PROC 1 , PROC 2 , and PROC 3 ) being supported by a single cloud computing server.
  • FIG. 7 shows the described invention with all modem processes (PROC 1 , PROC 2 , and PROC 3 ) being supported by a multiple cloud computing server lower left (PROC 1 ), lower center server (PROC 2 ), and lower right server (PROC 3 ).
  • FIG. 8 shows the described invention with all modem processes (PROC 1 , PROC 2 , PROC 3 , and PROCn) being supported by a single cloud computing server and passed to an edge device for converting the digital stream of modulated signal created in the cloud computing environment passed to an edge processing device.
  • FIG. 9 shows the described invention with all modem processes (PROC 1 , PROC 2 , and PROC 3 ) being supported by a multiple cloud computing server lower left (PROC 1 ), lower center server (PROC 2 ), and lower right server (PROC 3 ), and several applications/processes being supported on other servers for PROC 4 and PROC 5 ) and passed to an edge device for converting the digital stream of modulated signal created in the cloud computing environment for transmission over the medium.
  • all modem processes PROC 1 , PROC 2 , and PROC 3
  • FIG. 9 shows the described invention with all modem processes (PROC 1 , PROC 2 , and PROC 3 ) being supported by a multiple cloud computing server lower left (PROC 1 ), lower center server (PROC 2 ), and lower right server (PROC 3 ), and several applications/processes being supported on other servers for PROC 4 and PROC 5 ) and passed to an edge device for converting the digital stream of modulated signal created in the cloud computing environment for transmission over the medium.
  • FIG. 10 shows the described invention with all modem processes (PROC 1 to PROC 5 for the forward return path) being supported by a multiple cloud computing servers with flows between each of the processes residing on multiple servers distributed throughout the cloud.
  • FIG. 11 shows the described invention with all modem processes (PROC 1 to PROC 5 for the forward path and PROCA to PROCC for the return path) being supported by multiple cloud computing servers with flows between each of the processes residing on multiple servers distributed throughout the cloud.
  • FIG. 1 illustrates the prior art of a particular implementation of a communications transmission system wherein the forward path (transmitting station to a receiving station) where transmit station contains a transmit modulator and the receiver contains a receiving demodulator.
  • the modem in the prior art is a purpose-built device, typically a dedicated “box” that transmits and is called a modulator.
  • the modulator outputs either an intermediate frequency (IF) that may be unconverted to a radio frequency (RF) or directly output from the modulator as a radio frequency, possibly power amplified, and transmitted through free-space, to an airborne, or satellite repeating relay.
  • the receive modem in the prior art is a purpose-built device, typically a dedicated “box” that receives and is called a demodulator.
  • the demodulator receives (inputs) either an intermediate frequency (IF) that may be down converted from a radio frequency (RF) or directly input from the receive antenna as a radio frequency signal.
  • FIG. 2 Is an alternate embodiment, of the prior art where the modulator and demodulator are combined in a single device known as a modulator/demodulator also known as a modem.
  • a modulator/demodulator also known as a modem.
  • each station may contain a modem that provides both transmit and receive capability, modulation and demodulation, respectively.
  • the modem at each station may provide a full-duplex communications path.
  • FIG. 3 shows the prior art with each component of a purpose-built modem using specialized hardware that comprises both the transmit or modulation path, and the receive or demodulation path.
  • the individual processing modules as specialized hardware devices and processing modules written in a low-level specialized hardware description language (HDL) is shown.
  • the top row of boxes show the various stages that are required to accept user data which is in many cases, but not limited to Ethernet (frames) and IP (packets).
  • the user data is then accepted as bytes of data into an Application Specific Integrated Circuit (ASIC), FPGA using a HDL language, where it is framed into a suitable transport frame with header information (control bytes, sequence number, type information, etc.) and error checking is added.
  • ASIC Application Specific Integrated Circuit
  • FPGA Forward Error Correction
  • this function is a dedicated hardware device or an ASIC.
  • the data is then taken from a parallel format to a serial format by a firmware function such as an ASIC or FPGA using a HDL language.
  • the next section accepts the serial data stream and then performs the mapping of the bits into symbols to create a waveform constellation as modulated data.
  • the modulated data is then filtered (pulse shaped) with a digital filter implemented in an ASIC or FPGA using a HDL language.
  • the output then flows to a Digital to Analog Converter (DAC) or to a digital output stream to another stage of processing via Ethernet (frames) and IP (packets).
  • DAC Digital to Analog Converter
  • IP packets
  • the receive (demodulation) chain performs the reverse functionality as the transmit (modulation) chain.
  • ADC Analog to Digital Converter
  • the input on the bottom row, right side show the first step is to perform gain control and is performed by a hardware device to add amplification or attenuation.
  • the next step is to perform the demodulation of the incoming stream into de-mapped data bits. This step is performed by an ASIC or FPGA using a HDL language.
  • the next step is to pass the stream to a FEC decoder.
  • FEC decoding is a hardware intensive function and it typically carried out by an ASIC or FPGA using a HDL language.
  • the next step is to verify the integrity of the data via error checking and is performed by an ASIC, FPGA using a HDL language, or a system processor.
  • the next step is to de-frame the frames and remove any control and error checking overhead bits and pass to the user the recovered digital stream.
  • the entire configuration of the modem is controlled by a system controller.
  • the system processor is a dedicated hardware device that controls the entire modem.
  • the system controller (control processor) manages the entire unit's health, status, configuration, setup, error checking and in many cases performs the user interface.
  • FIG. 3 can also be used to describe a new technique called Software Defined Modem (SDM) or Software Defined Radio (SDR). Similar to a dedicated modem, the SDR technology supported by GNU Radio and companies such as Ettus Research, these are dedicated hardware boards that are purpose built to support many types of waveforms, but ultimately rely on a dedicated/purpose built piece of processing hardware to support waveform processing.
  • SDM Software Defined Modem
  • SDR Software Defined Radio
  • FIG. 4 shows the high-level representation of cloud computing environment. As shown, the cloud computing or distributed processing architecture has moved all processing, applications, and storage into the cloud. Companies such as Amazon Web Services (AWS), Microsoft Azure, Google Cloud Computing, etc. are developing massive infrastructures as depicted in FIG. 4 , and is commonly called a SDN.
  • AWS Amazon Web Services
  • Azure Microsoft Azure
  • Google Cloud Computing etc. are developing massive infrastructures as depicted in FIG. 4 , and is commonly called a SDN.
  • FIG. 5 shows the next generation server/processor architecture.
  • the cloud computing providers are adding hardware assisted modules to their servers, e.g. Amazon Web Services F1 architecture as well Microsoft's Azure.
  • These new HPC architectures with hardware assist now offer the hardware acceleration capabilities to support real-time high-speed processing for SDN environments.
  • OpenCL a new computing language has been introduced called OpenCL. OpenCL has been introduced to allow the code to be written in a high level of abstraction that is hardware agnostic, and can take advantage of hardware acceleration technology in servers in a distributed computing environment.
  • OpenCL has been introduced to allow the code to be written in a high level of abstraction that is hardware agnostic, and can take advantage of hardware acceleration technology in servers in a distributed computing environment.
  • the described invention uses OpenCL, but any high-level language capable of supporting the combined processing of a CPU/GPU with hardware assistance would be covered by covered by the described invention.
  • FIG. 6 shows the novelty of the invention where all processes that are supported by purpose built software, firmware, FPGA HDL firmware, and an ASIC are being supported entirely by a the HPC server inside the cloud computing environment.
  • the processes shown on FIG. 6 PROC 1 , PROC 2 , and PROC 3 are representations of the various modem processes. It should be noted the PROC 1 , PROC 2 , PROC 3 , . . . PROCn (processes and/or applications) are functional blocks or algorithms running on the CPU ( ⁇ 86) or any one of the hardware acceleration units, such as FPGA, GPU, or DSP, that combined constitute the implementation of a communications waveform. The functional blocks are targeted for particular HPC resource according to the performance profiling of the waveform, which identifies algorithms that need to be hardware accelerated to achieve performance comparable to purpose bunt hardware.
  • the process representing the modem processes/applications are as follows:
  • Ethernet frames
  • IP packets
  • PROC 1 application/process
  • PROC 1 provides the framing into a suitable transport frame with header information (control bytes, sequence number, type information, etc.) and error checking is added.
  • PROC 2 data is encoded with Forward Error Correction (FEC) information for bit error correction at the receiver.
  • FEC Forward Error Correction
  • This function replaces the dedicated hardware device or an ASIC and is entirely supported by a high-level software language (i.e. OpenCL) and by the HPC architecture.
  • PROC 3 the data is then taken from a parallel format to a serial format.
  • OpenCL high-level software language
  • PROCn (where n is the nth order process of a multiple processing architecture) then accepts the serial data stream and then performs the mapping of the bits into symbols to create a waveform constellation as modulated data.
  • PROCn+1 function replaces the digital filter implemented in an ASIC or FPGA using a HDL language and is entirely supported by a high-level software language (OpenCL) and is supported by the HPC architecture.
  • OpenCL high-level software language
  • FIG. 8 is an alternate embodiment, an edge device can be placed on the edge of the cloud computing architecture, and egresses to a conversation device where it is then converted from an entirely digital format to an analog format suitable for transmission.
  • DAC Digital to Analog Converter
  • FIG. 8 is an alternate embodiment, an edge device can be placed on the edge of the cloud computing architecture, and egresses to a conversation device where it is then converted from an entirely digital format to an analog format suitable for transmission.
  • the receive (demodulation) chain performs the reverse functionality as the transmit (modulation) chain.
  • the PROCn processes can be any function that is desired in any order for providing the various stages of waveform processing within the cloud computing environment.
  • the receive section can operate with a previously digitized waveform from another source in the cloud computing environment.
  • the input on the bottom row, right side shows the first step is to perform gain control and is performed by a hardware device to add amplification or attenuation. This function replaces the gain/attenuation control provided by a hardware device, and is replaced by an application/process by a high-level software language (OpenCL) and is supported by the HPC architecture.
  • OpenCL high-level software language
  • the next step is to perform the demodulation of the incoming stream into de-mapped data bits. This step is performed by an ASIC or FPGA using a HDL language, and is replaced by an application/process, a high-level software language (OpenCL) and is supported by the HPC architecture.
  • the next step is to pass the stream to a FEC decoder.
  • FEC decoding is a hardware intensive function and it typically carried out by an ASIC or FPGA using a HDL language, and is replaced by an application/process, a high-level software language (OpenCL) and is supported by the HPC architecture.
  • the next step is to verify the integrity of the data via error checking and is performed by an ASIC, FPGA using a HDL language, or a system processor, and is replaced by an application/process, a high-level software language (OpenCL) and is supported by the HPC architecture.
  • the next step is to de-frame the frames and remove any control and error checking overhead bits and pass to the user as digital stream, and is typically provided by an ASIC or FPGA using an HDL language or a system processor, and is replaced by an application/process, a high-level software language (OpenCL) and is supported by the HPC architecture.
  • OpenCL high-level software language
  • FIG. 8 shows an alternate embodiment, an edge device Analog to Digital Converter (ADC) has accepted an incoming analog waveform and digitized the signal or the signal was received over a digital stream such as Ethernet (frames) and IP (packets) before passing the digitized waveform into the cloud computing environment.
  • ADC Analog to Digital Converter
  • FIG. 7 shows an alternate embodiment where the processes may be supported by a separate processor (hardware or virtual) in them physical location or different location, using the same HPC architecture or different architecture, and same or different CPU architectures.
  • FIG. 9 represents an edge device supporting the distributed processing of FIG. 7 . It is noteworthy, the architectures of FIGS. 4, 6, 7, 8, 9, 10, and 11 showing the processing of the waveform may be completely flexible.
  • FIG. 10 shows the novelty of the invention where all processes are distributed throughout the cloud computing environment.
  • Flow 1 represents the user network data entering the network containing the cloud computing architecture. It may be assumed user data is encapsulated as Ethernet (frames) and IP (packets).
  • PROC 1 provides the framing into a suitable transport frame with header information (control bytes, sequence number, type information, etc.) and error checking is added.
  • FIG. 10 shows the novelty of the invention where all processes are distributed throughout the cloud computing environment.
  • Flow 1 represents the user network data entering the network containing the cloud computing architecture. It may be assumed user data is encapsulated as Ethernet (frames) and IP (packets).
  • PROC 1 provides the framing into a suitable transport frame with header information (control bytes, sequence number, type information, etc.) and error checking is added.
  • FIG. 10 shows the novelty of the invention where all processes are distributed throughout the cloud computing environment.
  • Flow 1 represents the user network data entering the network containing the cloud computing architecture. It may
  • Flow 2 directs the formatted network data from PROC 1 to process PROC 2 provides the Forward Error Correction (FEC) information for data recover at the distant end.
  • FEC Forward Error Correction
  • Flow 3 directs the waveform with FEC information from PROC 2 to process PROC 3 where the data is then taken from a parallel format to a serial format.
  • Flow 4 directs the waveform data in serial format from PROC 3 to process PROC 4 then accepts the waveform data and then performs the mapping of the bits into symbols to create a waveform constellation as modulated data.
  • Flow 5 directs the modulated data from PROC 4 to process PROC 5 then accepts the modulated data and then performs proper filtering and pulse shaping.
  • Flow 6 directs the pulse shaped waveform data from PROC 5 to an edge device where it is accepted and transmitted to over an IF or RF radio link.
  • Each of the processes PROC 1 to PROCn are shown as representations of the ability to process a waveform and is not meant to show the exact sequence or process how any one waveform would be processed.
  • additional process such as encryption, decryption, and transport security (TRANSEC) may exist as a module that would be represented as an PROCn process.
  • TRANSEC transport security
  • the entire waveform creation, processing, manipulation, etc. that is traditionally supported by a purpose built device or a semi-purpose built hardware platform to support a software defined modem (SDM) or software defined radio (SDR) that relies on purpose or semi-purpose built hardware can be entirely replaced by a cloud computing application implemented in a high-level coding language such as, but not limited to OpenCL or starting with an ISO C99 high-level programming language such as C, C++, etc. and converting to OpenCL (or similar language).
  • a high-level coding language such as, but not limited to OpenCL or starting with an ISO C99 high-level programming language such as C, C++, etc. and converting to OpenCL (or similar language).
  • Any and all functions that could be supported by a propose built modulator, demodulator, or modem can be created or represented as a high-level programming language and supported on a HPC device inside a cloud computing environment.
  • the entire architecture may be supported as a 100% digital waveform representation that is supported by a single hardware server with all processes being brought to bear on the waveform to form a modulator, demodulator, modulator/demodulator (Modem) or passed server to server and a process (one or more) acts on the waveform as it traverses the cloud computing environment.
  • the PROC 1 , PROC 2 , PROC 3 , . . . PROCn are functional blocks or algorithms running on the CPU ( ⁇ 86) or any one of the hardware acceleration units, such as FPGA, GPU, or DSP, that combined constitute the implementation of a communications waveform.
  • the functional blocks are targeted for particular HPC resource according to the performance profiling of the waveform, which identifies algorithms that need to be hardware accelerated to achieve performance comparable to purpose built hardware.
  • the entire waveform creation, processing, manipulation, etc. that is traditionally supported by a purpose built device or a semi-purpose built hardware platform to support an SDM or SDR can be entirely replaced with a cloud computing application implemented in a high-level coding language such as, but not limited to OpenCL or starting with C, C++, etc. and converting to OpenCL (or similar language) and each processing function.
  • a high-level coding language such as, but not limited to OpenCL or starting with C, C++, etc. and converting to OpenCL (or similar language) and each processing function.
  • Any and all functions that could be supported by a propose built modulator, demodulator, or demodulator can be created or represented as a high-level programming language and supported on a HPC device inside a cloud computing environment.
  • an edge device may be used to perform the conversion to and from an analog format.
  • the resulting all-digital waveform would be converted from all-digital to an analog format by the edge device by a hardware device known as a Digital to Analog Convert (DAC).
  • DAC Digital to Analog Convert
  • ADC Analog to Digital Converter
  • the interface between the final cloud computing module and the edge device requires a framing format that provides for ensuring the messages being sent between the cloud computing environment and the edge device are:
  • a user requires data to be passed to an end satellite station.
  • a flow is created to encapsulate the user data for transport over the network as Ethernet frames and/or IP packets to the data center.
  • the IP cores processes
  • All components that comprise a complete digital modem are established and initialized and digital sampled I/Q waveform data connection is established to a satellite teleport with all-digital I/Q capability.
  • the end user of the required data is located at the end of a satellite link.
  • a repeating relay satellite enables communications between the satellite teleport and end satellite receiving station.
  • the all software digital modem (created by the cloud computing IP cores application/process) is enabled and a communications path is established to the end user and the data is transferred.
  • a return path may be established from the end user satellite terminal where a communications path back from the remote satellite terminal, over the satellite, to the satellite earth station, and the digital I/Q waveform stream is received, demodulated, decoded, error checked, possibly decrypted, and passed to the original data user.
  • a user requires data to be passed to an end tactical radio user.
  • a flow is created to encapsulate and transport user data to the data center.
  • the IP cores applications/processes
  • All components that comprise a complete digital modem are established and initialized and digital I/Q waveform connection is established to a tactical radio base station with all-digital I/Q waveform capability.
  • the end user of the required data is located at the end of tactical radio link.
  • a line of site communications path allows communications between the base station and end radio user.
  • the all software digital modem (created by the cloud computing IP cores applications/processes) is enabled and a communications path is established to the end user and the data is transferred.
  • a return path may be established from the end user tactical radio where a communications path back from the remote tactical radio (hand held user), over free space, to the tactical radio base station, and the digital I/Q stream is received, demodulated, decoded, error checked, possibly decrypted, and passed to the original data user.
  • a user requires data to be passed to an end satellite station.
  • a flow is created to encapsulate and transport the user data as Ethernet frames and/or IP packets over the network to the data center.
  • the IP cores applications/processes
  • All components that comprise a complete digital modem are established and initialized and digital I/Q waveform data connection is established to an edge device supporting satellite communications via digital sampled I/Q data capability.
  • the end user of the required data is located at the end of a satellite link.
  • a repeating relay satellite enables communications between the edge device supporting satellite capabilities and end satellite receiving station.
  • the all software digital modem (created by the cloud computing IP cores) is enabled and a communications path is established to the end user and the data is transferred.
  • a return path may be established from the end user satellite terminal where a communications path back from the remote satellite terminal, over the satellite, to the edge device with satellite capabilities, and the digital I/Q stream is received, demodulated, decoded, error checked, possibly decrypted, and passed to the original data user.
  • a user requires data to be passed to an end tactical radio user.
  • a flow is created to encapsulate and transport the user data as Ethernet frames and/or IP packets over the network to the data center.
  • the IP cores applications/processes
  • All components that comprise a complete digital modem are established and initialized and digital I/Q waveform data connection is established to an edge device supporting a tactical radio with all-digital sampled I/Q capability.
  • the end user of the required data is located at the end of tactical radio link.
  • a line of site communications path allows communications between the edge device supporting tactical radio capabilities and end radio user.
  • the all software digital modem (created by the cloud computing IP cores) is enabled and a communications path is established to the end user and the data is transferred.
  • a return path may be established from the end user tactical radio where a communications path back from the remote tactical radio (hand held user), over free space, to the edge device supporting tactical radio capabilities, and the digital I/Q stream is received, demodulated, decoded, error checked, possibly decrypted, and passed to the original data user.

Abstract

An all-digital software-only modem using distributed processing resources of cloud computing is provided. In particular, all processes that were previously supported by purpose built software, firmware, Field Programmable Gate Array (FPGA) hardware description language (HDL) firmware, and an Application Specific Integrated Circuit (ASIC) are in the instant disclosure supported entirely by a High Performance Computing (HPC) server inside a cloud computing environment.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a Non-Provisional patent application which claims priority to U.S. Provisional Application No. 62/523,713, filed 22 Jun. 2017, the disclosure of which is incorporated in its entirety herein by reference.
  • BACKGROUND
  • Since the introduction of communications, a purpose built device known as a modulator/demodulator or as commonly known as a “modem” is utilized to accept user information, modulate the user data into a format known as a waveform and transmit over a medium. Conversely, a modem contains the ability to receive a modulated waveform and demodulate the waveform to the original user data at the receiving end. The combined collection of a modulator, transmission medium, and demodulator is known in the art as a communications path. Traditionally, a modem is a purpose built device using specialized parts with specialized software and/or firmware to create a modem. As of the last few years, a new concept known as a software defined modem (SDM) has entered practice using a relatively generic printed circuit board (PCB) set with a general modulator and demodulator board with the intent that a general processor can support a software package on a somewhat generalized modem set to create a modem.
  • FIELD
  • The described invention uses an “all software” approach for the creation of a modem within the distributed computing fabric known as “cloud computing” that is supported with commercial off the shelf (COTS) hardware know as High Performance Computing (HPC) servers. The HPC architectures are now being supported by the distributed processing companies such as Amazon Web Services (AWS), Google Cloud Computing, Microsoft's Azure, etc. The architectures being supported by the cloud computing companies are also known to support or enable software defined networking (SDN). The method described provides the ability for someone skilled in the art, e.g., a software architect, network engineer, or modem designer to understand the concepts described in this disclosure.
  • RELATED ART
  • This disclosure relates to methods of describing a modulator and/or demodulator (modem) that is created using a high-level programming language such as OpenCL, C, C++, etc. and implementing the high-level programming language as an application on a cloud-based HPC platform within a distributed computing architecture. The described methods provide the description of how an all software modem can be created using a high-level computing language, and supported in a cloud-based architecture for the creation of a communications waveform using an all-digital computing device. The described method can be utilized to provide similar or higher performance in every aspect of a hardware or dedicated (purpose built) modem or a software defined modem (SDM) using the processing resources available within a cloud-based processing architecture. Furthermore, the described approach can perform the waveform processing in real time.
  • In the prior art, a typical communications modem that supports a communications link for satellite, tactical radio, or terrestrial communications is comprised of a user data interface and accepts user data in the form of a digital stream utilizing various synchronous and asynchronous formats and protocols. The modulator portion of the modem accepts the user data and performs the process of modulating the data into a signal that is suitable for the transmission medium. The actual process of the transformation from the user data to the modulated signal is carried out by a purpose-built piece of hardware consisting of discrete components, logic devices, and low-level programming language to provide the directives for the hardware to accomplish the steps required to create the final waveform to be transmitted over the transmission medium. Conversely, the demodulator portion of the modem performs the reverse process—again, all carried out by a purpose built piece of hardware consisting of discrete components, logic devices, and low-level programming language to provide the directives for the hardware to accomplish the steps required to accept a waveform over the transmission medium and perform the steps to return the user data.
  • The present disclosure covers how the steps required to accomplish the modulation of user data in the form of Ethernet frames and IP packets may be accomplish in an all-digital cloud computing environment using COTS processing hardware without the need of any purpose-built hardware. The entire modulation and demodulation process that comprises a modem, may be accomplished in an all software modem using cloud computing fabric that would be used for a SDN network.
  • BRIEF SUMMARY
  • This disclosure relates to, but is not limited to, providing an all-digital software only modem using the resources distributed processing resources of cloud computing. Traditionally, a typical communications modem that supports a communications link for satellite, tactical radio, or terrestrial link is comprised of a network user interface and accepts user data in the form of a digital stream utilizing various synchronous and asynchronous protocols. The modulator portion of the modem accepts the user data and performs the process of modulating the data into a format that is suitable for the transmission medium. The actual process of the transformation from the user data to the modulated stream is carried out by a purpose-built piece of hardware consisting of discrete components, logic devices, and low-level programming language to provide the directives for the hardware to accomplish the steps required to create the final waveform to be transmitted over the transmission medium. Conversely, the demodulator portion of the modem performs the reverse process—again, all carried out by a purpose-built piece of hardware consisting of discrete components, logic devices, and low-level programming language to provide the directives for the hardware to accomplish the steps required to accept a waveform over the transmission medium and perform the steps to return the user data back to the digital stream.
  • The disclosed invention uses the described techniques and results in one or more descriptions to support the creation and manipulation of an all software digital modem using the distributed nature of the cloud computing fabric using the resources available today and planned for the future. The cloud computing fabric is also utilized to provide resources for software defined networking.
  • Particular implementations described herein are and may use, but is not limited to programs, computer programming languages, microprocessors, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), and combinations of CPUs and FPGAs to form High Performance Computing (HPC) servers.
  • Aspects of this disclosure relate to a method and system for creating an all software digital modem using the distributed processing resources of cloud computing.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows the prior art using purpose built modulator and demodulator hardware for supporting a waveform.
  • FIG. 2 shows the prior art using purpose built combination modulator and demodulator (modem) hardware for supporting a waveform.
  • FIG. 3 shows the prior art of a modem's components to support the modulation and demodulation capabilities with purpose built hardware.
  • FIG. 4 shows the cloud computing fabric containing servers (processors), storage, applications, etc.
  • FIG. 5 shows the next generation HPC server technology containing a CPU/GPU and hardware acceleration card.
  • FIG. 6 shows the described invention with all modem processes (PROC1, PROC2, and PROC3) being supported by a single cloud computing server.
  • FIG. 7 shows the described invention with all modem processes (PROC1, PROC2, and PROC3) being supported by a multiple cloud computing server lower left (PROC1), lower center server (PROC2), and lower right server (PROC3).
  • FIG. 8 shows the described invention with all modem processes (PROC1, PROC2, PROC3, and PROCn) being supported by a single cloud computing server and passed to an edge device for converting the digital stream of modulated signal created in the cloud computing environment passed to an edge processing device.
  • FIG. 9 shows the described invention with all modem processes (PROC1, PROC2, and PROC3) being supported by a multiple cloud computing server lower left (PROC1), lower center server (PROC2), and lower right server (PROC3), and several applications/processes being supported on other servers for PROC4 and PROC5) and passed to an edge device for converting the digital stream of modulated signal created in the cloud computing environment for transmission over the medium.
  • FIG. 10 shows the described invention with all modem processes (PROC1 to PROC5 for the forward return path) being supported by a multiple cloud computing servers with flows between each of the processes residing on multiple servers distributed throughout the cloud.
  • FIG. 11 shows the described invention with all modem processes (PROC1 to PROC5 for the forward path and PROCA to PROCC for the return path) being supported by multiple cloud computing servers with flows between each of the processes residing on multiple servers distributed throughout the cloud.
  • DETAILED DESCRIPTION
  • This disclosure, its aspects and implementations, are not limited to the specific processing techniques, components, modulation formats, frequency examples, or methods disclosed herein. Many additional components and assembly procedures known in the art consistent with the creation and manipulation of a waveform by a modulator and demodulator (modem) are in use with particular implementations from this disclosure. Accordingly, for example, although particular implementations are disclosed, such implementations and implementing components may comprise any components, models, versions, quantities, and/or the like as is known in the art for such systems and implementing components, consistent with the intended operation.
  • Particular implementations of an all software digital modem as an application using cloud computing resources for a communications system is described. However, as will be clear to those of ordinary skill in the art from this disclosure, the principles and aspects disclosed herein may readily be applied to any modulation, demodulation, and modulation/demodulation device known hereafter as a modem for the creation of a waveform to be carried over a transmission medium for Intermediate Frequency (IF), Radio Frequency (RF), and optical communications systems, such satellite, tactical radio, and terrestrial transmission without undue experimentation.
  • FIG. 1 illustrates the prior art of a particular implementation of a communications transmission system wherein the forward path (transmitting station to a receiving station) where transmit station contains a transmit modulator and the receiver contains a receiving demodulator. The modem in the prior art is a purpose-built device, typically a dedicated “box” that transmits and is called a modulator. The modulator outputs either an intermediate frequency (IF) that may be unconverted to a radio frequency (RF) or directly output from the modulator as a radio frequency, possibly power amplified, and transmitted through free-space, to an airborne, or satellite repeating relay. At the receiving station, the receive modem in the prior art is a purpose-built device, typically a dedicated “box” that receives and is called a demodulator. The demodulator receives (inputs) either an intermediate frequency (IF) that may be down converted from a radio frequency (RF) or directly input from the receive antenna as a radio frequency signal.
  • FIG. 2 Is an alternate embodiment, of the prior art where the modulator and demodulator are combined in a single device known as a modulator/demodulator also known as a modem. As a modem, each station may contain a modem that provides both transmit and receive capability, modulation and demodulation, respectively. The modem at each station may provide a full-duplex communications path.
  • FIG. 3 shows the prior art with each component of a purpose-built modem using specialized hardware that comprises both the transmit or modulation path, and the receive or demodulation path. The individual processing modules as specialized hardware devices and processing modules written in a low-level specialized hardware description language (HDL) is shown.
  • For the specialized box that is shown in FIG. 3, the top row of boxes (functions) show the various stages that are required to accept user data which is in many cases, but not limited to Ethernet (frames) and IP (packets). The user data is then accepted as bytes of data into an Application Specific Integrated Circuit (ASIC), FPGA using a HDL language, where it is framed into a suitable transport frame with header information (control bytes, sequence number, type information, etc.) and error checking is added. The next stage is the data is encoded with Forward Error Correction (FEC) information for data recover at the distant end. In many implementations, this function is a dedicated hardware device or an ASIC. In the next stage, the data is then taken from a parallel format to a serial format by a firmware function such as an ASIC or FPGA using a HDL language. The next section accepts the serial data stream and then performs the mapping of the bits into symbols to create a waveform constellation as modulated data. The modulated data is then filtered (pulse shaped) with a digital filter implemented in an ASIC or FPGA using a HDL language. In the specialized modulator or modulator section of a modem, the output then flows to a Digital to Analog Converter (DAC) or to a digital output stream to another stage of processing via Ethernet (frames) and IP (packets). The entire process must pass between multiple technologies of ASIC, FPGA using a HDL language, discrete components, etc. before a final waveform has been created. Continuing with FIG. 3, the receive (demodulation) chain, performs the reverse functionality as the transmit (modulation) chain. First it is assumed an Analog to Digital Converter (ADC) has accepted an incoming analog waveform and digitized the signal or the signal was received over a digital stream such as Ethernet (frames) and IP (packets). The input on the bottom row, right side show the first step is to perform gain control and is performed by a hardware device to add amplification or attenuation. The next step is to perform the demodulation of the incoming stream into de-mapped data bits. This step is performed by an ASIC or FPGA using a HDL language. The next step is to pass the stream to a FEC decoder. FEC decoding is a hardware intensive function and it typically carried out by an ASIC or FPGA using a HDL language. The next step is to verify the integrity of the data via error checking and is performed by an ASIC, FPGA using a HDL language, or a system processor. The next step is to de-frame the frames and remove any control and error checking overhead bits and pass to the user the recovered digital stream.
  • As shown in FIG. 3, the entire configuration of the modem is controlled by a system controller. The system processor is a dedicated hardware device that controls the entire modem. The system controller (control processor) manages the entire unit's health, status, configuration, setup, error checking and in many cases performs the user interface.
  • FIG. 3 can also be used to describe a new technique called Software Defined Modem (SDM) or Software Defined Radio (SDR). Similar to a dedicated modem, the SDR technology supported by GNU Radio and companies such as Ettus Research, these are dedicated hardware boards that are purpose built to support many types of waveforms, but ultimately rely on a dedicated/purpose built piece of processing hardware to support waveform processing.
  • FIG. 4 shows the high-level representation of cloud computing environment. As shown, the cloud computing or distributed processing architecture has moved all processing, applications, and storage into the cloud. Companies such as Amazon Web Services (AWS), Microsoft Azure, Google Cloud Computing, etc. are developing massive infrastructures as depicted in FIG. 4, and is commonly called a SDN.
  • FIG. 5 shows the next generation server/processor architecture. No longer can CPU/GPU based PC's processors keep up with the processing demands of the user data/information required to be handled by the Internet. Instead, the cloud computing providers are adding hardware assisted modules to their servers, e.g. Amazon Web Services F1 architecture as well Microsoft's Azure. These new HPC architectures with hardware assist now offer the hardware acceleration capabilities to support real-time high-speed processing for SDN environments. With these new hardware processing enhancements, a new computing language has been introduced called OpenCL. OpenCL has been introduced to allow the code to be written in a high level of abstraction that is hardware agnostic, and can take advantage of hardware acceleration technology in servers in a distributed computing environment. The described invention uses OpenCL, but any high-level language capable of supporting the combined processing of a CPU/GPU with hardware assistance would be covered by covered by the described invention.
  • FIG. 6 shows the novelty of the invention where all processes that are supported by purpose built software, firmware, FPGA HDL firmware, and an ASIC are being supported entirely by a the HPC server inside the cloud computing environment. The processes shown on FIG. 6 PROC1, PROC2, and PROC3 are representations of the various modem processes. It should be noted the PROC1, PROC2, PROC3, . . . PROCn (processes and/or applications) are functional blocks or algorithms running on the CPU (×86) or any one of the hardware acceleration units, such as FPGA, GPU, or DSP, that combined constitute the implementation of a communications waveform. The functional blocks are targeted for particular HPC resource according to the performance profiling of the waveform, which identifies algorithms that need to be hardware accelerated to achieve performance comparable to purpose bunt hardware. The process representing the modem processes/applications are as follows:
  • It may be assumed user data is already available inside the cloud computing environment as Ethernet (frames) and IP (packets) and are directed to the modem processes as follows:
  • PROC1 (application/process) provides the framing into a suitable transport frame with header information (control bytes, sequence number, type information, etc.) and error checking is added.
  • PROC2 data is encoded with Forward Error Correction (FEC) information for bit error correction at the receiver. This function replaces the dedicated hardware device or an ASIC and is entirely supported by a high-level software language (i.e. OpenCL) and by the HPC architecture.
  • PROC3 the data is then taken from a parallel format to a serial format. This replaces the firmware function supported by an ASIC or FPGA using a HDL language with a function known as a serializer and is entirely supported by a high-level software language (OpenCL) targeting the HPC architecture.
  • PROCn (where n is the nth order process of a multiple processing architecture) then accepts the serial data stream and then performs the mapping of the bits into symbols to create a waveform constellation as modulated data.
  • PROCn+1 function replaces the digital filter implemented in an ASIC or FPGA using a HDL language and is entirely supported by a high-level software language (OpenCL) and is supported by the HPC architecture.
  • In the specialized modulator or modulator section of a modem, the output then flows to a Digital to Analog Converter (DAC) or to a digital output stream to another stage of processing via Ethernet (frames) and IP (packets). FIG. 8 is an alternate embodiment, an edge device can be placed on the edge of the cloud computing architecture, and egresses to a conversation device where it is then converted from an entirely digital format to an analog format suitable for transmission.
  • Continuing with FIG. 6, the receive (demodulation) chain, performs the reverse functionality as the transmit (modulation) chain. In FIG. 6, the PROCn processes can be any function that is desired in any order for providing the various stages of waveform processing within the cloud computing environment. As previously described, the receive section can operate with a previously digitized waveform from another source in the cloud computing environment. As shown in FIG. 3, the input on the bottom row, right side shows the first step is to perform gain control and is performed by a hardware device to add amplification or attenuation. This function replaces the gain/attenuation control provided by a hardware device, and is replaced by an application/process by a high-level software language (OpenCL) and is supported by the HPC architecture. The next step is to perform the demodulation of the incoming stream into de-mapped data bits. This step is performed by an ASIC or FPGA using a HDL language, and is replaced by an application/process, a high-level software language (OpenCL) and is supported by the HPC architecture. The next step is to pass the stream to a FEC decoder. FEC decoding is a hardware intensive function and it typically carried out by an ASIC or FPGA using a HDL language, and is replaced by an application/process, a high-level software language (OpenCL) and is supported by the HPC architecture. The next step is to verify the integrity of the data via error checking and is performed by an ASIC, FPGA using a HDL language, or a system processor, and is replaced by an application/process, a high-level software language (OpenCL) and is supported by the HPC architecture. The next step is to de-frame the frames and remove any control and error checking overhead bits and pass to the user as digital stream, and is typically provided by an ASIC or FPGA using an HDL language or a system processor, and is replaced by an application/process, a high-level software language (OpenCL) and is supported by the HPC architecture.
  • FIG. 8 shows an alternate embodiment, an edge device Analog to Digital Converter (ADC) has accepted an incoming analog waveform and digitized the signal or the signal was received over a digital stream such as Ethernet (frames) and IP (packets) before passing the digitized waveform into the cloud computing environment.
  • FIG. 7 shows an alternate embodiment where the processes may be supported by a separate processor (hardware or virtual) in them physical location or different location, using the same HPC architecture or different architecture, and same or different CPU architectures. FIG. 9 represents an edge device supporting the distributed processing of FIG. 7. It is noteworthy, the architectures of FIGS. 4, 6, 7, 8, 9, 10, and 11 showing the processing of the waveform may be completely flexible.
  • FIG. 10 shows the novelty of the invention where all processes are distributed throughout the cloud computing environment. Flow 1 represents the user network data entering the network containing the cloud computing architecture. It may be assumed user data is encapsulated as Ethernet (frames) and IP (packets). PROC1 provides the framing into a suitable transport frame with header information (control bytes, sequence number, type information, etc.) and error checking is added. FIG. 10 does not explicitly show a timing process, but the network packets being passed between each of the servers and processes in the cloud computing environment must have a timestamp for all packets, so it is clearly understood that in the control header of the all the information being moved from process to process has a high-resolution time stamp that maybe used such, but not limited to, the Real Time Protocol (RTP), etc.
  • Flow 2 directs the formatted network data from PROC1 to process PROC2 provides the Forward Error Correction (FEC) information for data recover at the distant end.
  • Flow 3 directs the waveform with FEC information from PROC2 to process PROC3 where the data is then taken from a parallel format to a serial format.
  • Flow 4 directs the waveform data in serial format from PROC3 to process PROC4 then accepts the waveform data and then performs the mapping of the bits into symbols to create a waveform constellation as modulated data.
  • Flow 5 directs the modulated data from PROC4 to process PROC5 then accepts the modulated data and then performs proper filtering and pulse shaping.
  • Flow 6 directs the pulse shaped waveform data from PROC5 to an edge device where it is accepted and transmitted to over an IF or RF radio link.
  • Each of the processes PROC1 to PROCn are shown as representations of the ability to process a waveform and is not meant to show the exact sequence or process how any one waveform would be processed. In many cases, additional process such as encryption, decryption, and transport security (TRANSEC) may exist as a module that would be represented as an PROCn process.
  • In a preferred embodiment, the entire waveform creation, processing, manipulation, etc. that is traditionally supported by a purpose built device or a semi-purpose built hardware platform to support a software defined modem (SDM) or software defined radio (SDR) that relies on purpose or semi-purpose built hardware can be entirely replaced by a cloud computing application implemented in a high-level coding language such as, but not limited to OpenCL or starting with an ISO C99 high-level programming language such as C, C++, etc. and converting to OpenCL (or similar language). Any and all functions that could be supported by a propose built modulator, demodulator, or modem can be created or represented as a high-level programming language and supported on a HPC device inside a cloud computing environment. The entire architecture may be supported as a 100% digital waveform representation that is supported by a single hardware server with all processes being brought to bear on the waveform to form a modulator, demodulator, modulator/demodulator (Modem) or passed server to server and a process (one or more) acts on the waveform as it traverses the cloud computing environment. It should be noted that the PROC1, PROC2, PROC3, . . . PROCn (processes and/or applications) are functional blocks or algorithms running on the CPU (×86) or any one of the hardware acceleration units, such as FPGA, GPU, or DSP, that combined constitute the implementation of a communications waveform. The functional blocks are targeted for particular HPC resource according to the performance profiling of the waveform, which identifies algorithms that need to be hardware accelerated to achieve performance comparable to purpose built hardware.
  • The benefits of the described invention over the purpose built modem or purpose built SDR board is as follows:
      • Provides a resilient architecture—if a path becomes compromised, the path is rerouted through additional resources with the cloud computing environment.
      • Provides redundant waveform processing resources—if a path or server becomes unavailable, it is rerouted through additional resources with the cloud computing environment.
      • Provides nearly unlimited waveform processing power—if a waveform being processed reaches the limit of processing on a server, then the resources of another server or servers within the cloud computing environment.
      • Provides ephemeral operation—if the waveform process is only required for use for brief period of time, the waveform may be processed and torn down forever, brief period of time (repeated), or moved to a new location.
      • Provides an abstracted hardware platform—the high-level waveform processing may be performed in a manner that is not dependent on the hardware resources of a particular server or manufacturer's technology.
      • Provides a secure processing environment—the specifics, complexities, and resources are not exposed to the outside world and are not able to be physically stolen or exposed to an unfriendly person, organization, or adversary
  • In an alternate embodiment, the entire waveform creation, processing, manipulation, etc. that is traditionally supported by a purpose built device or a semi-purpose built hardware platform to support an SDM or SDR can be entirely replaced with a cloud computing application implemented in a high-level coding language such as, but not limited to OpenCL or starting with C, C++, etc. and converting to OpenCL (or similar language) and each processing function. Any and all functions that could be supported by a propose built modulator, demodulator, or demodulator can be created or represented as a high-level programming language and supported on a HPC device inside a cloud computing environment. At the end of the waveform creation or waveform reception, an edge device may be used to perform the conversion to and from an analog format. For the transmit chain, the resulting all-digital waveform would be converted from all-digital to an analog format by the edge device by a hardware device known as a Digital to Analog Convert (DAC). Conversely, for the receive chain, the edge device would receive an analog signal and then cover the analog signal to digital with a hardware device known as an Analog to Digital Converter (ADC). Once the conversion process has been performed, the entire process and flow would be as is described in this disclosure.
  • The interface between the final cloud computing module and the edge device requires a framing format that provides for ensuring the messages being sent between the cloud computing environment and the edge device are:
      • Directed to the correct destination or received from a known edge device
      • Error free operation which may require FEC protection on the data flow
      • Sequential order of all data with no missing or out of order frames/packets
      • Time stamping of all data or a known amount of time/delay can be accounted for to ensure frames/packets containing digital waveform I/Q data are not arriving too late or overflowing
      • Encrypted data flows may be utilized
      • A flow control mechanism may be utilized to slow down or speed up the passing of digital I/Q data
  • The benefits the described invention over the purpose built modem or purpose built SDR board is as follows:
      • Provides an edge device that can be placed at any location with access to the Internet or cloud edge.
      • Provides an architecture that scales as the processing technology improves. The edge device is simply a conversion device and will convert a waveform encoded as a digital stream (I/Q samples) to or from the final analog format. The complexity of the waveform processing remains within the cloud computing fabric.
      • Provides a secure processing environment—only the modulated digital I/Q waveform data is required to pass to and from the edge device while the complexities and resources are not exposed to the outside world and are not able to be physically stolen or exposed to an unfriendly person, organization, or adversary.
    EXAMPLES
  • The following are particular implementations with optimization techniques for all-digital cloud computing modem and the use of these methods are provided as non-limiting examples.
  • Example 1
  • A user requires data to be passed to an end satellite station. Using the described invention, a flow is created to encapsulate the user data for transport over the network as Ethernet frames and/or IP packets to the data center. Furthermore, the IP cores (processes) are distributed throughout the cloud computing environment. All components that comprise a complete digital modem are established and initialized and digital sampled I/Q waveform data connection is established to a satellite teleport with all-digital I/Q capability. The end user of the required data is located at the end of a satellite link. A repeating relay satellite enables communications between the satellite teleport and end satellite receiving station. The all software digital modem (created by the cloud computing IP cores application/process) is enabled and a communications path is established to the end user and the data is transferred.
  • Example 2
  • In particular implementations of the system described in example 1, a return path may be established from the end user satellite terminal where a communications path back from the remote satellite terminal, over the satellite, to the satellite earth station, and the digital I/Q waveform stream is received, demodulated, decoded, error checked, possibly decrypted, and passed to the original data user.
  • Example 3
  • A user requires data to be passed to an end tactical radio user. Using the described invention, a flow is created to encapsulate and transport user data to the data center. Furthermore, the IP cores (applications/processes) are distributed throughout the cloud computing environment. All components that comprise a complete digital modem are established and initialized and digital I/Q waveform connection is established to a tactical radio base station with all-digital I/Q waveform capability. The end user of the required data is located at the end of tactical radio link. A line of site communications path allows communications between the base station and end radio user. The all software digital modem (created by the cloud computing IP cores applications/processes) is enabled and a communications path is established to the end user and the data is transferred.
  • Example 4
  • In particular implementations of the system described in example 3, a return path may be established from the end user tactical radio where a communications path back from the remote tactical radio (hand held user), over free space, to the tactical radio base station, and the digital I/Q stream is received, demodulated, decoded, error checked, possibly decrypted, and passed to the original data user.
  • Example 5
  • A user requires data to be passed to an end satellite station. Using the described invention, a flow is created to encapsulate and transport the user data as Ethernet frames and/or IP packets over the network to the data center. Furthermore, the IP cores (applications/processes) are distributed throughout the cloud computing environment. All components that comprise a complete digital modem are established and initialized and digital I/Q waveform data connection is established to an edge device supporting satellite communications via digital sampled I/Q data capability. The end user of the required data is located at the end of a satellite link. A repeating relay satellite enables communications between the edge device supporting satellite capabilities and end satellite receiving station. The all software digital modem (created by the cloud computing IP cores) is enabled and a communications path is established to the end user and the data is transferred.
  • Example 6
  • In particular implementations of the system described in example 5, a return path may be established from the end user satellite terminal where a communications path back from the remote satellite terminal, over the satellite, to the edge device with satellite capabilities, and the digital I/Q stream is received, demodulated, decoded, error checked, possibly decrypted, and passed to the original data user.
  • Example 7
  • A user requires data to be passed to an end tactical radio user. Using the described invention, a flow is created to encapsulate and transport the user data as Ethernet frames and/or IP packets over the network to the data center. Furthermore, the IP cores (applications/processes) are distributed throughout the cloud computing environment. All components that comprise a complete digital modem are established and initialized and digital I/Q waveform data connection is established to an edge device supporting a tactical radio with all-digital sampled I/Q capability. The end user of the required data is located at the end of tactical radio link. A line of site communications path allows communications between the edge device supporting tactical radio capabilities and end radio user. The all software digital modem (created by the cloud computing IP cores) is enabled and a communications path is established to the end user and the data is transferred.
  • Example 8
  • In particular implementations of the system described in example 7, a return path may be established from the end user tactical radio where a communications path back from the remote tactical radio (hand held user), over free space, to the edge device supporting tactical radio capabilities, and the digital I/Q stream is received, demodulated, decoded, error checked, possibly decrypted, and passed to the original data user.

Claims (16)

1. A cloud supported modem system comprising:
a modulation subsystem including;
a computer device programmed to accept user data as a framed user data stream;
a forward error correction application programmed to perform bit correction of said framed user data stream;
a format conversion application programmed to convert the user data from parallel to serial format;
a mapping application programmed to convert the serial formatted framed user data stream into a first modulated user data stream;
a filter application programmed to electronically filter the modulated user data stream; and,
a digital-to-analog converter configured to convert the modulated user data stream into a first analog modulated communication waveform;
wherein the digital waveform processing of the communication waveform, which includes the forward error correction application, the format conversion application, the mapping application, and the filter application are each programs written in high level programming language and supported by at least one High Performance Computing (HPC) server with at least one CPU and at least one hardware acceleration device in at least one cloud environment to achieve real-time processing;
a demodulation subsystem programmed to receive a second analog modulated communication waveform including:
an analog-to-digital signal converter configured to convert the second analog modulated communication waveform into a second modulated user data stream;
a gain/attenuation application;
a demodulation application programmed to convert the second modulated user data stream into demapped data bits;
a forward error correction (FEC) application;
an error checking application; and,
a deframing application programmed to remove the framing format of the second modulated user data stream;
wherein the digital waveform processing of the communication waveform, which includes the gain/attenuation application, the demodulation application, the forward error correction application, the error checking application, and the deframing application are each programs written in high level programming language and supported by a cloud environment utilizing at least one High Performance Computing (HPC) server and at least one hardware acceleration device to achieve real time processing in at least one cloud environment.
2. The cloud supported modem system of claim 1 further comprising an edge device, wherein said edge device transmits said first analog modulated communication waveform and receives said second analog modulated communication waveform.
3. The cloud supported modem system of claim 1 wherein the user data stream is received in real-time as network data from a user to be modulated by the cloud supported modem system.
4. The cloud supported modem system of claim 2 wherein the first modulated user data stream is a first stream of packetized digital I/Q samples; and,
wherein the first stream of I/Q samples are encapsulated in a frame format having frame header and forwarded in real time to the edge device.
5. The cloud supported modem system of claim 2 wherein the second modulated user data stream is a second stream of packetized digital I/Q samples received in real time from the edge device; wherein the second stream of packetized digital I/Q samples and demodulated by the demodulation subsystem to be forwarded in real time to a user.
6. The cloud supported modem system of claim 1 further comprising a storage device storing the user data wherein the user data stored in storage device is modulated by the modulation subsystem.
7. The cloud supported modem system of claim 4 further comprising a storage device storing the user data wherein the user data stored in storage device is modulated by the modulation subsystem.
8. The cloud supported modem system of claim 1 further comprising a storage device storing the second modulated user stream.
9. The cloud supported modem system of claim 5 further comprising a storage device storing the second modulated user stream wherein the second modulated user stream is stored as digitized I/Q samples.
10. The cloud supported modem system of claim 1 wherein each of the modulator subsystem, the demodulator subsystem, and a modem system in which the digital waveform processing of the communication waveform; is supported by a high performance computing (HPC) server using a single CPU.
11. The cloud supported modem system of claim 1 wherein each of the modulator subsystem, the demodulator subsystem, and the modem system waveform processing is supported is supported by an HPC using at least one CPU and at least one hardware acceleration device wherein the hardware acceleration device utilizes Field Programmable Gate Array (FPGA) technology.
12. The cloud supported modem system of claim 1 wherein each of the modulator subsystem, the demodulator subsystem, and a modem system digital waveform processing of the communication waveform”; is distributed across multiple HPC servers containing one or more CPUs and one or more hardware acceleration devices.
13. The cloud supported modem system of claim 1 further comprising an external clock reference, wherein the external clock reference is input to the modulating subsystem and the demodulating subsystem as a common network clock reference.
14. The cloud supported modem system of claim 2 further comprising an external clock reference, wherein the external clock reference is input to the modulating subsystem, the demodulating subsystem, and the edge device as a common network clock reference.
15. The cloud supported modem system of claim 1 wherein the applications of each of the modulator subsystem and the demodulating subsystem can support a plurality of first and second analog communication modulating waveforms.
16. The cloud supported modem system of claim 1 wherein OpenCL is used as the high-level language for each of the modulation applications and the demodulation applications.
US15/782,651 2017-06-22 2017-10-12 Distributed processing software based modem Active US10177952B1 (en)

Priority Applications (11)

Application Number Priority Date Filing Date Title
US15/782,651 US10177952B1 (en) 2017-06-22 2017-10-12 Distributed processing software based modem
CA3067390A CA3067390C (en) 2017-06-22 2018-06-20 Software based cloud computing modem
EP18820675.9A EP3643027B1 (en) 2017-06-22 2018-06-20 Software based cloud computing modulator/demodulator modem
CN201880042181.0A CN111052696A (en) 2017-06-22 2018-06-20 Software-based cloud computing modulator/demodulator or modem
PCT/US2018/038397 WO2018236942A1 (en) 2017-06-22 2018-06-20 Software based cloud computing modulator/demodulator modem
JP2020520187A JP7096885B2 (en) 2017-06-22 2018-06-20 Software-based cloud computing modulator / demodulator modem
AU2018288793A AU2018288793A1 (en) 2017-06-22 2018-06-20 Software based cloud computing modulator/demodulator modem
US16/213,569 US10397038B2 (en) 2017-06-22 2018-12-07 High performance computing (HPC) based modulator/demodulator modem
US16/456,322 US10505777B2 (en) 2017-06-22 2019-06-28 Software based cloud computing modulator / demodulator modem
IL271520A IL271520B (en) 2017-06-22 2019-12-18 Software based cloud computing modulator/demodulator modem
JP2022024129A JP7130159B2 (en) 2017-06-22 2022-02-18 Software-based cloud computing modulator/demodulator modem

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762523713P 2017-06-22 2017-06-22
US15/782,651 US10177952B1 (en) 2017-06-22 2017-10-12 Distributed processing software based modem

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/213,569 Continuation US10397038B2 (en) 2017-06-22 2018-12-07 High performance computing (HPC) based modulator/demodulator modem

Publications (2)

Publication Number Publication Date
US20180375709A1 true US20180375709A1 (en) 2018-12-27
US10177952B1 US10177952B1 (en) 2019-01-08

Family

ID=64693788

Family Applications (3)

Application Number Title Priority Date Filing Date
US15/782,651 Active US10177952B1 (en) 2017-06-22 2017-10-12 Distributed processing software based modem
US16/213,569 Expired - Fee Related US10397038B2 (en) 2017-06-22 2018-12-07 High performance computing (HPC) based modulator/demodulator modem
US16/456,322 Expired - Fee Related US10505777B2 (en) 2017-06-22 2019-06-28 Software based cloud computing modulator / demodulator modem

Family Applications After (2)

Application Number Title Priority Date Filing Date
US16/213,569 Expired - Fee Related US10397038B2 (en) 2017-06-22 2018-12-07 High performance computing (HPC) based modulator/demodulator modem
US16/456,322 Expired - Fee Related US10505777B2 (en) 2017-06-22 2019-06-28 Software based cloud computing modulator / demodulator modem

Country Status (8)

Country Link
US (3) US10177952B1 (en)
EP (1) EP3643027B1 (en)
JP (2) JP7096885B2 (en)
CN (1) CN111052696A (en)
AU (1) AU2018288793A1 (en)
CA (1) CA3067390C (en)
IL (1) IL271520B (en)
WO (1) WO2018236942A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10841145B1 (en) 2019-06-17 2020-11-17 Envistacom, Llc Multi-rotational waveform utilizing a plurality of transmission waveforms and transmission paths

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10790920B2 (en) 2018-12-21 2020-09-29 Kratos Integral Holdings, Llc System and method for processing signals using feed forward carrier and timing recovery
CN112584372B (en) * 2019-09-30 2022-05-03 深圳市优克联新技术有限公司 Resource allocation method and device, electronic equipment and storage medium
WO2022174045A1 (en) * 2021-02-12 2022-08-18 Envistacom, Llc Virtualized medium access ecosystem architecture and methods
CA3219471A1 (en) 2021-05-24 2022-12-01 Kratos Integral Holdings, Llc Systems and methods for post-detect combining of a plurality of downlink signals representative of a communication signal

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805195B2 (en) * 2007-07-16 2014-08-12 Ciena Corporation High-speed optical transceiver for InfiniBand and Ethernet
JP2000022710A (en) * 1998-07-03 2000-01-21 Fujitsu Ltd Path setting method, communication device and storage medium
US6728554B1 (en) * 2000-09-11 2004-04-27 International Systems, Llc Wireless communication network
US9893774B2 (en) 2001-04-26 2018-02-13 Genghiscomm Holdings, LLC Cloud radio access network
US8170576B2 (en) * 2006-11-15 2012-05-01 Shiquan Wu Network oriented spectrum sharing system
EP2154788B1 (en) * 2008-08-12 2017-06-28 Nxp B.V. Time accurate control of RF over a DigRF interface
US8089993B2 (en) 2008-09-09 2012-01-03 Nec Laboratories America, Inc. Sliceable router with packet over optical OFDM transmission
US8660057B2 (en) 2010-08-26 2014-02-25 Golba, Llc Method and system for distributed communication
US9025436B2 (en) * 2010-09-16 2015-05-05 Panasonic Intellectual Property Corporation Of America Terminal device and retransmission control method
EP2761972A4 (en) 2011-10-01 2015-08-12 Intel Corp Remote radio unit (rru) and base band unit (bbu)
WO2013125900A1 (en) * 2012-02-23 2013-08-29 엘지전자 주식회사 Method for performing handover in c-ran systems, and apparatus therefor
KR20140054948A (en) * 2012-10-30 2014-05-09 한국전자통신연구원 Tool composition for supporting opencl application software development for embedded system and method thereof
US9065699B2 (en) 2012-11-30 2015-06-23 Cognosos, Inc. Methods and systems for a distributed radio communications network
US20140376418A1 (en) 2013-06-25 2014-12-25 Raja Banerjea Enhanced modulator and demodulator
US10194311B2 (en) * 2013-09-13 2019-01-29 Lg Electronics Inc. Method for setting and updating tracking area in C-RAN and apparatus therefor
EP3146426A4 (en) * 2014-05-21 2018-01-03 Georgia State University Research Foundation, Inc. High-performance computing framework for cloud computing environments
US20160037505A1 (en) * 2014-07-31 2016-02-04 Purdue Research Foundation Digital radio system
US10064149B1 (en) 2015-05-17 2018-08-28 Kiomars Anvari Cloud based wireless network
US10263754B2 (en) * 2015-09-21 2019-04-16 Qualcomm Incorporated Wireless device architecture to support very-high-reliability (VHR) communication
US9813087B2 (en) * 2015-10-28 2017-11-07 Huawei Techonologies Co., Ltd. Clock tone power boosting
WO2017203534A1 (en) 2016-05-24 2017-11-30 Thotaka Tekhnologies India Private Ltd Simultaneous mimo communication system
US20170367277A1 (en) * 2016-06-27 2017-12-28 Rishi Mohindra Plant watering and communication system
US11055615B2 (en) 2016-12-07 2021-07-06 Arilou Information Security Technologies Ltd. System and method for using signal waveform analysis for detecting a change in a wired network
US10311002B2 (en) 2017-05-15 2019-06-04 International Business Machines Corporation Selectable peripheral logic in programmable apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10841145B1 (en) 2019-06-17 2020-11-17 Envistacom, Llc Multi-rotational waveform utilizing a plurality of transmission waveforms and transmission paths
WO2020257337A1 (en) * 2019-06-17 2020-12-24 Envistacom, Llc Multi-rotational waveform utilizing a plurality of transmission waveforms and transmission paths
EP3984134A4 (en) * 2019-06-17 2023-06-28 Apothym Technologies Group, LLC Multi-rotational waveform utilizing a plurality of transmission waveforms and transmission paths

Also Published As

Publication number Publication date
US10505777B2 (en) 2019-12-10
EP3643027A4 (en) 2020-06-17
WO2018236942A1 (en) 2018-12-27
EP3643027B1 (en) 2022-12-28
JP7096885B2 (en) 2022-07-06
IL271520A (en) 2020-02-27
US20190116077A1 (en) 2019-04-18
CA3067390A1 (en) 2018-12-27
IL271520B (en) 2020-08-31
US10177952B1 (en) 2019-01-08
CN111052696A (en) 2020-04-21
US10397038B2 (en) 2019-08-27
EP3643027A1 (en) 2020-04-29
AU2018288793A1 (en) 2020-01-16
JP7130159B2 (en) 2022-09-02
CA3067390C (en) 2021-06-01
JP2022065130A (en) 2022-04-26
US20190327122A1 (en) 2019-10-24
JP2020527921A (en) 2020-09-10

Similar Documents

Publication Publication Date Title
US10397038B2 (en) High performance computing (HPC) based modulator/demodulator modem
US11368437B2 (en) Method and apparatus for repercussion-free unidirectional transfer of data to a remote application server
Hogie et al. Using standard Internet Protocols and applications in space
CA2578856A1 (en) System and method for transmitting acars messages over a tcp/ip data communication link
CN110677432A (en) Network protocol internal proxy forwarding method, device, medium and terminal equipment
US20220278970A1 (en) Anonymous communication over virtual, modular and distributed satellite communications network
CN113841367A (en) Apparatus and method for remote direct data access
Criscuolo et al. Transport protocols and applications for Internet use in space
CN111448812A (en) Information transmission method, storage medium, information transmission system, and unmanned aerial vehicle
Hogie et al. Link and routing issues for Internet protocols in space
KR20160109126A (en) Data transmitting and receiving apparatus using the network coding in multiple transmission paths
US10841145B1 (en) Multi-rotational waveform utilizing a plurality of transmission waveforms and transmission paths
CN112313891A (en) Apparatus and method for transmitting side-channel bits over Ethernet cable
JP2017038256A (en) Station side optical termination device
US20210173041A1 (en) Software based cloud computing radar
CN116419041A (en) Audio and video stream transmission method and device, related equipment and storage medium
US20200280379A1 (en) Method and device for generating a transport stream, broadcast method and site, and computer program therefor
Alili Software Defined Radio Based Communications Subsystem for C3 Ground Control Station
US10079904B2 (en) Packet transfer system, relay device, packet transfer method, and program
KR102146478B1 (en) System and method for transmitting/receiving the message in maritime wireless communication system
WO2016074152A1 (en) Method and apparatus for processing differential clock recovery
Wallum et al. SEC_LAB: A Secure Communications Testbed for Space Missions
Nicewarner Implications of Internet Protocol on LEO Micro-Satellite Communication Links
Farzaneh et al. Building and controlling customizable satellite GS networks
Greene A concept for a transparent data acquisition and distribution system for spaceflight applications

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

AS Assignment

Owner name: FAST FIT TECHNOLOGIES, LLC, MARYLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEELER, MICHAEL;TOYSERKANI, KASRA;REEL/FRAME:043985/0267

Effective date: 20171014

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: ENVISTACOM, LLC, GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FAST FIT TECHNOLOGIES, LLC;REEL/FRAME:049631/0978

Effective date: 20190430

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 4

AS Assignment

Owner name: APOTHYM TECHNOLOGIES GROUP, LLC, GEORGIA

Free format text: MERGER AND CHANGE OF NAME;ASSIGNORS:ENVISTACOM, LLC;APOTHYM TECHNOLOGIES GROUP, LLC;REEL/FRAME:061089/0839

Effective date: 20220823

AS Assignment

Owner name: APOTHYM TECHNOLOGIES GROUP, LLC, GEORGIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED ON REEL 061089 FRAME 0839. ASSIGNOR(S) HEREBY CONFIRMS THE NATURE OF CONVEYANCE IS AN ASSIGNMENT ONLY, NOT A MERGER AND NOT A CHANGE OF NAME.;ASSIGNOR:ENVISTACOM, LLC;REEL/FRAME:061476/0711

Effective date: 20220823