Determining shelter areas for two-wheeler vehicles

Embodiments relate to a system, computer program product, and method for determining shelter areas for two-wheeler vehicles, and, more specifically, for dynamically distinguishing the behavior of two-wheeler vehicles and non-two-wheeler vehicles as an indicator of shelter areas from inclement weather. The behavior of the vehicles is distinguished through a plurality of two-wheeler vehicles slowing down and congregating at a particular location as a shelter against inclement weather, while non-two-wheeler vehicles may slow down, however, not stop proximate this location.

BACKGROUND

The present disclosure relates to determining shelter areas for two-wheeler vehicles, and, more specifically, for dynamically distinguishing the behavior of two-wheeler vehicles and non-two-wheeler vehicles as an indicator of shelter areas from inclement weather.

In many geographical regions, transportation is prevalent, for both business and pleasure. Such transportation for pleasure typically occurs on publicly-available thoroughfares being used for business and other reasons as well. Therefore, two-wheeler vehicles, including, without limitation, motorcycles, are popular vehicles for extended traveling, especially along thoroughfares such as highways and expressways where two-wheeler vehicles are travelling with four-wheeler vehicles (cars, minivans, busses, small trucks, etc.) and large trucks, e.g., 18-wheeler trucks. The smaller two-wheeler vehicles are more vulnerable to inclement weather conditions than the larger vehicles due to the exposure of the riders of the two-wheeler vehicles to the elements. Accordingly, riders of two-wheeler vehicles are more inclined to stop and find shelter from inclement weather conditions than the riders in the larger vehicles are.

In addition, mobile phones are ubiquitous and the users typically have the global positioning system (GPS) features turned on. Moreover, many known associated mobile phone operating systems have features, i.e., travel apps, that facilitate capturing information about the mode of transport being used by the mobile phone users. For example, such known mobile phone apps will ask if a user uses a four-wheeler, a two-wheeler, or public transport to commute.

SUMMARY

A system, computer program product, and method are provided for determining shelter areas for two-wheeler vehicles, and, more specifically, for dynamically distinguishing the behavior of two-wheeler vehicles and non-two-wheeler vehicles as an indicator of shelter areas from inclement weather.

In one aspect, a computer system is provided to determine shelter areas for two-wheeler vehicles, and, more specifically, for dynamically distinguishing the behavior of two-wheeler vehicles and non-two-wheeler vehicles as an indicator of shelter areas from inclement weather. The computer system includes one or more processing devices and one or more memory devices communicatively coupled to the one or more processing devices. The system also includes a knowledge base communicatively coupled to the one or more processing devices and the one or more memory devices. The knowledge base and the one or more memory devices are communicatively coupled to a plurality of positioning devices, each positioning device of the plurality of positioning devices is associated with one of a two-wheeler vehicle and a non-two-wheeler vehicle. The knowledge base is configured to receive location information from the plurality of positioning devices. The one or more processors are configured to use the location information to determine a first location. A plurality of first two-wheeler vehicles are proximate the first location. A first status of the plurality of first two-wheeler vehicles is the plurality of first two-wheeler vehicles are not moving. The processor is also configured to use the location information to determine that a second status of a plurality of non-two-wheeler vehicles is one or more non-two-wheeler vehicles of the plurality of non-two-wheeler vehicles is moving proximate the first location. The processor is further configured to determine, subject to the first status and the second status, the first location is a shelter from inclement weather. The processor is also configured to use at least a portion of the collected data resident within the knowledge base to identify inclement weather proximate the first location.

In another aspect, a computer program product is provided to determine shelter areas for two-wheeler vehicles, and, more specifically, for dynamically distinguishing the behavior of two-wheeler vehicles and non-two-wheeler vehicles as an indicator of shelter areas from inclement weather. The computer program product includes one or more computer readable storage media and program instructions collectively stored on the one or more computer-readable storage media. The program instructions includes program instructions to use location information transmitted from a plurality of positioning devices to determine a first location. A plurality of first two-wheeler vehicles are proximate the first location. The product also includes program instructions to use the location information to determine that a first status of the plurality of first two-wheeler vehicles is the plurality of first two-wheeler vehicles is not moving. The product further includes program instructions to use the location information to determine that a second status of a plurality of non-two-wheeler vehicles is one or more non-two-wheeler vehicles of the plurality of non-two-wheeler vehicles are moving proximate the first location. The product also includes program instructions to determine, subject to the first status and the second status, the first location is a shelter from inclement weather. The product further includes program instructions to use at least a portion of collected data resident within a knowledge base to identify inclement weather proximate the first location.

In yet another aspect, a computer-implemented method to determine shelter areas for two-wheeler vehicles, and, more specifically, for dynamically distinguishing the behavior of two-wheeler vehicles and non-two-wheeler vehicles as an indicator of shelter areas from inclement weather. The method includes using location information transmitted from a plurality of positioning devices to determine a plurality of first two-wheeler vehicles are proximate a first location. The method also includes determining that a first status of the plurality of first two-wheeler vehicles is the plurality of first two-wheeler vehicles is not moving. The method further includes using the location information to determine that a second status of a plurality of non-two-wheeler vehicles is one or more non-two-wheeler vehicles of the plurality of non-two-wheeler vehicles is moving proximate the first location. The method also includes determining, subject to the first status and the second status, the first location is a shelter from inclement weather. The method further includes using at least a portion of collected data resident within a knowledge base to identify inclement weather proximate the first location.

The present Summary is not intended to illustrate each aspect of, every implementation of, and/or every embodiment of the present disclosure. These and other features and advantages will become apparent from the following detailed description of the present embodiment(s), taken in conjunction with the accompanying drawings.

DETAILED DESCRIPTION

It will be readily understood that the components of the present embodiments, as generally described and illustrated in the Figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following details description of the embodiments of the apparatus, system, method, and computer program product of the present embodiments, as presented in the Figures, is not intended to limit the scope of the embodiments, as claimed, but is merely representative of selected embodiments.

Reference throughout this specification to “a select embodiment,” “at least one embodiment,” “one embodiment,” “another embodiment,” “other embodiments,” or “an embodiment” and similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, appearances of the phrases “a select embodiment,” “at least one embodiment,” “in one embodiment,” “another embodiment,” “other embodiments,” or “an embodiment” in various places throughout this specification are not necessarily referring to the same embodiment.

Two-wheeler vehicles, including, without limitation, motorcycles, are popular vehicles for traveling, especially along thoroughfares such as highways and expressways where two-wheeler vehicles are travelling with four-wheeler vehicles and large trucks with more than four wheels. The smaller two-wheeler vehicles are more vulnerable to inclement weather conditions than the larger vehicles due to the exposure of the riders of the two-wheeler vehicles to the elements. Typically, riders of two-wheeler vehicles will seek shelter from inclement weather conditions such as sudden rain storms under overpasses, which provide at least some protection in rain conditions. However, these overpasses provide little protection in high-wind and driving rain conditions, for example. Accordingly, riders of two-wheeler vehicles are more inclined to stop and find shelter from inclement weather conditions rather than the riders in the larger vehicles.

In addition, mobile phones are ubiquitous and many users typically have the global positioning system (GPS) features turned on. Moreover, many known associated mobile phone operating systems have features, i.e., travel apps, that facilitate capturing information about the mode of transport being used by the mobile phone users. For example, such known mobile phone apps will ask if a user uses a four-wheeler, a two-wheeler, or public transport to commute. Furthermore, many modern vehicles, regardless of the number of wheels, have GPS devices embedded therein that are typically engaged. While this disclosure refers to mobile phones, the embodiments of this disclosure may extend to other portable computing devices, including, without limitation, tablets, with the stipulation that the mobile computing device of choice should be compatible with riding a two-wheeler vehicle.

A system, computer program product, and method are disclosed and described herein for determining shelter areas for two-wheeler vehicles, and, more specifically, for dynamically distinguishing the behavior of two-wheeler vehicles and non-two-wheeler vehicles as an indicator of shelter areas from inclement weather.

In at least one embodiment, shelter location information is collected for each region for which the system of this disclosure will be present. Shelters may include, without limitation, underpasses, publicly available rest areas (such as those frequently found along US Interstate highways), publicly available parks with protective structures, and commercially available structures such as restaurants. The shelter information collected will be specific to two-wheeler vehicles due to the special considerations with respect to the exposure of the riders to the elements. At least a portion of the shelter information collected and stored will include, without limitation, historical data such as previous use by drivers of two-wheeler vehicles. In at least one embodiment, at least a portion of the information is provided by historical GPS data collected from one or more of the user's mobile phones and GPS devices on the two-wheeler vehicles. The shelter information will also include infrastructure data such as, and without limitation, human capacity, vehicle capacity, amenities (e.g., vending machines, rest facilities), user ratings and comments, and weather protection details (e.g., enclosures). Moreover, historical shelter data may be captured through satellite images collected and stored in the system. In at least some embodiments, an image processing module can identify shelter locations during adverse weather conditions through analysis of satellite images taken closer to real-time. A machine learning module may assist in determining the optimum shelter for the conditions. Accordingly, potential shelter locations for two-wheeler drivers available for sheltering two-wheel drivers from inclement weather are identified by the system described herein based on a predetermined set of known shelters.

Also, in at least some embodiments, localized weather conditions are used to provide the riders of the two-wheeler vehicles information with respect to any potential inclement weather conditions for the immediate vicinity and for a predetermined distance based on user preferences. The weather information is determined through historical weather data collected and stored by the system, real-time weather conditions, and weather predictions from one or more sources including, without limitation, localized and national weather services, commercially available weather reporting outlets (e.g., local commercial radio stations), and mobile phone-based weather apps. In addition, in some embodiments, localized road and traffic conditions (historical, real-time, and predicted) are collected from sources similar to those for the weather as well as data collected from users' and vehicles' sensors within a predetermined time frame prior to the present time. The machine learning module may assist in the weather, road, and traffic conditions determinations. Accordingly, one mechanism for determining potential inclement weather conditions includes accessing data from available weather sources and determining the inclement weather potentials from the data.

Moreover, in at least some embodiments, the system includes features configured to determine potential shelters for the respective two-wheeler users based on the determined weather conditions, road conditions, traffic conditions, and details of the shelter, including the distance to each of the potential shelters and the time to reach the shelters based on current and predicted speeds of the respective two-wheeler vehicles. In addition to determining the potential shelters, in some embodiments, the system will provide recommendations in the form of rankings of the shelters if there is more than one available. The list of potential shelters may be provided based on a request from the users or based on an alert from the mobile app.

Further, in at least some embodiments, subject to the collected real-time data from two-wheeler users' mobile phone GPS′, two-wheeler vehicles sensor GPSs, non-two-wheeler users' phone GPSs, and non-two-wheeler users' vehicle GPS sensors, the system disclosed herein can determine if the two-wheeler vehicles are collecting in a predetermined vicinity to suggest that inclement weather, e.g., rain, is present in that vicinity. Moreover, if the non-two-wheel vehicles are merely slowing down in the same vicinity, without stopping, further suggestion of inclement weather is provided to the user. Moreover, the proximate location of the congregation of the two-wheeler vehicles is indicative of an established shelter area where operators to the two-wheeler vehicles have determined to be relatively safe from the inclement weather. As described herein, these locations can be stored for future use in notifying other drivers of two-wheeler vehicles of their availability.

The presence of inclement weather proximate the associated vicinity may be further determined through a request from the user's mobile phone to request other users to verify the presence of the inclement weather automatically, without direct user operation. Such determinations of inclement weather includes time-stamping the data as it collected such that there are both proximal and temporal relationships between the data. Therefore, the existing and pending number of users at the shelters can be determined and approximated, accordingly, and the ranking of the proposed shelters may be adjusted accordingly. The users can choose the shelters, with the system suggesting the best shelter from available shelters proximate the users. The machine learning module includes features that cause the system to learn from the behaviors and choices of the users. Accordingly, proximal and temporal data collected from a plurality of users of two-wheeler vehicles are distinguished from the data collected from the other vehicles to establish the possibility of inclement weather conditions that might require the users to find a shelter.

Referring toFIG.1, a schematic diagram illustrating a portion of a computing platform100, i.e., a computing system100suitable for determining shelter areas for two-wheeler vehicles through dynamically determining inclement weather, and further dynamically determining navigation and shelter information in view of the inclement weather. The computing system100is configured with one or more processing devices102(only one shown) in communication with one or more memory devices104(only one shown) across a bus106. The computing system100also includes a search module108resident within the memory device104. The search module108is configured to be triggered by at least one of a query by a user and an alert from one or more mobile applications when inclement weather is either predicted or empirically determined, and the search module108will initiate additional data collection therein to determine the available shelters. The search module108is discussed further herein.

The computing system100further includes a machine learning module110embedded within the memory device104. In the illustrated embodiment, the machine learning module110is a stand-alone module. In at least some embodiments, the machine learning module110is embedded within a cognitive agent, such as, and without limitation, an artificial intelligence platform. The machine learning module110is configured to learn how to integrate the data to provide recommendations for shelters to the users over time, how to continue to learn through observation of the users' behaviors once the shelter suggestions have been made, learn how to improve the ability to recommend shelters, and to rank the recommended shelters based on predetermined parameters. In at least some embodiments, the machine learning module110includes one or more models (not shown) therein that approximate a real-world environment based on the data resident within the computing system100and incoming data, both discussed further herein. The machine learning module110is discussed further herein. Moreover, the computing system100includes an image processing module112resident within the memory device104that is configured to receive satellite images114and generate satellite imaging data116for further use as described further herein. Accordingly, the computing system100includes a plurality of modules resident within the memory device104that facilitate searching for the shelters with machine learning features.

Machine learning (ML) systems process large volumes of data, seemingly related or unrelated, where the ML systems may be trained with data derived from a database or corpus of knowledge. The ML systems look for and determine patterns, or lack thereof, in the data, “learn” from the patterns in the data, and ultimately accomplish tasks without being given specific instructions. In addition, the ML systems, utilize algorithms, represented as machine processable models, to learn from the data and create foresights based on this data.

In at least some embodiments, the computing system includes a storage device120communicatively coupled to the memory device104and the processing device102through the bus106. The storage device120houses a knowledge base122that includes one or more databases (not shown) that house and retain the collected data used to determine the shelter recommendations for transmission to the two-wheeler drivers.

In some embodiments, the knowledge base122includes historical shelter data124that includes data collected from sources that include, without limitation, satellite imaging data116of the shelters. In addition, in some embodiments, at least a portion of the shelter information collected and stored as the historical shelter data124may include, without limitation, historical data such as previous use of the respective shelters by drivers of two-wheeler vehicles. In at least one embodiment, at least a portion of the historical shelter data124is provided by historical GPS data collected from one or more of the user's mobile phones (or other mobile computing devices) and GPS devices on the two-wheeler vehicles. Furthermore, in one or more embodiments, the historical shelter data124will also include infrastructure data such as, and without limitation, human capacity, vehicle capacity, amenities (e.g., vending machines, rest facilities), user ratings and comments, and weather protection details (e.g., enclosures). The shelter information collected will be specific to two-wheeler vehicles due to the special considerations with respect to the exposure of the respective riders to the elements. Accordingly, the knowledge base122includes at least a portion of the data that is used to generate the recommendations for shelters to the two-wheeler drivers.

In at least some embodiments, the knowledge base includes historical GPS data125that includes historical data collected from users' GPS devices on the respective mobile phones and vehicular GPS devices.

In some embodiments, the knowledge base122houses historical localized weather conditions data126that includes historical data including, without limitation, standard weather patterns for the associated regions, known rainfall levels and snowfall levels for the established weather patterns, and known wind speeds for those weather patterns. In some embodiments, the historical localized weather conditions data126are used by the machine learning module110to generate predictions of the localized weather and the machine leaning module110learns from the outcomes of the predictions from the additional real-time data as described herein to continuously improve the weather forecasting abilities. In at least one embodiment, the knowledge base122receives additional data for storage and processing by the processing unit102. In some embodiments, the data is received by the memory device104and is subsequently stored in the knowledge base122.

The additional data received by the knowledge base122includes two-wheeler users' mobile phones GPS data130from a global positioning device131embedded within a mobile computing device associated with the two-wheeler vehicles. Also, the additional data includes two-wheeler users' vehicle sensors GPS data132transmitted from a global positioning device133embedded within the two-wheeler vehicles. Further, the additional data includes non-two-wheeler users' phone GPS data134transmitted from a global positioning device135embedded within a mobile computing device associated with the non-two-wheeler vehicles. Moreover, the additional data includes non-two-wheeler users' vehicle sensors GPSs data136transmitted from a global positioning device137embedded within the non-two-wheeler vehicles. Furthermore, in some embodiments, the additional data received by the knowledge base122includes, without limitation, user data140, real-time localized weather conditions142, real-time localized road conditions144, and real-time localized traffic conditions146. Accordingly, the knowledge base122receives additional data that is used to generate the recommendations for shelters to the two-wheeler drivers.

In at least some embodiments, the computer system100includes a plurality of data inputs. The two wheeler users' mobile phones GPS data130and the two-wheeler users' vehicle sensors GPS data132includes the geographic position data and the vehicle speed data of the two-wheeler users and their vehicles in real-time as they traverse the respective thoroughfares. Similarly, the non-two-wheeler users' phone GPS data134and non-two-wheeler users' vehicle sensors GPSs data136includes the geographic position data and vehicle speed data of the non-two-wheeler users and their vehicles in real-time as they traverse the respective thoroughfares. The non-two-wheeler data and the two-wheeler data are distinguished from each other at the origin of the data signals. In some embodiments, the users' mobile phones are configurable to transmit the respective GPS signals therefrom that indicate the type of vehicle being driven, including through a mobile phone app configured to provide the user interface for the system as described herein. Additionally, in some embodiments, similar data may be broadcast from the GPS devices typically found in (or, in the case of two-wheeler vehicles, on) most modern vehicles. Accordingly, position data for the two-wheeler vehicles and the non-two-wheeler vehicles are transmitted from the users' devices to the knowledge base122in real-time.

Further, in some embodiments, the computer system100receives user data140. The user data140includes that data specific to the user, and in some embodiments, the vehicle data. For example, and without limitation, the users have the ability to input data such as driving habits and technical details of the vehicle, including, without limitation, the type of vehicle and the number of wheels.

In at least some embodiments, the knowledge base122includes historical localized road and traffic conditions data128that is accumulated from real-time and predicted localized weather conditions142, real-time and predicted localized road conditions144, and real-time and predicted localized traffic conditions146.

Furthermore, in at least some embodiments, additional real-time and predicted data is input into the computer system100. Real-time and predicted weather conditions data142is received from one or more sources including, without limitation, localized and national weather services, commercially available weather reporting outlets (e.g., local commercial radio stations), and mobile phone-based weather apps. In addition, in some embodiments, real-time localized road conditions data144and real-time localized traffic conditions data146are collected from sources similar to those for the weather (real-time) as well as data collected from users' and vehicles' sensors within a predetermined time frame prior to the present time. In some embodiments, historic data for the localized road conditions and traffic conditions128are stored in the knowledge bases for the purpose of establishing a relationship between known weather conditions and the traffic and road conditions as a function thereof. Accordingly, localized weather, traffic, and road conditions are sued by the computer system100to facilitate determining the best shelters available to the users.

The computing system100is configured to generate an output150, discussed further herein.

Referring toFIG.2, a table200is provided illustrating an array of information that includes suggested shelters, in accordance with some embodiments of the present disclosure. In some embodiments, the table200is the output150transmitted to the mobile device of the user. In some embodiments, the table200includes the information shown inFIG.2. In other embodiments, the table200includes less or more information as compared to that shown inFIG.2. In yet further embodiments, the table200includes only the ranking of the shelters. In some embodiments, the output150of the table200is configurable by the user. In some embodiments, the machine learning module110formulates the output150of the table200as a result of learning the preferences of the user over time.

As shown inFIG.2, the table200includes a “#Shelter” column202that lists the shelters as vertically downwardly ascending integers. The assigned integers have no relationship to the ranking of the shelters. The table200also includes a “Distance from the shelter column”204that indicates the real-time distance between the present position of the two-wheeler rider and the respective shelter. In one embodiment, the units of the distance are metric, e.g., kilometers (km), and in other embodiments, the units of the distance are Imperial system units, e.g., miles. The table200further includes a “Speed of user” column206that indicates the average speed the user must maintain to reach the respective shelter prior to the arrival of the pending inclement weather, where the units are consistent with the column204. In addition to the column206, some embodiments of the table200include the time to reach the shelter given the respective speed and distance.

The table200also includes the “Road condition (dry/wet)” column208that represents the present condition of the roadway between the present position and the respective shelter. The table200further includes a “Shelter Capacity from historical data” column210that indicates the physical size of the respective shelter, where the units are consistent with those of columns204and206. In some embodiments, the table200indicates the maximum permitted occupant capacity. The table200also includes a “#GPS data” column212that indicates the present number of other two-wheeler riders presently located at the respective shelters. The table200further includes a “Rain prediction” column214that provides the user with a prediction of pending rain. In some embodiments, the column214is determined by the machine learning module110as a function of the historical localized weather conditions data126relevant for the time of year, recent weather patterns, and real-time and predicted localized weather conditions data142. For example, and without limitation, rather than a rain prediction, the table200includes one or more of a wind prediction column, a snow prediction column, a fog prediction column, a hail prediction column, and a sleet/freezing rain precipitation column.

The table200also includes a “Suggestion” column216that provides a ranking of the shelters. In the embodiment shown inFIG.2, the ranking of the second shelter as the highest ranked shelter is at least partially based on the greater shelter capacity and the lower number of users presently there. In one situation, the user will select one of the shelters and the computer system100will be notified of the selection. In other situations, the user will select a shelter not suggested through either transmitting a shelter not suggested to the computer system100or simply traveling to an alternate site. In yet further situations, the user will make no shelter selection. Regardless of the user's selections, the machine learning module110will use that selection information to facilitate future suggestions. Accordingly, the output150of the computer system100in the form of a table200provides the user with the information necessary to facilitate a selection of a shelter.

Referring toFIG.3, and referring toFIG.1, a flow chart is provided illustrating a process300for determining shelter areas for two-wheeler vehicles through dynamically determining inclement weather, and further dynamically determining navigation and shelter information in view of the inclement weather. A first user of the computer system100, i.e., a first rider of a two-wheeler vehicle requests302weather shelter information through the associated application resident on their mobile phone. The first rider may be prompted to perform the request operation302through one or more of real-time visual cues, an alert through the mobile phone, or previous knowledge of pending weather patterns.

In at least one embodiment, and in parallel with the request operation302, the computer system100queries304to second users of two-wheeler vehicles and third users of non-two-wheeler vehicles with respect to a need for weather shelter information. In such embodiments, the computer system100is prompted to execute the query operation304in response to one or more of the first user request operation302, a plurality of second user request operations302that meet or exceed a predetermined trigger level, the machine learning module110recognizing pending inclement weather as a function of some combination of the real-time and predicted localized weather conditions data142, historical localized weather conditions data126, and satellite imaging data116.

In response to either, or both of, the request operation302and the query operation304, the computer system100will prompt306the first user to confirm the inclement weather conditions. As described elsewhere herein, other weather conditions may also be the subject requiring the prompting operation306. In some embodiments, the prompt operation306is transmitted to all users within a predetermined proximity of the first user. At least a portion of the users will respond appropriately. The first user and associated two-wheeler vehicle will be identified308, since the first user's identity and details of the two-wheeler vehicle are resident within the knowledge base122as user data140. Similar identification operations directed toward the plurality of second users and third users to that of the identification operation308of the first user is performed as well. In at least some embodiments, the identification is performed automatically by the computer system100as a function of the first, second, and third users that have the mobile phones turned on, with the GPS features enabled, or vehicular GPSs enabled.

As a result of the identification of the first, second, and third users and their vehicles, the computer system100distinguishes310between the two-wheel vehicles and the non-two-wheel vehicles at least partially as a function of their observed and recorded real-time behavior. The machine learning module110distinguishes the behavior of the first and second users with the two-wheeler vehicles from the third users in the non-two-wheeled vehicles. For example, the first and second users will likely be slowing down the two-wheeler vehicles in inclement weather, and quite possibly stopping, while the third users will slow down to a lesser extent or not slow at all.

In at least some embodiments, the first indication to the computing system100of inclement weather affecting the two-wheeler vehicles may be the distinguishing310the behaviors between the two-wheeler and non-two-wheeler vehicles. Distinguishing310between the two-wheel vehicles and the non-two-wheel vehicles includes determining a first status of the plurality of first two-wheeler vehicles. For example, the computer system100will receive indications that a group of two-wheeler vehicles is slowing down and stopping to gather at a similar location. Therefore, the first status of the first two-wheeler vehicles is stopped. Proximate the location of the stopped two-wheeler vehicles, a second status of a plurality of non-two-wheeler vehicles is one or more non-two-wheeler vehicles of the plurality of non-two-wheeler vehicles moving proximate the stopped two-wheeler vehicles. Based on the differing statuses between the two types of vehicles, the computing system100will determine the proximate location is a shelter from inclement weather for the two-wheeler vehicles.

The computer system100will accurately determine312the first user's geographic location to more precisely determine the ranking of potential shelters in subsequent operations. Once the first user's geographic location is established, the computer system100will check314historical GPS data125for multiple users proximate the location in the knowledge base122. In addition, the computer system100will access316real-time data from multiple users proximate the location. Specifically, real-time data from the first users, the second users, and the third users includes one or more of two-wheeler users' phone GPSs data130, two-wheeler users' vehicle sensors GPSs data132, non-two-wheeler users' phone GPSs data134, and the non-two-wheeler users' vehicle sensors GPSs136, is accessed316. In addition, the computer system100will collect318real-time localized weather, road, traffic, and shelter conditions proximate the location. Specifically, the computer system100will collect and access one or more of real-time and predicted localized weather conditions142, real-time and predicted localized road conditions data144, and real-time and predicted localized traffic conditions146, proximate the location determined in the users' location determination operation312, is collected318. In some embodiments, in addition to real-time and predicted data, the computer system will collect and access one or more of historic localized weather conditions126and historical localized road and traffic conditions128.

Once the historical GPSs data125is checked314, the real-time GPSs data130,132,134, and136is accessed316, and the real-time localized conditions data for weather, road, and traffic (142,144, and146, respectively) are collected, the computer system100through the search module108determines320potential shelter areas that are within a predetermined distance from the location determined in operation312. In some embodiments, the predetermined distance is at least partially based on one or more of the known real-time and predicted weather, road, and traffic conditions (142,144, and146, respectively), the historical shelter data124, and the historical GPS data125, that includes, without limitation, historical users' choices for shelters and vehicular speeds for the various conditions. For example, and without limitation, the historical user speed is 50 km/hour and the predicted inclement weather is approximately one hour in the future, the search module108will select potential shelters within 50 km of the present position.

Once the potential shelter areas are determined320, the computer system100then determines322the estimated time period to reach each of the potential shelter areas. The time determination operation322is at least partially based on one or more of the known real-time and predicted weather, road, and traffic conditions (142,144, and146, respectively), the historical shelter data124, and the historical GPS data125, that includes, without limitation, historical users' choices for vehicular speeds for the various conditions.

Referring toFIG.2in addition toFIGS.1and3, the machine learning module110suggests324ranked potential shelter areas. In at least one embodiment, the computer system100provides the output150in the form of the table200, where the search module108searches for and finds the potential shelters, and the machine learning module110applies the learned behaviors of each of the users, including the first user, at least partially as a function of the learned conditions and predicted inclement weather patterns to determine the shelter ranking. In addition to the shelter ranking, the computer system100provides326the shelter area details to the first user, including the best time range to arrive. The additional details may be a portion of the output150in the form of the table200. The best time to arrive output is at least partially based on the distance to the shelter (see column204of table200), the present and anticipated speed of the first user (see column206of the table200), the shelter capacity (see column210of the table200), and the number of known GPS data providers that are already at the shelter (see column212of the table200), and the number of possible users, in addition to the first user, that may be, or are, travelling to the respective shelter.

The first user will determine and select the shelter of choice from the set of ranked shelters (see column216of table200) and the machine learning module110will record the decision and monitor the first user's travel details to the selected shelter for learning and future application to subsequent weather-driven events. In at least some embodiments, the machine learning module110will direct328the first user to the shelter area through providing directions for driving from the present location to the shelter. In some embodiments, such directions may be through existing map/directions applications readily available for mobile phones, or the computer system100may include a map/directions module that interacts seamlessly with the machine learning module110. The directions may be at least partially based on, in some embodiments, known driving behaviors of the users, including the first user, as recorded within the historical GPS data125, user data140, the known real-time and predicted localized weather conditions data142, road conditions144, and traffic conditions146. Upon arrival of the first user at the shelter area as determined through the two-wheeler users' phone GPS data130and/or the two-wheeler users' vehicle sensors GPS data132, the machine learning module110will record330the arrival of the first user and the route taken for future use. The computer system100will transmit332the first user's arrival to other users and the process300will return to the system queries operation304. In some embodiments, the process300will proceed to re-prompting the first user to confirm the inclement weather conditions334and then return to the system queries operation304.

In at least some embodiments, the machine learning module110may have sufficient learning to manage the population of the respective shelters. For example, the machine learning module110provides in table200the present number of the population of other two-wheeler riders presently located at the respective shelters in the “#GPS data” column212. In addition, as described elsewhere herein, the computer system100provides326the shelter area details to the first user, including the best time range to arrive. and the number of possible users on the two-wheeler vehicles, in addition to the first user, that may be, or are, travelling to the respective shelter as directed, thereby directing the one or more two-wheeler vehicles to the shelter within a determined time frame The computer system100may adjust the ranking of the shelters based on the known and anticipated population levels of the two-wheeler vehicles at the shelter. Moreover, the machine learning module110will record330the arrival of the first user to add such user and the associated two-wheeler vehicle to the monitored population.

Aspects of the computing system100may be embodied in a computer system/server in a single location, or in at least one embodiment, may be configured in a cloud-based system sharing computing resources. With reference toFIG.4, a block diagram is provided illustrating an example of a computer system400including a computer/server402, hereinafter referred to as a host402in communication with a cloud based support system, to implement the system, tools, and processes described above with respect toFIGS.1-3. Host402is operational with numerous other general purpose or special-purpose computer system environments or configurations. Examples of well-known computer systems, environments, and/or configurations that may be suitable for use with host402include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and file systems (e.g., distributed storage environments and distributed cloud computing environments) that include any of the above systems, devices, and their equivalents.

As shown inFIG.4, host402is shown in the form of a general-purpose computing device. The components of host402may include, but are not limited to, one or more processors or processing devices or units404, e.g. hardware processors, a system memory406, and a bus408that couples various system components including system memory406to processing device404. Bus408represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus. Host402typically includes a variety of computer system readable media. Such media may be any available media that is accessible by host402and it includes both volatile and non-volatile media, removable and non-removable media.

Memory406can include computer system readable media in the form of volatile memory, such as random access memory (RAM)430and/or cache memory432. By way of example only, a storage system434can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a “hard drive”). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus408by one or more data media interfaces.

Program/utility440, having a set (at least one) of program modules442, may be stored in memory406by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating systems, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules442generally carry out the functions and/or methodologies of embodiments to dynamically determine shelter areas for two-wheeler vehicles through dynamically determining inclement weather, and further dynamically determining navigation and shelter information in view of the inclement weather is enabled. For example, the set of program modules442may include the search module108, the machine learning module110, and the image processing module112, as described inFIGS.1-3.

Host402may also communicate with one or more external devices414, such as a keyboard, a pointing device, etc.; a display424; one or more devices that enable a user to interact with host402; and/or any devices (e.g., network card, modem, etc.) that enable host402to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interface(s)422. Still yet, host402can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter420. As depicted, network adapter420communicates with the other components of host402via bus408. In at least one embodiment, a plurality of nodes of a distributed file system (not shown) is in communication with the host402via the I/O interface422or via the network adapter420. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with host402. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.

In this document, the terms “computer program medium,” “computer usable medium,” and “computer readable medium” are used to generally refer to media such as main memory406, including RAM430, cache memory432, and storage system434, such as a removable storage drive and a hard disk installed in a hard disk drive.

Computer programs (also called computer control logic) are stored in memory406. Computer programs may also be received via a communication interface, such as network adapter420. Such computer programs, when run, enable the computer system to perform the features of the present embodiments as discussed herein. In particular, the computer programs, when run, enable the processing device404to perform the features of the computer system. As such, computer programs may represent controllers of the computer system. Accordingly, the functionality for the search module108, the machine learning module110, and the image processing module112, as described inFIGS.1-3, is embodied as computer program code stored in memory406(in some embodiments as program modules442), where the computer program code includes the instructions to be executed by the processing device404to provide the functionality of the search module108, the machine learning module110, and the image processing module112, as described herein.

Computer readable program instructions for carrying out operations of the present embodiments may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as JAVA®, SMALLTALK®, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server or cluster of servers. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the embodiments. Accordingly, the functionality for the search module108, the machine learning module110, and the image processing module112, as described inFIGS.1-3, may be embodied as computer readable program instructions to be executed by one or more hardware devices other than, or in addition to, the processing device404to provide the functionality of the search module108, the machine learning module110, and the image processing module112, as described herein.

In at least one embodiment, host402is a node of a cloud computing environment. It is to be understood that although this disclosure includes a detailed description on cloud computing, implementation of the teachings recited herein are not limited to a cloud computing environment. Rather, embodiments of the present disclosure are capable of being implemented in conjunction with any other type of computing environment now known or later developed.

Measured service: cloud systems automatically control and optimize resource use by leveraging a metering capability at some layer of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.

Service Models are as follows:

Deployment Models are as follows:

Referring now toFIG.5, a schematic diagram is provided illustrating an example cloud computing network500. As shown, cloud computing network500includes a cloud computing environment550having one or more cloud computing nodes510with which local computing devices used by cloud consumers may communicate. Examples of these local computing devices include, but are not limited to, personal digital assistant (PDA) or cellular telephone554A, desktop computer554B, laptop computer554C, and/or automobile computer system554N. Individual nodes within nodes510may further communicate with one another. They may be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allows the cloud computing network500to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types of computing devices554A-N shown inFIG.5are intended to be illustrative only and that the cloud computing environment550can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser).

Referring now toFIG.6, a set of functional abstraction layers600provided by the cloud computing network ofFIG.6is shown. It should be understood in advance that the components, layers, and functions shown inFIG.6are intended to be illustrative only, and the embodiments are not limited thereto. As depicted, the following layers and corresponding functions are provided: hardware and software layer610, virtualization layer620, management layer630, and workload layer640.

The hardware and software layer610include hardware and software components. Examples of hardware components include mainframes; RISC (Reduced Instruction Set Computer) architecture-based servers; servers; blade servers; storage devices; networks and networking components. Examples of software components include network application server software, and database software.

Workloads layer640provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include, but are not limited to: mapping and navigation; software development and lifecycle management; virtual classroom education delivery; data analytics processing; transaction processing; and determining shelter areas for two-wheeler vehicles, and, more specifically, for dynamically determining inclement weather, and further dynamically determining navigation and shelter information in view of the inclement weather.

It will be appreciated that there is disclosed herein a system, method, apparatus, and computer program product for implementing loop lock reservations across loops, and, more specifically, for holding a loop lock reservation across some or all of the iterations of a loop, and under certain conditions, to temporarily effect a running thread to yield the reservation and allow other threads to reserve the lock.

The present embodiments may be a system, a method, and/or a computer program product. In addition, selected aspects of the present embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and/or hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present embodiments may take the form of computer program product embodied in a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present embodiments. Thus embodied, the disclosed system, a method, and/or a computer program product is operative to improve the functionality and operation of a computer-based system or platform.

It will be appreciated that, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without departing from the spirit and scope of the embodiments. The descriptions of the various embodiments of the present disclosure have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. Accordingly, the scope of protection of the embodiments is limited only by the following claims and their equivalents.