FORM 2
THE PATENTS ACT, 1970 (39 of 1970) & THE PATENTS RULES, 2003
COMPLETE SPECIFICATION (See section 10, rule 13)
1. Title of the invention: REAL-TIME AND RELIABLE DATA TRANSMISSION OVER
INTERNET OF THINGS NETWORK
2. Applicant(s)
NAME
TATA CONSULTANCY SERVICES LIMITED
3. Preamble to the description
NATIONALITY ADDRESS
Indian
Nirmal Building, 9th Floor, Nariman
Point,
Mumbai, Maharashtra 400021
India
COMPLETE SPECIFICATION
The following specification particularly describes the invention and the manner in which it
is to be performed.
TECHNICAL FIELD
[0001] The present subject matter relates, in general, to data communication and, in
particular, to data communication over Internet of Things network.
BACKGROUND
[0002] Generally a communication network is a collection of computing devices and
other hardware components interconnected together to share and exchange resources, and information. In other words the communication network allows computing devices to send and receive information. Typically, a communication network provides a communication path in any network, facilitating exchange of data. Generally, this communication path includes a series of interlinked resources, such as routers, switches, and physical wires. To facilitate exchange of data between the computing devices, multiple protocols, such as Transmission Control Protocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP), Datagram Congestion Control Protocol (DCCP), and the like, are implemented in the communication network.
[0003] Particularly, when a communication network is utilized by computers and its
peripheral devices to exchange information, the communication network is referred to as a computer network. For example, the Internet is a global communication network of interconnected computer networks. Similarly, mobile devices communicate to each other to exchange voice and data over the communication network. In such situations, the communication network is referred to as Radio Access Network (RAN). However, with constant technological advancement and interoperability among evolving communication networks, physical things, such as vehicles and shipments, are also being connected with each other to exchange information.
[0004] Recently, an Internet of Things (IoT) network has been developed that refers to a
global network, linking physical and virtual objects through the various available communication networks. The IoT infrastructure includes existing and evolving communications networks, such as Wi-Fi, GPRS, Internet, and RAN. In other words, IoT is a heterogeneous network connecting millions of devices and objects to each other to exchange data.
SUMMARY
[0005] This summary is provided to introduce concepts related to forward error
correction technique in Internet of Things network. This summary is neither intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
In an embodiment, methods for reliable and real-time data transmission over an Internet of Things network based on implementation of forward error correction techniques is described. the method includes generating a primary source data (PSD) packet based on padding of a source data packet, wherein the source data packet comprises session layer data of a unicast message obtained from session layer of a seven layer open systems interconnection (OSI) model network, and wherein the source data packet is generated intermittently. The method further includes implementing a forward error correction (FEC) technique for the PSD packet to generate a primary redundant data (PRD) packet, wherein the PRD packet includes extra repair data for the PSD packet.
BRIEF DESCRIPTION OF THE FIGURES
[0006] The detailed description is described with reference to the accompanying figures.
In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and components.
[0007] Fig. 1 illustrates a communication environment implementing a forward error
correction (FEC) system for reliable and real-time data transmission over an Internet of Things (IoT) network, in accordance with an embodiment of the present subject matter;
[0008] Fig. 2(a) and Fig. 2(b) illustrate a sequential encoding/decoding method for
implementing forward error correction for reliable and real-time data transmission over Internet of Things (IoT) network, in accordance with an embodiment of the present subject matter; and
[0009] Fig. 3(a) and Fig. 3(b) illustrate a block encoding/decoding method for
implementing forward error correction for reliable and real-time data transmission over Internet of Things (IoT) network, in accordance with an embodiment of the present subject matter.
[0010] In the present document, the word "exemplary" is used herein to mean "serving as
an example, instance, or illustration." Any embodiment or implementation of the present subject matter described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
[0011] It should be appreciated by those skilled in the art that any block diagrams herein
represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
DETAILED DESCRIPTION
[0012] Systems and methods for reliable and real-time data transmission over an Internet
of Things (IoT) network based on implementation of forward error correction (FEC) techniques are described herein. According to an embodiment, a block encoding/decoding method for reliable and real-time data transmission over the IoT network based on implementation of the FEC techniques is described. According to another embodiment, a sequential encoding/decoding method for reliable and real-time data transmission over the IoT network based on implementation of forward error correction (FEC) techniques is described. In each embodiment, the methods of reliable and real-time data transmission based on the FEC technique are implemented for ‘unicast message transmission’ methodology, over the IoT network. The FEC technique is further utilized for session data received from the session layer of the seven layer OSI model network. Furthermore, the FEC technique utilizes Reed-Solomon (RS) code to achieve end-to-end correction and allow reliable and real-time data transmission.
[0013] The systems and the methods can be implemented in a variety of systems or
devices. The system or devices that can implement the described methods include, but are not limited to, desktop computers, hand-held devices, laptops or other portable computers, mobile phones, landline phones, and the like. Although the description herein is with reference to unicast message transmission methodology, it would understood that the systems and methods can be implemented in other message delivery methods, such as but not limiting to, anycast message addressing methodology, broadcast message addressing methodology, multicast
message addressing methodology albeit with a few variations, as will be understood by a person skilled in the art.
[0014] Data transmission is a physical transfer of data from one point to another using
communication networks. The communication networks may include different networks, but not limited to, Wi-Fi, GPRS, Internet, RAN, and UMTS. Typically, communication networks work on distinct communication protocol where the communication protocols define the rules and data formats for data transmission in the communication network. Communication protocol may be further explained as a set of procedures to be followed for data transmission through the communication network. An Open systems Interconnection (OSI) model defines a networking framework for implementing communication protocols in seven layers. The seven layers are, application layer (layer 7), presentation layer (layer 6), session layer (layer 5), transport layer (layer 4), network layer (layer 3), data link layer (layer 2), and physical layer (layer 1).
[0015] During data transmission in an OSI network model based communication
network, at a transmitting node, data is passed from one layer to the next, starting at the application layer, and proceeding to the physical layer. Further, at the receiving node data is passed from the physical layer and finally received by the application layer. It would be understood by those skilled in the art that data corruption and data loss during data transmission between transmitting node and receiving node is a frequent occurrence and an unavoidable occurrence, in any communication network.
[0016] Probabilities of data corruption and data loss during transmission have a variety of
causes. Generally, interruption of data transmission and communication network link failure causes data loss or data corruption. Further, environmental conditions can interfere with data transmission, especially when dealing with wireless transmission through Wi-Fi or GPRS. The probability of data loss is further increased in an IoT network due to data transfer between different communication networks. Furthermore, in the IoT network, since multiple combination of networks are involved, network-layer level protocol conversion takes place during data transmission from one network to another.
[0017] For example, a truck delivering goods to a particular remote location may
communicate with a central receiver through IoT network to report different parameters, such as level of fuel, condition of the truck, mileage provided, total weight of the truck, and engine
condition of the truck. In such a scenario the truck may be communicating using a RAN; whereas the central receiver may be connected to Internet through PSTN network. In the said example the data transmission by the truck through the RAN is based on different communication protocols as compared to the central receiver connected to Internet through Hyper Text Transfer Protocol (HTTP). The transmitted data by the truck undergoes tunnelling from one communication protocol to another at the communication network boundaries that lie between the RAN and the final Internet connection of the central receiver. The tunnelling of such data can further increase the probability of data loss.
[0018] In another example, construe a situation where condition of all heart patients
fitted with pacemakers in Metro city is monitored to assess the health condition of the patients. For such a purpose, the pacemakers may be tracked and monitored from time to time. For this purpose, the pacemakers may be transmitting data about the patient’s condition to a central server. Further, the central server may be in contact with different emergency services and doctors in close proximity to the patients. In such a scenario, the patients, emergency services, and doctors individually may be using a different communication network to connect to the central server. In an emergency situation, the data transmitted about the patient’s condition by the pacemaker is critical as well as urgent and delay in receiving or loss of this data may result in serious consequences. Further, the pacemakers’ main objective is to maintain the heartbeat and has a limited source of energy for any other application. Hence repeated data transmission as employed by some conventional transmission system is also not a possible option in case of data loss. Hence critical and urgent data requires a technique which guarantees reliable and real-time data transmission in the first instance of transmission.
[0019] Conventional methods for reducing the probability of data loss and increasing
reliability utilize error correction techniques. Error correction techniques may be explained as the method of detecting errors and reconstruction of the original, error-free data. However, the error correction techniques, though being practically applied, vary from one communication network to another. For example, a 3G communication network uses turbo codes for error correction and 4G communication networks uses concatenated codes for error correction. Further, the error correction technique differs in implemented layer of an OSI model network. For example, LAN network provides the error correction at physical layer whereas internet protocol provides it at the transport layer. The difference in application and types of conventional error correction
techniques acts as a limitation during data transmission over IoT network. In an IoT network, data transmission takes place between different communication networks; hence error correction technique employed by one communication network may not be detected by another communication network employing a distinct error correction technique. The inability by the communication network to utilize the error corrected data makes reliable and real-time data transmission over IoT network difficult based on conventional error correction techniques. Furthermore, conventional error correction technique implementations have limited capability due to inability to handle erasures. An example of conventional error correction technique is a transmission control protocol for internet protocol (TCP/IP), which detects error developed during transmission but provides no error correction facility.
[0020] According to an implementation of the present subject matter, systems and
methods for reliable and real-time data transmission over Internet of Things (IoT) network based on FEC technique, are described. According an embodiment, a sequential encoding/decoding method for reliable and real-time data transmission over the IoT network is described. Further, according to another embodiment a block encoding/decoding method for reliable and real-time data transmission over the IoT network is described. In said implementation, the methods of reliable and real-time data transmission based on a FEC technique are implemented for unicast message transmission methodology, over the IoT network. Further, the FEC technique utilizes Reed-Solomon (RS) code to achieve end-to-end correction and enable reliable and real-time data transmission.
[0021] Typically a source data passes through various layers of a seven layer OSI model
network at any transmitting node and receiving node in a communication network during data transmission and data receiving. At the transmitting node, source data first passes through the application layer and then session layer till the physical layer. In such a flow of data, the source data is encapsulated with the corresponding layer communication protocol data, where encapsulation signifies packing of data. For example, an action of a letter being put in an envelope, where letter signifies the previous layer data, the envelope signifies the corresponding layer communication protocol data and the action signifies the encapsulation.
[0022] Further, at the receiving node of a communication network, the received data
passes through different layer in the opposite order as compared to the transmitting node, i.e.,
first physical layer and then up the order till application layer. At the receiving end, the encapsulated data is decapsulated in the opposite order, where decapsulation signifies unpacking of data. In the said example of letter encapsulated in an envelope, the action of removing the letter from the envelope can be considered as decapsulation. In a seven layer OSI model network the data encapsulated and decapsulated between the session layer and the transport layer of a transmitting node is generally know as a session layer data.
[0023] In an IoT network, during data transmission between different communication
networks, at interconnecting gateways, a network-layer level protocol conversion takes place. The transmitted data undergoes conversion when it is transmitted during a unicast session extending from one communication network to another communication network. The conversion is based on communication protocols used in either of the communication networks. However, the session layer data that is carried by the communication network, does not undergo any conversion and is tunnelled across the communication networks boundaries. Hence, the use of the FEC technique on session layer data enables reliable and real-time data transmission over the Internet of Things network, where data corruption and data loss may occur due to transmission and conversion of data.
[0024] According to an implementation of the present subject matter, the data generated
at the transmitting node may be intermittent and of varying data packet size. Further, the urgent and critical nature of the data may necessitate a real-time and reliable data transmission. The utilization of FEC technique based on a Reed-Solomon (RS) codes enables reliable and real-time data transmission over internet of things network for such urgent and critical nature. The RS codes utilized for FEC technique are a systematic block code. The RS code is a block code because it is put together by splitting the source data in to a fixed length data blocks. Further, the RS code is systematic, because the encoded data include the original data with the extra repair data appended to it. For the same implementation as mentioned above, there are two constituent methods, sequential encoding/decoding method and block encoding/decoding method, for real¬time and reliable data transmission over the IoT network. In the implementation based on sequential encoding/decoding method, the FEC technique is implemented on individual data packet obtained after segmentation of source data packet, to obtain corresponding redundant data packet. Further, multiple final data packets comprising segmented data packets and corresponding redundant data packets are encapsulated and transmitted over internet of things
network, for reliable and real-time data transmission. In another implementation, based on block encoding/decoding, FEC technique is implemented on source data packet to obtain redundant data packet. Further, the source data packet and redundant data packet are segmented in to multiple source data packets and redundant data packets respectively. Further the multiple source data packets and the redundant data packets are individually encapsulated and transmitted over the internet of things network for real-time and reliable data transmission.
[0025] In the example as described, construe a situation where condition of all heart
patients fitted with pacemakers in Metro city is monitored to assess the health condition of the patients. The pacemakers are radio-frequency identification (RFID) enabled. The RFID is a wireless non-contact system that uses radio-frequency electromagnetic fields to transfer data from enabled object. The data generated by any RFID enabled object is intermittent since the energy available is limited. The data generated by the RFID is read by the tag reading device, such as a smart phone. The RFID tag reading activity is performed to capture data from the RFID enabled object, which is the pacemaker. Further, the RFID tag reading activity may be performed using any near field communication methods by the tag reading device. According to an implementation of the present subject matter based on sequential encoding/decoding method and block encoding/decoding method, the data read by the tag reading device is encoded using FEC technique based on Reed-Solomon code to enable reliable and real-time data transmission.
[0026] According to an implementation of the said subject matter, the receiving node
receives the encapsulated data transmitted by the transmitting node over the IoT network. The received encapsulated data undergoes decapsulation as described from a layer to another and the decapsulated received data is obtained at the transport layer. At the receiving node, marking of the decapsulated received data is preformed. The marking indicates lost or corrupt packets. In other words, the marking identifies inconsistencies in the received data packets. In one implementation based on sequential encoding/decoding method, based on the marked packets a decoding of redundant data corresponding to marked packet is performed. The decoded redundant data includes extra repair data for the marked packet, generated utilizing the FEC technique at the transmitting node. The marked packet and the decoded redundant data are further sequenced that enables repairs of the marked packet to obtain originally transmitted source data.
[0027] According to another implementation, based on block encoding/decoding, after
the marking, to identify inconsistencies, the multiple source data packets and the multiple redundant data packets received are sequenced together. Further, the sequenced data packet is decoded. The decoding of the sequenced data packets recovers the marked packets included in the sequenced source data packet, to obtain originally transmitted source data.
[0028] Therefore, according to an implementation of the said subject matter based on the
sequential encoding/decoding in one implementation and block encoding/decoding in other implementation, the entire source data obtained includes minimal inconsistencies enabling reliable and real-time data transmission over the IoT network.
[0029] In accordance to the said subject matter, the application of FEC technique based
on Reed-Solomon codes on the session layer data of the seven layer OSI model network utilizing the sequential encoding/decoding method and the block encoding/decoding method, improves energy efficiency of the transmitting node, reliability of data transmission, efficient real-time data transmission, improved delivery time and communication robustness in response to communication link failure during data transmissions. Further, any requirement of repeated data transmission is reduced which may utilize transmission energy. This provides better energy efficiency for portable devices like pacemakers that are equipped with limited energy source. Further, the recovery of lost or corrupted data during a data transmission enables the reliability of data transmission over internet of things network. The segmentation of data allows improved delivery time, as transmission of shorter-sized data packets leads to lesser congestion in a communication network. Furthermore, the reliable data transmission and recovery of data lost during data transmission in turn results in communication robustness, in response to communication link failure during data transmission.
[0030] These and other advantages of the present subject matter would be described in
greater detail in conjunction with the following figures. While aspects of described systems and methods for the FEC can be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following exemplary system(s).
[0031] The described methodologies can be implemented in hardware, firmware,
software, or a combination thereof. For a hardware implementation, the processing units can be
implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof. Herein, the term "system" encompasses logic implemented by software, hardware, firmware, or a combination thereof.
[0032] For a firmware and/or software implementation, the methodologies can be
implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine readable medium tangibly embodying instructions can be used in implementing the methodologies described herein. For example, software codes and programs can be stored in a memory and executed by a processing unit. Memory can be implemented within the processing unit or may be external to the processing unit. As used herein the term "memory" refers to any type of long term, short term, volatile, non-volatile, or other storage devices and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
[0033] In another firmware and/or software implementation, the functions may be stored
as one or more instructions or code on a non transitory computer-readable medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media may take the form of an article of manufacture. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blue-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0034] In addition to storage on computer readable medium, instructions and/or data may
be provided as signals on transmission media included in a communication apparatus. For example, a communication apparatus may include a transceiver having signals indicative of instructions and data. The instructions and the data are configured to cause one or more processors to implement the functions outlined in the claims. That is, the communication apparatus includes transmission media with signals indicative of information to perform disclosed functions. At a first time, the transmission media included in the communication apparatus may include a first portion of the information to perform the disclosed functions, while at a second time the transmission media included in the communication apparatus may include a second portion of the information to perform the disclosed functions.
[0035] It should be noted that the description merely illustrates the principles of the
present subject matter. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described herein, embody the principles of the present subject matter and are included within its spirit and scope. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.
[0036] The manner in which the systems and methods for reliable and real-time data
transmission over an IoT network based on FEC technique shall be implemented has been explained in details with respect to the Fig. 1 to 3. While aspects of the described systems and methods for FEC can be implemented in any number of different computing systems, transmission environments, and/or configurations, the embodiments are described in context of the following exemplary system(s).
[0037] It will also be appreciated by those skilled in the art that the words during, while,
and when as used herein are not exact terms that mean an action takes place instantly upon initiating an action but that there may be some small but reasonable delay, such as a propagation delay, between the initial action, and the reaction that is initiated by the initial action.
Additionally, the word “connected” and “coupled” is used throughout for clarity of the description and can include either a direct connection or an indirect connection.
[0038] Fig. 1 illustrates a communication environment implementing a FEC system 102
for reliable and real-time data transmission over an IoT network. For the sake of explanation, the FEC system 102 is referred to as the system 102 hereinafter. In one implementation the system 102 is connected to one or more communication devices 104-1, 104-2, 104-3, 104-4, 104-5… 104-N, individually referred to as device 104 and commonly referred to as devices 104 hereinafter, through an IoT network, commonly referred to as network 106 hereinafter.
[0039] The system 102 can be implemented within a variety of communication devices,
such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, and the like. The system 102 described herein, can also be implemented in any network environment comprising a variety of network devices, including routers, bridges, servers, computing devices, storage devices, etc.
[0040] The devices 104 may be implemented as, but are not limited to, desktop
computers, hand-held devices, laptops or other portable computers, tablet computers, mobile phones, PDAs, Smartphone, and the like. The system 102 may be located within the devices 104 or may be located outside the devices 104 at different geographic locations as compared to that of the devices 104. Further, the devices 104 may themselves be located either within the vicinity of each other, or may be located at different geographic locations.
[0041] The network 106 may be a wireless or a wired network, or a combination thereof.
The network 106 can be a collection of individual networks, interconnected with each other and functioning as a single large network (e.g., the internet or Internet of Things (IoT)). Examples of such individual networks include, but are not limited to, Global System for Mobile Communication (GSM) network, Universal Mobile Telecommunications System (UMTS) network, Personal Communications Service (PCS) network, Time Division Multiple Access (TDMA) network, Code Division Multiple Access (CDMA) network, Next Generation Network (NGN), Public Switched Telephone Network (PSTN), and Integrated Services Digital Network (ISDN). Depending on the technology, the network 106 includes various network entities, such as gateways, routers; however, such details have been omitted for ease of understanding.
[0042] In one implementation, the system 102 includes a processor(s) 108. The processor
108 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) is configured to fetch and execute computer-readable instructions stored in a memory.
[0043] The functions of the various elements shown in the Fig. 1, including any
functional blocks labelled as “processor(s)”, may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), non-volatile storage. Other hardware, conventional and/or custom, may also be included.
[0044] Also, the system 102 includes an interface(s) 110. The interface(s) 110 may
include a variety of software and hardware interfaces that allow the system 102 to interact with the entities of the network 106, or with each other. The interface(s) 110 may facilitate multiple communications within a wide variety of networks and protocol types, such as IoT network, including wire networks, for example, LAN, cable, etc., and wireless networks, for example, WLAN, cellular, satellite-based network, etc.
[0045] The system 102 may also include a memory 112. The memory 112 may be
coupled to the processor 108. The memory 112 can include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM), and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
[0046] Further, the system 102 may include a module(s) 114 and a data 116. The
module(s) 114 may be coupled to the processors 108 and amongst other things, include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types. The module(s) 114 may also be implemented as, signal processor(s), state machine(s), logic circuitries, and/or any other device or component that manipulate signals based on operational instructions.
[0047] Further, the module(s) 114 can be implemented in hardware, instructions executed
by a processing unit, or by a combination thereof. The processing unit can comprise a computer, a processor, a state machine, a logic array or any other suitable devices capable of processing instructions. The processing unit can be a general-purpose processor which executes instructions to cause the general-purpose processor to perform the required tasks or, the processing unit can be dedicated to perform the required functions.
[0048] In another aspect of the present subject matter, the module(s) 114 may be
machine-readable instructions (software) which, when executed by a processor/processing unit, perform any of the described functionalities. The machine-readable instructions may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium or non-transitory medium. In one implementation, the machine-readable instructions can be also be downloaded to the storage medium via a network connection.
[0049] In an implementation, the module(s) 114 includes a padding module 120, a
segmenting module 122, an encoding module 124, a marking module 126, a decoding module 128, a sequencing module 130 and an other module(s) 132. The other module(s) 132 may include programs or coded instructions that supplement applications or functions performed by the system 102. In said implementation, the data 116 includes a padded data 134, a segmented data 136, an encoded data 138 a marked data 140, a decoded data 142, a sequenced data 144, and an other data 148. The other data 148, amongst other things, may serve as a repository for storing data that is processed, received, or generated as a result of the execution of one or more modules in the module(s) 114. Although the data 116 is shown internal to the system 102, it may be understood that the data 116 can reside in an external repository (not shown in the figure), which may be coupled to the system 102 or a part of the devices 104. The system 102 may
communicate with the external repository through the interface(s) 110 to obtain information from the data 116.
[0050] As described before, in one implementation of the present subject matter, the
system 102 is configured to carry out the FEC technique for real-time and reliable data transmission over the network 106 based on a sequential encoding/decoding method. In another implementation of the present subject matter, the system 102 is configured to carry out the FEC technique for real-time and reliable data transmission over the network 106 based on a block encoding/decoding method. The device 104 may generate an intermittent and varying size of data packets. The system 102 performs the FEC technique on session layer data of a seven layer OSI model network for data obtained from the devices 104 to enable real-time and reliable data transmission over the network 106.
[0051] In an implementation of the present subject matter based on the sequential
encoding/decoding method, the padding module 120 of the system 102 is configured to generate a primary source data (PSD) packet. The padding module 120 obtains a source data packet, where the source data packet includes a session layer data from the session layer of the seven-layer OSI model network of communication network. Since the data generated by the devices 104 is intermittent, the size of the source data may vary necessarily and not be of a consistent size. As would be appreciated by those skilled in the art, to apply the FEC technique, size of data packets should be consistent. Hence, the padding module 120 zero-pads the obtained source data packet based on a padding rule. It would be appreciated that zero-padding signifies addition of zero symbol bytes to the source data packet. In said implementation, the padding module 120 zero pads the source data until the total numbers of bytes in the source data reaches a pre defined limit as defined by the padding rule to generate the PSD. The padding module 120 may store the PSD packet in the padded data 134.
[0052] In an example based on the sequential encoding/decoding method, construe a
situation where condition of all heart patients fitted with pacemakers in Metro city is monitored to assess the health condition of the patients. The data generated for transmission to the IoT server, which connects and monitors the pacemakers through IoT network, may be intermittent and, may also vary in size. For example the data generated by the pacemaker may be of 650 bytes. In such a situation, the padding module 120 may obtain the source data packets of 650
bytes. Further, in the described example, the system 102 may utilize the FEC technique based on Reed-Solomon code with a preconfigured data block size of 100 bytes, for reliable and real-time data transmission over the IoT network. In said situation, to obtain source data as a multiple of preconfigured data block size of 100 bytes, the padding module 120 may pad the source data with zero symbols data to obtain a primary source data (PSD) packet of 700 bytes.
[0053] According to another implementation of the present subject matter based on the
sequential encoding/decoding method, the segmenting module 122 is configured to segment the PSD packet based on a segmenting parameter to obtain a secondary source data (SSD) packets. The segmenting parameters for segmenting may be based on the preconfigured data block size utilized by the FEC technique, such as 100 bytes in the above described example. The segmenting module 122 may further store the multiple SDD packets obtained by segmenting the PSD, in the segmented data 136. The segmenting performed by the segmenting module 122 allows efficient data transmission, as transmission of shorter-sized data packets leads to lesser congestion in a communication network.
[0054] In the said example based on the sequential encoding/decoding method, where the
condition of all heart patients fitted with pacemakers in Metro city is monitored to assess the health condition of the patients, the segmenting module 122 may obtain the PSD packet of 700 bytes containing the session layer data and the zero-padded data, as explained. In such situation, the segmenting module 122 may segment the PSD of 700 bytes packet in to 7 different parts to obtain SSD packets of 100 bytes each based on the segmenting parameters.
[0055] In an implementation of the present subject matter based on the sequential
encoding/decoding method, the encoding module 124 is configured to implement the FEC technique on each of the SSD packets stored in the segmented data 136 to generate corresponding redundant data packets, where the redundant data packets includes extra repair data for the SSD packets. Further, in an implementation, the encoding module 124 may utilize a Reed-Solomon code for implementing the FEC technique. The encoding module 124 may furthermore, add a header, which provides information about the number of zero symbols added during padding and encoding of the SSD packets and redundant data packets to obtain final data packets. The encoding module 124 further stores the final data packets in the encoded data 138.
[0056] According to the example based on the sequential encoding/decoding method,
where the condition of all heart patients fitted with pacemakers in Metro city are monitored to assess the health condition of the patients. The set of seven SSD packets of 100 bytes each may be utilized for redundant data generation where the redundant data signifies extra repair data. In the said example, the encoding module 124 may generate 50 bytes of redundant data for each of the SSD packets. Therefore, each of the SSD packets of 100 bytes may include a redundant data packet of size 50 bytes. The total size of the data packet may therefore become 150 bytes that may further be encoded based on a Reed-Solomon code to obtain a final data packet. It would be understood that since the original source data packet was segmented into seven data packets and consecutively encoded, seven data packets of size 150 bytes each may be prepared for transmission over the IoT network.
[0057] In an implementation based on the sequential encoding/decoding method, the
final data packets may be transmitted by the device 104 over the network 106 to another device 104 for reliable and real-time data transmission. In another implementation, another device 104 may receive the transmitted data over the network 106.
[0058] In situations where an encoded data is received by a device 104, a system, such as
the system 102 may perform the decapsulation to obtain originally transmitted data. In an implementation of the present subject matter, based on the sequential encoding/decoding method, the marking module 126 is configured to mark erasure for missing or corrupt SSD packet included in a received final data packet, where the final data packet is received over the network 106. The marking module 126 performing the marking identifies the inconsistencies in the SSD packet developed during data transmission over the network 106. The marking module 126 is further is configured to store the marked SSD packet in the marked data 140.
[0059] In an example based on the sequential encoding/decoding method, construe a
situation where all vehicles fitted with RFID in a Metro city are monitored to provide emergency services during any accident. Such vehicles may utilize various communication networks for data transmission. In the described example, a vehicle may transmit seven final data packets of 200 bytes each, encoded based on FEC technique, over an IoT network for reliable real-time data transmission. The seven final data packets may individually include 150 bytes of SSD packets and 50 bytes of redundant data packet. In such a situation, a backend server that may be
configured to receive the data packets from the vehicles, may receive the transmitted data over the IoT network.
[0060] As described, the data transmitted over the IoT network may undergo loss or
corruption. In the described example the back-end server may receive two final data packets of 180 bytes and five final data packets of 200 bytes. In such situation, the marking module 126 may mark the two final data packets of 180 bytes for inconsistencies. The marking indicates an inconsistency in each of the received FD packet.
[0061] In an implementation the decoding module 128 is configured to perform decoding
of redundant data from the final data packet to correct the inconsistencies in the marked SSD. As described earlier, the redundant data includes extra repair data for the SSD packets, generated utilizing FEC technique for reliable and real-time data transmission over the IoT network. Therefore, the decoding module 128 decodes the redundant data and stores the decoded redundant data packets in the decoded data 142.
[0062] According to the described example where all vehicles fitted with RFID in a
Metro city are monitored to provide emergency services during any accident. The decoding module 128 may obtain the redundant data of 50 bytes for each of the marked SSD packets from the FD packets of 180 bytes. The obtained redundant data packets include extra repair data for the marked SSD packets. The decoding module 128 further decodes the obtained redundant data of 50 bytes each. The decoding recovers the inconsistency of 20 bytes in each of the marked SSD packets to determine the original transmitted SSD packets of 150 bytes each.
[0063] In an implementation, the sequencing module 130 is configured to obtain the
marked SSD packets and the decoded redundant data packets. Further, the sequencing module 130 is configured to sequence the SSD packets and the decoded redundant data packets. The sequencing repairs the marked SSD packets to obtain the entire source data as transmitted over the IoT network. The sequencing module 130 is further configured to store the source data in the sequenced data 144. The error correction and recovery of missing and corrupt data in the received SSD packets base on FEC technique enables real-time and reliable data transmission.
[0064] According to the described example of the situation where all vehicles fitted with
RFID in a Metro city are monitored to provide emergency services during any accident. The sequencing module 130 obtains the marked SSD packets and the decoded redundant data of 20
bytes for each marked SSD. In such a situation, the sequencing module 130 may sequence the marked SSD packets and the decoded redundant data to repair the marked SSD packets. Therefore, based on sequencing of the data packets, the entire original source data of 450 bytes as transmitted over the IoT network may be recovered.
[0065] In another embodiment of the present subject matter, the data packet generated for
transmission may be encoded based on a block encoding/decoding method. In the block encoding method, the padding module 120 of the system 102 is configured to generate a PSD packet, as described in the implementation of the sequential encoding/decoding method. The padding module 120 may store the PSD packet in the padded data 134.
[0066] In the said implementation of the present subject matter, based on the block
encoding/decoding method, the encoding module 124 is configured to implement the FEC technique on the PSD packet stored in the padded data 134 to generate a primary redundant data (PRD) packet, where the PRD packet includes extra repair data for the PSD packet. Further, in another implementation, the encoding module 124 may utilize a Reed-Solomon code for implementing the FEC technique. The encoding module 124 further stores the PRD packet in encoded data 138.
[0067] In an example of the described subject matter based on block encoding/decoding
method, construed multiple trucks carrying goods from a metro city to multiple other metro cities, monitored to assess the health of the truck, the distance from destination, etc. In a particular example the data generated by the truck may be of 750 bytes. Further, in the described example, the system 102 may utilize the FEC technique based on Reed-Solomon with a preconfigured data block size of 100 bytes codes, for reliable and real-time data transmission over the IoT network. In such a situation, the padding module 120 may obtain the source data packet of 750 bytes. In said situation, to obtain the source data as a multiple of the preconfigured data block size of 100 bytes, the padding module 120 may pad the source data with zero symbols data to obtain a PSD packet of 800 bytes. The PSD packet of 800 bytes may be further utilized for PRD packet generation, where the PRD packet includes extra repair data for the PSD packet. In the said example, the encoding module 124 may generate a PRD packet of 200 bytes for the PSD packet of 800 bytes. The encoding module 124 may further store the PSD packet, and the PRD packet in the encoded data 138.
[0068] According to the implementation, based on the block encoding/decoding method,
the segmenting module 122 is configured to segment the PSD packet and the PRD packet based on a segmenting parameter to obtain secondary source data (SSD) packets and secondary redundant data (SRD) packets respectively. The segmenting parameters for segmenting may be based on the preconfigured data block size utilized by the FEC technique. The segmenting module 122 may further store the SSD packets and the SRD packets in the segmented data 136. The segmenting performed by the segmenting module 122 allows efficient data transmission, as transmission of shorter-sized data packets leads to lesser congestion in a communication network.
[0069] In an example described where multiple trucks carrying goods from a metro city
to multiple other metro cities are monitored to assess the location of the truck. The segmenting module 124 may obtain the PSD packet of 800 bytes and the PRD packet of 200 bytes. In said situation, the segmenting module 122 may segment the PSD packet of 800 bytes and the PRD packet of 200 bytes to obtain eight SSD packets and two SRD packets of 100 bytes, each based on the segmenting parameters. Further, the SSD packets and SRD packets may be transmitted over an IoT network to enable real-time and reliable data transmission.
[0070] In an implementation, the SSD packets and SRD packets may be transmitted by
the device 104 over the network 106 to another device 104 for reliable and real-time data transmission. In another implementation, another device 104 may receive the transmitted SSD packets and SRD packets over the IoT network. In situations where the SSD packets and the SRD packets are received by a device 104, a system, such as the system 102 may perform the decapsulation and further decoding based on block encoding/decoding method to obtain originally transmitted data.
[0071] In an implementation of the present subject matter based on the block
encoding/decoding method, the marking module 126 is configured to mark erasure for missing or corrupt SSD packets and SRD packets. The marking module 126 performing the marking identifies the inconsistencies in the SSD packets and SRD packets developed during data transmission over the network 106. The marking module 126 is further is configured to store the marked SSD packet and SRD packets in the marked data 140.
[0072] In an implementation based on the block encoding/decoding method, sequencing
module 130 is configured to sequence the SSD packets and the SRD packets to obtain a partially valid PSD packet and a partially valid PRD packet, where the partially valid PSD packet includes the marked SSD packets. The sequencing module 130 further is configured to store the partially valid PSD packet and the partially valid PRD packet in the sequenced data 144.
[0073] In an implementation based on the block encoding/decoding method, the
decoding module 128 is configured to perform decoding of the partially valid PSD packet and partially valid PRD packet to correct the inconsistencies in the partially valid PSD packets. As described earlier, the partially valid PRD packet includes extra repair data for the partially valid PSD packet, generated utilizing FEC technique for reliable and real-time data transmission over the network 106. Therefore, the decoding module 128 repairs the partially valid PSD packet and further, stores the decoded PRD packet in the decoded data 142. Hence, the error correction and recovery of missing and corrupt data based on FEC technique enables real-time and reliable data transmission.
[0074] In an example described where multiple trucks carrying goods from a metro city
to multiple other metro cities are monitored to assess the location of the truck. In the said example, construe a situation where a backend server is configured to receive the data transmitted by the trucks over an internet of things network. In the said example the backed server may only receive seven secondary source data packets and, two secondary redundant data packets of 100 bytes each, when eight SSD packets and two SRD packets of 100 bytes each were transmitted. In such situation, the marking module 126 may mark one SSD packet for inconsistencies, were the inconsistency would be an erasure SSD packet. The sequencing module 130 may sequence the seven SSD packets and the two SRD packets to obtain a partially valid primary source data (PSD) packet of 700 bytes and a partially valid primary redundant data (PRD) packet of 200 bytes. The decoding module 128 may obtain both the PSD packet of 700 bytes, and PRD packet of 200 bytes, and proceeds with decoding of the partially valid PSD and the partially valid PRD packet to recover the marked SSD packet of 100 bytes in the partially valid PSD of 700 bytes to obtain the original source data as transmitted. The recovery of the lost SSD packet enables real-time and reliable data transmission over the IoT network.
[0075] Fig. 2(a) and Fig. 2(b) illustrate exemplary sequential encoding/decoding methods
200 and 250 and Fig. 3(a) and Fig. 3(b) illustrates exemplary block encoding/decoding methods 300 and 350 for real-time and reliable data transmission over a Internet of Things (IoT) network, according to an embodiments of the present subject matter. The methods may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, and modules, functions that perform particular functions or implement particular abstract data types. The methods may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communication network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[0076] The order in which the methods are described is not intended to be construed as a
limitation, and any number of the described method blocks can be combined in any order to implement the methods or any alternative methods. Additionally, individual block may be deleted from the methods without departing from the spirit and scope of the subject matter described herein. Furthermore, the methods can be implemented in any suitable hardware, software, firmware, or combination thereof.
[0077] Referring to method 200, in Fig. 2(a), at block 202, a primary source data (PSD)
packet is generated based on padding of a source data packet. The source data packet includes a session layer data packet obtained from a session layer of a seven-layer open systems interconnection (OSI) model network. The padding signifies the addition of zero symbol data to the source data packet.
[0078] At block 204, the PSD packet is segmented into a plurality of secondary source
data (SSD) packets. The segmenting of PSD packet is based on segmenting parameters. Further, the segmenting parameter may signify length of each of the SSD packets.
[0079] At block 206, forward error correction for each of the plurality of SSD packets is
implemented to generate corresponding redundant data packets based on Reed-Solomon code, where the redundant data packets include extra repair data for the SSD packets.
[0080] At block 208, a plurality of final data packets for transmission over a internet of
things network are obtained to enable reliable and real-time data transmission, where each of the final data packet includes SSD packet and corresponding redundant data packet.
[0081] Referring to method 250, in Fig. 2(b), at bock 252, a secondary source data (SSD)
packet included in a final data packet is marked to identify inconsistencies. The marking is indicative of missing or corrupt SSD packet. The final data packet signifies a received data packet over an internet of things network.
[0082] At block 254, a redundant data packet included in the final data packet is decoded
to recover the marked SSD packet. Further, the redundant data includes extra repair data generated based on forward error correction technique for the SSD packet.
[0083] At block 256, the marked SSD packets and the decoded redundant data are
sequenced. The sequencing repairs the marked SSD packet to obtain a source data as transmitted over the IoT network.
[0084] Referring to method 300, in Fig. 3(a) at bock 302, a PSD packet based on padding
of a source data packet is generated. The source data packet includes a session layer data packet obtained from a session layer of a seven-layer open systems interconnection (OSI) model. The padding signifies the addition of zero symbol data to the source data packet.
[0085] At block 304, forward error correction technique is implemented on the PSD
packet to generate a primary redundant data (PRD) packet utilizing Reed-Solomon codes. The PRD packet includes extra repair data for the PSD packet.
[0086] At block 306, the PSD packet and the PRD packet are segmented into a plurality
of secondary source data (SSD) packets and secondary redundant data (SRD) packets respectively. The segmenting of the PSD packet and the PRD packet is based on segmenting parameters. Further, the segmenting parameter may signify length of each of the SSD packets and the SRD packets.
[0087] At block 308, the SSD packets and the SRD packets are transmitted over an IoT
network for reliable and real-time data transmission.
[0088] Referring to method 350, in Fig. 3(b), at bock 352, at least one secondary source
SSD packet and at least SRD packet are received over an Internet of Things.
[0089] At block 354, the SSD packets and the SRD packets are marked to identify
inconsistencies developed during transmission over the Internet of Things. The marking indicates the marked SSD packets and marked SRD packets to be one or more of missing, or corrupt SSD packets and SRD packets.
[0090] At block 356, the SSD packets and the SRD packets are sequenced to obtain a
partially valid PSD packet and a partially valid PRD packet respectively, where the partially valid PSD packet includes the marked SSD packets.
[0091] At block 358, the partially valid PSD and the partially valid PRD packet are
decoded to obtain a original source data packet. The decoding of the partially valid PRD repair the marked SSD packets in the partially valid PSD. Further, the PRD packet includes extra repair data generated based on a forward error correction technique. The recovery of the original source data packet as transmitted over the internet of things network enables real-time and reliable data transmission over the IoT.
[0092] Although implementations for FEC technique to enable reliable and real-time data
transmission over an IoT network have been described in language specific to structural features and/or method, it is to be understood that the appended claims are not necessarily limited to the specific features or method described. Rather, the specific features and method are disclosed as exemplary implementations for reliable and real-time data transmission over an IoT network.
I/We claim:
1. A computer implemented method for reliable and real-time data transmission over an
Internet of Things (IoT) network, the method comprising:
generating a primary source data (PSD) packet based on padding of a source data packet, wherein the source data packet comprises session layer data of a unicast message obtained from session layer of a seven layer open systems interconnection (OSI) model network, and wherein the source data packet is generated intermittently; and
implementing a forward error correction (FEC) technique for the PSD packet to generate a primary redundant data (PRD) packet, wherein the PRD packet includes extra repair data for the PSD packet.
2. The method as claimed in claim 1 further comprising, segmenting the PSD packet and the PRD packet into a plurality of secondary source data (SSD) packets and a plurality of secondary redundant data (SRD) packets respectively, based on a segmenting parameter, wherein the segmenting parameter signifies length of each of the plurality of SSD packets and each of the plurality of SRD packets.
3. The method as claimed in claim 2 further comprising transmitting the plurality of SSD packets and the plurality of SRD packets over the IoT network.
4. The method as claimed in claim 1, wherein the FEC technique is based on Reed-Solomon code.
5. A computer implemented method for reliable and real-time data transmission over an Internet of Things (IoT) network, the method comprising:
receiving at least one secondary source data (SSD) packet and at least one secondary redundant data (SRD) packet over the IoT network based on a unicast message;
marking the at least one SSD packet and the at least one the SRD packet, wherein the marking is indicative of at least one of a missing SSD packet, a corrupt SSD packet, a missing SRD packet, and a corrupt SRD packet;
sequencing the at least one SSD packet and the at least one SRD packet to obtain a partially valid primary source data (PSD) packet and a partially valid primary redundant data (PRD) packet respectively, wherein the partially valid PSD packet includes the marked SSD packet, and wherein the partially valid PRD packet includes the marked SRD packet; and
decoding the partially valid PRD packet and the partially valid PSD packet to obtain a source data packet, wherein the source data packet signifies original data packet, and wherein the partially valid PRD packet includes extra repair data for the partially valid PSD packet.
6. A Forward Error Correction (FEC) system (102) for reliable and real-time data
transmission over an Internet of Things (IoT) network comprising:
a processor (108);
a padding module (120), coupled to the processor (108), configured to generate a primary source data (PSD) packet based on padding of source data packet, wherein the source data packet comprises session layer data of a unicast message obtained from a session layer of a seven layer open systems interconnection (OSI) model network, and wherein the source data packet is generated intermittently; and
an encoding module (124), coupled to the processor (108), configured to implement a forward error correction (FEC) technique for the PSD packet to generate a primary redundant data (PRD) packet, wherein the PRD packet includes extra repair data for the PSD packet.
7. The FEC system (102) as claimed in claim 6 further comprises, a segmenting module (122), coupled to the processor (108), configured to segment the PSD packet and the PRD packet into a plurality of secondary source data (SSD) packets and a plurality of secondary redundant data (SRD) packets respectively, based on a segmenting parameter, wherein the segmenting parameter signifies length of each of the plurality of SSD packets and each of the plurality of SRD packets.
8. The FEC system (102) as claimed in claim 6, wherein the FEC technique is based on Reed- Solomon code.
9. A Forward Error Correction (FEC) system (102) for reliable and real-time data
transmission over an Internet of Things (IoT) network comprising:
a processor (108);
a marking module (126), coupled to the processor (108), configured to:
receive at least one secondary source data (SSD) packet and at least one secondary redundant data (SRD) packet over the IoT network based on a unicast message; and
mark the at least one SSD packet and the at least one SRD packet, wherein the marking is indicative of at least one of a missing SSD packet, a corrupt SSD packet, a missing SRD packet, and a corrupt SRD packet;
a sequencing module (130), coupled to the processor (108), configured to sequence the at least one SSD packet and the at least one SRD packet to obtain a partially valid primary source data (PSD) packet and a partially valid primary redundant data (PRD) packet respectively, wherein the partially valid PSD packet includes the marked SSD packet, and wherein the partially valid PRD packet includes the marked SRD packet; and
a decoding module (128), coupled to the processor (108), configured to decode the partially valid PRD packet and the partially valid PSD packet to obtain a source data packet, wherein the source data packet signifies original data packet, and wherein the partially valid PRD packet includes extra repair data for the partially valid PSD packet.
10. A non-transitory computer-readable medium having embodied thereon a computer
readable program code for executing a method, the method comprising:
generating a primary source data (PSD) packet based on padding of a source data packet, wherein the source data packet comprises session layer data of a unicast message obtained from session layer of a seven layer open systems interconnection (OSI) model network, and wherein the source data packet is generated intermittently; and
implementing a forward error correction (FEC) technique for the PSD packet to generate a primary redundant data (PRD) packet, wherein the PRD packet includes extra repair data for the PSD packet;
segmenting the PSD packet and the PRD packet into a plurality of secondary source data (SSD) packets and a plurality of secondary redundant data (SRD) packets respectively, based on a segmenting parameter, wherein the segmenting parameter signifies length of each of the plurality of SSD packets and each of the plurality of SRD packets; and
transmitting the plurality of SSD packets and the plurality of SRD packets over an Internet of Things network.
11. A computer implemented method for reliable and real-time data transmission over an
Internet of Things (IoT) network, the method comprising:
generating a primary source data (PSD) packet based on padding of a source data packet, wherein the source data packet comprises a session layer data of a unicast message obtained from a session layer of a seven layer open systems interconnection (OSI) model network, and wherein the source data packet is generated intermittently;
segmenting the PSD packet into a plurality of secondary source data (SSD) packets based on a segmenting parameter, wherein the segmenting parameter signify length of each of the plurality of SSD packets; and
implementing forward error correction (FEC) technique for the each of the plurality of SSD packets to generate at least one redundant data packet, wherein the at least one redundant data packet includes extra repair data for the each of the plurality of SSD packets.
12. The method as claimed in claim 11 further comprises obtaining a plurality of final data
packets for transmission over the IoT network, wherein each of the plurality of final data
packets includes one or more SSD packet from amongst the plurality of SSD packets and
one or more redundant data packet from amongst the plurality of redundant data
packets.
13. A computer implemented method for reliable and real-time data transmission over an
Internet of Things (IoT) network, the method comprising:
marking a secondary source data (SSD) packet included in a final data packet received over the IoT network based on a unicast message, wherein the marking is indicative of at least one of a missing SSD packet, and a corrupt SSD packet;
decoding a redundant data packet associated with the marked SSD packet to generate a decoded redundant data packet, wherein the redundant data packet includes a extra repair data for the marked SSD packet and included in the final data packet; and
sequencing the marked SSD packet and the decoded redundant data packet to obtain a source data packet, wherein the source data packet signifies original data packet, as transmitted by a transmitter over the IoT network.
14. A Forward Error Correction (FEC) system (102) for reliable and real-time data
transmission over an Internet of Things (IoT) network comprising:
a processor (108);
a padding module (120), coupled to the processor (108), configured to generate a primary source data (PSD) packet based on padding of a source data packet, wherein the source data packet comprises a session layer data of a unicast message obtained from a session layer of a seven layer open systems interconnection (OSI) model network, and wherein the source data packet is generated intermittently;
a segmenting module (122), coupled to the processor (108), configured to segment the PSD packet into a plurality of secondary source data (SSD) packets based on a segmenting parameter, wherein the segmenting parameter signify length of each of the plurality of SSD packets; and
an encoding module (124), coupled to the processor (108), configured to implement forward error correction (FEC) technique for the each of the plurality of SSD packets to generate at least one redundant data packet, wherein the at least one redundant data packet includes extra repair data for the each of the plurality of SSD packets.
15. The FEC system (102) as claimed in claim 14, wherein the encoding module (124) is
further configured to obtain a plurality of final data packet for transmission over the
IoT network, wherein each of the plurality of final data packets includes the SSD packet and the redundant data packet.
16. The FEC system (102) as claimed in claim 14, wherein the FEC technique is based on Reed-Solomon code.
17. A Forward Error Correction (FEC) system (102) for reliable and real-time data transmission over an Internet of Things (IoT) network comprising:
a processor (108);
a marking module (126), coupled to the processor (108), configured to mark a secondary source data (SSD) packet included in a final data packet received over the IoT network based on a unicast message, wherein the marking is indicative of at least one of a missing SSD packet, and a corrupt SSD packet;
a decoding module (128), coupled to the processor (108), configured to decode a redundant data packet associated with the marked SSD packet to generate a decoded redundant data packet, wherein the redundant data packet includes a extra repair data for the marked SSD packet and included in the final data packet; and
a sequencing module (130), coupled to the processor (108), configured to sequence the marked SSD packet and the decoded redundant data packet to obtain a source data packet, wherein the source data packet signifies original data packet, as transmitted by a transmitter over the IoT network.
18. A non-transitory computer-readable medium having embodied thereon a computer
readable program code for executing a method, the method comprising:
generating a primary source data (PSD) packet based on padding of a source data packet, wherein the source data packet comprises a session layer data of a unicast message obtained from a session layer of a seven layer open systems interconnection (OSI) model network, and wherein the source data packet is generated intermittently;
segmenting the PSD packet into a plurality of secondary source data (SSD) packets based on a segmenting parameter, wherein the segmenting parameter signify length of each of the plurality of SSD packets;
implementing forward error correction (FEC) technique for the each of the plurality of SSD packets to generate at least one redundant data packet, wherein the at least one redundant data packet includes extra repair data for the each of the plurality of SSD packets; and
obtaining a plurality of final data packet for transmission over the Internet of Things network, wherein each of the plurality of final data packets includes the SSD packet and the redundant data packet.