Sign In to Follow Application
View All Documents & Correspondence

System And Method For Collecting Data In A Communication Network

Abstract: Disclosed is a system (100) and a method (300) for collecting data in a communication network. The method comprises authorizing, upon establishing a connection, an access of a source device (102) to a plurality of web services running on a client device (106), for collecting data from the source device (102). A periodic signal is received at first webservice of the plurality of web services, for checking an availability of a distributed stream processing platform (202) in the client device (106). A first acknowledgment message is sent to the source device (102) indicating the availability of distributed stream processing platform (202). In response to receiving the first acknowledgement message, a message is received at a second webservice from the source device (102). A stream of data is retrieved from the message received from the source device (102) and stored in the distributed stream processing platform within a pre-defined time-period. FIG. 3

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
12 April 2024
Publication Number
42/2025
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application

Applicants

Jio Platforms Limited
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad 380006, Gujarat India

Inventors

1. Bhatnagar, Pradeep Kumar
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
2. Bhatnagar, Aayush
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
3. Bhardwaj, Avinash
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.

Specification

DESC:FORM 2
THE PATENTS ACT, 1970 (39 OF 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)

SYSTEM AND METHOD FOR COLLECTING DATA IN A COMMUNICATION NETWORK

Jio Platforms Limited, an Indian company, having registered address at Office -101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India

The following specification particularly describes the invention and the manner in which it is to be performed.

TECHNICAL FIELD
[0001] The embodiments of the present disclosure generally relate to a field of wireless communication networks and systems. More particularly, the present disclosure relates to a system and a method for collecting data in a communication network.
BACKGROUND OF THE INVENTION
[0002] The subject matter disclosed in the background section should not be assumed or construed to be prior art merely because of its mention in the background section. Similarly, any problem statement mentioned in the background section or its association with the subject matter of the background section should not be assumed or construed to have been previously recognized in the prior art.
[0003] In an ever-expanding field of wireless communication networks, there are large number of wireless and wired nodes hosting one or more telecom functions. Currently, the wireless communication networks comprise millions of nodes and each of the nodes forming a part of the wireless communication network work together in cohesion to provide seamless telecom services to customers. Each of the nodes may be a different product type and may belong to different vendors. The nodes may generate data related to fault, alarm, configuration, accounting, performance, and security in the communication network, to indicate a performance issue or a fault in the node. The data generated by the nodes of different vendors may correspond to different technologies and may be of different formats and different protocols. For maintaining an optimal performance and quality across wireless network’s infrastructure, the data must be processed by a telecom operator for accurate analysis of condition of the network.
[0004] However, aggregating large streams of the data from the numerous nodes continuously is a mammoth task. As the data is being received from multiple vendors at a same time, some records in the data may get missed during processing. Conventional technologies rely on a Simple Network Management Protocol (SNMP) to process such enormous data. However, the SNMP does not guarantee an end-to-end delivery of the data from a vendor. Moreover, the SNMP is prone to error while transferring the data. When inconsistencies arise in the data, it leads to wrong analysis of network availability to the users.
[0005] Thus, there lies a need for a system and a method that can ensure data integrity while collecting large stream of data on a real time basis.
SUMMARY
[0006] The following embodiments present a simplified summary to provide a basic understanding of some aspects of the disclosed invention. This summary is not an extensive overview, and it is not intended to identify key/critical elements or to delineate the scope thereof. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
[0007] In an embodiment, disclosed herein is a method for collecting data in a communication network. The method comprises establishing, by a transceiver module, a connection between a client device and a source device. The method further comprises authorizing, by an authorization module, upon establishing the connection an access of the source device to a plurality of web services running on the client device, for collecting a stream of data from the source device. Furthermore, the method comprises receiving, by the transceiver module, at a first webservice of the plurality of web services, a periodic signal from the source device for determining an availability or non-availability of a distributed stream processing platform in the client device. Upon determining the availability of the distributed stream processing platform, the method comprises sending, by the transceiver module, a first acknowledgment message to the source device. The first acknowledgment message indicates the availability of the distributed stream processing platform. Thereafter, the method comprises receiving, by the transceiver module, at a second webservice of the plurality of web services, a message from the source device in response to the sent first acknowledgement message. Further, the method comprises retrieving, by a processing module, the stream of data from the message received from the source device. Subsequently, the method comprises storing, by the processing module, the retrieved stream of data in the distributed stream processing platform within a pre-defined time-period.
[0008] In one or more embodiments, the method further comprises sending, by the transceiver module to the source device, a second acknowledgment message to restrict the transmission of the message from the source device.
[0009] In one or more embodiments, the plurality of webservices corresponds to Application Programming Interface (API) based RESTful (Representational State Transfer) web services.
[0010] In one or more embodiments, the method further comprises sending, by the transceiver module upon determining the non-availability of the distributed stream processing platform, a first No Acknowledgement (NOK) message to the source device indicating the non-availability of the distributed stream processing platform. Furthermore, the method comprises receiving, by the transceiver module from the source device, in response to the sent first NOK message, a periodic signal for re-checking the availability of the distributed stream processing platform at a periodic time interval after the NOK message is received by the source device.
[0011] In one or more embodiments, the method further comprises determining, by the processing module, whether the stream of data is stored in at least one pre-defined segment of the distributed stream processing platform within the pre-defined time-period. Upon a determination that the stream of data is not stored to the at least one pre-defined segment within the pre-defined time-period, the method comprises sending, by the transceiver module, a second No acknowledgement message (NOK) to the source device. Furthermore, the method comprises re-receiving, by the transceiver module, the message from the source device in response to the sent second NOK message.
[0012] In one or more embodiments, the method further comprises determining, by the processing module, a key from the stream of data, and identifying, by the processing module, the at least one pre-defined segment for storing the stream of data.
[0013] In one or more embodiments, for establishing the connection with the source device, the method further comprises sending, by the transceiver module to the source device, user credentials of the source device corresponding to the connection for logging into one or more of the first webservice and the second webservice, and a Uniform Resource Locator (URL) of the first webservice and the second webservice.
[0014] In another embodiment, disclosed is a system for collecting data in a communication network. The system comprises a source device and a client device. The client device comprises a transceiver module, an authorization module, and a processing module communicatively coupled with a distributed stream processing platform. The transceiver module is configured to establish a connection between the source device and the client device. The authorization module is configured to authorize, upon establishing the connection, an access of the source device to a plurality of web services running on the client device, for collecting a stream of data from the source device. The transceiver module is further configured to receive, at a first webservice of the plurality of web services, a periodic signal from the source device for determining an availability or non-availability of a distributed stream processing platform in the client device. Upon determining the availability of the distributed stream processing platform, the transceiver module is configured to send a first acknowledgment message to the source device. The first acknowledgment message indicates the availability of the distributed stream processing platform. Further, the transceiver module is configured to receive a second webservice of the plurality of web services, a message from the source device in response to the sent first acknowledgement message. The processing module is configured to retrieve the stream of data from the message received from the source device. Further, the processing module is configured to store the retrieved stream of data in the distributed stream processing platform within a pre-defined time-period.
[0015] In one or more embodiments, the transceiver module is further configured send to the source device, a second acknowledgment message to restrict the transmission of the message from the source device.
[0016] In one or more embodiments, the transceiver module is further configured to send, to the source device, upon determining the non-availability of the distributed stream processing platform, a first No Acknowledgement (NOK) message to the source device indicating the non-availability of the distributed stream processing platform. Furthermore, the transceiver module is configured to receive, from the source device in response to the sent first NOK message, a periodic signal for re-checking the availability of the distributed stream processing platform at a periodic time interval after the NOK message is received by the source device.
[0017] In one or more embodiments, the processing module is further configured to determine whether the stream of data is stored in at least one pre-defined segment of the distributed stream processing platform within the pre-defined time-period. The transceiver module is further configured to send a second No acknowledgement message (NOK) to the source device upon a determination that the stream of data is not stored to the at least one pre-defined segment within the pre-defined time-period. Furthermore, the transceiver module is configured to re-receive the message from the source device in response to the sent second NOK message.
[0018] In one or more embodiments, the processing module is further configured to determine a key from the metadata of the stream of data. Based on the key, the processing module is configured to identify the at least one pre-defined segment for storing the stream of data.
[0019] In one or more embodiments, for establishing the connection with the source device, the transceiver module is further configured to send, to the source device, user credentials of the source device corresponding to the connection for logging into one or more of the first webservice and the second webservice, and a Uniform Resource Locator (URL) of the first webservice and the second webservice.
BRIEF DESCRIPTION OF DRAWINGS
[0020] Various embodiments disclosed herein will become better understood from the following detailed description when read with the accompanying drawings. The accompanying drawings constitute a part of the present disclosure and illustrate certain non-limiting embodiments of inventive concepts. Further, components and elements shown in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. For consistency and ease of understanding, similar components and elements are annotated by reference numerals in the exemplary drawings.
[0021] FIG. 1 illustrates a block diagram depicting an exemplary architectural diagram of a system for collecting data in a communication network, in accordance with an embodiment of the present disclosure.
[0022] FIG. 2 illustrates a block diagram depicting exemplary components of a client device, in accordance with an embodiment of the present disclosure.
[0023] FIG. 3 illustrates a method for collecting the data in the communication network, in accordance with an embodiment of the present disclosure.
[0024] FIG. 4 illustrates an exemplary flow diagram depicting information exchange between the client device and a source device for collecting the data in the communication network, in accordance with an embodiment of the present disclosure.
DETAILED DESCRIPTION OF THE INVENTION
[0025] Inventive concepts of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of one or more embodiments of inventive concepts are shown. Inventive concepts may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Further, the one or more embodiments disclosed herein are provided to describe the inventive concept thoroughly and completely, and to fully convey the scope of each of the present inventive concepts to those skilled in the art. Furthermore, it should be noted that the embodiments disclosed herein are not mutually exclusive concepts. Accordingly, one or more components from one embodiment may be tacitly assumed to be present or used in any other embodiment.
[0026] The following description presents various embodiments of the present disclosure. The embodiments disclosed herein are presented as teaching examples and are not to be construed as limiting the scope of the present disclosure. The present disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary design and implementation illustrated and described herein, but may be modified, omitted, or expanded upon without departing from the scope of the present disclosure.
[0027] The following description contains specific information pertaining to embodiments in the present disclosure. The detailed description uses the phrases “in some embodiments” which may each refer to one or more or all of the same or different embodiments. The term “some” as used herein is defined as “one, or more than one, or all.” Accordingly, the terms “one,” “more than one,” “more than one, but not all” or “all” would all fall under the definition of “some.” In view of the same, the terms, for example, “in an embodiment” refers to one embodiment and the term, for example, “in one or more embodiments” refers to “at least one embodiment, or more than one embodiment, or all embodiments.”
[0028] The term “comprising,” when utilized, means “including, but not necessarily limited to;” it specifically indicates open-ended inclusion in the so-described one or more listed features, elements in a combination, unless otherwise stated with limiting language. Furthermore, to the extent that the terms “includes,” “has,” “have,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising.”
[0029] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features.
[0030] The description provided herein discloses exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the foregoing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing any of the exemplary embodiments. Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it may be understood by one of the ordinary skilled in the art that the embodiments disclosed herein may be practiced without these specific details.
[0031] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein the description and in the appended claims, the singular forms "a", "an", and "the" include plural forms unless the context of the invention indicates otherwise.
[0032] The terminology and structure employed herein are for describing, teaching, and illuminating some embodiments and their specific features and elements and do not limit, restrict, or reduce the scope of the present disclosure and the appended claims. Accordingly, unless otherwise defined, all terms, and especially any technical and/or scientific terms, used herein may be taken to have the same meaning as commonly understood by one having ordinary skill in the art.
[0033] In the disclosure, various embodiments are described using terms used in communication standards (e.g., 3rd Generation Partnership Project (3GPP), Extensible Radio Access Network (xRAN), and Open-Radio Access Network (O-RAN)), but these are merely examples for description. Various embodiments of the disclosure may also be modified and applied to other communication systems.
[0034] Embodiments of the present disclosure will be described below in detail with reference to the accompanying drawings. FIG. 1 through FIG. 4 discussed below, and the one or more embodiments used to describe the principles of the present disclosure are by way of illustration only and should not be construed in any way to limit the scope of the present disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged system or device.
[0035] An object of the present disclosure is to provide a system and a method for effective data collection in a communication network.
[0036] Another object of the present disclosure is to provide a reliable system and a method for data collection on real time basis in a distributed environment of the communication network.
[0037] Yet another object of the present disclosure is to provide a system and a method that can ensure data sanity during collection and management of the data in the communication network. Still another object of the present disclosure is to minimize errors during data collection in the communication network.
[0038] According to an exemplary aspect of the present disclosure, various embodiments describe a system and a method for collecting the data in the communication network. The system and the method for collecting the data in the communication network involves utilizing a handshake mechanism for establishing a secured connection between a source device and a client device of the system. The system and the method for collecting the data in the communication network further involves sending a stream of data from the source device to the client device without any data loss or data re-duplication. The system and the method configure the source device for checking an availability of resources of the client device and initiate streaming of the data from the source device to the client device. The stream of data shared by the source device is stored by the client device for further processing by the client device or providing to other systems utilized by a network operator.
[0039] FIG. 1 illustrates a block diagram depicting an exemplary architectural diagram of a system 100 for collecting the data in the communication network, in accordance with an embodiment of the present disclosure. The embodiment of the system 100 shown in FIG. 1 is for illustration only. In particular, the system 100 corresponds to a distributed environment of the communication network within which the data is collected, and hereinafter may also be referred to as the “system 100”. Other embodiments of the system 100 may be used without departing from the scope of this disclosure.
[0040] As shown in FIG. 1, the system 100 may include a source device 102. The source device 102 may correspond to an Element Management System (EMS) managing one or more nodes 104-1 through 104-n (alternatively referred to as nodes 104). In one embodiment, the source device 102 may correspond to any remote wireless equipment such as “mobile station,” “subscriber station,” “remote terminal,” “wireless terminal,” “receive point,” or “end user device,” connected to the EMS. The EMS may be a group of EMS of different vendors of the nodes 104. The EMS may be configured to manage one or more of a specific type of telecommunications network elements. The key functions of the EMS may include, but not limited to, handling data related to fault, configuration, accounting, performance, and security in the communication network. Particularly, the EMS of each of the one or more vendors comprises alarm data of the nodes 104. The alarms may be triggered at the nodes 104 due to performance degrading reasons and service affecting reasons at the nodes 104. For sake of brevity, only a single source device 102 has been shown, however, there may be several source devices 102 in the distributed environment serving the nodes 104 across various geographical locations.
[0041] Typically, the term nodes 104 may include one of at least one Base Station (BS), at least one relay, and at least one Distributed Unit (DU). The BS may be a network infrastructure that provides wireless access to one or more terminals across a plurality of predetermined geographic areas (alternatively referred to as “cells”) based on distance over which a signal may be transmitted. Examples of the BS include, but are not limited to, a macro cell, a femtocell, wireless “Access Point (AP),” “evolved NodeB (eNodeB) (eNB),” “5th Generation (5G) node,” “next generation NodeB (gNB),” “wireless point,” “Transmission/Reception Point (TRP).” The BS may provide wireless access in accordance with wireless communication protocols, e.g., 5G/NR 3GPP New Radio interface/access (NR), LTE, LTE-A, High Speed Packet Access (HSPA), Wi-Fi 802.11a/b/g/n/ac, etc. Aspects of the present disclosure are intended to include, or otherwise cover, any technology (known or later developed) bearing same or similar characteristics as of the above-mentioned BS, without deviating from the scope of the present disclosure. The nodes 104 are deployed in a distributed manner to provide wireless access and coverage in a vast geographical area, may thus form the distributed communication network.
[0042] The nodes 104 may generate data corresponding to fault, configuration, accounting, performance, and security in the communication network. Particularly, the nodes 104 may generate performance metrics data and the alarm data. The alarm data includes alarms raised by the nodes 104 in an event of a fault, a change in condition of the communication network, hardware or software malfunction or outage, to indicate a change in performance of the nodes. The data generated by the nodes 104 is fetched by the source device 102 and shared with a client device 106 for further monitoring and analysis to ensure efficient performance of the communication network.
[0043] The source device 102 may include a processor coupled with a memory (not shown) and a communication unit 108 for performing communication with the nodes 104 and the client device 106. The memory may store instructions for configuring the processor to fetch data from the nodes 104. The source device 102 may communicate with the nodes 104 via the communication unit 108 including one or more of a plurality of antennas, a plurality of Radio Frequency (RF) transceivers, a transmit processing circuitry, and a receive processing circuitry. Additionally, the source device 102 may further include circuitry, programing, applications, or a combination thereof.
[0044] In one or more embodiments, the source device 102 wirelessly accesses the node 104 and the client device 106 via a network 110. The network 110 may include wired connections, wireless connections such as a proprietary Internet Protocol (IP) network, Internet, or in accordance with other wireless communication standards such as Worldwide Interoperability for Microwave Access (WiMAX), Wi-Fi 802.11a/b/g/n/ac, or a combination of wired and wireless connections.
[0045] Although FIG. 1 illustrates one example of the system 100, various changes may be made to FIG. 1. For example, the system 100 may include any number of nodes 104, any number of the source device 102 and the client device 106, in any suitable arrangement, without deviating from the scope of the present disclosure. Further, various components in FIG. 1 may be combined, further subdivided, or omitted, and additional components may be added according to particular needs. It is understood that alternate embodiments of the system 100 are possible where one or more of the components of the system 100 may communicate with each other through the network 110.
[0046] FIG. 2 illustrates a block diagram depicting exemplary components of the client device 106, in accordance with an embodiment of the present disclosure. The embodiment of the client device 106 as shown in FIG. 2 is for illustration only. However, the client device 106 may come in a wide variety of configurations, and FIG. 2 does not limit the scope of the present disclosure to any particular implementation of the client device 106.
[0047] As shown in FIG. 2, the client device 106 may be a server or a cluster of server(s) comprising a distributed stream processing platform 202, an Application Programming Interface (API) framework 204 (interchangeably referred to as “Representational State Transfer (RESTful) API 204”), one or more database(s) 206 (collectively referred to as the “database 206”), a memory 208, one or more processor(s) 210 (hereinafter also referred to as the “processor 210”), a communication interface 212, and processing unit(s)/module(s) 214. Components of the client device 106 are coupled to each other via a communication bus (not shown in FIG. 2).
[0048] The processor 210 may include processing circuitry, logic, interface(s), and/or code(s), and may be configured to communicate with other components of the client device 106 (i.e., the distributed stream processing platform 202, the API framework 204, the database 206, the memory 208, and the processing unit(s)/module(s) 214, via the communication bus. Examples of the communication bus may include, but are not limited to, a Peripheral Component Interconnect (PCI)/PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB), and a Front Side Bus (FSB). Aspects of the present disclosure are intended to include or otherwise cover any type of coupling means present or related to later developed technologies, that may be configured to connect the processor 210 to the other subsystems of the client device 106, as the communication bus, without deviating from the scope of the present disclosure.
[0049] The processor 210 may include various processing circuitry configured to execute instructions 208-1 (hereinafter interchangeably referred to as “a set of instructions 208-1”) stored in the memory 208 and to cause the client device 106 to perform various processes for collecting data from the source device 102. The processor 210 may also include a plurality of analytics engine(s) 210-1 (collectively referred to as “analytics engine 210-1”) for controlling overall operation of the client device 106 associated with embodiments of the present disclosure and for performing one or more operations for collecting data from the source device 102 in the communication network. The analytics engines 210-1 may be configured to handle a set of tasks or computations executed by the processor 210 in a distributed computing environment. For example, the processor 210 may be configured to execute programs and processes to execute instruction(s) or code(s) stored in the memory 208 pertaining to collecting data from the source device 102. The processor 210 is further configured to move data into or out of the memory 208 as required by an execution process of the client device 106.
[0050] The processor 210 may correspond to one or more general-purpose processors and/or one or more special purpose processors such as digital signal processors, Field Programmable Gate Array (FPGA) processor, a microprocessor, a digital signal processor, an application specific integrated circuit, a microcontroller, a state machine, or ay any type of programmable logic array.
[0051] The memory 208 is configured to store the set of instructions 208-1 required by the processor 210 for controlling overall operations of the client device 106. A part of the memory 208 may include a Random Access Memory (RAM), a cache memory, or a Random Only Memory (ROM). The memory 208 may include non-volatile storage elements. Examples of non-volatile storage elements may include, but are not limited to, non-volatile or non-transitory computer-readable storage devices such as hard drives, magnetic tape, floppy diskettes, optical disks, Compact Disc Read-Only Memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as Programmable Read-Only Memories PROMs), Erasable PROMs (EPROMs), Electrically Erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media/machine-readable medium suitable for storing electronic instructions. In addition, the memory 208 may, in some examples, be implemented using a non-transitory storage medium. However, the term "non-transitory" should not be interpreted as the memory 208 is non-movable. In certain examples, a non-transitory storage medium may store data that can, over time, change, for example in RAM or cache. The memory 208 may be an internal storage unit or an external storage unit of the client device 106, cloud storage, or any other type of external storage. In some embodiments, when the memory 208 is external to the client device 106, the memory 208 may be removably attached to the client device 106. Aspects of the present disclosure are intended to include or otherwise cover any data storage medium as ‘the memory 208’, without deviating from the scope of the present disclosure.
[0052] The processor 210 utilizes the distributed stream processing platform 202 for receiving the data from the source device 102. The distributed stream processing platform 202 may correspond to a cluster of distributed stream processing servers forming a part of the client device 106 or may be a part of an external environment in communication with the client device 106. The distributed stream processing platform 202 is configured to ingest the data in real-time, process the data, and distribute the ingested data as streams to the memory 208 and/or the processing unit(s)/module(s) 214. The distributed stream processing platform 202 is further configured to handle and manage incoming stream of the data and thus ensure low-latency data processing and seamless integration with downstream components.
[0053] The communication interface 212 may manage communications with the source device 102 and the network 110. For example, the communication interface 212 enables the client device 106 to receive data from the source device 102. The communication interface 212 may include an electronic circuit specific to a standard that enables wired or wireless communication. The communication interface 212 is configured for performing communication with external devices via one or more networks. Further, the communication interface 212 may also provide a communication pathway for one or more components of the client device 106. Examples of such components include, but are not limited to, the processing unit(s)/module(s) 214 and the databases 206.
[0054] The analytics engine 210-1 further utilize a framework for fast development of high-performance RESTful web services. REST is a software architecture that defines a set of constraints for creating web services. Web service or an Application Programming Interface (API) that adhere to the REST architectural constraints may be referred to as REST API framework 204 (alternatively referred to as RESTful API 204). The API framework may include the REST API mechanism written in an object-oriented programming language.
[0055] The client device 106 utilizes the RESTful API 204 for configuring a plurality of APIs written over the REST architecture to establish a connection with the source device 102. In one embodiment, the plurality of APIs may correspond to at least two APIs. In another embodiment, functionality performed by the plurality of APIs may be performed by a single API. The at least two APIs may run on Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol Secured (HTTPS) for establishing a connection between the client device 106 and the source device 102. The client device 106 is configured to manage, using the processing unit(s)/module(s) 214, communication between one or more resources on the communication network for establishing the connection between the client device 106 and the source device 102. To establish the connection, the processing unit/module of the processing unit(s)/module(s) 214 may send, to the source device 102, user credentials of the source device 102 corresponding to the connection for logging into one or more of the at least two API, and a Uniform Resource Locator (URL) of a first API of the at least two APIs and a second API of the at least two APIs. The URL may comprise one or more of an Internet Protocol (IP) address, a port number, and a location of the at least two APIs.
[0056] In an embodiment, the processing unit(s)/module(s) 214 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the client device 106. In non-limiting examples, described herein, such combinations of hardware and programming may be implemented in several different ways. The processing unit(s)/module(s) 214 may include suitable logic, circuitry, interfaces, and/or codes. For example, the programming for the processing unit(s)/module(s) 214 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor 210 may comprise a processing resource (for example, one or more processors), to execute such instructions.
[0057] In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing unit(s)/module(s) 214. In such examples, the client device 106 may also comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the client device 106 and the processing resource. In other examples, the processing unit(s)/module(s) 214 may be implemented using an electronic circuitry.
[0058] In one or more embodiments, the processing unit(s)/module(s) 214 may include one or more modules selected from any of a transceiver module 214-2, an authorization module 214-4, a processing module 214-6, and other modules (not shown in FIG. 2). The processing unit(s)/module(s) 214 are communicatively coupled with each other.
[0059] In one embodiment, the processor 210, using the transceiver module 214-2, shares user credentials including a username and a password with the source device 102, for logging in to the first API of the at least two APIs, to request for access of the client device 106. Upon establishing the connection, the client device 106 may secure the established connection between the client device 106 and the source device 102, by performing authorization of the user credential received from the source device 102. The processor 210, using the authorization module 214-4, may support authorization of an access of the source device 102 to the first API. To perform the authorization, the authorization module 214-4 determines if the username and password received as input from the source device 102 matches with the user credentials shared by the client device 106. If a successful match is determined between the user credentials, then access to the first API is granted to the source device 102 by the client device 106. The processor 210, using the transceiver module 214-2, may then share the URL with the source device 102, to enable the source device 102 to access the first API running on the client device 106.
[0060] In one embodiment, the user credentials to be shared with the source device 102 are stored in the database 206. The user credentials may be stored in a meaningful format in the database 206. The database 206 may be implemented as one or more of centralized database, Relational Database Management System (RDBMS), Non-Relational Database Management System, Hierarchical Database Management System, Network Database Management System, an in-memory database including a distributed in-memory data storage, distributed database, or a distributed file system.
[0061] Upon authorization, the source device 102 accesses the first API. The source device 102 is configured to publish, using the transceiver module 214-2, a heartbeat signal to the first API running at the client device 106 to indicate to the client device 106 to check for availability of the distributed stream processing platform 202. The heartbeat signal generally refers to a periodic signal generated by a hardware or a software entity to indicate normal operation of the entity or synchronization operation with other entities. In the context of the present disclosure, the heartbeat signal refers to a periodic signal generated by the source device 102 to indicate synchronization operation between the source device 102 and the client device 106. The heartbeat signal may be sent or published by the source device 102 at a pre-defined frequency such as at a periodic time interval of 30 seconds or 1 minute. For example, the heartbeat signal may be sent every minute. Once the access to the first API is secured, access of the source device 102 to a second API of the at least two APIs is configured for receiving the stream of the data from the source device 102.
[0062] Although FIG. 2 illustrates one example of the client device 106, various changes may be made to FIG. 2. For example, the client device 106 may include any number of components in addition to the components shown in FIG. 2. Further, various components in FIG. 2 may be combined, further subdivided, or omitted and additional components may be added according to particular needs. A detailed method of data collection by the client device 106 is described in greater detail further below.
[0063] In an alternate embodiment, each processing unit/module of the processing unit(s)/module(s) 214 (i.e., the transceiver module 214-2, the authorization module 214-4, and the processing module 214-6) is configured to independently perform various operations of the processor 210, as described herein, without deviating from the scope of the present disclosure.
[0064] FIG. 3 illustrates a method 300 for collecting data in the communication network, in accordance with an embodiment of the present disclosure. Example blocks of step 302 to 326 of the method 300 are performed by one or more components of the client device 106 as disclosed in Fig. 2, for the data collection in the communication network. Although the method 300 shows example blocks of steps 302 to 326, in some embodiments, the method 300 may include additional steps, fewer steps or steps in different order than those depicted in FIG. 3. In other embodiments, the steps 302 to 326 may be combined or may be performed in parallel.
[0065] At step 302, the processor 210, using the transceiver module 214-2, receives the heartbeat signal from the source device 102 by the RESTful API 204 running in the client device 106. The heartbeat signal may be received at the periodic time interval. Further, upon receiving the heartbeat signal, the processor 210 at step 304 determines, using the transceiver module 214-2, an availability or non-availability of the distributed stream processing platform 202.
[0066] In one embodiment, the availability of the distributed stream processing platform 202 may correspond to an availability of the distributed stream processing platform 202 to process the stream of data to be received from the source device 102. In another embodiment, availability of the distributed stream processing platform 202 may correspond to an availability of at least one pre-defined segment (hereinafter referred to as “the segment” or “a data segment”) among a plurality of segments of a data channel of the distributed stream processing platform 202 where the stream of data is to be stored. The availability may be determined by checking an operational state or load state of the pre-defined segment in the distributed stream processing platform 202. Similarly, the non- availability of the distributed stream processing platform 202 may correspond to a non-availability of at least one pre-defined segment where the stream of data is to be stored or the non-availability of the distributed stream processing platform 202.
[0067] The distributed stream processing platform 202 may comprise a plurality of data channels. Each data channel of the plurality of data channels may be a logical category or a distinct queue where messages are stored as stream of data and from where the stream of data in the message can be retrieved. The data channel may be subdivided into the plurality of segments. Each subdivision of the data channel denoted by a specific segment may have a unique identifier. The plurality of segments in the plurality of data channels are handled parallelly by the distributed stream processing platform 202. In one embodiment, the at least one pre-defined segment may correspond to a segment of the data channel that is assigned based on the EMS of a specific vendor or the EMS belonging to a specific geographic area.
[0068] If it is determined by the transceiver module 214-2 that the distributed stream processing platform 202 is available, then the flow of the method 300 proceeds to step 306. At step 306, the processor 210 sends, using the transceiver module 214-2, a first acknowledgement message to the source device 102. The first acknowledgement message indicates the availability of the distributed stream processing platform 202 and completion of the handshake between the client device 106 and the source device 102. The processor 210, using the transceiver module 214-2, may utilize the HTTP and return a status code “200: OK” as the first acknowledgement message. Here, the status code “200: OK” indicates that a request from the source device 102 has succeeded. The method 300 then loops to step 312.
[0069] If it is determined by the transceiver module 214-2 that the distributed stream processing platform 202 is not available, then the processor 210, at step 308, using the transceiver module 214-2, may send a first No Acknowledgement (NOK) message to the source device 102. The first NOK message may indicate the non-availability of the distributed stream processing platform 202. In response to the sent first NOK message, at step 310, the processor 210, using the transceiver module 214-2, waits to receive the next heartbeat signal from the source device 102 at the periodic time interval after the NOK message is received for re-checking the availability of the distributed stream processing platform 202, and thereafter the method 300 may loop back to step 302.
[0070] At step 312, in response to sending the first acknowledgement message, the processor 210, using the transceiver module 214-2, may receive a message from the source device 102 by making a call to the second API of the at least two APIs. The message may include batches of streams of data grouped by the source device 102. The message may comprise streams of data in a raw form. In one embodiment, the message may comprise streams of alarm data. Further, at step 314, the processor 210 retrieves the stream of the data from the message using the processing module 214-6.
[0071] To retrieve the stream of data, the processing module 214-6 may process the message through a parser (not shown in FIG. 2) to extract useful information (useful stream of data) from the message. The parser is configured to receive the message in a raw form from the source device 102 and extract the streams of data for further processing by the processor 210. The parser may decode a format and/or protocol of the stream of the data and transform the raw streams of data into structured records of data.
[0072] At step 316, the processor 210 using the processing module 214-6 is further configured to instruct the parser to retrieve a key from the stream of data. The key may be determined by the client device 106 based on the received stream of data. The key may indicate the at least one pre-defined segment of the data channel of the distributed stream processing platform 202 where the stream of data is to be stored. The key may include a unique identifier of the at least one pre-defined segment where the stream of data is to be stored.
[0073] Furthermore, at step 318, the processor 210, using the processing module 214-6, pushes the processed stream of data in the data channel corresponding to the at least one pre-defined segment of the distributed stream processing platform 202. Beginning from the at least one pre-defined segment, the processed steam of data is ingested in real-time in the data segments in the data channel. From the data channel, the ingested stream of data may be distributed to the processing unit(s)/module(s) and/or the analytics engine 210-1.
[0074] At step 320, the processor 210 using the processing module 214-6, determines whether the data was stored in the at least one pre-defined segment of the corresponding data channel of the distributed stream processing platform 202 within a pre-defined time- period. If it is determined that the stream of data was stored within the pre-defined time-period, then the processor 210, at step 322, may send a second acknowledgment message to the source device 102 using the transceiver module 214-2. If the second acknowledgement message is received by the source device 102 within the pre-defined time-period, then the source device 102 may restrict transmission of the same message or same stream of data again and the processor 210 may not perform any further operation of the method 300.
[0075] However, if it is determined that the stream of data was not stored within the pre-defined time-period, then the processor 210 at step 324 may send, using the transceiver module 214-2, a second NOK message within the pre-defined time-period to the source device 102. Upon receiving the second NOK message, the source device 102 may understand that the client device 106 is not able to store the data in the distributed stream processing platform 202. Thereafter, the processor 210, at step 326, is configured to the re-receive the same message from the source device 102 using the transceiver module 214-2.
[0076] At a same time, upon receiving the second NOK message, at step 326, the source device 102 may re-check the availability or non-availability of the distributed stream processing platform 202 at the periodic time interval by sending a next heartbeat signal and re-send the same stream of data again in the next heartbeat signal.
[0077] In another embodiment, the source device 102, upon not receiving (absence of) the second acknowledgement message within the pre-defined time-period, may understand that the client device 106 is not able to store the data in the distributed stream processing platform 202. Thereafter, upon not receiving (absence of) the second acknowledgement message within the pre-defined time-period, the source device 102, at the step 326, may re-check the availability or non-availability of the distributed stream processing platform 202 for re-sending the same stream of data again in the next heartbeat signal.
[0078] FIG. 3 presents an embodiment of the present disclosure where various operations (i.e., presented by way of the steps 302 through 326) are performed by the processor 210 using the processing unit(s)/module(s) 214. However, as will be appreciated by a person of ordinary skill in the art, in an alternate embodiment, the various operations of the steps 302 through 326 may be performed independently by the processing unit(s)/module(s) 214, without deviating from the scope of the present disclosure.
[0079] FIG. 4 illustrates an exemplary flow diagram 400 depicting information exchange between the client device 106 and the source device 102 for collecting the data in the communication network, in accordance with an embodiment of the present disclosure. In particular, the flow diagram 400 depicts a detailed illustration of one or more steps of the method 300 along with information flow depicting an exemplary successful storage of the stream of data shared by the source device 102 to the client device 106.
[0080] At instance 402, the source device 102 initiates the heartbeat signal after authorization of the access of the source device 102 to the first API of the client device 106. Through the heartbeat signal, the client device 106 is requested for checking the availability or the non-availability of the distributed stream processing platform 202.
[0081] At instance 404, if it is determined by the client device 106 that the distributed stream processing platform 202 is available, the client device 106 sends the first acknowledgement message to the source device 102 by utilizing the first API.
[0082] At instance 406, the source device 102 sends a message to the second API in the client device 106. The client device 106 parses the message to extract the useful stream of data and stores the extracted stream of data in the distributed stream processing platform 202.
[0083] If storage of the extracted stream of the data in the at least one pre-defined segment is completed within the pre-defined time-period, then at instance 408, the client device 106 sends the second acknowledgement message to the source device 102 via the second API. Upon receiving the second acknowledgement message, the source device 102 may terminate sending the same stream of data again.
[0084] Now, referring to the technical abilities and advantageous effect of the present disclosure, operational advantages that may be provided by one or more embodiments may include enabling establishment of a secured connection between the source device and the client device for effective transfer of data, by authorization of the access of the source device to the client device. Another advantage offered by the present disclosure is to avoid re-duplication of data sent by the source device, by terminating re-sending of the stream of data upon successful storage of the stream of data during the pre-defined time period, thereby saving computing resources.
[0085] Furthermore, the system and the method described in the present disclosure provides data sanity and minimizes data loss by ensuring that the stream of data is successfully stored in the plurality of data channels of the distributed streaming platform. Additionally, the system and the method disclosed herein for data collection may be utilized as an intermediary to collect the data by the network operator for correct analysis of faults and network signal in the communication network.
[0086] Embodiments of the present technology may be described herein with reference to flowchart illustrations of methods and systems according to embodiments of the technology, and/or procedures, algorithms, steps, operations, formulae, or other computational depictions, which may also be implemented as computer program products. In this regard, each block or step of the flowchart, and combinations of blocks (and/or steps) in the flowchart, as well as any procedure, algorithm, step, operation, formula, or computational depiction can be implemented by various means, such as hardware, firmware, and/or software including one or more computer program instructions embodied in computer-readable program code. As will be appreciated, any such computer program instructions may be executed by one or more computer processors, including without limitation a general-purpose computer or special purpose computer, or other programmable processing apparatus to perform a group of operations comprising the operations or blocks described in connection with the disclosed methods.
[0087] Further, these computer program instructions, such as embodied in computer-readable program code, may also be stored in one or more computer-readable memory or memory devices (for example, the memory 208) that can direct a computer processor or other programmable processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory or memory devices produce an article of manufacture including instruction means which implement the function specified in the block(s) of the flowchart(s).
[0088] It will further be appreciated that the term “computer program instructions” as used herein refer to one or more instructions that can be executed by the one or more processors (for example, the processor 210) to perform one or more functions as described herein. The instructions may also be stored remotely such as on a server, or all or a portion of the instructions can be stored locally and remotely.
[0089] Those skilled in the art will appreciate that the methodology described herein in the present disclosure may be carried out in other specific ways than those set forth herein in the above disclosed embodiments without departing from essential characteristics and features of the present invention. The above-described embodiments are therefore to be construed in all aspects as illustrative and not restrictive.
[0090] The drawings and the forgoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein. Any combination of the above features and functionalities may be used in accordance with one or more embodiments.
[0091] In the present disclosure, each of the embodiments has been described with reference to numerous specific details which may vary from embodiment to embodiment. The foregoing description of the specific embodiments disclosed herein may reveal the general nature of the embodiments herein that others may, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications are intended to be comprehended within the meaning of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and is not limited in scope.
LIST OF REFERENCE NUMERALS
[0092] The following list is provided for convenience and in support of the drawing figures and as part of the text of the specification, which describe innovations by reference to multiple items. Items not listed here may nonetheless be part of a given embodiment. For better legibility of the text, a given reference number is recited near some, but not all, recitations of the referenced item in the text. The same reference number may be used with reference to different examples or different instances of a given item. The list of reference numerals is:
100 - System for collecting data in a communication network
102 – Source device
104 - Nodes
106 – Client device
108 – Communication unit
110 - Network
202 - Distributed stream processing platform
204 – RESTful API
206 – Database
208 - Memory
208-1 - Instructions
210 - Processor(s)
210-1 – Analytics Engine(s)
212 - Communication interface
214 - Processing unit(s)/module(s)
214-2 – Transceiver module
214-4 – Authorization module
214-6 – Processing module
300 - Method for collecting data in the communication network
302-326 - Operation steps of the method 300
400 - Flow diagram depicting information exchange between the client device and the source device for collecting data in the communication network
402-408 - Operation instances of the flow diagram 400
,CLAIMS:WE CLAIM:
1. A method (300) for collecting data in a communication network, the method (300) comprising:
establishing, by a transceiver module (214-2), a connection between a client device (106) and a source device (102);
authorizing, by an authorization module (214-4), upon establishing the connection, an access of the source device (102) to a plurality of web services running on the client device (106), for collecting a stream of data from the source device (102);
receiving, by the transceiver module (214-2), at a first webservice of the plurality of web services, a periodic signal from the source device (102) for determining an availability or non-availability of a distributed stream processing platform (202) in the client device (106);
sending, by the transceiver module (214-2), a first acknowledgment message to the source device (102) upon determining the availability of the distributed stream processing platform (202), wherein the first acknowledgment message indicates the availability of the distributed stream processing platform (202);
receiving, by the transceiver module (214-2), at a second webservice of the plurality of web services, a message from the source device (102) in response to the sent first acknowledgement message;
retrieving, by a processing module (214-6), the stream of data from the message received from the source device (102); and
storing, by the processing module (214-6), the retrieved stream of data in the distributed stream processing platform (202) within a pre-defined time-period.
2. The method (300) as claimed in claim 1, further comprising sending, by the transceiver module (214-2) to the source device (102), a second acknowledgment message to restrict the transmission of the message from the source device (102).
3. The method (300) as claimed in claim 1, wherein the plurality of webservices corresponds to Application Programming Interface (API) based RESTful (Representational State Transfer) web services.
4. The method (300) as claimed in claim 1, further comprising:
sending, by the transceiver module (214-2) upon determining the non-availability of the distributed stream processing platform (202), a first No Acknowledgement (NOK) message to the source device (102) indicating the non-availability of the distributed stream processing platform (202); and
receiving, by the transceiver module (214-2) from the source device (202), in response to the sent first NOK message, a periodic signal for re-checking the availability of the distributed stream processing platform (202) at a periodic time interval after the NOK message is received by the source device (102).
5. The method (300) as claimed in claim 1, further comprising:
determining, by the processing module (214-6), whether the stream of data is stored in at least one pre-defined segment of the distributed stream processing platform (202) within the pre-defined time-period;
sending, by the transceiver module (214-2), a second No acknowledgement message (NOK) to the source device (202) upon a determination that the stream of data is not stored to the at least one pre-defined segment within the pre-defined time-period; and
re-receiving, by the transceiver module (214-2), the message from the source device (102) in response to the sent second NOK message.
6. The method (300) as claimed in claim 5, further comprising:
determining, by the processing module (214-6), a key from the stream of data; and
identifying, by the processing module (214-6) based on the key, the at least one pre-defined segment for storing the stream of data.
7. The method (300) as claimed in claim 1, wherein for establishing the connection with the source device (102), the method (300) further comprises sending, by the transceiver module (214-2) to the source device (102), user credentials of the source device (102) corresponding to the connection for logging into one or more of the first webservice and the second webservice, and a Uniform Resource Locator (URL) of the first webservice and the second webservice.
8. A system (100) for collecting data in a communication network, the system comprising:
a source device (102); and
a client device (106) comprising:
a transceiver module (214-2) configured to establish a connection between the source device (102) and the client device (106);
an authorization module (214-4) configured to authorize, upon establishing the connection, an access of the source device (102) to a plurality of web services running on the client device (106), for collecting a stream of data from the source device (102), wherein the transceiver module (214-2) is further configured to:
receive, at a first webservice of the plurality of web services, a periodic signal from the source device (102) for determining an availability or non-availability of a distributed stream processing platform (202) in the client device (106);
send, upon determining the availability of the distributed stream processing platform (202), a first acknowledgment message to the source device (102), wherein the first acknowledgment message indicates the availability of the distributed stream processing platform (202); and
receive, at a second webservice of the plurality of web services, a message from the source device (102) in response to the sent first acknowledgement message; and
a processing module (214-6) configured to:
retrieve the stream of data from the message received from the source device (102); and
store the retrieved stream of data in the distributed stream processing platform (202) within a pre-defined time-period.
9. The system (100) as claimed in claim 8, wherein the transceiver module (214-2) is further configured send to the source device (102), a second acknowledgment message to restrict the transmission of the message from the source device (102).
10. The system (100) as claimed in claim 8, wherein the plurality of webservices corresponds to Application Programming Interface (API) based RESTful (Representational State Transfer) web services.
11. The system (100) as claimed in claim 8, wherein the transceiver module (214-2) is further configured to:
send, to the source device (102), upon determining the non-availability of the distributed stream processing platform (202), a first No Acknowledgement (NOK) message to the source device (102) indicating the non-availability of the distributed stream processing platform (202); and
receive, from the source device (102) in response to the sent first NOK message, a periodic signal for re-checking the availability of the distributed stream processing platform (202) at a periodic time interval after the NOK message is received by the source device (102).
12. The system (100) as claimed in claim 8, wherein:
the processing module (214-6) is further configured to determine whether the stream of data is stored in at least one pre-defined segment of the distributed stream processing platform (202) within the pre-defined time-period;
the transceiver module (214-2) is further configured to:
send a second No acknowledgement message (NOK) to the source device (102) upon a determination that the stream of data is not stored to the at least one pre-defined segment within the pre-defined time-period; and
re-receive the message from the source device (102) in response to the sent second NOK message.
13. The system (100) as claimed in claim 12, wherein the processing module (214-6) is further configured to:
determine a key from the metadata of the stream of data; and
identify, based on the key, the at least one pre-defined segment for storing the stream of data.
14. The system (100) as claimed in claim 8, wherein, for establishing the connection with the source device (102), the transceiver module (214-2) is further configured to send, to the source device (102), user credentials of the source device (102) corresponding to the connection for logging into one or more of the first webservice and the second webservice, and a Uniform Resource Locator (URL) of the first webservice and the second webservice.

Documents

Application Documents

# Name Date
1 202421029806-STATEMENT OF UNDERTAKING (FORM 3) [12-04-2024(online)].pdf 2024-04-12
2 202421029806-PROVISIONAL SPECIFICATION [12-04-2024(online)].pdf 2024-04-12
3 202421029806-POWER OF AUTHORITY [12-04-2024(online)].pdf 2024-04-12
4 202421029806-FORM 1 [12-04-2024(online)].pdf 2024-04-12
5 202421029806-DRAWINGS [12-04-2024(online)].pdf 2024-04-12
6 202421029806-DECLARATION OF INVENTORSHIP (FORM 5) [12-04-2024(online)].pdf 2024-04-12
7 202421029806-Proof of Right [02-08-2024(online)].pdf 2024-08-02
8 202421029806-Request Letter-Correspondence [28-02-2025(online)].pdf 2025-02-28
9 202421029806-Power of Attorney [28-02-2025(online)].pdf 2025-02-28
10 202421029806-Form 1 (Submitted on date of filing) [28-02-2025(online)].pdf 2025-02-28
11 202421029806-Covering Letter [28-02-2025(online)].pdf 2025-02-28
12 202421029806-ORIGINAL UR 6(1A) FORM 1-060325.pdf 2025-03-10
13 202421029806-FORM 18 [13-03-2025(online)].pdf 2025-03-13
14 202421029806-DRAWING [13-03-2025(online)].pdf 2025-03-13
15 202421029806-CORRESPONDENCE-OTHERS [13-03-2025(online)].pdf 2025-03-13
16 202421029806-COMPLETE SPECIFICATION [13-03-2025(online)].pdf 2025-03-13
17 Abstract.jpg 2025-05-01