Apparatus and method for improving short message service dependability
Abstract
An apparatus and a method for improving short message service dependability by reducing the risk of an SM being loss due to failure in a network having both an SMS routers and an SMSC and in which forward and store delivery or Early-Ack is enabled in the router. Alternative apparatus and methods are presented which mitigate the possibility of losing an SM before it is delivered to a recipient or received and persistently stored by the SMSC by placing the SM in a survivable storage medium before acknowledgement of the SM is sent to the submitter of the SM and by providing a recovery mechanism that can re-attempt a delivery or a forwarding of the SM, based on the content of the survivable storage medium, in the case of a failure.
Term
0.4 yearsto projected expiry
Projected expiry 30 January 2027, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
10 claims: 2 independent, 8 dependent
- 1Patent claims Zastrzeżenia patentowe 1. A way to increase the reliability of handling short messages in a mobile network, SMS, having a short message service center, SMSC, which can provide permanent storage and forwarding of short messages, SM, to appropriate recipients and a router that first receives SM and reduces the number of SM addressed to SMSC by performing attempts to deliver some of the received short messages, which method includes the steps of:1. Sposób zwiększania niezawodności obsługi krótkich wiadomości w sieci telefonii komórkowej, SMS, posiadającej centrum obsługi krótkich wiadomości, SMSC, które może zapewniać trwałe przechowywanie i przekazywanie dalej krótkich wiadomości, SM, do odpowiednich adresatów oraz router, który najpierw odbiera SM i zmniejsza liczbę SM kierowanych do SMSC przez przeprowadzanie prób doręczenia części odebranych krótkich wiadomości, który to sposób zawiera etapy: odbieranie (301) SM od nadawcy;receiving (301) SM from the sender;creating (304) in the log memory (260) a first log entry comprising a copy of the SM from the sender;tworzenie (304) w pamięci (260) dziennika pierwszej pozycji dziennika zawierającej kopię SM od nadawcy;confirming (305) the sender of receiving the SM;potwierdzanie (305) nadawcy odebrania SM;conducting (306) first delivery attempt, FDA, SM to the addressee or forwarding, FWD, SM to SMSC;przeprowadzanie (306) pierwszej próby doręczenia, FDA, SM adresatowi lub przekazywanie, FWD, SM do SMSC;po zakończeniu (307) z powodzeniem FDA lub FWD, tworzenie (308) zapisu w pamięci dziennika drugiej pozycji dziennika zawieraj ącej informacj ę o zakończeniu przekazywania z powodzeniem;upon successful completion (307) of the FDA or FWD, creation (308) of a second record entry in the log memory containing information about the successful completion of the transfer;after finding failure (309) determining if SM may have been lost by searching (310) in the log memory of the second log entry, and if the second log entry was not found, performing (311) the FDA or FWD SM repeatedly using the SM copy contained in the first journal entries;po stwierdzeniu niepowodzenia (309) określanie, czy SM mogła zostać utracona poprzez poszukiwanie (310) w pamięci dziennika drugiej pozycji dziennika, a jeśli druga pozycja dziennika nie zostanie znaleziona, powtórne przeprowadzanie (311) FDA lub FWD SM przy wykorzystaniu kopii SM zawartej w pierwszej pozycji dziennika;przy czym pamięć (260) dziennika jest pamięcią niezniszczalną, której zawartość jest odporna na awarie routera, a ponadto etap tworzenia pierwszej pozycji dziennika przeprowadzany jest przed etapem potwierdzania. wherein the log memory (260) is indestructible memory whose contents are resistant to router failures, and furthermore the step of creating the first log entry is carried out before the confirmation stage.
- 6A device (200A, 200B, 200C) for increasing the reliability of handling short messages, SMS, in a mobile network including:a network interface (210) adapted to receive a short message, an SM, from a sender in a mobile network and to send confirmation to broadcaster;6. Urządzenie (200A, 200B, 200C) do zwiększania niezawodności obsługi przesyłania krótkich wiadomości, SMS, w sieci telefonii komórkowej zawierające: interfejs sieci (210) telefonii komórkowej dostosowany do odbierania krótkiej wiadomości, SM, od nadawcy w sieci telefonii komórkowej i do wysyłania potwierdzenia do nadawcy;a fixed-line telephony network interface (220) for forwarding SM to the recipient;interfejs (220) sieci telefonii stacjonarnej przeznaczony do przekazywania SM do adresata;an SMSC interface (230) intended for forwarding the SM to a short message service center, SMSC;interfejs SMSC (230) przeznaczony do przekazywania SM do centrum obsługi krótkich wiadomości, SMSC;log memory (260) for storing log entries and for protecting log entries in the event of a device failure;pamięć (260) dziennika przeznaczoną do przechowywania pozycji dziennika i do chronienia pozycji dziennika w razie awarii urządzenia;a log driver (250) for adding and removing log entries to and from log memory;sterownik (250) dziennika przeznaczony do dodawania i usuwania pozycji dziennika do i z pamięci dziennika;SM controller (240) designed for: sterownik SM (240) przeznaczony do: the log driver creates in the log memory the first log entry containing a copy of the SM;tworzenia przez sterownik dziennika w pamięci dziennika pierwszej pozycji dziennika, zawierającej kopię SM;sending via the mobile network interface after creating the first confirmation log entry to the sender;performing the first delivery attempt, FDA, SM to the addressee and forwarding, FWD, SM to SMSC via the fixed network interface and the SMSC interface, respectively;and after the FDA and FWD have successfully completed, the log driver creating in the log memory a second log entry containing information about the successful completion;wysyłania poprzez interfejs sieci telefonii komórkowej po utworzeniu pierwszej pozycji dziennika potwierdzenia do nadawcy;przeprowadzania pierwszej próby doręczenia, FDA, SM adresatowi oraz przekazywania, FWD, SM do SMSC poprzez interfejs sieci stacjonarnej i odpowiednio interfejs SMSC;oraz po przeprowadzeniu z powodzeniem FDA i FWD, tworzenia przez sterownik dziennika w pamięci dziennika drugiej pozycji dziennika zawierającej informację o zakończeniu działania z powodzeniem;recovery driver (280) designed to determine after recovery in the event of failure whether SM may have been lost when searching the log memory for the second log entry and, if the second log entry is not found, to re-perform the FDA and to the FWD using the copy of SM contained in first log entry. sterownik odzyskiwania (280) przeznaczony do określania po odzyskaniu w razie awarii, czy SM mogła być utracona przy przeszukiwaniu pamięci dziennika dla drugiej pozycji dziennika oraz, jeśli druga pozycja dziennika nie zostanie znaleziona, do przeprowadzenia powtórnie FDA i do FWD przy wykorzystaniu kopii SM zawartej w pierwszej pozycji dziennika.
Independent claims2
71 paragraphs, as filed
Technical field The present invention relates to the handling of short messages in mobile telephony (SMS), and more particularly to a method and apparatus for improving the reliability of handling short messages.
Background Art [0002] Figure 1 is a schematic architecture of an exemplary short messaging (SMS) network architecture 100 showing message flows.
[0003] In the above architecture of short messaging networks, both router 110 and short messaging center 120 (SMSC) have SIGTRAN interfaces of Signaling System No. 7 (SS7) / Internet Engineering Task Force (IETF) with public terrestrial cellular network 130 (PLMN) . Router 110 and short messaging center 120 communicate with each other using a standardized short messaging stack (for the global cellular communications network (GSM) it is defined in GSM 03.40 & Mobile Application Part (MAP), for the 3rd Generation Partner Project (3GPP ) by the European Telecommunications Standards Institute (ETSI) 23.040 and MAP, and for multi-access networks with code division (CDMA) this is specified in the IS-41 specification). The interface between router 110 and SMSC 120 and often uses the same stack that is used to connect both router 110 and SMSC 120 to the cellular network 130, respectively. Alternatively, the interface between router 110 and SMSC 120 may use the Short Message protocol based on the Internet Peer to Peer (SMPP), as defined in the SMPP Developer Forum's Short Message Peer to Peer Protocol Specification v3.4.
[0004] Short messages (SM) from mobile phones (MO) are initially handled by router 110. Usually 80% or more of the SMs coming to mobile phones (MT) are delivered on the first attempt, so router 110 will immediately try to deliver the SM. If this delivery attempt fails, then router 110 forwards the SM to SMSC 120. The SMSC 120 stores the SM and then continues to try to deliver it.
[0005] MO SMs are initially supported by router 110. Usually over 95%
SM to landline networks (FT) is delivered on the first attempt, so router 110 immediately tries to deliver SM via gateway 140. If the delivery attempt fails, router 110 forwards SM to SMSC 120. SMSC 120 stores this SM and then performs it further attempts to deliver her.
[0006] SMs originating from fixed telephones (FOs) are initially served by gateway 140. If the utility server 150 that initiated FO SM selects a one-time service quality, then the SM is directed directly to router 110 for delivery. If you choose service with steered quality, gate 140 directs SM to SMSC 120 instead.
[0007] Alternatively, gateway 140 may send all FO-MT SMs to router 110 for the first delivery attempt, and if this attempt fails, router 110 may route them to SMSC 120 for storage and later sending.
[0008] An SMS network may comprise at least one of the following:
router 110, SMSC 120 and gateway 140, for example to increase the throughput of SMS traffic. Separate router 110, SMSC 120 and gateway 140 can be grouped to provide one service, or alternatively all routers 110, SMSC 120 and gateways 140 can be cross-connected in a network configuration.
[0009] Initially, after the SMS was launched in 1990, it was a service with initial saving and subsequent sending of messages. SMs were permanently stored in SMSC 120 with subsequent attempts to deliver them. This means that once the SM was confirmed to the sender, it was certain that it was permanently saved and nothing but the total failure of SMSC 120 or failure of many disks could not cause the loss of this message. This approach is secure and helps ensure accurate real-time transmission, but increases the cost of the SMSC 120 because expensive memory subsystems are needed to achieve evenly even bandwidth. This reliability mechanism, based on saving and subsequent sending, caused users to feel addicted to handling short messages.
[0010] Over time, the amount of SM shipped increased by several orders of magnitude, and the unit price of SM significantly decreased. Because the profit margins are smaller, operators are trying to reduce costs while increasing the bandwidth of the SMS network. Many networks no longer offer the option of saving and sending short messages later, but instead they offer a less reliable alternative of sending and saving. When sending and saving, you are attempting to deliver to SM (here referred to as the First Delivery Attempt or FDA) before saving it to non-volatile memory, and this message is only saved if the FDA fails. Of course, if a significant proportion of such delivery attempts succeed (which is normal on a modem network), this approach significantly reduces the number of SMs that must be stored in memory, and thus reduces the cost of the SMSC platform at a given load. At first glance, the risk associated with the quality of upload and save handling does not seem to be great, because theoretically SMSC can suspend SM confirmation until it is securely saved. In practice, however, this approach is only real for MO-FT SM and for some FO-MT SM, not for most cases -MO MT. The reason for this is that when the cell phone sends an SM, the clock is started. if
The SM will not be confirmed before the time elapsed by this clock, then the phone will automatically resend the SM. In a typical GSM network, approximately 5% of all delivery attempts require a longer time to complete than the time measured by the clock. This means that for SM MO-MT SMSC 120 must acknowledge receipt of the SM before saving it in at least some cases in order to avoid repeated delivery of the SM to its recipient. Confirmation of SM before it is saved was called "behind early confirmation" as described in British Patent GB2401757B issued June 10, 2005. If any component of SMSC 120 fails between sending confirmation and saving SM, then this SM is not only lost but its sender (i.e. creator) does not know this because he has received confirmation of his SM. Such lost SMs reduce the subscriber's confidence in the service previously considered to be highly reliable. [0011] For several years, some network operators have had SMS routers in their networks (hereinafter called routers). Initially, these systems were only used to balance traffic load among many SMSC 120 and as such did not change the reliability of this service. Recently, most routers 110 have gained the ability to offer the forwarding and saving service described above (i.e., FDA and forwarding to SMSC 120 if the FDA fails). This approach significantly increases the risk of failure compared to the "save and forward" implementation described above (internally to SMSC). In a design with a 110 router providing "forward and save" operation, such router 110 confirms the sender of the SM and then performs a delivery attempt. If the delivery attempt fails, then router 110 forwards the SM to SMSC 120, where it is saved. There are three potential failure points after acknowledging receipt of a short message:
• router 110 may fail itself before forwarding SM to SMSC 120;
• there may be a malfunction in the telecommunications network between router 110 and
SMSC 120.
• finally, SMSC 120 may fail before saving a short message to disk.
[0012] If router 110 performs pure support for relaying and storing in memory at a traffic speed of 2000 SM per second, and the typical delivery time of SM is 10 seconds, then up to 20,000 previously confirmed (and potentially charged) SM will be lost if router 110 fail.
[0013] In some countries there are statutory requirements regarding the accuracy of telephone billing systems. In situations where SMs are charged in real time (for example, telephones with a prepayment, the combination of the matters listed above may cause the operator to risk exceeding the allowable number of errors in charging. The degree of risk depends on the exact mechanism of charging in real time.
[0014] The quality of the forwarding and storage handling also potentially weakens the ability of the SMSC 120 to perform double checks to allow retransmission identification. This is due to the fact that SMSC 120 potentially has no SM record that was delivered without saving it, and therefore SMSC 120 has nothing to compare with the new SM to determine if these are duplicates.
[0015] Publication D1 WO 03/069924 describes three types of message termination for SMS delivery: immediate acknowledgment, retention and synchronized double acknowledgment. With immediate confirmation, the message is confirmed as soon as it is received and delivered to the final recipient. Immediate confirmation may anticipate maximum system throughput, but does not guarantee that messages will be successfully delivered to the final recipient. When maintaining the message is saved and confirmed later, and then delivered to the final recipient.
[0016] Publication D2 US 6.178.331 describes a gateway for multiple messaging that can be connected to the Internet and to a local area network. This gateway transmits messages from the LAN and / or the Internet to the mobile phone and vice versa. When it comes to SMS delivery, the SMS sent to the SMSC is placed in the holding data memory pending positive confirmation. Sent SMs are confirmed as successfully sent, unsent or unfit for sending depending on the response from the SMSC.
Description of the invention [0017] A method and device for improving the reliability of handling short messages by reducing the risk of loss of SM due to a failure in a network having both SMS and SMSC routers, where forwarding and saving or early acknowledgment are enabled in the router.
[0018] Alternative methods and devices have been presented that reduce the possibility of losing the SM before it is delivered to the recipient and permanently recorded by SMSC by placing this SM in a fault-tolerant storage medium before sending the SM confirmation to the sender of the SM and by using a recovery mechanism which in case of failure can try again to deliver or forward SM based on the contents of the fault tolerant storage media.
[0019] The exemplary implementation may provide a method for improving the reliability of handling short messages in a cellular telephony (SMS) network having a short messaging center (SMSC) that can use permanent storage and forwarding of short messages (SM) to appropriate recipients and a router that first receives the SM and reduces the number of SMs forwarded to the SMSC by attempting to deliver part of the received SMs, the method comprising the following steps:
receiving an SM from a sender;
creating in the log memory the first log entry containing a copy of the SM from the sender;
confirming the sender of receiving an SM;
performing the first delivery attempt (FDA) of the SM to the addressee and forwarding (FWD) of the SM to the SMSC successfully with the first delivery attempt and forwarding the SM to the SMSC;
after the FDA or FWD successfully completes its SMSC, writing to the log memory a second log entry containing information that the transfer has been successfully completed;
after determining the failure, determining whether the MS may have been lost by searching the log memory for a second log entry, and if a second log entry is not found, re-performing the FDA and FWD using the copy of the SM contained in the first log entry;
wherein the log memory is indestructible memory, the contents of which are resistant to router failures, and in addition the stage of creating the first log entry is carried out before the confirmation stage.
[0020] Another embodiment of the invention may be a method of improving the reliability of handling short messages in a cellular telephony (SMS) network having a short message service center (SMSC), which is to provide permanent storage and forwarding of short messages (SM) to appropriate recipients; and the router that first receives the SM and reduces the number of SM forwarded to the SMSC by attempting to deliver part of the received SM, wherein the method comprises the following steps: receiving an SM from the sender; creating SM copies in copy memory; confirmation of the sender's receipt of SM; performing the first delivery attempt (FDA) of the SM to the addressee and forwarding (FWD) of the SM to the SMSC; after successful FDA or FWD for erasing the SM copy in the copy memory; after recovery in the event of a failure, determining whether the SM may have been lost while searching the copy memory for a copy of the SM and, if an SM copy was found, performing the FDA or FWD again using the SM copy; wherein the copy memory is an indestructible storage medium, the content of which can withstand the failure of the router, and the SM copying stage is carried out before the confirmation stage.
[0021] A further embodiment of the invention may be a device for improving the reliability of handling short messages in a cellular telephone (SMS) network comprising a cellular network interface for receiving short messages (SM) from a sender in a cellular telephone network and for sending an acknowledgment to the sender; fixed-line network interface intended for forwarding SM to the recipient; an SMSC interface intended for forwarding the SM to a short message service center (SMSC); log memory intended for storing log entries and for protecting log entries in the event of a device failure; a log driver for adding and removing log entries to and from log memory; SM driver designed for: creating the first log entry, containing a copy of the SM, in the log memory through the log driver; sending confirmation to the sender via the mobile network interface after the first log entry has been created; performing the first delivery attempt (FDA) of the SM to the addressee or forwarding (FWD) of the SM to the SMSC via the fixed network interface and the SMSC interface respectively; and after the FDA or FWD have successfully performed a short message center, the log driver creates a second log entry in the log memory that has successfully completed the operation; and a recovery driver designed to determine after recovery in the event of failure whether SM might have been lost when searching the log memory for the second log entry and if the second log entry was not found, to re-perform the FDA and to the FWD using the SM copy contained in the first entry log.
[0022] Still another embodiment of the invention may be a device for improving the reliability of handling short messages in a cellular telephone network (SMS) comprising: a cellular network interface adapted to receive a short message (SM) from a sender in a cellular network and to send confirmation to the sender , landline telephone network interface adapted to forward SM to the recipient; SMSC interface adapted to forward SM to the Short Message Service Center (SMSC); copy memory adapted to store SM copies and to protect SM copies in the event of a device failure; copy driver adapted to add and delete SM copies to and from copy memory; SM driver designed for: adding SM copies to the copy memory via a copy driver; sending confirmation to the sender via the mobile network interface after the first log entry has been created; performing the first delivery attempt (FDA) of the SM to the addressee or forwarding (FWD) of the SM to SMSC via the fixed network interface and via the SMSC interface respectively; and upon successful completion of the FDA or FWD, deleting the SM copy from the copy memory by the copy driver; as well as a recovery driver designed to determine after recovery from failure whether an SM might have been lost while looking for its copy in the copy memory and if the SM copy was not found, performing the FDA or FWD again using the SM copy.
[0023] Other aspects and features of the present invention will become apparent to those skilled in the art upon reviewing the following description of specific embodiments of the invention in combination with the accompanying drawings.
Brief Description of the Drawings [0024] The present invention will be described with reference to the drawings, in which:
Figure 1 schematically illustrates an example architecture of a short message service network showing message flows, Figure 2 schematically illustrates a first embodiment of a device for improving short message service reliability, Figure 3 illustrates the steps of the first embodiment of the method for improving short message service reliability, FIG. . 4 schematically shows a second embodiment of the device for improving the reliability of handling short messages, Fig. 5 shows the stages of the second embodiment of the method for improving the reliability of handling short messages, Fig. 6 schematically shows a third embodiment of the device for improving the reliability of handling short messages, Fig. 7 shows the stages of the third an example of how to improve the reliability of handling short messages,
Mode (s) for carrying out the invention [0025] A method and apparatus is described herein for improving the reliability of handling short messages (SMS). Such a device is an SMS router intended for use in a cellular telephone network for receiving an SM, for carrying out the first delivery attempt (FDA) of some of the SM to the relevant recipients, for example to the transition or to a cell switching center (MSC), or directly to a stationary endpoint (for example, to the main server of the program) and for other SMs and for those SMs for which the FDA failed to route such short messages to the SMSC. To reduce the risk of loss of SM, the device stores (e.g., saves) the received SM on a permanent storage medium (e.g. in a memory file). In the event of a failure (e.g. device, lack of communication with the SMSC, or failure of the SMSC before the SM is secured), the input records including the SMs may be recovered from a permanent storage medium for restoration.
[0026] Various embodiments of such a device (i.e., an SMS router) may contain various trade-offs for implementation parameters, for example, what information is stored in the log register, the level of implementation impact (and therefore cost implications) for SM logging, and the required degree of SMS reliability.
[0027] Fig. 2 schematically shows a first embodiment of a device 200A for improving SMS reliability. The 200A is an SMS router containing a mobile network interface 210, a fixed line interface 220, a short message service center interface 230 (SMSC), SM 240 controller, 250 log controller and 280 recovery controller. Short messages (SMs) can be received via the cellular network interface 210 from sending objects (e.g., from a cellular telephone) in a cellular network (not shown). When attempting to deliver SM via MSC (not shown), a mobile telephony interface 210 may also be used. The SM controller 240 assigns the received SM validity, as a result of which each SM is either accepted or rejected. The SM 240 controller also determines for each approved SM whether to perform the first delivery attempt (FDA). The SM 240 controller specifies, for example, MSC or a software host for an FDA SM via a mobile telephony interface 210 or a fixed-line network interface 220. For SM for which no attempt was made to perform FDA and for SM for which FDA failed, SM 240 provides for referral SM to SMSC via the SMSC 230 interface. SMSC performs the function of storage and transmission of SM. The SM controller 240 also provides for sending an acknowledgment of receipt of the SM to the sending SM via the cellular network interface 210. The SM 240 controller can send confirmation independently (i.e. sending confirmation is independent of receiving confirmation from the FDA or from the SMSC).
[0028] Log controller 250 provides adding SM to log memory 260 as log entries 270. Each log entry 270 may contain a copy of the SM, an indication of whether the FDA has been attempted or forwarded to the SMSC, and if it was addressed to the SMSC, then it also contains the SMSC ID. Each 270 log entry preferably has a time stamp added to the 260 log memory. The log controller 250 also provides the addition of additional log entries to the log memory 260 when an FDA delivery confirmation is received or when the SM has been forwarded to and received by SMSC. Each additional log entry identifies the SM and marks the successful completion of the FDA or forwarding to the SMSC. Log memory 260 may be implemented as a log file in which log entries 270 are written linearly (i.e., sequentially) on a storage medium to optimize the throughput that can be obtained by log memory 260. Preferably, the log memory 260 is optimized for performing write operations, although there may even be some tradeoff in the reduced optimization for read operations, because the log memory 260 will be written too often, while it should usually be read only when an error is detected. 260 log memory is a storage medium whose contents can survive a 200A device failure (i.e. is an indestructible storage medium), such as, for example, non-volatile storage medium (i.e. non-volatile memory, hard disk, RAID array, mass storage network (SAN), or other similar devices), a temporary storage medium (e.g. volatile memory, catch memory, or other similar devices), which is available to the 200A device, but is located on an independent platform, as well as a temporary storage medium served by a shared server, in which each of at least two 200A devices is a temporary storage medium for use by other devices 200A. In Fig. 2, log memory 260 is shown as supported by device 200A. In an alternative embodiment, the log memory 260 may be located on another independent platform (as described above with reference to the indestructible memory medium) while remaining available to the 200A device using known remote memory access mechanisms.
[0029] In the event of a failure, the recovery controller 280 may search the contents of the log memory 260 (i.e., the indestructible memory medium) to determine which SMs have potentially been lost, and send these SMs to the SM controller 240 for FDA or forwarding to the SMSC. The SM 240 controller can determine which SM recovered (i.e. identified as potentially lost) are to be submitted to the FDA, or are to be forwarded to the SMSC, based on which service was to be performed, based on SM attributes (e.g. only Best Effort service) and / or on the basis of previously defined rules (e.g. all recovered SMs are forwarded to the SMSC). Searching the log memory 260 may be limited to those 270 log entries that have a time stamp later than the beginning of the specified time interval prior to the failure. Recovery controller 280 determines which SMs are potentially lost by identifying SMs having the first journal entry and not having the corresponding second journal entry, indicating the successful completion of the FDA or forwarding to the SMSC. Recovery controller 280 can optionally filter SMs identified from the log using SM attributes to prevent recovery of low-value SMs (e.g., excluding SMs selected for a single delivery attempt only).
[0030] In an alternative embodiment, where the log memory 260 is installed on the independent platform, the recovery controller 280 is preferably also installed on the independent platform.
[0031] Fig. 3 schematically shows the steps of an exemplary implementation of the method 300 for improving the reliability of handling short messages. The method 300 can be implemented, for example, using the device 200A described above with reference to Fig. 2.
[0032] In step 301, the SM is received from a cellular network. This SM can be addressed to either a stationary endpoint (FT), such as for example a user server, or to a cellular endpoint (MT). At step 302, the received SM is confirmed. At step 303, if the SM is not confirmed, then it is rejected. Details of this SM may possibly be saved in log memory 260. At step 304, a copy of SM is entered (i.e. saved) to the 260 log memory. At step 305, an acknowledgment is sent to the SM sender. At step 306, either the first delivery attempt (FDA) of the SM is carried out to the addressee of that SM, for example via a gateway or MSC, or the SM is forwarded to the SMSC. The choice of FDA or SMSC forwarding may depend on the type of SM, SM attributes (e.g. sender, recipient), pre-defined rules (e.g. sensitivity to the load on the SMSC and other network elements (such as the home subscriber register (HLR)) and their combinations. In step 307, the FDA or SMSC forwarding result can be evaluated. If the FDA or forwarding was successful, then at step 308 a log record may be entered into memory 260 of the log, indicating successful delivery of the SM. If the FDA or surrender failed, it is possible to repeat the FDA or surrender in step 306. At step 309, recovery from failure begins. Failures can be caused, for example, by devices, by communication with the SMSC or by the SMSC before it protects the SM. At step 310, the contents of the log memory 260 are read to determine which SM cannot be safely delivered. SMs having both an initial journal entry and a second journal entry certifying their successful delivery are not recovered. SMs having only the initial entry without any further entry in the diary, meaning their effective delivery, are restored from 260 log memory. For each SM reconstructed in step 310, the FDA may be repeated or handed over in step 311. Determining which of the reconstructed SMs are to be subjected to FDA or forwarding to SMSC may be based on which operation was not carried out during the failure, and / or based on SM attributes (e.g. only delivery with the best effort), and / or based on predetermined rules (e.g. all recreated SMs are forwarded to the SMSC).
[0033] Fig. 4 schematically shows a second embodiment of the device 200B for improving the reliability of handling short messages (SMS). The 200B is a short message service SMS router containing a mobile network interface 210, a fixed line interface 220, a short message service center interface 230 (SMSC), SM 240 controller, copy controller 450, 460 copy memory and recovery controller 280. Cellular network interface 210, landline network interface 220 and short messaging center interface (SMSC) 230 operate in substantially the same way as described above for device 200A and Figure 2. Copy controller 450 is used to add and delete copies of the SM 470 460 copies to and from memory. In addition, the copy driver 450 can be used to start the message clock for each SM added to the 460 copy memory. Preferably the 460 copy memory is optimized for carrying out write and erase operations even if there could even be a trade-off in reducing optimization for read operations when SM copies will often be written in and erased from the 460 copy memory, while they are usually only read during playback in case of Fails. The 460-copy memory is an indestructible storage medium (similar to that described above with respect to the 260 memory of the log of Fig. 2), which allows you to add SM and delete them while reducing the impact on the operation of the 200B device. The SM 240 controller validates the received short messages, as a result of which each SM is either accepted or rejected. The SM 240 controller also determines for each SM adopted whether the first delivery test (FDA) should be carried out. The SM 240 controller provides FDA SM routing, for example, to the MSC or to the application host via a fixed-line network interface 220. In the case of SM for which the FDA has not been carried out and in the case of SM for which the FDA has failed, the SM 240 controller ensures the transfer of SM to the SMSC via the SMSC 230 interface. The SMSC performs the function of saving in memory and transfer for the transferred SM. The SM 240 controller also provides, after receiving the SM, to send an acknowledgment to the SM sender via the cellular network interface 210. The SM 240 controller can send confirmation autonomously (i.e. by sending confirmation regardless of receipt of confirmation from the FDA recipient and from the SMSC). The SM 240 controller adds a copy of each received SM to the 460 copies memory via the 450 copies driver. Each copy of an adopted SM may also contain an SMSC identifier to which this SM has been forwarded, or to which it should be forwarded if the FDA fails.
[0034] When the time elapsed by the message clock associated with the SM has elapsed, the SM controller 240 determines whether the corresponding SM copy has been deleted from the 460 copies memory. If the copy of the SM has been deleted (i.e. FDA or SMSC passed), then no further action is needed. If the SM copy still exists in the 460 copy memory, the SM 450 controller ensures FDA re-execution or SM forwarding to the SMSC via cellular telephony interface 210, fixed line interface 220 or SMSC 230 interface. The identity of the SMSC to which the SM should be forwarded can be included in a copy of this SM. The SM 450 controller can optionally specify that the SM re-forwarding to the SMSC is done by a different route than the previous forward attempt.
[0035] In the event of a failure, the recovery controller 280 may read the contents of a 460 copy memory (i.e., an indestructible memory medium) to determine which SMs were potentially lost during the failure and send these SMs to the SM 240 controller to repeat the FDA or to forward to SMSC. The SM 240 controller can determine which recovered (i.e. identified as potentially lost) SMs are to be subjected to FDA or forwarded SMSC, depending on which operation failed during the failure, depending on the attributes of the SM (e.g. only delivery with due diligence), depending on the previously defined policy ( e.g. all recovered SMs are directed to SMSC) and their combinations. Recovery driver 280 determines which SMs are potentially lost by identifying those SMs for which a copy exists (that is, they have not been deleted) in the 460 copy memory. The 460 copy memory can implement duplicate SM detection to prevent SMSs that are caused by automatic retransmission being sent to the SMSC again. Recovery controller 280 may also filter SMs that are recovered based on SM attributes so that only high value SMs are recovered (e.g., excluding SM marked as intended for a single delivery attempt only).
[0036] In an alternative embodiment, where a 460 memory copy is installed on an independent platform, preferably the recovery driver 280 is also installed on that independent platform.
[0037] Fig. 5 schematically illustrates the steps of an exemplary implementation of the method 500 to improve reliability of handling short messages. The method 500 can be carried out, for example, using the device 200B described above with reference to Fig. 4.
[0038] In step 501, the SM is received from a cellular network. At step 502, the received SM is confirmed. At step 503, if the SM is not found, then it is rejected. At step 504, this SM is copied to the copy memory. A later recovery process may retrieve this SM from the copy memory. At step 505, the message clock associated with this SM is started. At step 506, an acknowledgment is sent to the sender of this SM. At step 507, an FDA is carried out or the SM is forwarded to the SMSC depending on the type of SM, SM attributes, predefined rules and their combinations. At step 508, the FDA result or forwarding of the SM to the SMSC can be evaluated. At step 509, if the FDA or SMSC transfer failed, it is possible to re-conduct the FDA or transfer. At step 510, when the FDA or SMSC forwarding was successful, the SM copy is deleted from the copy memory. At step 511, the message clock ended its timing. In step 512, it is determined whether the SM was deleted from the copy memory. At step 513, if the SM was deleted from the copy memory (i.e.
FDA or SMSC forwarding successful), then no SM processing is needed. If the SM has not been erased from the copy memory (i.e., the FDA or forwarding to the SMSC has failed), then the FDA is again carried out or the forwarding of the SM to the SMSC in step 509 according to the original procedure with the SM. At step 514, recovery from a failure begins. Failures can include, for example, a device failure, no communication with the SMSC, or an SMSC failure before it protects the SM. At step 515, each SM is read from the copy memory. At step 514, recovery from a failure begins. For each SM, the FDA is repeated from the copy memory or the SM is forwarded to the SMSC in step 509. Determining which of the recovered SM (i.e., copies read from the memory) are to be subjected to FDA or forwarded to the SMSC, may depend on what operation was not carried out during the failure, depending on the attributes of the SM (e.g. only with the Best Effort service) , depending on certain rules (for example, all recovered SMs are forwarded to the SMSC) and their combination.
[0039] For most SMs it is possible to send the acknowledgment delayed until
SM will either be delivered or forwarded to the SMSC. The router can minimize messages requiring early confirmation by starting the clock immediately after receiving the SM and send confirmation only when the time counted by this clock has passed, or when the SM is successfully delivered to its destination or forwarded to the SMSC.
[0040] Fig. 6 schematically shows a third embodiment of a device 200C for improving the reliability of handling short messages (SMS). The 200C is an SMS router containing a mobile network interface 210, a fixed line interface 220, a short message service center interface 230 (SMSC), SM 240 controller, 250 log controller, 260 log memory, 280 recovery controller and 690 clock controller. Cellular network interface 210, fixed line interface 220, log controller 250, log memory 260 and recovery controller 280 operate in substantially the same way as described above with respect to device 200A and Fig. 2. The clock controller 690 provides a confirmation clock for each received SM. The clock can be a countdown timer that starts at a specific time setting. This time setting is preferably selected as less than the predicted elapsed time to be confirmed in the sender's MS to reduce the likelihood of MS re-sending unconfirmed SM. The SM 240 controller delays saving the SM in the 260 log memory and sending confirmation to the sender of the SM until the time set on the confirmation clock associated with that SM has elapsed. If the FDA or SMS forwarding to the SMSC does not complete successfully after the time set on the confirmation clock has elapsed, then the SM 240 controller ensures that the confirmation is sent to the sender of the SM and the SM is saved in the 260 log memory. If the FDA or SMSC referral is successfully completed within the time set on the confirmation clock, then the confirmation can be sent immediately and the SM does not need to be recorded in the log. In an alternative embodiment, the log controller 250 and log memory 260 may be replaced by a 450 copy controller and a 460 copy memory as described above with reference to device 200B and FIG. 4.
[0041] Fig. 7 schematically illustrates operating steps in an embodiment of a method 700 for improving reliability of handling short messages. This method 700 can be implemented, for example, using the apparatus 200C described above with reference to Fig. 6.
[0042] In step 701, the SM is received. At step 702, the confirmation clock associated with the SM is started. At step 703, SM is confirmed. If the SM is not approved, then it is rejected in step 704. If, on the other hand, the SM is approved, then in 705 an FDA is carried out or the SM is forwarded to the SMSC in accordance with the type of SM, SM attributes, pre-defined rules and combinations of these features . At step 706, an FDA or SMSC successful completion is determined. If the FDA or SMSC successfully completes before the time elapses, then in step 708 a confirmation is sent to the SM sender. At step 710, the time set on the clock elapses before it is successfully completed by the FDA or forwarded to an SMSC. At step 711, the SM is stored in an indestructible log memory such as, for example, in log memory 250. At step 712, an acknowledgment is sent to the SM sender. Processing continues at step 706 after the FDA has successfully completed or passed to the SMSC. If the FDA or forwarding to the SMSC has failed, then the FDA is again carried out or the SM is again forwarded to the SMSC in step 709. If the FDA or SMSC handover was successfully completed after the time set on the clock had expired (i.e., the SM was logged), then in step 708 the FDA successfully completed or SMSC handover was saved in the indestructible memory. At step 713, disaster recovery begins. For example, device failures, communications with the Short Message Service Center, or Short Message Service Center failures before the SM is saved. At step 714, the content of the indestructible memory is read to determine which SM may not have been safely delivered. If the SM has both the initial diary entry and the second entry, indicating its successful delivery, then such SM is not recovered. SM having only the initial diary entry without a subsequent diary entry, meaning its effective delivery, is retrieved from the indestructible memory. For each SM recovered in step 714 in step 715, the FDA is again carried out or referred to the SMSC. Determining which of the recovered SM (i.e., read from memory copies) are to be subjected to FDA or forwarded to the SMSC, can be based on what operation failed during the failure, based on the characteristics of the SM (e.g. only delivery with due diligence ), on predetermined terms (e.g. all recovered SMs are forwarded to the SMSC) and on their combinations.
[0043] In an alternative example of carrying out the method 700, which can be carried out, for example, by means of the device 200B described above with reference to Fig. 4, with the addition of a clock controller 690, steps 711 and 708 are different from those described above. In step 711, instead of saving the SM in log memory 260, a copy of this SM is added to the 460 copies memory. At step 708, if the FDA successfully completed or forwarded to the SMSC after the confirmation clock time expired, instead of saving the end successfully, the SM copy stored in the 460 copy memory is deleted.
[0044] Each of the methods described above can be implemented by means of a computer program comprising computer executable program codes stored on a readable computer storage medium.
[0045] For each of the embodiments described above, all data is preferably written asynchronously on an indestructible storage medium. Alternatives include synchronous cache storage with battery backup or synchronous storage in a mass storage network (SAN).
[0046] Journal entries may also contain sufficient information to enable the SM value to be determined. This allows selective SM playback with a high value.
[0047] Journal entries in indestructible memory may also contain status information so that service personnel can determine the fate of the SM from the log data both for troubleshooting purposes and for statistical purposes.
[0048] A preferred approach is to have relatively small records created periodically so that the last data can be played back quickly without having to worry about older, irrelevant data. The router preferably manages its log entries automatically to ensure that memory requirements are kept within reasonable limits.
[0049] Sent requests from the MO to reply to queries, delete and update the SM may be saved for statistical purposes, but need not be saved for recovery purposes. Such requests can be directed directly to the SMSC storing the target SM and confirmed to the sender after acknowledgment of receipt by the SMSC.
[0050] In both fixed-line and MS applications, it is possible to specify after sending that the SM should be received in only one delivery attempt. In addition, operator policy may enforce this quality of service for some SMs or at certain time intervals. Such SMs may be recorded for statistical purposes, but need not be recorded for recovery purposes. It must be possible to distinguish between an SM and an SM that requires a response.
[0051] In each of the embodiments described above, when recovery is needed, SM recovery from the log can be performed selectively based on attributes (e.g., SM value, SM address, or type of contract (prepay or postpay) held by the sender SM) regarding SM, if necessary.
[0052] Usually, SMS routers are capable of generating status reports (SRs) to inform the sender of the SM of the result of attempts to deliver this SM. If the router cannot deliver SR, then it can either: give up and lose SR, or forward SR to SMSC, or save SR and try to deliver it later. This is equivalent to the quality of service with the transfer of SM and saving it. On networks where SR delivery is considered important, SR can also be saved to indestructible memory virtually immediately after it is created.
[0053] The SM / SR details saved by the router can also be used for recovery in the event of catastrophic SMSC failures. If a failure occurs that causes the SMSC to be inactive for a long time, then the SM details saved in the log, which the router sent to the SMSC, can be restored and you can decide whether to forward the SM / SR to another SMSC depending on: SM / SR attributes; the time when the SM / SR was forwarded to the SMSC; and the reason which caused the attempted / attempted delivery to fail.
[0054] It will be apparent to those skilled in the art that numerous modifications and deviations from the specific embodiments described herein are possible without departing from the scope of the present invention.
Industrial Applicability [0055] The present invention is applicable to a network operator to improve the reliability of short message service (SMS) by reducing the risk of loss of SM due to failure in the SMS providing network.
11 priority claims, no other members on record
Priority claims11
| Document | Office | Kind | Date |
|---|---|---|---|
| 34641906 | United States of America | A | |
| 34641906 | United States of America | A | |
| 35156606 | United States of America | A | |
| 35156606 | United States of America | A | |
| 07719360 | European Patent Office (EPO) | A | |
| 2007000120 | Canada | W | |
| 2007000120 | Canada | W | |
| EP20070719360 | – | – | – |
| US20060346419 | – | – | – |
| US20060351566 | – | – | – |
| WO2007CA00120 | – | – | – |
Numbers
- Publication, DOCDB
- 1985071
- Publication, EPODOC
- PL1985071T
- Application
- 719360
- Application, DOCDB
- 07719360
- Application, EPODOC
- PL20070719360T
Titles2
- English
- APPARATUS AND METHOD FOR IMPROVING SHORT MESSAGE SERVICE DEPENDABILITY
- Polish
- Urządzenie i sposób do polepszenia niezawodności obsługi krótkich wiadomości
Classification
- CPC, 2
- H04W4/14
- H04W88/184
- IPC, 3
- H04W4 14
- H04L69 40
- H04W88 18