US10194016B1 - Activation of SMS signaling from dynamically activated control interface - Google Patents

Activation of SMS signaling from dynamically activated control interface Download PDF

Info

Publication number
US10194016B1
US10194016B1 US15/880,915 US201815880915A US10194016B1 US 10194016 B1 US10194016 B1 US 10194016B1 US 201815880915 A US201815880915 A US 201815880915A US 10194016 B1 US10194016 B1 US 10194016B1
Authority
US
United States
Prior art keywords
user
response
message
agent information
mobile device
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.)
Active - Reinstated
Application number
US15/880,915
Inventor
James Lapic
Alan Capps
Michael Bradley
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.)
Zipwhip LLC
Original Assignee
Zipwhip 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 Zipwhip LLC filed Critical Zipwhip LLC
Priority to US15/880,915 priority Critical patent/US10194016B1/en
Assigned to ZIPWHIP INC. reassignment ZIPWHIP INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SERGHINI, ALI, CAPPS, ALAN, LAPIC, JAMES
Priority to CA3031486A priority patent/CA3031486C/en
Application granted granted Critical
Publication of US10194016B1 publication Critical patent/US10194016B1/en
Assigned to ZIPWHIP, INC. reassignment ZIPWHIP, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BRADLEY, MICHAEL
Assigned to ZIPWHIP, LLC reassignment ZIPWHIP, LLC MERGER AND CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: ZEUS MERGER SUB II, LLC, ZIPWHIP, INC.
Active - Reinstated legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. short messaging services [SMS] or e-mails
    • H04M1/72552
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • H04M1/72561
    • H04M1/72569
    • H04M1/72597
    • H04L51/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72484User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events

Definitions

  • FIG. 1 illustrates an embodiment of a messaging service environment 100 .
  • FIG. 2 illustrates an embodiment of a messaging service environment 200 .
  • FIG. 3 illustrates an embodiment of a messaging service system 300 .
  • FIG. 4 illustrates an embodiment of a messaging service process 400 .
  • FIG. 5 illustrates an embodiment of a messaging service system 500 .
  • FIG. 6 illustrates an embodiment of a messaging service system 600 .
  • FIG. 7 illustrates an embodiment of a messaging service system 700 .
  • FIG. 8 illustrates an embodiment of a digital apparatus 800 to implement components and process steps of the system described herein.
  • a business may wish to utilize text messaging to interact with customers and require a means to integrate this messaging easily with the customer's Internet experience and the business' sales and customer service pipeline.
  • the business may interact with a user interface, inputting a reply number and a contact message to configure a user interface (UI) generator to generate a user interface.
  • the reply number may be a text-enabled number which may be linked to a mobile device or may be linked to a non-mobile number which is provisioned for SMS communication.
  • the UI generator may generate a first structured graphical user interface (GUI).
  • the first structured GUI may be provided to the business user, preconfigured to route contact requests to the business user by generating or triggering the appropriate response depending on a customer's experience.
  • the first structured GUI may be automatically generated and linked on a business user's website or mobile app, or may be provided in markup, for example HTML or XML.
  • the first structured GUI may also be implemented as machine logic, for example, Javascript, which the user may then integrate manually into their website or application as a non-transitory machine logic configuration for operating a computer processor.
  • This first user interface when instantiated by the processor may comprise, for example a link or button, and a text interface.
  • the button or other visual trigger may communicate to the customer the need to perform a triggering action, and may be operable for that purpose.
  • the first structured GUI may also provide instructions and the functionality to allow the customer to add or modify a message to the business. A customer may navigate to the first user interface with the auto-generated button on it. The user then clicks on the button and the format selector, selecting the correct format for the user's experience based on whether that user is using a mobile device or a non-mobile device.
  • the format selector may use, for example, user agent information to identify the device being used. If the user is using a mobile device, the format selector may select a native app trigger to send to the mobile device to trigger the device to load its native messaging application. The native messaging application may then be populated with the contact message, which may then be sent by the user through their carrier's SMS server. In the event that the user is utilizing a non-mobile device, the format selector may configure the UI generator with the response format to generate a second structured GUI. The second structured GUI may then be pre-populated with the contact number and the contact message. Because the non-mobile device is likely not connected to a mobile carrier network, the message may then be sent to a server over a standard internet connection, for example, Ethernet.
  • a standard internet connection for example, Ethernet.
  • the message may then be transferred to a SMS number and transmitted to the reply number via a separate “temporary” number.
  • the temporary number may be an account or telephone number which has been provisioned to transmit internet to SMS traffic.
  • the reply number may be routed back to a SMS provisioned non-mobile device or a mobile device.
  • the business account may then be utilized to interact with the customer via this connection.
  • the business account may receive replies on a third structured GUI which may further allow the business to track and integrate communications with the business' customer flow.
  • a UI generator is configured with a reply number and a contact message to generate a first structured GUI, and a contact request is received on the first structured GUI.
  • the contact request is parsed into user agent information, a user message, and a user number with a request analyzer.
  • a format selector is operated with the user agent information to select a response format.
  • the response format may be a native app trigger if the user agent information indicates a mobile device.
  • the response format may configure the UI generator to generate a second structured GUI if the user agent information indicates a non-mobile browser.
  • a response is pre-populated with the user number and the contact message, and transmitted with the response to the reply number via a SMS server.
  • FIG. 1 illustrates an embodiment of a messaging service environment 100 .
  • the messaging service environment 100 comprises a carrier network tower 102 , a SMS 104 , a client device 106 , an SMS gateway 108 , a SMS server 110 , an HTTP server 112 , an HTTP gateway 114 , a client device 116 , and a database 118 .
  • the client device 106 transmits the SMS 104 to the carrier network tower 102
  • the SMS server 110 receives the SMS 104 from the carrier network tower 102 via the SMS gateway 108
  • the HTTP server 112 receives the SMS 104 via the HTTP gateway 114 and transmits the SMS 104 to the client device 116 and the database 118 .
  • FIG. 2 illustrates a messaging service environment 200 in accordance with one embodiment.
  • the messaging service environment 200 comprises a carrier network 202 , a carrier network 204 , a client device 206 , a client device 208 , a SMS server 210 , a SMS server 212 , a client device 214 , a server 216 , and a client device 220 .
  • the client device 206 transmits a SMS message to the SMS server 212 via the carrier network 204 .
  • the SMS server 212 transmits the SMS message to the server 216
  • the server 216 transmits the SMS message to the client device 214 .
  • the client device 220 transmits a SMS message to the server 218 and the server 218 transmits the SMS message to the SMS server 212 via the carrier network 204 .
  • the SMS server 212 transmits the SMS message to the SMS server 210 via the carrier network 202 .
  • the SMS server 210 transmits the SMS message to the client device 208
  • FIG. 3 illustrates an embodiment of a messaging service 300 .
  • the messaging service 300 comprises a business client 302 , a server 304 , a UI generator 306 , a first structured GUI 308 , a request analyzer 310 , a format selector 312 , a user device 314 , a second structured GUI 316 , a user 318 , a SMS server 320 , a non-mobile device 322 , and a mobile device 324 .
  • the business client 302 transmits a button request to the server 304 , the server 304 parses the button request into request information and a client identification.
  • the UI generator 306 generates a structured GUI on the business client 302 .
  • the server 304 receives a request from a first structured GUI 308 .
  • the request analyzer 310 analyzes the request and operates a format selector with the user agent information to select a response format.
  • the format selector 312 transmits the native app trigger and format data to the server 304 to generate the second structured GUI 316 if the user agent information indicates a non-mobile device browser, or triggers a native messaging app if the user agent information indicates a mobile device.
  • the server 304 pre-populates a response with the user number and contact message on the native messaging app on the mobile device 324 and in the user device 314 , transmits the response to the reply number via the SMS server 320 .
  • the server 304 pre-populates a response with the user number and contact message on the second structured GUI 316 on the non-mobile device 322 and transmits the response to the server 304 , the server 304 transmitting the contact message to the reply number via the SMS server 320 .
  • the messaging service process 400 configures a UI generator with a reply number and a contact message and generates a first structured GUI (block 402 ).
  • the messaging service process 400 receives contact request on the first structured GUI (block 404 ).
  • the messaging service process 400 parses the contact request into user agent information, a user message, and a user number with a request analyzer (block 406 ).
  • the messaging service process 400 operates a format selector with the user agent information to select a response format (block 408 ).
  • the messaging service process 400 transmits a native app trigger if the user agent information indicates a mobile device (subroutine block 410 ).
  • the messaging service process 400 configures the UI generator with the response format to generate a second structured GUI if the user agent information indicates a non-mobile browser (subroutine block 412 ).
  • the messaging service process 400 pre-populates a response with the user number and the contact message, and transmits the response to the reply number via a SMS server (block 414 ).
  • a method includes configuring a UI generator with a reply number and a contact message to generate a first structured GUI, then receiving a contact request on the first structured GUI.
  • the method further includes parsing the contact request into user agent information, a user message, and a user number with a request analyzer, then operating a format selector with the user agent information to select a response format; and pre-populating a response with the user number and the contact message, and transmitting the response to the reply number via a SMS server.
  • the response format may include a native app trigger if the user agent information indicates a mobile device and configuring the UI generator with the response format to generate a second structured GUI if the user agent information indicates a non-mobile browser. Transmitting the response may further include transmitting the user message to the SMS server via a proxy number if the user agent information indicates a non-mobile device.
  • the native app trigger may activate the native messaging application on the mobile device.
  • the format selector may obtain the user agent information on each page load.
  • the reply number may be mapped to a user account.
  • the receipt of the response by the user account triggers the UI generator to generate a third structured GUI to display a message thread that may include the response.
  • FIG. 5 illustrates an embodiment of a messaging service 500 .
  • the messaging service 500 comprises a business client 502 , a server 504 , a UI generator 506 , a first structured GUI 508 , a request analyzer 510 , a format selector 512 , a non-mobile device 602 , a SMS server 516 , a second structured GUI 518 , and a user 520 .
  • the business client 502 transmits a button request to the server 504 , the server 504 parses the button request into request information and client identification.
  • the UI generator 506 generates a structured GUI on the business client 502 .
  • the server 504 receives a request from a first structured GUI 508 .
  • the request analyzer 510 analyzes the request and operates a format selector with the user agent information to select a response format.
  • the format selector 512 transmits the native app trigger and format data to the server 504 to generate the second structured GUI 518 if the user agent information indicates a non-mobile device browser, or triggers a native messaging app if the user agent information indicates a mobile device.
  • the server 504 pre-populates a response with the user number and contact message on the native messaging app on the user device 514 and the user device 514 transmits the response to the reply number via the SMS server 516 .
  • the server 504 pre-populates a response with the user number and contact message on the second structured GUI 518 on the non-mobile device 602 and transmits the response to the reply number via the SMS server 516 .
  • FIG. 6 illustrates an embodiment of a messaging service 600 .
  • the messaging service 600 comprises a server 504 , a format selector 512 , a non-mobile device 602 , a mobile device 604 , a non-mobile browser 606 , a contact message 608 , a user identifier 610 , a third structured GUI 612 , and a button 614 .
  • the server 504 transmits a native app trigger to the non-mobile device 602 if the user device 514 is identified as the mobile device 604 .
  • the native app trigger initiates the native messaging application on the mobile device 604 and populates a message with the user identifier 610 and the contact message 608 .
  • the server 504 transmits format data to the non-mobile device 602 if the format selector 512 identified the user device 514 as a non-mobile device 602 via a non-mobile browser 606 .
  • the format data populates a message with the user identifier 610 and the contact message 608 .
  • the button 614 transmits a signal via the third structured GUI 612 and triggers the non-mobile browser 606 to transmit the contact message 608 to the user identifier 610 .
  • FIG. 7 illustrates an embodiment of a messaging service 700 .
  • the messaging service 700 comprises a user identifier 610 , a carrier network 702 , a carrier network 704 , a mobile device 706 , a mobile device 708 , a SMS server 710 , a SMS server 712 , a contact message 714 , a server 716 , a server 718 , a client device 720 , a user message 722 , a user identifier 724 , a user identifier 726 , conversation threads 728 , a third structured GUI 730 , a third structured GUI 732 , a user identifier 734 , a contact message 736 , a user message 740 , conversation threads 744 , and a non-mobile device 746 .
  • the mobile device 706 transmits a SMS message to the SMS server 712 via the carrier network 704 .
  • the SMS server 712 transmits the SMS message to the server 716 and the server 716 transmits the SMS message to the contact message 714 .
  • the client device 720 transmits a SMS message to the server 718 and the server 718 transmits the SMS message to the SMS server 712 via the carrier network 704 .
  • the SMS server 712 transmits the SMS message to the SMS server 710 via the carrier network 702 .
  • the SMS server 710 transmits the SMS message to non-mobile device 602 via the server 716 and the non-mobile device 602 populates a third structured GUI 730 with the user identifier 734 , the user identifier 724 , the user identifier 610 , a the contact message 714 the user message 722 and the conversation threads 728 .
  • the user identifier 610 may identify the contact message 714 and the user message 722 as belonging to conversation threads 728 associated with a particular user/customer.
  • the SMS server 710 may transmit the SMS message to the mobile device 708 via the carrier network 702 .
  • the mobile device 708 may populate the conversation threads 744 on the third structured GUI 732 with the user identifier 726 the contact message 736 and the user message 740 .
  • the user identifier 726 may associate the contact message 736 and the user message 740 with the conversation threads 744 .
  • FIG. 8 illustrates an embodiment of a digital apparatus 800 to implement components and process steps of the system described herein.
  • Input devices 804 comprise transducers that convert physical phenomenon into machine internal signals, typically electrical, optical or magnetic signals. Signals may also be wireless in the form of electromagnetic radiation in the radio frequency (RF) range but also potentially in the infrared or optical range. Examples of input devices 804 are keyboards which respond to touch or physical pressure from an object or proximity of an object to a surface, mice which respond to motion through space or across a plane, microphones which convert vibrations in the medium (typically air) into device signals, scanners which convert optical patterns on two or three dimensional objects into device signals.
  • the signals from the input devices 804 are provided via various machine signal conductors (e.g., busses or network interfaces) and circuits to memory 806 .
  • the memory 806 is typically what is known as a first or second level memory device, providing for storage (via configuration of matter or states of matter) of signals received from the input devices 804 , instructions and information for controlling operation of the CPU 802 , and signals from storage devices 810 .
  • the memory 806 and/or the storage devices 810 may store computer-executable instructions and thus forming logic 814 that when applied to and executed by the CPU 802 implement embodiments of the processes disclosed herein.
  • Information stored in the memory 806 is typically directly accessible to the CPU 802 of the device. Signals input to the device cause the reconfiguration of the internal material/energy state of the memory 806 , creating in essence a new machine configuration, influencing the behavior of the digital apparatus 800 by affecting the behavior of the CPU 802 with control signals (instructions) and data provided in conjunction with the control signals.
  • Second or third level storage devices 810 may provide a slower but higher capacity machine memory capability.
  • Examples of storage devices 810 are hard disks, optical disks, large capacity flash memories or other non-volatile memory technologies, and magnetic memories.
  • the CPU 802 may cause the configuration of the memory 806 to be altered by signals in storage devices 810 .
  • the CPU 802 may cause data and instructions to be read from storage devices 810 in the memory 806 from which may then influence the operations of CPU 802 as instructions and data signals, and from which it may also be provided to the output devices 808 .
  • the CPU 802 may alter the content of the memory 806 by signaling to a machine interface of memory 806 to alter the internal configuration, and then converted signals to the storage devices 810 to alter its material internal configuration.
  • data and instructions may be backed up from memory 806 , which is often volatile, to storage devices 810 , which are often non-volatile.
  • Output devices 808 are transducers which convert signals received from the memory 806 into physical phenomenon such as vibrations in the air, or patterns of light on a machine display, or vibrations (i.e., haptic devices) or patterns of ink or other materials (i.e., printers and 3-D printers).
  • the network interface 812 receives signals from the memory 806 and converts them into electrical, optical, or wireless signals to other machines, typically via a machine network.
  • the network interface 812 also receives signals from the machine network and converts them into electrical, optical, or wireless signals to the memory 806 .
  • Circuitry in this context refers to electrical circuitry having at least one discrete electrical circuit, electrical circuitry having at least one integrated circuit, electrical circuitry having at least one application specific integrated circuit, circuitry forming a general purpose computing device configured by a computer program (e.g., a general purpose computer configured by a computer program which at least partially carries out processes or devices described herein, or a microprocessor configured by a computer program which at least partially carries out processes or devices described herein), circuitry forming a memory device (e.g., forms of random access memory), or circuitry forming a communications device (e.g., a modem, communications switch, or optical-electrical equipment).
  • a computer program e.g., a general purpose computer configured by a computer program which at least partially carries out processes or devices described herein, or a microprocessor configured by a computer program which at least partially carries out processes or devices described herein
  • circuitry forming a memory device e.g., forms of random access memory
  • “Firmware” in this context refers to software logic embodied as processor-executable instructions stored in read-only memories or media.
  • Hardware in this context refers to logic embodied as analog or digital circuitry.
  • Logic in this context refers to machine memory circuits, non transitory machine readable media, and/or circuitry which by way of its material and/or material-energy configuration comprises control and/or procedural signals, and/or settings and values (such as resistance, impedance, capacitance, inductance, current/voltage ratings, etc.), that may be applied to influence the operation of a device.
  • Magnetic media, electronic circuits, electrical and optical memory (both volatile and nonvolatile), and firmware are examples of logic.
  • Logic specifically excludes pure signals or software per se (however does not exclude machine memories comprising software and thereby forming configurations of matter).
  • “Software” in this context refers to logic implemented as processor-executable instructions in a machine memory (e.g. read/write volatile or nonvolatile memory or media).
  • references to “one embodiment” or “an embodiment” do not necessarily refer to the same embodiment, although they may.
  • the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively, unless expressly limited to a single one or multiple ones.
  • the words “herein,” “above,” “below” and words of similar import when used in this application, refer to this application as a whole and not to any particular portions of this application.
  • association operation may be carried out by an “associator” or “correlator”.
  • switching may be carried out by a “switch”, selection by a “selector”, and so on.
  • logic may be distributed throughout one or more devices, and/or may be comprised of combinations memory, media, processing circuits and controllers, other circuits, and so on. Therefore, in the interest of clarity and correctness logic may not always be distinctly illustrated in drawings of devices and systems, although it is inherently present therein.
  • the techniques and procedures described herein may be implemented via logic distributed in one or more computing devices. The particular distribution and choice of logic will vary according to implementation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A system and method dynamically generates structured graphical user interfaces based on the type of device accessing a user interface. The system and method dynamically trigger the pre-population of content within a native application or internet-based application on user agent information and user-entered information and initiates SMS communications between users of disparate device types.

Description

BACKGROUND
Traditional person-to-person text messaging channels do not support high-traffic throughput, and do not facilitate high-quality, high-integrity business communications. Spam and unconsented messaging are considerable problems which can further reduce the efficiency of traditional channels by further constricting already limited throughput. Traditional networks and their users are unprotected from this type of messaging abuse, in part because bad actors are not limited in how they interact with these networks. Further, traditional systems lack the ability to evaluate this type of threat on an ongoing, real-time basis.
Current inefficiencies associated with administrating SMS messaging further restrict the ability of users to fully employ SMS messaging in business-to-business B2B and business-to-client B2C paradigms. This is due in part to traditional channels not providing an efficient means of integration with third-party services as well as the difficulties of utilizing SMS communications across disparate devices. This limits the ability of users to integrate, track, and analyze this increasingly vital form of communication.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the figure number in which that element is first introduced.
FIG. 1 illustrates an embodiment of a messaging service environment 100.
FIG. 2 illustrates an embodiment of a messaging service environment 200.
FIG. 3 illustrates an embodiment of a messaging service system 300.
FIG. 4 illustrates an embodiment of a messaging service process 400.
FIG. 5 illustrates an embodiment of a messaging service system 500.
FIG. 6 illustrates an embodiment of a messaging service system 600.
FIG. 7 illustrates an embodiment of a messaging service system 700.
FIG. 8 illustrates an embodiment of a digital apparatus 800 to implement components and process steps of the system described herein.
DETAILED DESCRIPTION
A business may wish to utilize text messaging to interact with customers and require a means to integrate this messaging easily with the customer's Internet experience and the business' sales and customer service pipeline. The business may interact with a user interface, inputting a reply number and a contact message to configure a user interface (UI) generator to generate a user interface. The reply number may be a text-enabled number which may be linked to a mobile device or may be linked to a non-mobile number which is provisioned for SMS communication. The UI generator may generate a first structured graphical user interface (GUI). The first structured GUI may be provided to the business user, preconfigured to route contact requests to the business user by generating or triggering the appropriate response depending on a customer's experience. The first structured GUI may be automatically generated and linked on a business user's website or mobile app, or may be provided in markup, for example HTML or XML.
The first structured GUI may also be implemented as machine logic, for example, Javascript, which the user may then integrate manually into their website or application as a non-transitory machine logic configuration for operating a computer processor. This first user interface when instantiated by the processor may comprise, for example a link or button, and a text interface. The button or other visual trigger may communicate to the customer the need to perform a triggering action, and may be operable for that purpose. The first structured GUI may also provide instructions and the functionality to allow the customer to add or modify a message to the business. A customer may navigate to the first user interface with the auto-generated button on it. The user then clicks on the button and the format selector, selecting the correct format for the user's experience based on whether that user is using a mobile device or a non-mobile device.
The format selector may use, for example, user agent information to identify the device being used. If the user is using a mobile device, the format selector may select a native app trigger to send to the mobile device to trigger the device to load its native messaging application. The native messaging application may then be populated with the contact message, which may then be sent by the user through their carrier's SMS server. In the event that the user is utilizing a non-mobile device, the format selector may configure the UI generator with the response format to generate a second structured GUI. The second structured GUI may then be pre-populated with the contact number and the contact message. Because the non-mobile device is likely not connected to a mobile carrier network, the message may then be sent to a server over a standard internet connection, for example, Ethernet. Once the message reaches the server, the message may then be transferred to a SMS number and transmitted to the reply number via a separate “temporary” number. The temporary number may be an account or telephone number which has been provisioned to transmit internet to SMS traffic. The reply number may be routed back to a SMS provisioned non-mobile device or a mobile device. The business account may then be utilized to interact with the customer via this connection.
The business account may receive replies on a third structured GUI which may further allow the business to track and integrate communications with the business' customer flow. A UI generator is configured with a reply number and a contact message to generate a first structured GUI, and a contact request is received on the first structured GUI. The contact request is parsed into user agent information, a user message, and a user number with a request analyzer. A format selector is operated with the user agent information to select a response format. The response format may be a native app trigger if the user agent information indicates a mobile device. The response format may configure the UI generator to generate a second structured GUI if the user agent information indicates a non-mobile browser. A response is pre-populated with the user number and the contact message, and transmitted with the response to the reply number via a SMS server.
FIG. 1 illustrates an embodiment of a messaging service environment 100. The messaging service environment 100 comprises a carrier network tower 102, a SMS 104, a client device 106, an SMS gateway 108, a SMS server 110, an HTTP server 112, an HTTP gateway 114, a client device 116, and a database 118. The client device 106 transmits the SMS 104 to the carrier network tower 102, the SMS server 110 receives the SMS 104 from the carrier network tower 102 via the SMS gateway 108 the HTTP server 112 receives the SMS 104 via the HTTP gateway 114 and transmits the SMS 104 to the client device 116 and the database 118.
FIG. 2 illustrates a messaging service environment 200 in accordance with one embodiment. The messaging service environment 200 comprises a carrier network 202, a carrier network 204, a client device 206, a client device 208, a SMS server 210, a SMS server 212, a client device 214, a server 216, and a client device 220. The client device 206 transmits a SMS message to the SMS server 212 via the carrier network 204. The SMS server 212 transmits the SMS message to the server 216, and the server 216 transmits the SMS message to the client device 214. The client device 220 transmits a SMS message to the server 218 and the server 218 transmits the SMS message to the SMS server 212 via the carrier network 204. The SMS server 212 transmits the SMS message to the SMS server 210 via the carrier network 202. The SMS server 210 transmits the SMS message to the client device 208
FIG. 3 illustrates an embodiment of a messaging service 300. The messaging service 300 comprises a business client 302, a server 304, a UI generator 306, a first structured GUI 308, a request analyzer 310, a format selector 312, a user device 314, a second structured GUI 316, a user 318, a SMS server 320, a non-mobile device 322, and a mobile device 324.
The business client 302 transmits a button request to the server 304, the server 304 parses the button request into request information and a client identification. The UI generator 306 generates a structured GUI on the business client 302.
The server 304 receives a request from a first structured GUI 308. The request analyzer 310 analyzes the request and operates a format selector with the user agent information to select a response format.
The format selector 312 transmits the native app trigger and format data to the server 304 to generate the second structured GUI 316 if the user agent information indicates a non-mobile device browser, or triggers a native messaging app if the user agent information indicates a mobile device.
The server 304 pre-populates a response with the user number and contact message on the native messaging app on the mobile device 324 and in the user device 314, transmits the response to the reply number via the SMS server 320.
The server 304 pre-populates a response with the user number and contact message on the second structured GUI 316 on the non-mobile device 322 and transmits the response to the server 304, the server 304 transmitting the contact message to the reply number via the SMS server 320.
Referring to FIG. 4, the messaging service process 400 configures a UI generator with a reply number and a contact message and generates a first structured GUI (block 402).
The messaging service process 400 receives contact request on the first structured GUI (block 404). The messaging service process 400 parses the contact request into user agent information, a user message, and a user number with a request analyzer (block 406).
The messaging service process 400 operates a format selector with the user agent information to select a response format (block 408). The messaging service process 400 transmits a native app trigger if the user agent information indicates a mobile device (subroutine block 410). The messaging service process 400 configures the UI generator with the response format to generate a second structured GUI if the user agent information indicates a non-mobile browser (subroutine block 412). The messaging service process 400 pre-populates a response with the user number and the contact message, and transmits the response to the reply number via a SMS server (block 414).
A method includes configuring a UI generator with a reply number and a contact message to generate a first structured GUI, then receiving a contact request on the first structured GUI. The method further includes parsing the contact request into user agent information, a user message, and a user number with a request analyzer, then operating a format selector with the user agent information to select a response format; and pre-populating a response with the user number and the contact message, and transmitting the response to the reply number via a SMS server.
The response format may include a native app trigger if the user agent information indicates a mobile device and configuring the UI generator with the response format to generate a second structured GUI if the user agent information indicates a non-mobile browser. Transmitting the response may further include transmitting the user message to the SMS server via a proxy number if the user agent information indicates a non-mobile device. The native app trigger may activate the native messaging application on the mobile device. The format selector may obtain the user agent information on each page load. The reply number may be mapped to a user account. The receipt of the response by the user account triggers the UI generator to generate a third structured GUI to display a message thread that may include the response.
FIG. 5 illustrates an embodiment of a messaging service 500. The messaging service 500 comprises a business client 502, a server 504, a UI generator 506, a first structured GUI 508, a request analyzer 510, a format selector 512, a non-mobile device 602, a SMS server 516, a second structured GUI 518, and a user 520.
The business client 502 transmits a button request to the server 504, the server 504 parses the button request into request information and client identification. The UI generator 506 generates a structured GUI on the business client 502.
The server 504 receives a request from a first structured GUI 508. The request analyzer 510 analyzes the request and operates a format selector with the user agent information to select a response format.
The format selector 512 transmits the native app trigger and format data to the server 504 to generate the second structured GUI 518 if the user agent information indicates a non-mobile device browser, or triggers a native messaging app if the user agent information indicates a mobile device. The server 504 pre-populates a response with the user number and contact message on the native messaging app on the user device 514 and the user device 514 transmits the response to the reply number via the SMS server 516.
The server 504 pre-populates a response with the user number and contact message on the second structured GUI 518 on the non-mobile device 602 and transmits the response to the reply number via the SMS server 516.
FIG. 6 illustrates an embodiment of a messaging service 600. The messaging service 600 comprises a server 504, a format selector 512, a non-mobile device 602, a mobile device 604, a non-mobile browser 606, a contact message 608, a user identifier 610, a third structured GUI 612, and a button 614.
The server 504 transmits a native app trigger to the non-mobile device 602 if the user device 514 is identified as the mobile device 604. The native app trigger initiates the native messaging application on the mobile device 604 and populates a message with the user identifier 610 and the contact message 608.
The server 504 transmits format data to the non-mobile device 602 if the format selector 512 identified the user device 514 as a non-mobile device 602 via a non-mobile browser 606. The format data populates a message with the user identifier 610 and the contact message 608. The button 614 transmits a signal via the third structured GUI 612 and triggers the non-mobile browser 606 to transmit the contact message 608 to the user identifier 610.
FIG. 7 illustrates an embodiment of a messaging service 700. The messaging service 700 comprises a user identifier 610, a carrier network 702, a carrier network 704, a mobile device 706, a mobile device 708, a SMS server 710, a SMS server 712, a contact message 714, a server 716, a server 718, a client device 720, a user message 722, a user identifier 724, a user identifier 726, conversation threads 728, a third structured GUI 730, a third structured GUI 732, a user identifier 734, a contact message 736, a user message 740, conversation threads 744, and a non-mobile device 746.
The mobile device 706 transmits a SMS message to the SMS server 712 via the carrier network 704. The SMS server 712 transmits the SMS message to the server 716 and the server 716 transmits the SMS message to the contact message 714. The client device 720 transmits a SMS message to the server 718 and the server 718 transmits the SMS message to the SMS server 712 via the carrier network 704. The SMS server 712 transmits the SMS message to the SMS server 710 via the carrier network 702. The SMS server 710 transmits the SMS message to non-mobile device 602 via the server 716 and the non-mobile device 602 populates a third structured GUI 730 with the user identifier 734, the user identifier 724, the user identifier 610, a the contact message 714 the user message 722 and the conversation threads 728. The user identifier 610 may identify the contact message 714 and the user message 722 as belonging to conversation threads 728 associated with a particular user/customer.
The SMS server 710 may transmit the SMS message to the mobile device 708 via the carrier network 702. The mobile device 708 may populate the conversation threads 744 on the third structured GUI 732 with the user identifier 726 the contact message 736 and the user message 740. The user identifier 726 may associate the contact message 736 and the user message 740 with the conversation threads 744.
FIG. 8 illustrates an embodiment of a digital apparatus 800 to implement components and process steps of the system described herein. Input devices 804 comprise transducers that convert physical phenomenon into machine internal signals, typically electrical, optical or magnetic signals. Signals may also be wireless in the form of electromagnetic radiation in the radio frequency (RF) range but also potentially in the infrared or optical range. Examples of input devices 804 are keyboards which respond to touch or physical pressure from an object or proximity of an object to a surface, mice which respond to motion through space or across a plane, microphones which convert vibrations in the medium (typically air) into device signals, scanners which convert optical patterns on two or three dimensional objects into device signals. The signals from the input devices 804 are provided via various machine signal conductors (e.g., busses or network interfaces) and circuits to memory 806.
The memory 806 is typically what is known as a first or second level memory device, providing for storage (via configuration of matter or states of matter) of signals received from the input devices 804, instructions and information for controlling operation of the CPU 802, and signals from storage devices 810.
The memory 806 and/or the storage devices 810 may store computer-executable instructions and thus forming logic 814 that when applied to and executed by the CPU 802 implement embodiments of the processes disclosed herein.
Information stored in the memory 806 is typically directly accessible to the CPU 802 of the device. Signals input to the device cause the reconfiguration of the internal material/energy state of the memory 806, creating in essence a new machine configuration, influencing the behavior of the digital apparatus 800 by affecting the behavior of the CPU 802 with control signals (instructions) and data provided in conjunction with the control signals.
Second or third level storage devices 810 may provide a slower but higher capacity machine memory capability. Examples of storage devices 810 are hard disks, optical disks, large capacity flash memories or other non-volatile memory technologies, and magnetic memories.
The CPU 802 may cause the configuration of the memory 806 to be altered by signals in storage devices 810. In other words, the CPU 802 may cause data and instructions to be read from storage devices 810 in the memory 806 from which may then influence the operations of CPU 802 as instructions and data signals, and from which it may also be provided to the output devices 808. The CPU 802 may alter the content of the memory 806 by signaling to a machine interface of memory 806 to alter the internal configuration, and then converted signals to the storage devices 810 to alter its material internal configuration. In other words, data and instructions may be backed up from memory 806, which is often volatile, to storage devices 810, which are often non-volatile.
Output devices 808 are transducers which convert signals received from the memory 806 into physical phenomenon such as vibrations in the air, or patterns of light on a machine display, or vibrations (i.e., haptic devices) or patterns of ink or other materials (i.e., printers and 3-D printers).
The network interface 812 receives signals from the memory 806 and converts them into electrical, optical, or wireless signals to other machines, typically via a machine network. The network interface 812 also receives signals from the machine network and converts them into electrical, optical, or wireless signals to the memory 806.
Terms used herein should be accorded their ordinary meaning in the relevant arts, or the meaning indicated by their use in context, but if an express definition is provided, that meaning controls.
“Circuitry” in this context refers to electrical circuitry having at least one discrete electrical circuit, electrical circuitry having at least one integrated circuit, electrical circuitry having at least one application specific integrated circuit, circuitry forming a general purpose computing device configured by a computer program (e.g., a general purpose computer configured by a computer program which at least partially carries out processes or devices described herein, or a microprocessor configured by a computer program which at least partially carries out processes or devices described herein), circuitry forming a memory device (e.g., forms of random access memory), or circuitry forming a communications device (e.g., a modem, communications switch, or optical-electrical equipment).
“Firmware” in this context refers to software logic embodied as processor-executable instructions stored in read-only memories or media.
“Hardware” in this context refers to logic embodied as analog or digital circuitry.
“Logic” in this context refers to machine memory circuits, non transitory machine readable media, and/or circuitry which by way of its material and/or material-energy configuration comprises control and/or procedural signals, and/or settings and values (such as resistance, impedance, capacitance, inductance, current/voltage ratings, etc.), that may be applied to influence the operation of a device. Magnetic media, electronic circuits, electrical and optical memory (both volatile and nonvolatile), and firmware are examples of logic. Logic specifically excludes pure signals or software per se (however does not exclude machine memories comprising software and thereby forming configurations of matter).
“Software” in this context refers to logic implemented as processor-executable instructions in a machine memory (e.g. read/write volatile or nonvolatile memory or media).
Herein, references to “one embodiment” or “an embodiment” do not necessarily refer to the same embodiment, although they may. Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively, unless expressly limited to a single one or multiple ones. Additionally, the words “herein,” “above,” “below” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. When the claims use the word “or” in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list, unless expressly limited to one or the other. Any terms not expressly defined herein have their conventional meaning as commonly understood by those having skill in the relevant art(s).
Various logic functional operations described herein may be implemented in logic that is referred to using a noun or noun phrase reflecting said operation or function. For example, an association operation may be carried out by an “associator” or “correlator”. Likewise, switching may be carried out by a “switch”, selection by a “selector”, and so on.
Those skilled in the art will recognize that it is common within the art to describe devices or processes in the fashion set forth herein, and thereafter use standard engineering practices to integrate such described devices or processes into larger systems. At least a portion of the devices or processes described herein can be integrated into a network processing system via a reasonable amount of experimentation. Various embodiments are described herein and presented by way of example and not limitation.
Those having skill in the art will appreciate that there are various logic implementations by which processes and/or systems described herein can be effected (e.g., hardware, software, or firmware), and that the preferred vehicle will vary with the context in which the processes are deployed. If an implementer determines that speed and accuracy are paramount, the implementer may opt for a hardware or firmware implementation; alternatively, if flexibility is paramount, the implementer may opt for a solely software implementation; or, yet again alternatively, the implementer may opt for some combination of hardware, software, or firmware. Hence, there are numerous possible implementations by which the processes described herein may be effected, none of which is inherently superior to the other in that any vehicle to be utilized is a choice dependent upon the context in which the implementation will be deployed and the specific concerns (e.g., speed, flexibility, or predictability) of the implementer, any of which may vary. Those skilled in the art will recognize that optical aspects of implementations may involve optically-oriented hardware, software, and or firmware.
Those skilled in the art will appreciate that logic may be distributed throughout one or more devices, and/or may be comprised of combinations memory, media, processing circuits and controllers, other circuits, and so on. Therefore, in the interest of clarity and correctness logic may not always be distinctly illustrated in drawings of devices and systems, although it is inherently present therein. The techniques and procedures described herein may be implemented via logic distributed in one or more computing devices. The particular distribution and choice of logic will vary according to implementation.

Claims (14)

What is claimed is:
1. A method comprising:
configuring a user interface (UI) generator with a reply number and a contact message to generate a first structured graphical user interface (GUI);
receiving a contact request on the first structured GUI;
parsing the contact request into user agent information, a user message, and a user number with a request analyzer;
operating a format selector with the user agent information to select a response format, the response format comprising:
a native application (app) trigger on the condition that the user agent information indicates a mobile device; and
configuring the UI generator with the response format to generate a second structured GUI on the condition that the user agent information indicates a non-mobile browser; and
pre-populating a response with the user number and the contact message, and transmitting the response to the reply number via a short message service (SMS) server.
2. The method of claim 1 wherein the transmitting the response further comprises:
transmitting the user message to the SMS server via a proxy number on the condition that the user agent information indicates a non-mobile device.
3. The method of claim 1 wherein the native app trigger activates a native messaging application on the mobile device.
4. The method of claim 1 wherein the format selector obtains the user agent information on each page load.
5. The method of claim 1 wherein the reply number is mapped to a user account.
6. The method of claim 5 wherein the receipt of the response by the user account triggers the UI generator to generate a third structured GUI to display a message thread comprising the response.
7. The method of claim 6 wherein the third structured GUI further comprises a plurality of user identifiers, and conversation threads.
8. A computing apparatus, the computing apparatus comprising:
a processor; and
a memory storing instructions that, when executed by the processor, configure the apparatus to:
configure a user interface (UI) generator with a reply number and a contact message to generate a first structured graphical user interface (GUI);
receive a contact request on the first structured GUI;
parse the contact request into user agent information, a user message, and a user number with a request analyzer;
operate a format selector with the user agent information to select a response format, the response format comprising:
a native application (app) trigger, only if the user agent information indicates a mobile device; and
configure the UI generator with the response format to generate a second structured GUI, only if the user agent information indicates a non-mobile browser; and
pre-populate a response with the user number and the contact message, and transmitting the response to the reply number via a short message service (SMS) server.
9. The computing apparatus of claim 8 wherein the transmitting the response further comprises:
transmit the user message to the SMS server via a proxy number only if the user agent information indicates a non-mobile device.
10. The computing apparatus of claim 8 wherein the native app trigger activates a native messaging application on the mobile device.
11. The computing apparatus of claim 8 wherein the format selector obtains the user agent information on each page load.
12. The computing apparatus of claim 8 wherein the reply number is mapped to a user account.
13. The computing apparatus of claim 12 wherein the receipt of the response by the user account triggers the UI generator to generate a third structured GUI to display a message thread comprising the response.
14. The computing apparatus of claim 13 wherein the third structured GUI further comprises a plurality of user identifiers, and conversation threads.
US15/880,915 2018-01-26 2018-01-26 Activation of SMS signaling from dynamically activated control interface Active - Reinstated US10194016B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/880,915 US10194016B1 (en) 2018-01-26 2018-01-26 Activation of SMS signaling from dynamically activated control interface
CA3031486A CA3031486C (en) 2018-01-26 2019-01-25 Activation of sms signaling from dynamically generated control interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/880,915 US10194016B1 (en) 2018-01-26 2018-01-26 Activation of SMS signaling from dynamically activated control interface

Publications (1)

Publication Number Publication Date
US10194016B1 true US10194016B1 (en) 2019-01-29

Family

ID=65032230

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/880,915 Active - Reinstated US10194016B1 (en) 2018-01-26 2018-01-26 Activation of SMS signaling from dynamically activated control interface

Country Status (2)

Country Link
US (1) US10194016B1 (en)
CA (1) CA3031486C (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038876A1 (en) * 2003-08-15 2005-02-17 Aloke Chaudhuri System and method for instant match based on location, presence, personalization and communication
US20120089669A1 (en) * 2010-10-08 2012-04-12 Lumi Mobile Distribution of content and behavior to disparate platforms
US8843853B1 (en) * 2006-12-05 2014-09-23 At&T Mobility Ii Llc Home screen user interface for electronic device display
US20160285794A1 (en) * 2015-03-27 2016-09-29 Syntel, Inc. High efficiency data communication system
US20180032933A1 (en) * 2016-07-29 2018-02-01 Accenture Global Solutions Limited Adaptive resource allocation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038876A1 (en) * 2003-08-15 2005-02-17 Aloke Chaudhuri System and method for instant match based on location, presence, personalization and communication
US8843853B1 (en) * 2006-12-05 2014-09-23 At&T Mobility Ii Llc Home screen user interface for electronic device display
US20120089669A1 (en) * 2010-10-08 2012-04-12 Lumi Mobile Distribution of content and behavior to disparate platforms
US20130139148A1 (en) * 2010-10-08 2013-05-30 Johannes Berg Distribution of content and behavior to disparate platforms
US20160285794A1 (en) * 2015-03-27 2016-09-29 Syntel, Inc. High efficiency data communication system
US20180032933A1 (en) * 2016-07-29 2018-02-01 Accenture Global Solutions Limited Adaptive resource allocation

Also Published As

Publication number Publication date
CA3031486C (en) 2020-08-25
CA3031486A1 (en) 2019-04-03

Similar Documents

Publication Publication Date Title
US11240159B2 (en) Service link selection control method and device
US11936609B2 (en) System and method for enabling real-time eventing
CN113364853B (en) Business service system, business request method and gateway equipment
US20160044593A1 (en) Selective access point name assignment based on machine-to-machine traffic analysis
US20170289243A1 (en) Domain name resolution method and electronic device
CN103391504A (en) Flow reminding method and device
CN102291243A (en) Service processing server, system and method
EP4247103A1 (en) Method and apparatus for determining satellite backhaul information
CA3065341A1 (en) System and method for generating and transmitting automatic reply messages
US20230217363A1 (en) Method for switching a Network slice, terminal, storage medium and electronic device
CN101729491A (en) Method, device and system for enhancing application reliability of script-based business
US10367692B2 (en) Rules implementation system
CA3065348A1 (en) Mark message as unread
US20200167416A1 (en) System and method for generating dynamic templates
CA3031486C (en) Activation of sms signaling from dynamically generated control interface
US20130173733A1 (en) Configurable web service notification with templates
CN105099802A (en) Traffic identification method, terminal, and network element equipment
US20200162461A1 (en) System and method for rapid entity role delegation
CN105025042B (en) A kind of method and system of determining data information, proxy server
US9992638B1 (en) System and method of facilitating management of common channel based services
CN104184865A (en) Dialing method and device
CN103428280A (en) Mobile terminal based mobile service data acquisition method and system
US11804986B2 (en) Method for the remote management of a device connected to a residential gateway
CN112910949B (en) Cross-region network access method, device, communication equipment and storage medium
US20160262192A1 (en) System for Providing Internet Access Using Mobile Phones

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: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20230129

PRDP Patent reinstated due to the acceptance of a late maintenance fee

Effective date: 20230809

FEPP Fee payment procedure

Free format text: PETITION RELATED TO MAINTENANCE FEES FILED (ORIGINAL EVENT CODE: PMFP); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PETITION RELATED TO MAINTENANCE FEES GRANTED (ORIGINAL EVENT CODE: PMFG); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: SURCHARGE, PETITION TO ACCEPT PYMT AFTER EXP, UNINTENTIONAL (ORIGINAL EVENT CODE: M1558); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

STCF Information on status: patent grant

Free format text: PATENTED CASE