Method and device for determining a weather condition at a location

WO2026169204A1PCT designated stage Publication Date: 2026-08-13GRABTAXI HOLDINGS PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-10
Publication Date
2026-08-13

Smart Images

  • Figure SG2025050093_13082026_PF_FP_ABST
    Figure SG2025050093_13082026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure provides methods and systems for determining a weather condition at a location. In some examples, there is provided a method comprising: detecting, by a processor, a feature indicative of a weather condition from an image of a location; and determining, by the processor, a weather condition at the location based on the feature and data associated with a condition of a vehicle at the location.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Description

[0002] Title of Invention: Method and Device for Determining a Weather Condition at a Location

[0003] FIELD OF INVENTION

[0004] [1] The present disclosure relates broadly, but not exclusively, to methods, devices and systems for determining a weather condition at a location.

[0005] BACKGROUND

[0006] [2] Accurate weather forecasts, including rain, hail, snow and flooded road detection are important for ride-hailing and delivery platforms because they help to ensure efficient and safe operations. By having access to up-to-date information on weather conditions and road conditions, it is possible to plan routes that avoid areas likely to be impacted by bad weather, such as flooded roads. This helps to reduce the risk of accidents, delays, and cancellations, which in turn improves customer satisfaction and reduces costs. In addition, the ability to detect and respond to changes in weather conditions in real-time can help to minimize the impact of unexpected weather events, allowing these companies to continue to operate effectively even in challenging conditions. Ultimately, accurate weather and road condition information is essential for ensuring the safety and efficiency of ride-hailing and delivery services, and is critical to their success.

[0007] [3] Conventionally, weather conditions are measured by meteorological instruments, weather satellites, weather balloons, ground-based radar, weather observations, computer models, and other similar instruments. Many of these methods can be applied to detect road conditions, such as based on observation or usage of satellite imagery. However, industry methods tend to be costly and only provide broad, slow and general results instead of hyper local results (e.g., results having a precision of up to street level status). As such, the results of weather detection may be incorrect, especially in the Southeast Asia (SEA) region where weather conditions can change within hours due to, for example, monsoons, tropical climate, Intertropical Convergence Zone (ITCZ) proximity to the equator, and other similar factors.[4] For example, some industry methods predict weather by using data from a centralized weather forecast system and / or a variety of open sources, including meteorological satellites, radar, and weather stations. Some may run unconventional meteorology models to predict weather. Despite using such approaches, they still rely on open data.

[0008] [5] Further, other industry methods may use a combination of meteorological data from weather stations and meteorological organizations, as well as remote sensing data from satellites and other sources to detect weather. They may also use machine learning algorithms to process this data and generate weather forecasts. However, such weather prediction providers tend to be costly and complicated to set up.

[0009] [6] Neither of the existing solutions provide hyper local, high confidence results, at various environments, at scale. To achieve a hyperlocal, real-time weather detection, it is necessary to deploy weather stations across all cities, which is not scalable. Observation by trained personnel might provide high accuracy results but it is not scalable, as 24 / 7 surveillance and a lot of manual labor are required.

[0010] [7] A need therefore exists to provide methods and systems that seek to overcome or at least minimize the above mentioned challenges.SUMMARY

[0011] [8] According to a first aspect of the present disclosure, there is provided a method for determining a weather condition at a location, the method comprising: determining, by a processor, detecting, by a processor, a feature indicative of a weather condition from an image of a location; and determining, by the processor, a weather condition at the location based on the feature and data associated with a condition of a vehicle at the location.

[0012] [9] According to a second aspect of the present disclosure, there is provided a device for determining a weather condition at a location, comprising: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the device at least to: detect a feature indicative of a weather condition from the image; and determine a weather condition at the location based on the feature and data associated with a condition of a vehicle at the location.

[0013] BRIEF DESCRIPTION OF THE DRAWINGS

[0014]

[0010] Embodiments and implementations are provided by way of example only, and will be better understood and readily apparent to one of ordinary skill in the art from the following written description, read in conjunction with the drawings, in which:

[0015]

[0011] Fig. 1 illustrates a system for determining a weather condition at a location according to various embodiments of the present disclosure.

[0016]

[0012] Fig. 2 is a schematic diagram of a weather server, according to various embodiments of the present disclosure.

[0017]

[0013] Fig. 3 illustrates an example flow diagram for determining a weather condition at a location according to various embodiments.

[0018]

[0014] Fig. 4 illustrates an example flow diagram for predicting a next weather condition according to various embodiments.

[0015] Fig. 5 illustrates a further example flow diagram for offloading processing for determining a weather condition at a location according to various embodiments.

[0019]

[0016] Fig. 6 is a schematic block diagram of a general purpose computer system upon which the weather server of Fig. 2 can be practiced.

[0020]

[0017] Fig. 7 is a schematic block diagram of a general purpose computer system upon which a combined transaction processing and weather server of Fig. 1 can be practiced.

[0021]

[0018] Fig. 8 shows an example of a computing device to realize the transaction processing server shown in Fig. 1.

[0022]

[0019] Fig. 9 shows an example of a computing device to realize the weather server shown in Fig. 1 .

[0023]

[0020] Fig. 10 shows an example of a computing device to realize a combined transaction processing and weather server shown in Fig. 1.

[0024]

[0021] Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been depicted to scale. For example, the dimensions of some of the elements in the illustrations, block diagrams or flowcharts may be exaggerated in respect to other elements to help to improve understanding of the present embodiments.

[0025] DETAILED DESCRIPTION

[0026] Terms Description

[0027]

[0022] A weather condition refers to a state of an atmosphere at a particular place and time as regards to heat, cloudiness, dryness, sunshine, wind, rain, and other similar condition. For example, the weather condition at a location may refer to rain, wind, thunder, hail, flood, snow, earthquake, and other similar weather condition that may occur at the location. Likewise, an intensity of a weather condition refers to a severity associated with the weather condition e.g., light, moderate or heavy rain, slight, moderate, or strong wind; low, moderate, or severe flood; and other similar indications of intensity.

[0023] A location is one at which a vehicle, a device, or other similar entity may be located. The location may be provided in the form of Global Positioning System (GPS) information, latitudinal and longitudinal coordinates, geohash information, and other similar information.

[0028]

[0024] An image of a location refers to a visual representation of the location. The image of the location may be captured by a sensor device (e.g., a visual sensor such as a camera, video capturing device, or other similar device) at the location in order for a determination of a weather condition can be made. The image may be a still photograph, a video frame from a video (e.g., a video stream, video recording, or other similar form of media) comprising a plurality of video frames, or other similar entity.

[0029]

[0025] A feature refers to a visual representation that may be present in an image. The feature may be one that is indicative of a weather condition, such as a visual representation of a raindrop, hail, sunshine, a water level, lightning, or other similar visual representation that may be indicative of a weather condition. The feature may be detected from an image using technology such as, for example, image analysis software, machine learning (ML) model, large language models (LLM), artificial intelligence (Al), and other similar forms of technology that may be used to analyse an image, detect and extract a feature from the image. For example, an image of a location may be processed using the above-mentioned technologies based on historical data that may indicate one or more features that may be associated with a weather condition.

[0030]

[0026] A condition of a vehicle refers to a state at which the vehicle is in. For example, a condition may comprise activation of windscreen wipers which may include a speed and / or a duration associated with the activation, activation of air conditioning which may include a fan speed, temperature and / or a duration associated with the activation, a temperature, humidity or other similar measurement obtained for an exterior of the vehicle, whether a window of the vehicle is opened, closed or partially opened, or other similar condition associated with the vehicle. Data associated with a condition of a vehicle may be obtained via one or more sensors in the vehicle which may be utilized together with the feature indicative of a weather condition for determining a weather condition at a location in which the vehicle is located. For example, the data may be on-board diagnostics (OBD) data obtained for the vehicle, or other similar data.

[0027] Historical data refers to any data relating to past records and information that may be used for processing the above-mentioned image, feature and / or data associated with a condition of a vehicle to determine a weather condition at a location. In an example, historical data indicating one or more features associated with a weather condition may be utilized for detecting a feature from an image. In another example, historical data indicating a weather condition associated with a combination of a feature and data associated with a condition of a vehicle may be utilized for processing a detected feature and data associated with a condition of a vehicle. In a further example, historical data indicating a record of weather conditions that occurred at a location may be utilized for predicting a next weather condition at the location based on a currently verified weather condition. In an implementation, different sources of historical data or a single source of historical data may be used for processing each or a combination of the above-mentioned image, feature and data associated with a condition of a vehicle. The historical data may, for example, be stored in a database, retrieved from the world wide web, accessed from a cloud, or other similar sources.

[0031]

[0028] A device refers to an electronic entity that may be used for determining a weather condition at a location. In an implementation, the device may be one that is mountable or installed at the vehicle, such as a dashcam or other similar device. The device may also be a portable device that may be transferable from one vehicle and another (e.g., via a registration of a vehicle number or license plate at an account associated with the device) for determining a weather condition. The device may comprise a processor that is capable of processing an image of a location to detect a feature associated with a weather condition, and determine a weather condition and / or an intensity of the weather condition based on the detected feature and data associated with a condition of a vehicle to advantageously enable processing on the edge, with only a final output (e.g., a determined and / or verified weather condition) transmitted to a server (e.g., a weather server or other similar entity). In an implementation, the device may comprise a sensor for capturing the image, and / or for recording or streaming a video comprising the image, or be configured to retrieve data associated with the captured image or video for further processing, other similar implementation. In another implementation, the device may comprise one or more sensors configured for sensing and recording data associated with a condition of a vehicle, and / or be configured to retrieve the data from an external system (e.g., OBS system or other similar system) configured for recording such data of the vehicle. In an implementation, the device may comprise a transmitter configured for transmittinginformation, notification, route updates or other similar transmissions relating to a determined weather condition. The device may also be configured to verify a determined weather condition based on whether the determined weather condition is same as a determined weather condition obtained from each of one or more other vehicles (e.g., from one or more other devices that are associated with the one or more other vehicles) at the location. In a further example, historical data indicating a record of weather conditions that occurred at a location may be utilized by the device for predicting a next weather condition at the location based on a currently verified weather condition. Furthermore, the device may be configured to determine an amount of processing required for determining the weather condition based on the feature and the data associated with the condition of the vehicle (e.g., an amount of memory, time, or other similar resource required to process the feature and data). For example, if it is determined that the amount of processing exceeds a threshold, the device may transmit (e.g., via a transmitter) the feature and the data associated with the condition of the vehicle to another processor (e.g., to a server, an external computing device, a cloud, another device, or other similar entity) so that processing can be outsourced from the device to the another processor, and then receive the determined weather condition from the another processor after the processing, which advantageously ensures that the device remains responsive for real-time tasks while leveraging resources for more intensive computations. In an implementation, determination of a weather condition at a location, updating of a route, transmission of a notification relating to a determined or verified weather condition, or other similar actions may be performed automatically by the device or performed in response to a request (e.g., received from another device associated with another vehicle, a user device or other similar entity) for a weather condition at the location.

[0032]

[0029] A platform refers to a set of technologies that is used as a base for facilitating exchanges between two or more interdependent servers, entities and / or devices, for example between a requestor device (e.g., associated with a requestor of a product or service) and a provider device (e.g., associated with a provider of the product or service). For example, a platform may offer a service offered by a provider such as a ride, delivery, online shopping, insurance, and other similar services to a requestor. A requestor can typically access the platform via a website, an application, or other similar methods using the requestor device. The provider device may be associated with a driver who may provide a ride or delivery (e.g., using a vehicle to bring a requestor of a ride or deliver an item from one location to another location) that is requested by a requestor. In the presentdisclosure, the requestor device and the provider device may be referred to herein as a user device, wherein a user associated with the user device may be a requestor or a provider. In an implementation, the requestor device or provider device may be a device for determining a weather condition at a location.

[0033]

[0030] In at least some embodiments, a user may be any suitable type of entity, which may include a person (e.g., associated with a requestor device, provider device, or other similar device) who sends a request for a determination of a weather condition at a location or a request for an updated travel route, a consumer looking to purchase a product or service via a transaction processing server, a seller or merchant looking to sell a product or service via the transaction processing server, a motorcycle driver or pillion rider in a case of the user looking to book or provide a motorcycle ride via the transaction processing server, a car driver or passenger in a case of the user looking to book or provide a car ride via the transaction processing server, and other similar entity. A user who is registered to the transaction processing server will be called a registered user. A user who is not registered to the transaction processing server will be called a non-registered user. The term user will be used to collectively refer to both registered and non-registered users. A user may interchangeably be referred to as a requestor (e.g., a person who requests for a product or service) or a provider (e.g., a person who provides the requested product or service to the requestor). In an implementation, a determination and / or verification of a weather condition at a location, a notification relating to the determination and / or verification, an update of a travel route (e.g., a route of a current or future ride or delivery, or other similar route) may be performed by a device or a server in response to a request sent by a user device to the device or server, or performed automatically and provided to the user device without requiring any input from the user device.

[0034]

[0031] In at least some embodiments, a weather server is a server that hosts software application programs for determining a weather condition at a location (e.g., in lieu of or in tandem with a device for determining a weather condition at a location). In an example, the weather server may be configured to only allow users authorized by the platform (e.g., an employee, a provider or a requestor associated with the platform, or other similar form of access) to access its service. In another example, the weather server may be configured to provide access by any user to access services relating to weather determination, verification, prediction, notification as well as route updating services provided by the weather server, and enable a payment to be made (e.g., in a form of a one-time payment,a subscription, or other similar payment via the transaction processing server) by a user for providing such services. The weather server may be implemented as shown in schematic diagram 200 of Fig. 2 for determining a weather condition at a location.

[0035]

[0032] In at least some embodiments, a transaction processing server is a server that hosts software application programs for processing payment transactions relating to, for example, a request for a weather condition at a location, a request for an updated route for a ride, a subscription for utilizing services provided by the weather server, a request for a driver, a travel-coordination request, purchasing of a good or service by a user, and other similar services. The transaction processing server communicates with any other servers (e.g., a weather server) concerning processing payment transactions relating to the purchasing of the good or service, such as a request for a weather condition at a location, a request for an updated route for a ride, a subscription for utilizing services provided by the weather server, a request for a driver (which may be referred to interchangeably as a trip booking, or a request or booking for a ride, delivery, or other similar service that requires a driver). For example, data relating to a request message such as a request for a weather condition, an updated route, or a driver at a location (e.g., date, time, a location, and other similar data) may be provided to the weather server and processed to locate drivers that are in proximity to the location, detect a weather condition of the location, and other similar services. The transaction processing server may use a variety of different protocols and procedures in order to process the payment and / or driver requests.

[0036]

[0033] Transactions that may be performed via a transaction processing server include product or service purchases, credit purchases, debit transactions, fund transfers, account withdrawals, etc. Transaction processing servers may be configured to process transactions via cash-substitutes, which may include payment cards, letters of credit, checks, payment accounts, etc.

[0037]

[0034] In at least some embodiments, the transaction processing server is usually managed by a service provider that may be an entity (e.g., a company or organization) which operates to process transaction requests and / or driver requests e.g., pair a driver to a requestor of the driver request. The transaction processing server may include one or more computing devices that are used for processing transaction requests and / or driver requests.

[0035] In at least some embodiments, a transaction account is an account of a user who is registered at a transaction processing server. The user can be a customer, a merchant providing a product for sale on a platform and / or for onboarding the platform, a ride or delivery provider (e.g., a driver), or any third parties (e.g., a courier) who want to use the transaction processing server. In certain circumstances, the transaction account is not required to use the transaction processing server. A transaction account includes details (e.g., name, address, vehicle, face image, etc.) of a user. The transaction processing server manages the transaction.

[0038]

[0036] Embodiments will be described, by way of example only, with reference to the drawings. Like reference numerals and characters in the drawings refer to like elements or equivalents.

[0039]

[0037] Some portions of the description which follows are explicitly or implicitly presented in terms of algorithms and functional or symbolic representations of operations on data within a computer memory. These algorithmic descriptions and functional or symbolic representations are the means used by those skilled in the data processing arts to convey most effectively the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities, such as electrical, magnetic or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated.

[0040]

[0038] Unless specifically stated otherwise, and as apparent from the following, it will be appreciated that throughout the present specification, discussions utilizing terms such as “detecting”, “determining”, “verifying”, “predicting”, “updating”, “processing”, “identifying”, “transmitting”, “receiving”, “capturing”, “storing”, “indicating”, or the like, refer to the action and processes of a computer system, or similar electronic device, that manipulates and transforms data represented as physical quantities within the computer system into other data similarly represented as physical quantities within the computer system or other information storage, transmission or display devices.

[0041]

[0039] In addition, the present specification also implicitly discloses a computer program, in that it would be apparent to the person skilled in the art that the individual steps of themethod described herein may be put into effect by computer code. The computer program is not intended to be limited to any particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and coding thereof may be used to implement the teachings of the disclosure contained herein. Moreover, the computer program is not intended to be limited to any particular control flow. There are many other variants of the computer program, which can use different control flows without departing from the scope of the specification.

[0042]

[0040] Furthermore, one or more of the steps of the computer program may be performed in parallel rather than sequentially. Such a computer program may be stored on any computer readable medium. The computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a computer. The computer readable medium may also include a hardwired medium such as exemplified in the Internet system, or wireless medium such as exemplified in the GSM mobile telephone system. The computer program when loaded and executed on such a computer effectively results in an apparatus that implements the steps of the preferred method.

[0043]

[0041] Traditional weather detection systems rely on centralized meteorological data, which often lacks the granularity and immediacy needed for effective real-time decisionmaking at the local level. Moreover, existing in-vehicle weather detection systems, if available, are generally limited to basic functionalities like rain-sensing wipers or external temperature sensors, which do not provide comprehensive real-time data on road conditions or local flooding. Current solutions in the art typically lack real-time granularity for weather determination, as centralized weather prediction system cannot capture hyperlocalized weather events, leading to delays in updates and a lack of precise data necessary for immediate driver response. There is also limited detection scope as existing in-vehicle systems are typically limited to detecting simple ‘rain or no rain’ conditions and do not account for varying intensities of weather or a presence of flooding. Most systems in the art do not utilize crowdsourced data from multiple vehicles, which can significantly enhance the accuracy and reliability of weather detection. Furthermore, there is often insufficient protection of user data in current systems, which transmit raw data associated with users to central servers without adequate encryption or anonymization. Given these limitations, there is a need for an innovative solution that provides real-time, localizedweather detection, integrates crowdsourced data, ensures data privacy, and offers advanced features like Al-based route optimization and emergency alerts.

[0044]

[0042] In the present disclosure, a proposed solution addresses the challenge of accurately detecting and responding to weather conditions, particularly rain and flooding, in real-time for users such as a driver, a provider of a ride, a passenger of a ride, a person who is planning a route to take to reach a location, or other similar user. This is particularly beneficial for route planning for a ride in regions of, for example, Southeast Asia which is prone to sudden and severe weather changes. The proposed solution fills that gap by leveraging edge computing with dashcam-based Al models and OBD data, providing a comprehensive and immediate response to dynamic weather conditions while ensuring user privacy and data security. For example, a novel, real-time weather and flooding detection system is utilized that leverages a device for determining a weather condition at a location (e.g., in-vehicle dashcams equipped with Al models and linked to the vehicle's OBD data, a mobile device, or other similar device). Unlike traditional systems, it is possible for all data to be processed on the edge (e.g., directly within the device) enabling immediate and accurate detection of weather conditions, such as various intensities of rain and flooding, without relying on external servers for initial analysis. A key differentiator from the prior art is crowdsourced data validation mechanism, where data from multiple vehicles may be cross-referenced to improve the accuracy and reliability of weather and flooding predictions. This approach advantageously ensures a more comprehensive and precise understanding of localized conditions.

[0045]

[0043] Additionally, the system may offer dynamic offloading capabilities, allowing more complex tasks to be processed in another processor instead of the device such as the weather server 140, a cloud or other similar entity when necessary, optimizing both realtime responsiveness and large-scale analysis. Another significant advantage is enhanced privacy protection, as it is possible for only final weather-related outputs (e.g., a determined or verified weather condition at a location) are transmitted to a server such as the weather server, ensuring that personal driving data remains secure. The proposed solution can also support advanced applications such as Al-based route optimization, emergency alerts for flooding, and detailed driver behavior analysis in response to specific weather events. These features advantageously provide users with actionable insights and safer driving routes, which are not offered by existing solutions. Overall, the proposed solution advantageously offers superior real-time weather detection, increased dataaccuracy through crowdsourcing, robust privacy protection, and a range of innovative features that enhance driver safety and route efficiency, addressing the limitations of current technologies.

[0046]

[0044] Fig. 1 illustrates a block diagram of an example system 100 for determining a weather condition at a location. In some embodiments, the system 100 enables a payment transaction for a determination of a weather condition (e.g., utilizing the system for determining a weather condition on a subscription basis, or other similar arrangement) good or service, and / or a request for a driver e.g., for a ride or delivery of a physical item (e.g. one or more food items or a parcel) between a requestor and a provider.

[0047]

[0045] The system 100 comprises a requestor device 102, a provider device 104, an acquirer server 106, a transaction processing server 108, an issuer server 110, a weather server 140 and a reference database 150.

[0048]

[0046] The requestor device 102 is in communication with a provider device 104 via a connection 11 , and may be associated with a user. The connection 112 may be wireless (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet). The requestor device 102 is also in communication with the weather server 140 via a connection 121 , wherein the weather server 140 may be configured to receive data relating to a request for a determination of a weather condition, a request for updating a travel route, or other similar data relating to a request for a driver (e.g., information such as a location at which a determination of a weather condition or an updated travel route is required, information identifying the user and / or requestor device 102 sending the request, and other similar information) from the requestor device 102. The requestor device 102 may also be configured to provide information to the weather server 140 relating to a location (e.g., GPS information, latitudinal and longitudinal coordinates, geohash information, or other similar information) at which the requestor device 102 is located, and other similar information. The connection 121 may be via a network (e.g., the Internet). The requestor device 102 may also be connected to a cloud that facilitates the system 100 for determining a weather condition at a location. For example, the requestor device 102 can send a signal or data to the cloud directly via a wireless connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet). It will be appreciated that there can be a plurality of requestor devices 102 such that each requestor device 102 is associated with a respective user.

[0047] The provider device 104 is in communication with the requestor device 102 as described above, usually via the transaction processing server 108, and may be associated with a provider of a ride or delivery (e.g., a driver responding to a request for, for example, a trip booking). The provider device 104 is, in turn, in communication with an acquirer server 106 via a connection 114. The provider device 104 is also in communication with the weather server 140 via a connection 1 3, wherein the weather server 140 may be configured to receive data relating to a request for a determination of a weather condition, a request for updating a travel route, or other similar data relating to a request for a driver (e.g., information such as a location at which a determination of a weather condition or an updated travel route is required, information identifying the user and / or provider device 104 sending the request, and other similar information), as well as to receive information relating to a location (e.g., GPS information, latitudinal and longitudinal coordinates, geohash information, or other similar information) at which the provider device 104 is located, a status of the driver (e.g., available, unavailable, driving for a trip booking, or other similar statuses), identification information relating to the requestor device 102 (e.g., associated with a trip booking that the provider device 104 is handling) and / or provider device 104, and other similar information from the provider device 104. The connections 114 and 123 may be via a network (e.g., the Internet). The provider device 104 may also be connected to a cloud that facilitates the system 100 for determining a weather condition of the location. For example, the provider device 104 can send a signal or data to the cloud directly via a wireless connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet). It will be appreciated that there can be a plurality of provider devices 104 such that each provider device 104 is associated with a respective user.

[0049]

[0048] The acquirer server 106, in turn, is in communication with the transaction processing server 108 via a connection 116. The transaction processing server 108, in turn, is in communication with an issuer server 110 via a connection 118. The connections 116 and 118 may be via a network (e.g., the Internet).

[0050]

[0049] The transaction processing server 108 is further in communication with the weather server 140 via a connection 120. The connection 120 may be over a network (e.g., a local area network, a wide area network, the Internet, etc.). In one arrangement,the transaction processing server 108 and the weather server 140 are combined and the connection 120 may be an interconnected bus.

[0051]

[0050] The weather server 140, in turn, is in communication with the reference database 150 via respective connection 122. The connection 122 may be over a network (e.g., the Internet). The weather server 140 may also be connected to a cloud that facilitates the system 100 for detecting a weather condition of the location. For example, the weather server 140 can send a signal or data to the cloud directly via a wireless connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet). Although not shown, the weather server 140 is also in communication with one or more devices configured for determining a weather condition at a location, where each of the one or more devices may be capable of processing data required for determining or verifying a weather condition (e.g., edge processing), and may also be configured to offload processing to the weather server 140 if it is determined that the processing exceeds a threshold. In an implementation, the processing for determining a weather condition at a location may be performed by the device or the weather server 140 only, or it may be performed by both the device and the weather server 140 (e.g., processing in parallel and / or in tandem with each other, or based on a division of tasks between the device and the weather server 140, or other similar arrangement). In a further implementation, the weather server 140 may only perform aggregation of data associated with the weather conditions determined by a plurality of devices in an area and time, for example for predicting a next weather condition in the area.

[0052]

[0051] The reference database 150 may comprise data that is utilized by the weather server 140 for determining a weather condition at a location. For example, data relating to one or more features associated with a weather condition, data indicating a weather condition associated with a combination of a detected feature and data associated with a condition of a vehicle, data relating to a model or algorithm that may be used to process an image and / or data associated with a condition of a vehicle, data indicating a record of weather conditions that occurred at a location, and other information and / or data required for determining a weather condition at a location may be processed and stored in the reference database 150. In an implementation, the reference database 150 may be combined with the weather server 140. In an example, the reference database 150 may be managed by an external entity. Although not shown, the reference database 150 may also be in communication with one or more devices configured for determining a weathercondition at a location, where each of the one or more devices may be capable of processing data required for determining or verifying a weather condition (e.g., edge processing).

[0053]

[0052] The weather server 140 may be configured to detect a feature indicative of a weather condition from the image, and determine a weather condition at the location based on the feature and data associated with a condition of a vehicle at the location. The weather server 140 may also detect the weather condition of the location based on the determination. Detecting the feature may comprise processing the image based on historical data indicating one or more features associated with a weather condition. Determining the weather condition may further comprise processing the detected feature and the data associated with the condition of the vehicle based on historical data indicating a weather condition associated with a combination of the detected feature and the data associated with the condition of the vehicle. The weather server 140 may also be configured to determine an intensity of the weather condition based on the processing of the detected feature and the data associated with the condition of the vehicle.

[0054]

[0053] The weather server 140 may be further configured to verify the determined weather condition based on whether the determined weather condition is same as a determined weather condition obtained from each of one or more other vehicles at the location. A next weather condition at the location may be predicted by the weather server 140 based on a result of the verification (or the determined weather condition at the location) and historical data indicating a record of weather conditions that occurred at the location.

[0055]

[0054] In an implementation, the weather server 140 may be configured to determine whether to transmit a notification to avoid the location based on the determined weather condition. The weather server 140 may also be configured to update a travel route for the vehicle (or in response to a request for updating a travel route of a user or a vehicle) to include or exclude the location based on the determined weather condition. In an implementation, a device for determining a weather condition at a location may be configured to determine an amount of processing required for determining the weather condition based on a detected feature and a data associated with a condition of a vehicle, and transmit the feature and the data associated with the condition of the vehicle to another processor (e.g., the weather server 140) based on the determination. The weather server 140 may then be configured to transmit the determined weather condition (e.g.,based on processing the feature and the data associated with the condition of the vehicle) to the device.

[0056]

[0055] In an implementation, there may be more than one reference databases, in which the weather server 140 may be configured to determine which database to use for each step during the process of determining a weather condition at a location. Alternatively, one or more modules may store the above-mentioned data instead of the reference database 150, wherein the module may be integrated as part of the weather server 140 or external from the weather server 140.

[0057]

[0056] In the illustrative embodiment, each of the devices 102, 104, and the servers 106, 108, 110, 140, and / or reference database 150 provides an interface to enable communication with other connected devices 102, 104 and / or servers 106, 108, 110, 140, and / or reference database 150. Such communication is facilitated by an application programming interface (“API”). Such APIs may be part of a user interface that may include graphical user interfaces (GUIs), Web-based interfaces, programmatic interfaces such as application programming interfaces (APIs) and / or sets of remote procedure calls (RPCs) corresponding to interface elements, messaging interfaces in which the interface elements correspond to messages of a communication protocol, and / or suitable combinations thereof. For example, it is possible for the requestor device 102 or provider device 104 to send data relating to a request for a determination of a weather condition at a location such as the location at which the determination of a weather condition is required, in response to an enquiry shown on the GUI running on the respective API.

[0058]

[0057] Use of the term ‘server’ herein can mean a single computing device or a plurality of interconnected computing devices which operate together to perform a particular function. That is, the server may be contained within a single hardware unit or be distributed among several or many different hardware units.

[0059]

[0058] The weather server 140 is associated with an entity (e.g., a company or organization or moderator of the service). In one arrangement, the weather server 140 is owned and operated by the entity operating the transaction processing server 108. In such an arrangement, the weather server 140 may be implemented as a part (e.g., a computer program module, a computing device, etc.) of the transaction processing server 108.

[0059] The transaction processing server 108 may also be configured to manage the registration of users. A registered user has a transaction account (see the discussion above) which includes details of the user. The registration step is called on-boarding. A user may use either the requestor device 102 or the provider device 104 to perform onboarding to the transaction processing server 108.

[0060]

[0060] It may not be necessary to have a transaction account at the transaction processing server 108 to access the functionalities of the transaction processing server 108. However, there are functions that are available to a registered user. These additional functions will be discussed below.

[0061]

[0061] The on-boarding process for a user is performed by the user through one of the requestor device 102 or the provider device 104. In one arrangement, the user downloads an app (which includes the API to interact with the transaction processing server 108) to the requestor device 102 or the provider device 104. In another arrangement, the user accesses a website (which includes the API to interact with the transaction processing server 108) on the requestor device 102 or the provider device 104. The user is then able to interact with the weather server 140. The user may be a requestor or a provider associated with the requestor device 102 or the provider device 104, respectively.

[0062]

[0062] Details of the registration may include, for example, name of the user, address of the user, emergency contact, blood type or other healthcare information, next-of-kin contact, permissions to retrieve data and information from the requestor device 102 and / or the provider device 104 for determining a weather condition at a location, such as permission to retrieve location and status information, and / or retrieve an image or video of the location, and / or send push notifications relating to a determined or verified weather condition, a location to be avoided, an update to a travel route based on a determined or verified weather condition, and other similar data and information from the requestor device 102 and / or the provider device 104. Alternatively, another device (e.g., a mobile device, a dash camera, and other similar device) may be selected instead of the requestor device 102 and / or the provider device 104 for retrieving the data. Once on-boarded, the user would have a transaction account that stores all the details.

[0063]

[0063] The requestor device 102 is associated with a user (or requestor) who is a party to a transaction that occurs between the requestor device 102 and the provider device 104,or between the requestor device 102 and the weather server 140. The requestor device 102 may be a computing device such as a desktop computer, an interactive voice response (IVR) system, a smartphone, a laptop computer, a personal digital assistant computer (PDA), a mobile computer, a tablet computer, and the like. The requestor device 102 may be associated with a user who initiates a request for a trip booking.

[0064]

[0064] The requestor device 102 includes transaction credentials (e.g., a payment account) of a requestor to enable the requestor device 102 to be a party to a payment transaction. If the requestor has a transaction account, the transaction account may also be included (e.g., stored) in the requestor device 102. For example, a mobile device (which is a requestor device 102) may have the transaction account of the customer stored in the mobile device.

[0065]

[0065] In one example arrangement, the requestor device 102 is a computing device in a watch or similar wearable and is fitted with a wireless communications interface (e.g., a NFC interface). The requestor device 102 can then electronically communicate with the provider device 104 regarding a transaction request (e.g., for a trip booking). The user uses the watch or similar wearable to make request regarding the transaction request by pressing a button on the watch or wearable.

[0066]

[0066] The provider device 104 is associated with a provider who is also a party to the transaction request (e.g., for a trip booking) that occurs between the requestor device 102 and the provider device 104. The provider device 104 may be a computing device such as a desktop computer, an interactive voice response (IVR) system, a smartphone, a laptop computer, a personal digital assistant computer (PDA), a mobile computer, a tablet computer, and the like. The provider device 104 may be associated with a provider of a ride or delivery (e.g., a driver responding to the trip booking request).

[0067]

[0067] Hereinafter, the term “provider” refers to a service provider and any third party associated with providing a product or service for purchase, or a travel or ride or delivery service via the provider device 104. Therefore, the transaction account of a provider refers to both the transaction account of a provider and the transaction account of a third party (e.g., a driver, travel co-ordinator or merchant) associated with the provider.

[0068] If the provider has a transaction account, the transaction account may also be included (e.g., stored) in the provider device 104. For example, a mobile device (which is a provider device 104) may have the transaction account of the provider stored in the mobile device.

[0068]

[0069] In one example arrangement, the provider device 104 is a computing device in a watch or similar wearable and is fitted with a wireless communications interface (e.g., a NFC interface). The provider device 104 can then electronically communicate with the requestor to make request regarding the transaction request by pressing a button on the watch or wearable.

[0069]

[0070] The acquirer server 106 is associated with an acquirer who may be an entity (e.g., a company or organization) which issues (e.g., establishes, manages, administers) a payment account (e.g., a financial bank account) of a merchant. Examples of the acquirer include a bank and / or other financial institution. As discussed above, the acquirer server 106 may include one or more computing devices that are used to establish communication with another server (e.g., the transaction processing server 108) by exchanging messages with and / or passing information to the other server. The acquirer server 106 forwards the payment transaction relating to a transaction request or a request for a ride to the transaction processing server 108.

[0070]

[0071] The transaction processing server 108 is configured to process processes relating to a transaction by, for example, forwarding data and information associated with the transaction to the other servers in the system 100 such as the weather server 140. In an example, the transaction processing server 108 may, instead of the requestor device 102 or provider device 104, transmit data relating to a request message such as a request for a weather condition at a location, a request for an updated route for a ride, a subscription for utilizing services provided by the weather server, a request for a trip booking (e.g., date, time, a location, and other similar data), or other similar data to the weather server 104. The transaction processing server 108 may use a variety of different protocols and procedures in order to process the payment and / or trip booking requests. It will be appreciated that payment for a transaction may be made via a variety of methods such as credit cards, debit cards, digital wallets, buy-first pay-later schemes, and other similar payment methods.

[0072] The issuer server 110 is associated with an issuer and may include one or more computing devices that are used to perform a payment transaction. The issuer may be an entity (e.g., a company or organization) which issues (e.g., establishes, manages, administers) a transaction credential or a payment account (e.g., a financial bank account) associated with the owner of the requestor device 102. As discussed above, the issuer server 110 may include one or more computing devices that are used to establish communication with another server (e.g., the transaction processing server 108) by exchanging messages with and / or passing information to the other server.

[0071]

[0073] The reference database 150 is a database or server associated with an entity (e.g., a company or organization) which manages (e.g., establishes, administers) data relating to users, transactions, products, services, and other similar data, for example relating to the entity. In an arrangement, the reference database 150 may comprise data that is utilized by the weather server 140 for determining a weather condition at a location. For example, data relating to one or more features associated with a weather condition, data indicating a weather condition associated with a combination of a detected feature and data associated with a condition of a vehicle, data relating to a model or algorithm that may be used to process an image and / or data associated with a condition of a vehicle, data indicating a record of weather conditions that occurred at a location, and other information and / or data required for determining a weather condition at a location may be processed and stored in the reference database 150. In an implementation, the reference database 150 may be combined with the weather server 140. In an example, the reference database 150 may be managed by an external entity.

[0072]

[0074] Advantageously, the system 100 enables a high accuracy of weather condition detection at a location with high granularity via edge-processing by processing an image or video of a location, and is capable of providing real-time notifications and updates in relation to locations to avoid and travel routes.

[0073]

[0075] Fig. 2 illustrates a schematic diagram of an example weather server 140 according to various embodiments. The weather server 140 may comprise a data module 260 configured to receive data and information from the requestor device 102, provider device 104, transaction processing server 108, reference database 150, a cloud and other sources of information to detect a weather condition of a location by the weather server 140. For example, the data module 260 may be configured to receive data and informationrequired for detecting a feature indicative of a weather condition from an image of a location; determining a weather condition at the location based on the feature and data associated with a condition of a vehicle at the location; processing the image based on historical data indicating one or more features associated with a weather condition; processing the detected feature and the data associated with the condition of the vehicle based on historical data indicating a weather condition associated with a combination of the detected feature and the data associated with the condition of the vehicle; determining an intensity of the weather condition based on the processing of the detected feature and the data associated with the condition of the vehicle; verifying the determined weather condition based on whether the determined weather condition is same as a determined weather condition obtained from each of one or more other vehicles at the location; predicting a next weather condition at the location based on a result of the verification and historical data indicating a record of weather conditions that occurred at the location; determining whether to transmit a notification to avoid the location based on the determined weather condition; updating a travel route for the vehicle to include or exclude the location based on the determined weather condition; and other similar processes from the requestor device 102, the provider device 104, transaction processing server 108, reference database 150, and / or other sources of information. The data module 260 may be further configured to send information relating to data retrieved in response to request for a determination of a weather condition, an updated travel route, or other similar request to the requestor device 102, the provider device 104, the transaction processing server 108, or other destinations where the information is required.

[0074]

[0076] The weather server 140 may comprise a weather module 262 that is configured for detecting a feature indicative of a weather condition from an image of a location, and determining a weather condition at the location based on the feature and data associated with a condition of a vehicle at the location. The weather module 262 may be configured to process the image based on historical data indicating one or more features associated with a weather condition. In an implementation, the weather module 262 may be configured to process the detected feature and the data associated with the condition of the vehicle based on historical data indicating a weather condition associated with a combination of the detected feature and the data associated with the condition of the vehicle. The weather module 262 may be configured to determine an intensity of the weather condition based on the processing of the detected feature and the data associated with the condition of the vehicle. In an implementation, the weather module 262 may beconfigured to verify the determined weather condition based on whether the determined weather condition is same as a determined weather condition obtained from each of one or more other vehicles at the location. In an implementation, the weather module 262 may be configured to predict a next weather condition at the location based on a result of the verification and historical data indicating a record of weather conditions that occurred at the location.

[0075]

[0077] The weather server 140 may also comprise an updating module 264 that is configured for determining whether to transmit a notification to avoid the location based on a determined or verified weather condition, and transmit the notification based on the determination. In an implementation, the updating module 264 may be further configured to update a travel route for a vehicle or in response to a request from a user to include or exclude the location based on a determined or verified weather condition.

[0076]

[0078] Each of the data module 260, weather module 262 and updating module 264 may further be in communication with a processing module (not shown) of the weather server 140, for example for coordination of respective tasks and functions during the process. The data module 260 may be further configured to communicate with and store data and information for each of the processing module, weather module 262 and updating module 264. Alternatively, all the tasks and functions required for adaptively determining a weather condition at a location may be performed by a single processor of the weather server 140.

[0077]

[0079] The proposed solution for determining a weather condition at a location operates through an integrated system combining processing from a device and / or a server (e.g., weather server 140) for determining a weather condition at a location, vehicle OBD data, and aggregation of data. A device and / or a server may be configured for determining a weather condition at a location by processing an image of the location. For example, the device and / or the server may be equipped with a processing unit capable of running LLM, ML model, Al model or other similar models, which may be utilized by the device (e.g., the device thus being capable of processing the data locally to achieve edge computing) and / or the server to process the image (which may be a still image, a video frame from a video feed captured and / or recorded of the location, or other similar image) to detect a feature indicative of a weather condition. The processing may be performed based on historical data indicating one or more features associated with a weather condition.

[0080] A detected feature may be further processed with data associated with a condition of a vehicle at the location (e.g., data from an OBD system or other similar data of a vehicle at the location) which provides data such as windshield wiper activation, vehicle speed, external temperature, and other relevant parameters. Furthermore, an intensity of a weather condition may also be determined by processing the detected feature and the data associated with a condition of a vehicle. For example, determining an intensity of a weather condition such as rain may be based on detection of raindrop(s) shown in the image at the location (e.g., the detected feature in an image being one or more raindrops that may be landing on a windscreen of the vehicle, or falling through the sky, or other similar feature) and data relating to a condition of a vehicle (e.g., a speed at which windscreen wipers of the vehicle are being activated, an external temperature of the vehicle, a measure of sound made by raindrops falling on the vehicle, or other similar condition of the vehicle). In another example, an intensity of a flood detected at a location may be based on a detected feature being a visible water level shown in the image of the location, and the condition of the vehicle being a speed of the vehicle, direction of movement of the vehicle, or other similar condition. The processing of the feature and the data associated with a condition of the vehicle may be based on historical data indicating a weather condition associated with a combination of a detected feature and the condition of the vehicle.

[0078]

[0081] In an implementation, the device may be installed, mounted or located in or on the vehicle, and may further be equipped with a sensor device such as a high-definition camera for capturing an image of a location. In another implementation, the device may, instead of capturing the image on its own, retrieve the image from another device such as a camera, a video recorder, or other similar sensor device for further processing. The device may comprise a processor that utilize a LLM, ML model, Al model or other similar models to detect a feature indicative of a weather condition (e.g., rain, heavy rain, mist, flooding, or other similar weather condition) by analyzing the image of the location. The device and / or server may be connected (e.g., wired or wirelessly) to a system that provides data associated with a condition of a vehicle (e.g., OBD system or other similar system) such as windshield wiper activation, vehicle speed, external temperature, and other relevant parameters. In an implementation, the device and / or server may be configured to trigger recording of a video and / or an image for specific weather-related events, such as the onset of rainfall or flooding, storing the recorded video and / or image separately for further analysis to advantageously refine the processing results further to improveaccuracy. For example, it may be configured to record a video and / or image via indication of an area at which the video and / or image is to be recorded, a start and end date and / or time associated with the recording, a weather event type associated with the recording, or other similar configuration.

[0079]

[0082] In an implementation, a device associated with a vehicle at a location may be configured to enable other devices associated with other vehicles at the location to share a weather condition that is determined by each of the other devices for the location. This enables cross-referencing of weather condition determination results such that a weather condition at the location can be verified, and advantageously enhance accuracy and reliability of weather predictions. For example, a device may be configured to verify a determined weather condition based on whether the determined weather condition is same as a determined weather condition obtained from each of one or more other vehicles at the location, or based on a percentage of determined weather conditions that are the same as one another, or other similar forms of cross reference. Further, the device may be configured to predict a next weather condition at a location based on a determined weather condition (or a verified weather condition after cross referencing with results from other devices at the location) and historical data indicating a record of weather conditions that occurred at the location. Such data from a plurality of devices at each of one or more locations may be further aggregated by the weather server to advantageously improve overall weather prediction accuracy for, for example, a region comprising the one or more locations. Historical data comprising weather records, flooding data and other similar data may be utilized for the processing to improve predictive models, aiding in more accurate future weather predictions. In an implementation, each of a plurality of devices may be configured to continuously send data associated with a weather condition to the weather server which may be configured to aggregate the received data based on a location and a date / time associated with the received data. A final weather condition for each location and date / time may then be determined by the weather server based on a majority vote (e.g., the weather condition indicated by a largest number of devices among the plurality of devices will be adopted as the final weather condition).

[0080]

[0083] In an implementation, all processing for determining or verifying a weather condition may occur on the edge (e.g., at the device), with only a final weather detection output (e.g., “It’s raining”) transmitted to the weather server. This advantageously ensures that no raw video or personal driving data is sent to the weather server, and only therelevant weather detection results are transmitted. Data may also be encrypted before transmission to ensure user privacy.

[0081]

[0084] In another implementation, processing tasks may be offloaded from the device to another processor (e.g., to a server such as the weather server 140, an external computing device, a cloud, another device, or other similar entity) so that the device can advantageously remain responsive for real-time tasks while leveraging other resources for more intensive computations. For example, the device may be configured to determine an amount of processing required for, for example, determining a weather condition based on a detected feature and data associated with a condition of a vehicle. If it is determined that the amount of processing exceeds a threshold, the feature and the data associated with the condition of the vehicle to another processor may be transmitted to another processor based on the determination. The device may then be configured to receive a determined weather condition from the another processor.

[0082]

[0085] Further, a movement of a vehicle in response to a determined weather condition (e.g., such as a braking pattern, speed adjustment, change of direction, or other similar movement of a vehicle at a location) may be analyzed to further train and refine the models (e.g., models utilized for processing the detected feature and data associated with a condition of a vehicle) for improved accuracy of the weather determination results.

[0083]

[0086] The device and / or weather server 140 may be configured to automatically alert drivers and authorities in case of severe weather or detected flooding, including real-time location data to request for an emergency response. The device or weather server 140 may also be configured to determine whether to transmit a notification to avoid a location based on a determined weather condition at the location, and the device or weather server 140 may then transmit the notification based on the determination.

[0084]

[0087] Fig. 3 illustrates an example flow diagram for a method 300 for determining a weather condition at a location according to various embodiments. In step 302, a feature indicative of a weather condition is detected from an image. In step 304, a weather condition at the location is determined based on the feature and data associated with a condition of a vehicle at the location.

[0085]

[0088] Fig. 4 illustrates an example flow diagram for a method 400 for predicting a next weather condition according to various embodiments. In step 402, a determined weathercondition is verified based on whether the determined weather condition is same as a determined weather condition obtained from each of one or more other vehicles at the location. In step 404, a next weather condition at the location is predicted based on a result of the verification and historical data indicating a record of weather conditions that occurred at the location.

[0086]

[0089] Fig. 5 illustrates a further example flow diagram for a method 500 for offloading processing for determining a weather condition at a location according to various embodiments. At step 502, an amount of processing required for determining a weather condition based on a feature and data associated with a condition of a vehicle is determined. At step 504, the feature and the data associated with the condition of the vehicle is transmitted to another processor based on the determination. At step 506, a determined weather condition is received from the another processor.

[0087]

[0090] Fig. 6 depicts an example computer system 1400, in accordance with which the weather server 140 described can be practiced. The computer system 1400 includes a computer module 1401. An external Modulator-Demodulator (Modem) transceiver device 1416 may be used by the computer module 1401 for communicating to and from a communications network 1420 via a connection 1421. The communications network 1420 may be a wide-area network (WAN), such as the Internet, a cellular telecommunications network, or a private WAN. Where the connection 1421 is a telephone line, the modem 1416 may be a traditional “dial-up” modem. Alternatively, where the connection 1421 is a high capacity (e.g., cable) connection, the modem 1416 may be a broadband modem. A wireless modem may also be used for wireless connection to the communications network 1420.

[0088]

[0091] The computer module 1401 typically includes at least one processor unit 1405, and a memory unit 1406. For example, the memory unit 1406 may have semiconductor random access memory (RAM) and semiconductor read only memory (ROM). The computer module 1401 also includes an interface 1408 for the external modem 1416. In some implementations, the modem 1416 may be incorporated within the computer module 1401 , for example within the interface 1408. The computer module 1401 also has a local network interface 1411 , which permits coupling of the computer system 1400 via a connection 1423 to a local-area communications network 1422, known as a Local Area Network (LAN). As illustrated in Fig. 6, the local communications network 1422 may alsocouple to the wide network 1420 via a connection 1424, which would typically include a so-called “firewall” device or device of similar functionality. The local network interface 1411 may comprise an Ethernet circuit card, a Bluetooth® wireless arrangement or an IEEE 802.11 wireless arrangement; however, numerous other types of interfaces may be practiced for the interface 1411.

[0089]

[0092] The I / O interfaces 1408 may afford either or both of serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 1409 are provided and typically include a hard disk drive (HDD) 1410. Other storage devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical disk drive 1412 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks, USB-RAM, portable, external hard drives, and floppy disks, for example, may be used as appropriate sources of data to the system 1400.

[0090]

[0093] The components 1405 to 1412 of the computer module 1401 typically communicate via an interconnected bus 1304 and in a manner that results in a conventional mode of operation of the computer system 1400 known to those in the relevant art. For example, the processor 1405 is coupled to the system bus 1404 using a connection 1418. Likewise, the memory 1406 and optical disk drive 1412 are coupled to the system bus 1404 by connections 1419. Examples of computers on which the described arrangements can be practised include IBM-PC’s and compatibles, Sun Sparcstations, Apple or like computer systems.

[0091]

[0094] The methods 300, 400 and 500, where performed by the weather server 140 may be implemented using the computer system 1400. The processes may be implemented as one or more software application programs 1433 executable within the computer system 1400. In particular, the methods 300, 400 and 500 are effected by instructions in the software 1433 that are carried out within the computer system 1400. The software instructions may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the methods 300, 400 and 500 and a second part and the corresponding code modules manage a user interface between the first part and the user.

[0095] The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer system 1400 from the computer readable medium, and then executed by the computer system 1400. A computer readable medium having such software or computer program recorded on the computer readable medium is a computer program product. The use of the computer program product in the computer system 1400 preferably effects an advantageous apparatus for a weather server 140.

[0092]

[0096] The software 1433 is typically stored in the HDD 1410 or the memory 1406. The software is loaded into the computer system 1400 from a computer readable medium, and executed by the computer system 1400. Thus, for example, the software 1433 may be stored on an optically readable disk storage medium (e.g., CD-ROM) 1425 that is read by the optical disk drive 1412. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer system 1400 preferably effects an apparatus for a weather server 140.

[0093]

[0097] In some instances, the application programs 1433 may be supplied to the user encoded on one or more CD-ROMs 1425 and read via the corresponding drive 1412, or alternatively may be read by the user from the networks 1420 or 1422. Still further, the software can also be loaded into the computer system 1400 from other computer readable media. Computer readable storage media refers to any non-transitory tangible storage medium that provides recorded instructions and / or data to the computer system 1400 for execution and / or processing. Examples of such storage media include floppy disks, magnetic tape, optical disc, a hard disk drive, a ROM or integrated circuit, USB memory, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 1401. Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and / or data to the computer module 1401 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.

[0098] The second part of the application programs 1433 and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon a display. Through manipulation of typically a keyboard and a mouse, a user of the computer system 1400 and the application may manipulate the interface in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilizing speech prompts output via loudspeakers and user voice commands input via a microphone.

[0094]

[0099] It is to be understood that the structural context of the computer system 1400 (i.e., the weather server 140) is presented merely by way of example. Therefore, in some arrangements, one or more features of the computer system 1400 may be omitted. Also, in some arrangements, one or more features of the computer system 1400 may be combined together. Additionally, in some arrangements, one or more features of the computer system 1400 may be split into one or more component parts.

[0095]

[0100] Fig. 8 shows an implementation of the transaction processing server 108 (i.e., the computer system 1300). In this implementation, the transaction processing 108 may be generally described as a physical device comprising at least one processor 802 and at least one memory 804 including computer program codes. The at least one memory 804 and the computer program codes are configured to, with the at least one processor 802, cause the transaction processing server 108 to facilitate the operations described in methods 300, 400 and 500. The transaction processing server 108 may also include a transaction processing module 806. The memory 804 stores computer program code that the processor 802 compiles to have transaction processing module 806 perform the respective functions.

[0096]

[0101] With reference to Fig. 1, the transaction processing module 806 performs the function of communicating with the requestor device 102 and the provider device 104; and the acquirer server 106 and the issuer server 110 to respectively receive and transmit a transaction, a request for a driver (which may be referred to interchangeably as a trip booking, or a request or booking for a ride, delivery, or other similar service that requires a driver), or other similar messages. The transaction processing module 806 may be configured to process processes relating to a transaction by, for example, forwarding dataand information associated with the transaction to the other servers in the system 100 such as the weather server 140. For example, the transaction processing server 108 may, instead of the requestor device 102 or provider device 104, transmit data relating to a request message such as a request for a weather condition at a location, a request for an updated route for a ride, a subscription for utilizing services provided by the weather server, a request for a trip booking (e.g., date, time, a location, and other similar data), or other similar data to the weather server 104. The transaction processing server 108 may use a variety of different protocols and procedures in order to process the payment and / or travel co-ordination requests. It will be appreciated that payment for a transaction may be made via a variety of methods such as credit cards, debit cards, digital wallets, buy-first pay-later schemes, and other similar payment methods.

[0097]

[0102] Fig. 9 shows an alternative implementation of the weather server 140 (e.g., the computer system 1400). In the alternative implementation, weather server 140 may be generally described as a physical device comprising at least one processor 902 and at least one memory 904 including computer program codes. The at least one memory 904 and the computer program codes are configured to, with the at least one processor 902, cause the weather server 140 to perform the operations described in the methods 300, 400 and 500. The weather server 140 may also include a data module 906, a weather module 908 and an updating module 910. The memory 904 stores computer program code that the processor 902 compiles to have each of the modules 906 to 910 perform their respective functions.

[0098]

[0103] With reference to Figs. 1 to 5, the weather module 908 performs the function of detecting a feature indicative of a weather condition from an image of a location, and determining a weather condition at the location based on the feature and data associated with a condition of a vehicle at the location. The weather module 908 may be configured to process the image based on historical data indicating one or more features associated with a weather condition. In an implementation, the weather module 908 may be configured to process the detected feature and the data associated with the condition of the vehicle based on historical data indicating a weather condition associated with a combination of the detected feature and the data associated with the condition of the vehicle. The weather module 908 may be configured to determine an intensity of the weather condition based on the processing of the detected feature and the data associated with the condition of the vehicle. In an implementation, the weather module 908 may beconfigured to verify the determined weather condition based on whether the determined weather condition is same as a determined weather condition obtained from each of one or more other vehicles at the location. In an implementation, the weather module 908 may be configured to predict a next weather condition at the location based on a result of the verification and historical data indicating a record of weather conditions that occurred at the location.

[0099]

[0104] With reference to Figs. 1 to 5, the updating module 910 performs the function of determining whether to transmit a notification to avoid the location based on a determined or verified weather condition, and transmit the notification based on the determination. In an implementation, the updating module 910 may be further configured to update a travel route for a vehicle or in response to a request from a user to include or exclude the location based on a determined or verified weather condition.

[0100]

[0105] With reference to Figs. 1 to 5, the data module 906 performs the functions of receiving data and information from the requestor device 102, provider device 104, transaction processing server 108, reference database 150, a cloud and other sources of information to detect a weather condition of a location by the weather server 140. For example, the data module 906 may be configured to receive data and information required for detecting a feature indicative of a weather condition from an image of a location; determining a weather condition at the location based on the feature and data associated with a condition of a vehicle at the location; processing the image based on historical data indicating one or more features associated with a weather condition; processing the detected feature and the data associated with the condition of the vehicle based on historical data indicating a weather condition associated with a combination of the detected feature and the data associated with the condition of the vehicle; determining an intensity of the weather condition based on the processing of the detected feature and the data associated with the condition of the vehicle; verifying the determined weather condition based on whether the determined weather condition is same as a determined weather condition obtained from each of one or more other vehicles at the location; predicting a next weather condition at the location based on a result of the verification and historical data indicating a record of weather conditions that occurred at the location; determining whether to transmit a notification to avoid the location based on the determined weather condition; updating a travel route for the vehicle to include or exclude the location based on the determined weather condition; and other similar processes fromthe requestor device 102, the provider device 104, transaction processing server 108, reference database 150, and / or other sources of information. The data module 906 may be further configured to send information relating to data retrieved in response to a request for a determination of a weather condition, an updated travel route, or other similar request to the requestor device 102, the provider device 104, the transaction processing server 108, or other destinations where the information is required.

[0101]

[0106] Fig. 7 depicts a general-purpose computer system 1500, upon which a combined transaction processing server 108 and weather server 140 described can be practiced. The computer system 1500 includes a computer module 1501. An external Modulator-Demodulator (Modem) transceiver device 1516 may be used by the computer module 1501 for communicating to and from a communications network 1520 via a connection 1521. The communications network 1520 may be a wide-area network (WAN), such as the Internet, a cellular telecommunications network, or a private WAN. Where the connection 1521 is a telephone line, the modem 1516 may be a traditional “dialup” modem. Alternatively, where the connection 1521 is a high capacity (e.g., cable) connection, the modem 1516 may be a broadband modem. A wireless modem may also be used for wireless connection to the communications network 1520.

[0102]

[0107] The computer module 1501 typically includes at least one processor unit 1505, and a memory unit 1506. For example, the memory unit 1506 may have semiconductor random access memory (RAM) and semiconductor read only memory (ROM). The computer module 1501 also includes an interface 1508 for the external modem 1516. In some implementations, the modem 1516 may be incorporated within the computer module 1501 , for example within the interface 1508. The computer module 1501 also has a local network interface 1511 , which permits coupling of the computer system 1500 via a connection 1523 to a local-area communications network 1522, known as a Local Area Network (LAN). As illustrated in Fig. 7, the local communications network 1522 may also couple to the wide network 1520 via a connection 1524, which would typically include a so-called “firewall” device or device of similar functionality. The local network interface 1511 may comprise an Ethernet circuit card, a Bluetooth® wireless arrangement or an IEEE 802.11 wireless arrangement; however, numerous other types of interfaces may be practiced for the interface 1511.

[0108] The I / O interfaces 1508 may afford either or both of serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 1509 are provided and typically include a hard disk drive (HDD) 1510. Other storage devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical disk drive 1512 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks, USB-RAM, portable, external hard drives, and floppy disks, for example, may be used as appropriate sources of data to the system 1500.

[0103]

[0109] The components 1505 to 1512 of the computer module 1501 typically communicate via an interconnected bus 1504 and in a manner that results in a conventional mode of operation of the computer system 1500 known to those in the relevant art. For example, the processor 1505 is coupled to the system bus 1504 using a connection 1518. Likewise, the memory 1506 and optical disk drive 1512 are coupled to the system bus 1504 by connections 1519. Examples of computers on which the described arrangements can be practised include IBM-PC’s and compatibles, Sun Sparcstations, Apple or like computer systems.

[0104]

[0110] The steps of the methods 300, 400 and 500 performed by the weather server 140 and facilitated by the transaction processing server 108 may be implemented using the computer system 1500. For example, the steps of the methods 300, 400 and 500 as performed by the weather server 140 may be implemented as one or more software application programs 1533 executable within the computer system 1500. In particular, the steps of the methods 300, 400 and 500 are effected by instructions in the software 1533 that are carried out within the computer system 1500. The software instructions may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the steps of the methods 300, 400 and 500 and a second part and the corresponding code modules manage a user interface between the first part and the user.

[0105]

[0111] The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer system 1500 from the computer readable medium, and then executed by the computersystem 1500. A computer readable medium having such software or computer program recorded on the computer readable medium is a computer program product. The use of the computer program product in the computer system 1500 preferably effects an advantageous apparatus for a combined transaction processing and weather server.

[0106]

[0112] The software 1533 is typically stored in the HDD 1510 or the memory 1506. The software is loaded into the computer system 1500 from a computer readable medium, and executed by the computer system 1500. Thus, for example, the software 1533 may be stored on an optically readable disk storage medium (e.g., CD-ROM) 1525 that is read by the optical disk drive 1512. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer system 1500 preferably effects an apparatus for a combined transaction processing and weather server.

[0107]

[0113] In some instances, the application programs 1533 may be supplied to the user encoded on one or more CD-ROMs 1525 and read via the corresponding drive 1512, or alternatively may be read by the user from the networks 1520 or 1522. Still further, the software can also be loaded into the computer system 1500 from other computer readable media. Computer readable storage media refers to any non-transitory tangible storage medium that provides recorded instructions and / or data to the computer system 1500 for execution and / or processing. Examples of such storage media include floppy disks, magnetic tape, optical disc, a hard disk drive, a ROM or integrated circuit, USB memory, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 1501. Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and / or data to the computer module 1501 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.

[0108]

[0114] The second part of the application programs 1533 and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon a display. Through manipulation of typically a keyboard and a mouse, a user of the computer system 1500and the application may manipulate the interface in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilizing speech prompts output via loudspeakers and user voice commands input via a microphone.

[0109]

[0115] It is to be understood that the structural context of the computer system 1500 (e.g., combined transaction processing and weather server 1500) is presented merely by way of example. Therefore, in some arrangements, one or more features of the server 1500 may be omitted. Also, in some arrangements, one or more features of the server 1500 may be combined together. Additionally, in some arrangements, one or more features of the server 1500 may be split into one or more component parts.

[0110]

[0116] Fig. 10 shows an alternative implementation of combined transaction processing and weather server (i.e., the computer system 1500). In the alternative implementation, the combined transaction processing and weather server may be generally described as a physical device comprising at least one processor 1002 and at least one memory 904 including computer program codes. The at least one memory 1004 and the computer program codes are configured to, with the at least one processor 1002, cause the combined transaction processing and weather server to perform the operations described in the steps of the methods 300, 400 and 500. The combined transaction processing and weather server may also include a transaction processing module 806, a data module 906, a weather module 908 and an updating module 910. The memory 1004 stores computer program code that the processor 1002 compiles to have each of the modules 806 to 912 performs their respective functions. The transaction processing module 806 performs the same functions as described for the same transaction processing module in Fig. 9. The data module 906, weather module 908 and updating module 910 perform the same functions as described for the same corresponding modules in Fig. 9.

[0111]

[0117] It will be appreciated by a person skilled in the art that numerous variations and / or modifications may be made to the present disclosure as shown in the specific embodiments without departing from the scope of the specification as broadly described. The present embodiments are, therefore, to be considered in all respects to be illustrative and not restrictive.

Claims

CLAIMSWhat is claimed is:

1. A method for determining a weather condition at a location, the method comprising:detecting, by a processor, a feature indicative of a weather condition from an image of a location; anddetermining, by the processor, a weather condition at the location based on the feature and data associated with a condition of a vehicle at the location.

2. The method of claim 1 , wherein detecting the feature comprises processing the image based on historical data indicating one or more features associated with a weather condition.

3. The method of claim 1 , wherein determining the weather condition further comprises processing the detected feature and the data associated with the condition of the vehicle based on historical data indicating a weather condition associated with a combination of the detected feature and the data associated with the condition of the vehicle.

4. The method of claim 3, further comprising determining an intensity of the weather condition based on the processing of the detected feature and the data associated with the condition of the vehicle.

5. The method of claim 1 , further comprising verifying the determined weather condition based on whether the determined weather condition is same as a determined weather condition obtained from each of one or more other vehicles at the location.

6. The method of claim 5, further comprising predicting a next weather condition at the location based on a result of the verification and historical data indicating a record of weather conditions that occurred at the location.

7. The method of claim 1 , further comprising determining whether to transmit a notification to avoid the location based on the determined weather condition.

8. The method of claim 1 , further comprising updating a travel route for the vehicle to include or exclude the location based on the determined weather condition.

9. The method of claim 1 , further comprising:determining an amount of processing required for determining the weather condition based on the feature and the data associated with the condition of the vehicle;transmitting the feature and the data associated with the condition of the vehicle to another processor based on the determination, andreceiving a determined weather condition from the another processor.

10. A device for determining a weather condition at a location, the device comprising a processor configured to:detect a feature indicative of a weather condition from the image; and determine a weather condition at the location based on the feature and data associated with a condition of a vehicle at the location.

11. The device of claim 1 , wherein the processor is further configured to process the image based on historical data indicating one or more features associated with a weather condition.

12. The device of claim 1 , wherein the processor is further configured to process the detected feature and the data associated with the condition of the vehicle based on historical data indicating a weather condition associated with a combination of the detected feature and the data associated with the condition of the vehicle.

13. The device of claim 12, wherein the processor is further configured to determine an intensity of the weather condition based on the processing of the detected feature and the data associated with the condition of the vehicle.

14. The device of claim 1 , wherein the processor is further configured to verify the determined weather condition based on whether the determined weathercondition is same as a determined weather condition obtained from each of one or more other vehicles at the location.

15. The device of claim 14, wherein the processor is further configured to predict a next weather condition at the location based on the verified weather condition and historical data indicating a record of weather conditions that occurred at the location.

16. The device of claim 1 , wherein the processor is further configured to determine whether to transmit a notification to avoid the location based on the determined weather condition, and the device further comprising a transmitter configured to transmit the notification based on the determination.

17. The device of claim 1 , wherein the processor is further configured to determine whether to update a travel route for the vehicle based on the determined weather condition.

18. The device of claim 1 , wherein the processor is further configured to determine an amount of processing required for determining the weather condition based on the feature and the data associated with the condition of the vehicle, and the device further comprises:a transmitter configured to transmit the feature and the data associated with the condition of the vehicle to another processor based on the determination, anda receiver configured to receive a determined weather condition from the another processor.

19. The device of claim 1 , further comprising:a visual sensor configured to capture the image of the location; and a receiver configured to receive the data associated with the condition of the vehicle.