Abstract: METHOD AND SYSTEM FOR PROVIDING OVER-THE-AIR UPDATES 5 The present invention provides a method and a system for providing over-the-air updates to one or more first devices (102A, 102B, 102C, 102D) disposed on one or more vehicles. The processor of an application server receives one or more datapoints associated with information of one or more notifications for the one or more first devices (102A, 102B, 102C, 102D). 10 The processor clusters the one or more datapoints by one or more topics. The processor determines a batch (110) for each topic of the one or more topics based on the clustered one or more datapoints. Herein a batch (110) comprises a set of datapoints associated with a topic. The processor transmits information associated with at least one batch (110) of the 15 determined one or more batches to a user end device, wherein the transmitted information is rendered on a display device associated with the user end device.
Description:METHOD AND SYSTEM FOR PROVIDING OVER-THE-AIR UPDATES
TECHNICAL FIELD
[0001] The present subject matter generally relates to over-the-air 5 communications. More particularly, but not exclusively to a method and system for providing over-the-air updates to one or more first devices disposed on one or more vehicles.
BACKGROUND 10
[0002] In recent years, integration of advanced communication systems into vehicles has revolutionized automotive industry, enabling capabilities such as over-the-air updates, real-time diagnostics, and enhanced connectivity. However, with an increasing complexity of these systems and sheer volume of data generated by various vehicle components, several technical 15 challenges have emerged that hinder the efficiency and effectiveness of communication networks within vehicles.
[0003] Traditional vehicle communication systems often struggle with efficiently handling messages from multiple devices simultaneously. Each device typically establishes a separate connection to the database, leading to 20 a significant overhead in terms of resources and turnaround time. As the number of connected devices increases, this inefficiency becomes more pronounced, resulting in bottlenecks and delays in processing critical information. Security is a paramount concern in vehicle communication networks, particularly with rise of cyber threats targeting connected 25 vehicles. Many existing systems rely on basic authentication mechanisms, such as username and password, which are susceptible to various forms of attacks, including brute force attacks and credential theft. Lack of robust multi-factor authentication further exacerbates these vulnerabilities, leaving vehicles and their occupants at risk of unauthorized access and malicious 30 activities.
3
[0004] Moreover, managing vast amount of data generated by connected devices within vehicles presents significant challenges in terms of processing efficiency and database management. Inefficient data processing workflows often result in delays in updating critical information, leading to suboptimal performance and reduced responsiveness of vehicle 5 communication systems. Additionally, traditional database management approaches may struggle to cope with the dynamic nature of vehicle data, hindering scalability and agility.
[0005] Therefore, there is a need in the art for a method and system for providing over-the-air updates to one or more first devices disposed on one 10 or more vehicles which addresses at least the aforementioned problems and other problems of known art.
[0006] Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of described systems with some aspects of the present 15 disclosure, as set forth in the remainder of the present application and with reference to the drawings.
SUMMARY OF THE INVENTION
[0007] According to embodiments illustrated herein, the present invention 20 provides a method and a system for providing over-the-air updates to one or more first devices disposed on one or more vehicles. In an embodiment, the method comprises receiving, by a processor of an application server, one or more datapoints associated with information of one or more notifications for the one or more first devices. The method comprises clustering, by the 25 processor, the one or more datapoints by one or more topics. The method comprises determining, by the processor, a batch for each topic of the one or more topics based on the clustered one or more datapoints. Herein, a batch comprises a set of datapoints associated with a topic. The method comprises transmitting, by the processor, information associated with at least one batch 30 of the determined one or more batches to a user end device. The transmitted
4
information is rendered on a display device associated with the user end device. [0008] In an embodiment, the system comprises a processor. The processor is configured to receive one or more datapoints associated with information of one or more notifications for the one or more first devices. The processor 5 is configured to cluster the one or more datapoints by one or more topics. The processor is configured to determine a batch for each topic of the one or more topics based on the clustered one or more datapoints. Herein a batch comprises a set of datapoints associated with a topic. The processor is configured to transmit information associated with at least one batch of the 10 determined one or more batches to a user end device. Herein, the transmitted information is rendered on a display device associated with the user end device.
[0009] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and 15 are not restrictive of the invention, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[00010] The details are described with reference to an embodiment of a method and a system for providing over-the-air updates to one or more first 20 devices disposed on one or more vehicles along with the accompanying diagrams. The same numbers are used throughout the drawings to reference similar features and components.
[00011] Figure 1 exemplarily illustrates a block diagram of a system for providing over-the-air updates to one or more first devices disposed on one 25 or more vehicles, in accordance with an embodiment of the present disclosure.
[00012] Figure 2 illustrates a flowchart of a method for providing over-the-air updates to one or more first devices disposed on one or more vehicles, in accordance with an embodiment of the present disclosure. 30
5
DETAILED DESCRIPTION
[00013] Exemplary embodiments are described with reference to the accompanying drawings. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While 5 examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the following claims. 10
[00014] The terms “an embodiment”, “embodiment”, “embodiments”, “the embodiment”, “the embodiments”, “one or more embodiments”, “some embodiments”, and “one embodiment” mean “one or more (but not all) embodiments of the invention(s)” unless expressly specified otherwise. The terms “including”, “comprising”, “having” and variations thereof mean 15 “including but not limited to”, unless expressly specified otherwise. The terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise.
[00015] The embodiments of the present invention will now be described in detail with reference to a method for providing over-the-air updates to one 20 or more first devices disposed on one or more vehicles. However, the present invention is not limited to the present embodiments. The present subject matter is further described with reference to accompanying figures. It should be noted that the description and figures merely illustrate principles of the present subject matter. Various arrangements may be 25 devised that, although not explicitly described or shown herein, encompass the principles of the present subject matter. Moreover, all statements herein reciting principles, aspects, and examples of the present subject matter, as well as specific examples thereof, are intended to encompass equivalents thereof. 30
6
[00016] A person with ordinary skills in the art will appreciate that the systems, modules, and sub-modules have been illustrated and explained to serve as examples and should not be considered limiting in any manner. It will be further appreciated that the variants of the above disclosed system elements, modules, and other features and functions, or alternatives thereof, 5 may be combined to create other different systems or applications.
[00017] The present subject matter is described using the method and system for providing over-the-air updates to one or more first devices disposed on one or more vehicles, whereas the claimed subject matter can be used in any other type of application employing above-mentioned DTE 10 estimation approaches, with required changes and without deviating from the scope of invention. Further, it is intended that the disclosure and examples given herein be considered as exemplary only.
[00018] An objective of the present invention is to provide a method for providing over-the-air updates to one or more first devices disposed on one 15 or more vehicles. The method comprises receiving, by a processor of an application server, one or more datapoints associated with information of one or more notifications for the one or more first devices. The method comprises clustering, by the processor, the one or more datapoints by one or more topics. The method comprises determining, by the processor, a batch 20 for each topic of the one or more topics based on the clustered one or more datapoints. Herein, a batch comprises a set of datapoints associated with a topic. The method comprises transmitting, by the processor, information associated with at least one batch of the determined one or more batches to a user end device. The transmitted information is rendered on a display device 25 associated with the user end device.
[00019] It may be appreciated that traditional vehicle communication systems often struggle with efficiently handling messages from multiple devices simultaneously. Each device typically establishes a separate connection to the database, leading to a significant overhead in terms of 30 resources and turnaround time. As the number of connected devices
7
increases, this inefficiency becomes more pronounced, resulting in bottlenecks and delays in processing critical information. Security is a paramount concern in vehicle communication networks, particularly with rise of cyber threats targeting connected vehicles. Many existing systems rely on basic authentication mechanisms, such as username and password, 5 which are susceptible to various forms of attacks, including brute force attacks and credential theft. Lack of robust multi-factor authentication further exacerbates these vulnerabilities, leaving vehicles and their occupants at risk of unauthorized access and malicious activities. [00020] In order to mitigate the aforesaid issues, disclosed is a method for 10 providing over-the-air updates to one or more first devices disposed on one or more vehicles. The method comprises receiving, by a processor of an application server, one or more datapoints associated with information of one or more notifications for the one or more first devices.
[00021] In an embodiment, the method comprises storing the received one 15 or more datapoints associated with the information of one or more notifications in a third memory device transmitting, from the third memory device, at least one data point of the stored one or more data points to a microservice based on a state of the microservice. Herein, the microservice is configured to process the at least one data point. 20
[00022] The method comprises clustering, by the processor, the one or more datapoints by one or more topics. In an embodiment, the method comprises the clustering of the one or more datapoints is based on the processing of at least one data point by the microservice.
[00023] The method comprises determining, by the processor, a batch for 25 each topic of the one or more topics based on the clustered one or more datapoints. Herein, a batch comprises a set of datapoints associated with a topic. In an embodiment, the clustered one or more datapoints is stored in a first memory device and the determined one or more batches is stored in a second memory device. 30
8
[00024] In an embodiment, the method comprises storing, in the first memory device, a plurality of copies of each of the clustered one or more datapoints at a first time instant. Herein, the clustered one or more datapoints is associated with one or more verification keys. The method comprises verifying an authenticity of each of the stored plurality of copies 5 of each of the clustered one or more datapoints based on the one or more verification keys. The method comprises selecting a first copy from the stored plurality of copies for each of the clustered one or more datapoints based on the verification. Herein, the determination of the batch is based on the selection of the first copy. 10
[00025] In an embodiment, the batch is determined based on based on a size of data associated with the batch or a time duration that has passed after a second time instant at which the batch is determined.
[00026] The method comprises transmitting, by the processor, information associated with at least one batch of the determined one or more batches to a 15 user end device. The transmitted information is rendered on a display device associated with the user end device.
[00027] In an embodiment, the method comprises receiving, by the processor, login information associated with a login request. The method comprises authenticating, by the processor the login request based on the 20 received login information. The method comprises receiving, by the processor, a first request for first information associated with at least one batch of the stored one or more batches at a third time instant based on the authentication. The requested first information is transmitted, to a second device, from the second memory device based on the received first request 25 for information.
[00028] In an embodiment, the method comprises rendering the first information on a display device associated with the second device.
[00029] In an embodiment, the method comprises storing the requested first information in a fourth memory device at the fourth time instant. The 30 method comprises receiving a second request for the first information at a
9
fifth time instant. Herein, the requested first information is transmitted, to the second device, from the fourth memory device based on the received second request for information. [00030] In an embodiment, the method comprises monitoring the first information stored in the second memory device. The method comprises 5 detecting a change in the first information stored in the second memory. The method comprises updating the stored first information in the fourth memory device. Herein, the fourth memory device is communicably coupled with the second memory device.
[00031] In an embodiment, the first memory device is memory device using 10 a message queuing telemetry transport (MQTT) protocol, the second memory device is a database, the third memory device is a memory device using a distributed messaging system, the third memory device, and the fourth memory device is a server or a cache memory. In an embodiment, the one or more first devices is one or more components associated with the one 15 or more vehicles, and the second device is a computing device.
[00032] Figure 1 exemplarily illustrates a block diagram of a system (100) for providing over-the-air updates to one or more first devices (102A, 102B, 102C, 102D) disposed on one or more vehicles (not shown), in accordance with an embodiment of the present disclosure. The system 100 includes one 20 or more devices (102A, 102B, 102C, 102D), a third memory device 104, a microservice 106, a first memory device 108, a batch 110, a second memory device 112, a fourth memory device 114, a message reader 116, a user interface 118, a service registry block 120, an authentication and authorisation block 122, and an authorization server 124. 25
[00033] In an embodiment, the first memory device (108) is a memory device using a distributed messaging system protocol, the second memory device (112) is a database, the third memory device (104) is memory device using a message queuing telemetry transport (MQTT) protocol, the fourth memory device (114) is a server or a cache memory. 30
10
[00034] The processor of an application server receives one or more datapoints associated with information of one or more notifications for the one or more first devices (102A, 102B, 102C, 102D). For example, the information associated with successful software download, download initiated, flashing successful, and the like may be received from the one or 5 more first devices (102A, 102B, 102C, 102D). In an example, the information associated with a successful software download notification may be received from the first device 102A, the information associated with a download initiated notification may be received from the first device 102B, and the information associated with a flashing successful notification 10 may be received from the first device 102C.
[00035] Upon receiving the one or more datapoints associated with the information of the one or more notifications for the one or more first devices (102A, 102B, 102C, 102D), the processor stores the received one or more datapoints associated with the information of one or more notifications in 15 the third memory device (104). The third memory device (104) may store device information associated with the one or more first devices (102A, 102B, 102C, 102D). The processor transmits, from the third memory device (104), at least one data point of the stored one or more data points to the microservice (106) based on a state of the microservice (106). 20
[00036] The microservice (106) is configured to process the at least one data point, wherein the clustering of the one or more datapoints is based on the processing. The processing entails that the at least one data point is refined/decoded, since raw data is received from the first device (for example, the first device 102A). The microservice (106) may ensure better 25 isolation from dependent services while processing the at least one data point.
[00037] The processor clusters the one or more datapoints by one or more topics. In an example, the one or more topics may be a successful software download topic, a download initiated topic, and a flashing successful topic. 30 A first subset of the one or more datapoints may be associated with the
11
successful software download topic, a second subset of the one or more datapoints may be associated with the download initiated topic, a third subset of the one or more datapoints may be associated with the flashing successful topic for the one or more first devices (102A, 102B, 102C, 102D). Herein, messages associated with each of the one or more first devices 5 (102A, 102B, 102C, 102D) for a topic may be merged to create a batch associated with a topic. [00038] The processor stores, in the first memory device (108), a plurality of copies of each of the clustered one or more datapoints at a first time instant. Herein, the clustered one or more datapoints is associated with one 10 or more verification keys. The processor verifies an authenticity of each of the stored plurality of copies of each of the clustered one or more datapoints based on the one or more verification keys. In case there is a data loss, each copy has a verification key which can be tracked to check and rectify the data loss. The processor selects a first copy from the stored plurality of copies for each 15 of the clustered one or more datapoints based on the verification.
[00039] The processor determines a batch (110) for each topic of the one or more topics based on the clustered one or more datapoints. Herein, a batch (110)comprises a set of datapoints associated with a topic. In anembodiment, the determination of the batch (110) is based on the selection 20 of the first copy. In an embodiment, the batch (110) is determined based on a size of data associated with the batch (110) or a time duration that has passed after a second time instant at which the batch (110) is determined.
[00040] The batch may be created based on the time duration and/or based on a message size. Example, if 10,000 messages are received in ten seconds, 25 then the processor will batch it in 1000s and populate the database 10 times. In another example, if only 10 messages in 10 seconds have arrived then all these messages will be batched together and populated into the database.
[00041] In an embodiment, the clustered one or more datapoints is stored in a first memory device (108) and the determined one or more batches is 30 stored in a second memory device (112).
12
[00042] The processor transmits information associated with at least one batch (110) of the determined one or more batches to a user end device (not shown). The transmitted information is rendered on a display device associated with the user end device.
[00043] In an embodiment, the processor may receive login information 5 associated with a login request. In an example, the login information may be received based on interaction of one or more user interface elements associated with the user interface dashboard 118. The processor authenticates the login request based on the received login information. The processor receives a first request for first information associated with at 10 least one batch (110) of the stored one or more batches at a third time instant based on the authentication. Herein, the requested first information is transmitted, to a second device (not shown), from the second memory device (112) based on the received first request for information. In an example, the second device may be associated with the user interface 15 dashboard 118. The processor may control rendering of the first information on a display device associated with the second device.
[00044] In an embodiment, the processor stores the requested first information in a fourth memory device (114) at the fourth time instant. In case, the processor receives a second request for the first information at a 20 fifth time instant after storage of the requested first information in the fourth memory device (114) then the requested first information is transmitted, to the second device, from the fourth memory device (114) based on the received second request for information. The fourth memory device (114) may be faster. Hence, time needed to fetch the first information may be 25 reduced. The message reader 116 may read the first information from the fourth memory device (114). Thereafter, the first information may be provided on the user interface dashboard 118.
[00045] In an embodiment, the processor may monitor the first information stored in the second memory device (112). The processor may detect a 30 change in the first information stored in the second memory (112). The
13
processor may update the stored first information in the fourth memory device (114). Herein, the fourth memory device (114) is communicably coupled with the second memory device. [00046] Figure 2 exemplarily illustrates a method (200) for for providing over-the-air updates to one or more first devices (102A, 102B, 102C, 102D) 5 disposed on one or more vehicles, in accordance with an embodiment of the present disclosure. The method 200 includes a block 202, block 204, a block 206, and block 208. The method starts at 202.
[00047] At 202, one or more datapoints associated with information of one or more notifications for the one or more first devices (102A, 102B, 102C, 10 102D) may be received by a processor of an application server. Herein, the processor may be configured to receive the one or more datapoints associated with information of one or more notifications for the one or more first devices (102A, 102B, 102C, 102D).
[00048] At 204, the one or more datapoints by one or more topics may be 15 clustered. Herein, the processor may be configured cluster the one or more datapoints by one or more topics.
[00049] At 206, a batch (110) for each topic of the one or more topics may be determined based on the clustered one or more datapoints. The processor may determine a batch (110) for each topic of the one or more topics based 20 on the clustered one or more datapoints. Herein, a batch (110) comprises a set of datapoints associated with a topic; and
[00050] At 208, information associated with at least one batch (110) of the determined one or more batches may be transmitted to a user end device. The processor may be configured to transmit information associated with at 25 least one batch (110) of the determined one or more batches to a user end device. The transmitted information is rendered on a display device associated with the user end device.
[00051] In a scenario, an automotive company named as “ABC motors” implements over-the-air (OTA) software updates for its fleet of connected 30
14
vehicles. Herein, a robust communication system for delivering OTA software updates to vehicles while ensuring efficiency, security, and scalability may be implemented. In order to achieve this, ABC Motors sets up an MQTT messaging broker to handle communication between vehicles and the server. Each vehicle subscribes to relevant topics for receiving
5 software update notifications. Thereafter, ABC Motors deploys a microservice responsible for processing incoming messages from vehicles. The microservice decodes messages, applies business logic, and prepares them for further processing. Messages processed by the microservice are published to a messaging broker. The messaging broker ensures high-10 throughput, replication, and fault tolerance, serving as a buffer for batch processing. ABC Motors implements a batch processing service that periodically creates batches of processed messages from the messaging broker. Batches are determined based on predefined logic, such as time intervals or message size. Processed messages are stored in a NoSQL 15 database, providing scalability and flexibility to accommodate the growing volume of data generated by connected vehicles. [00052] When ABC Motors releases a new software update, vehicles in the fleet receive notifications through the MQTT messaging broker. Each vehicle sends a message confirming receipt of the update. The microservice
20 receives messages from vehicles, decodes them, and applies business logic (e.g., verifying vehicle identity, checking compatibility with the update). Processed messages are published to the messaging broker, which ensures fault tolerance and replication across multiple brokers. The batch processing service periodically creates batches of processed messages from the 25 messaging broker. For example, it may create batches every hour or when a certain threshold of messages is reached. Batches of processed messages are populated into the NoSQL database. Each batch contains information about vehicles' software update status, ensuring data integrity and reliability. ABC Motors' operations team monitors the dashboard, which provides real-time 30 insights into the status of software updates across the fleet. They can track progress, identify any issues, and take proactive measures as needed.
15
[00053] By batching messages and utilizing asynchronous communication, the system minimizes resource overhead and reduces latency. Robust authentication mechanisms ensure secure communication between vehicles and the server, mitigating the risk of unauthorized access. The use of the messaging broker and NoSQL database enables the system to scale
5 seamlessly to handle a growing number of vehicles and software updates. Fault-tolerant messaging and database systems ensure data integrity and reliability, even in the event of failures or network disruptions. Thus, the disclosed method provides a practical and effective solution for implementing OTA software updates in connected vehicles, demonstrating 10 its efficiency, security, and scalability in real-world applications.
[00054] In another scenario, the company “ABC” motors uses over-the-air (OTA) software updates for a fleet of connected vehicles by ABC Motors. Herein, an efficient and secure communication system need to be implemented for delivering OTA software updates to vehicles while 15 ensuring scalability and reliability. The system uses the MQTT Messaging Broker for handling communication between vehicles and the server, allowing vehicles to subscribe to relevant topics for receiving software update notifications. The system employs the microservice for message Processing. The microservice decodes incoming messages from vehicles, 20 verifies vehicle identity, and applies business logic to determine software update compatibility. The system employs the messaging broker that acts as a distributed messaging system, ensuring high-throughput and fault tolerance for processed messages from the microservice. A batch processing module creates batches of processed messages based on time intervals or 25 message size, preparing them for storage in a NoSQL database. The system stores information about software update status for each vehicle, providing scalability and flexibility to accommodate the growing volume of data.
[00055] Each vehicle in the fleet is identified by a unique ID. In an example, a vehicle A with ID: "V123" is considered. ABC Motors releases a new 30 software update, and the Vehicle A receives a notification through the MQTT messaging broker. The vehicle A sends a message confirming
16
receipt of the update, including its ID and software update status ("received").
The microservice receives the message from Vehicle A and decodes the message to extract the vehicle ID and software update status. Further, the microservice verifies the authenticity of the message and checks the compatibility of the update with Vehicle A's hardware and software 5 configuration. The microservice publishes the processed message to the messaging broker. Herein, a message topic is "software_update_status" and message content is {"vehicle_id": "V123", "update_status": "compatible"}. The batch processing service periodically creates batches of processed messages from Kafka, based on parameters such as time intervals or 10 message size. Let's assume the batch interval is set to every 30 minutes. After 30 minutes, the batch processing service creates a batch containing all processed messages received during that interval. For example, a batch having batch ID: "Batch_1" and batch content as {"vehicle_id": "V123", "update_status": "compatible"} is created. The batch of processed messages 15 is populated into the NoSQL database, ensuring data integrity and reliability. ABC Motors' operations team monitors the dashboard, which provides real-time insights into the status of software updates across the fleet. Dashboard displays information such as vehicle ID, update status, batch ID, and timestamp. For example: vehicle ID: V123, update status: 20 compatible, batch ID: Batch_1, and timestamp: [current time] is rendered. [00056] Asynchronous communication and batch processing minimize resource overhead and latency. Robust authentication mechanisms ensure secure communication and data integrity. The messaging broker and NoSQL database enable seamless scaling to handle a growing fleet of 25 vehicles. Fault-tolerant messaging and database systems ensure data integrity and reliability.
[00057] The present disclosure provides the method and the system for providing over-the-air updates to one or more first disposed on one or more vehicles. The disclosed method enables efficient message handling. By 30 utilizing a messaging broker based on the MQTT protocol and introducing batch processing techniques, the disclosed method significantly reduces the
17
number of direct connections to the database. This results in improved efficiency and reduced resource overhead, as messages are queued and processed asynchronously, minimizing latency and bottlenecks in the system. The introduction of batch processing and the messaging brokers enables the system to efficiently handle large volumes of data generated by 5 connected devices within vehicles. This scalability ensures optimal performance and responsiveness, even as the number of devices increases, allowing the system to adapt to changing traffic patterns and processing requirements. The disclosed system and the method address authentication vulnerabilities by implementing robust multi-factor authentication 10 mechanisms, thereby enhancing the security of vehicle communication networks. This mitigates the risk of unauthorized access and data breaches, safeguarding the integrity of vehicle systems and data. Through the use of distributed messaging systems and replication mechanisms, the disclosed system and the method ensures high data reliability and integrity. Messages 15 are replicated across multiple brokers, minimizing the risk of data loss and ensuring consistent and accurate data updates in the database. [00058] The disclosed system and the method provide features for real-time monitoring and dashboard displays, enabling users to access timely insights and updates on vehicle status and performance. This enhances situational 20 awareness and enables proactive decision-making, contributing to improved operational efficiency and safety. By leveraging a NoSQL database for storing vehicle data, the invention offers flexibility and adaptability to accommodate diverse data structures and processing requirements. This enables seamless integration with existing vehicle communication systems 25 and infrastructure, ensuring compatibility and interoperability.
[00059] In light of the above-mentioned advantages and the technical advancements provided by the disclosed the method and the system for providing over-the-air updates to one or more first disposed on one or more vehicles, the claimed steps as discussed above are not routine, conventional, 30 or well understood in the art, as the claimed steps enable the following solutions to the existing problems in conventional technologies. Further, the
18
claimed steps clearly bring an improvement in the functioning of the configuration itself as the claimed steps provide a technical solution to a technical problem. [00060] A description of an embodiment with several components in communication with another does not imply that all such components are 5 required, On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention.
[00061] Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter and is 10 therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based here on. Accordingly, the embodiments of the present invention are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims. 15
[00062] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims. 20
[00063] While the present disclosure has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made, and equivalents may be substituted without departing from the scope of the present disclosure. In addition, many modifications may be made to adapt a particular situation or material to the 25 teachings of the present disclosure without departing from its scope. Therefore, it is intended that the present disclosure not be limited to the particular embodiment disclosed, but that the present disclosure will include all embodiments falling within the scope of the appended claims.
30
19
Reference Numerals:
100-System
102A, 102B, 102C, 102D – First device
104-Third memory device
106– Microservice 5
108– First memory device
110-Batch
112-Second memory device
114-Fourth memory device
116- Message reader 10
118-User interface
120-Service registry block
122-Authentication and authorisation block
124-Authorization server , Claims:We Claim:
1.A method for providing over-the-air updates to one or more first5 devices (102A, 102B, 102C, 102D) disposed on one or morevehicles, the method comprising:
receiving, by a processor of an application server, one or more datapoints associated with information of one or more notifications for the one or more first devices (102A, 102B, 102C, 102D); 10
clustering, by the processor, the one or more datapoints by one or more topics;
determining, by the processor, a batch (110) for each topic of the one or more topics based on the clustered one or more datapoints, wherein a batch (110) comprises a set of datapoints associated with a 15 topic; and
transmitting, by the processor, information associated with at least one batch (110) of the determined one or more batches to a user end device, wherein
the transmitted information is rendered on a display device 20 associated with the user end device.
2.The method for providing over-the-air updates to the one or morefirst devices (102A, 102B, 102C, 102D) disposed on the one or morevehicles, wherein the clustered one or more datapoints is stored in a25 first memory device (108) and the determined one or more batches isstored in a second memory device (112).
3.The method for providing over-the-air updates to the one or morefirst
devices (102A, 102B, 102C, 102D) disposed on the one or more 30 vehicles as claimed in claim 1 comprising:
21
storing, by the processor, the received one or more datapoints associated with the information of one or more notifications in a third memory device (104); and
transmitting, from the third memory device (104), at least one data point of the stored one or more data points to a microservice 5 (106)based on a state of the microservice (106), wherein
the microservice (106) is configured to process the at leastone data point, wherein
the clustering of the one or more datapoints is based on the processing. 10
4.The method for providing over-the-air updates to the one or morefirst devices (102A, 102B, 102C, 102D) disposed on the one or morevehicles as claimed in claim 3, the method comprising:
storing, in the first memory device (108), a plurality of 15 copies of each of the clustered one or more datapoints at a first time instant, wherein the clustered one or more datapoints is associated with one or more verification keys;
verifying an authenticity of each of the stored plurality of copies of each of the clustered one or more datapoints based on the 20 one or more verification keys; and
selecting a first copy from the stored plurality of copies for each of the clustered one or more datapoints based on the verification, wherein the determination of the batch (110) is based on the selection of the first copy. 25
5.The method for providing over-the-air updates to the one or more firstdevices (102A, 102B, 102C, 102D) disposed on the one or morevehicles as claimed in claim 3, wherein the batch (110) is determinedbased on based on a size of data associated with the batch (110) or a30 time duration that has passed after a second time instant at which thebatch (110) is determined.
22
6.The method for providing over-the-air updates to the one or morefirst devices (102A, 102B, 102C, 102D) disposed on the one or morevehicles as claimed in claim 1, the method comprising:
receiving, by the processor, login information associated with 5 a login request;
authenticating, by the processor the login request based on the
received login information;
receiving, by the processor, a first request for first 10 information associated with at least one batch (110) of the stored one or more batches at a third time instant based on the authentication, wherein
the requested first information is transmitted, to a second device, from the second memory device (112) based 15 on the received first request for information.
7.The method for providing over-the-air updates to the one or morefirst devices (102A, 102B, 102C, 102D) disposed on the one or morevehicles as claimed in claim 6, comprising rendering the first20 information on a display device associated with the second device.
8.The method for providing over-the-air updates to the one or morefirst devices (102A, 102B, 102C, 102D) disposed on the one or morevehicles as claimed in claim 6, the method comprising:25
storing the requested first information in a fourth memory device (114)at the fourth time instant;
receiving a second request for the first information at a fifth timeinstant, wherein
the requested first information is transmitted, to the 30 second device, from the fourth memory device (114) based on the received second request for information.
23
9.The method for providing over-the-air updates to the one or morefirst devices (102A, 102B, 102C, 102D) disposed on the one or morevehicles as claimed in claim 8, the method comprising:
monitoring the first information stored in the second memory 5
device (112);
detecting a change in the first information stored in the second memory (112); and
updating the stored first information in the fourth memory device (114), wherein the fourth memory device (114) is 10 communicably coupled with the second memory device.
10.The method for providing over-the-air updates to the one or morefirst devices (102A, 102B, 102C, 102D) disposed on the one or morevehicles as claimed in claim 7, wherein the first memory device(108)is a memory device using a distributed messaging system, the15 second memory device (112) is a database, the third memory device(104)is memory device using a message queuing telemetry transport(MQTT) protocol, the fourth memory device (114) is a server or acache memory.
20
11.The method for providing over-the-air updates to the one or morefirst devices (102A, 102B, 102C, 102D) disposed on the one or morevehicles as claimed in claim 2, wherein the one or more first devices(102A, 102B, 102C, 102D) is one or more components associatedwith the one or more vehicles, and the second device is a computing25 device.
12.A system for providing over-the-air updates to the one or more firstdevices (102A, 102B, 102C, 102D) disposed on the one or morevehicles, the system comprising:30
a processor, wherein the processor is configured to:
24
receive one or more datapoints associated with information of one or more notifications for the one or more first devices (102A, 102B, 102C, 102D);
cluster the one or more datapoints by one or more topics;
determine a batch (110) for each topic of the one or more topics 5 based on the clustered one or more datapoints, wherein a batch (110) comprises a set of datapoints associated with a topic; and
transmit information associated with at least one batch (110) of the determined one or more batches to a user end device, wherein
the transmitted information is rendered on a display device 10 associated with the user end device.
| # | Name | Date |
|---|---|---|
| 1 | 202441026700-STATEMENT OF UNDERTAKING (FORM 3) [30-03-2024(online)].pdf | 2024-03-30 |
| 2 | 202441026700-REQUEST FOR EXAMINATION (FORM-18) [30-03-2024(online)].pdf | 2024-03-30 |
| 3 | 202441026700-FORM 18 [30-03-2024(online)].pdf | 2024-03-30 |
| 4 | 202441026700-FORM 1 [30-03-2024(online)].pdf | 2024-03-30 |
| 5 | 202441026700-FIGURE OF ABSTRACT [30-03-2024(online)].pdf | 2024-03-30 |
| 6 | 202441026700-DRAWINGS [30-03-2024(online)].pdf | 2024-03-30 |
| 7 | 202441026700-COMPLETE SPECIFICATION [30-03-2024(online)].pdf | 2024-03-30 |
| 8 | 202441026700-Proof of Right [24-06-2024(online)].pdf | 2024-06-24 |