Computer-based methods, computer systems, and computer programs for dynamically allocating parking spaces for vehicles.
A computer-based system dynamically allocates parking spaces using user preferences and real-time information through vehicle networks, addressing the limitations of historical data in existing systems by ensuring optimal parking assignments.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- INTERNATIONAL BUSINESS MACHINE CORPORATION
- Filing Date
- 2022-11-25
- Publication Date
- 2026-05-26
AI Technical Summary
Existing vehicle parking systems struggle to dynamically allocate parking spaces in real-time due to reliance on historical data, which fails to account for real-time situations affecting availability, such as special events, leading to difficulty in finding parking spots.
A computer-based system that creates a network of vehicles within a predefined threshold of available parking spaces, utilizing user preferences and real-time information to dynamically assign parking spots using vehicle sensors, and provides indicators for assigned spaces.
Ensures optimal vehicle parking assignments based on user preferences and real-time conditions, improving GPS technology and mobile parking prediction applications by accurately allocating parking spots when vehicles are in proximity.
Smart Images

Figure 0007865696000001 
Figure 0007865696000002 
Figure 0007865696000003
Abstract
Description
Background Art
[0001] The present invention generally relates to the field of computing, and more specifically to dynamically allocating a vehicle parking lot using user feedback, and even more specifically to a method, computer system, and computer program product or computer program for dynamically allocating a vehicle parking lot using user feedback in a network equipped with sensors.
[0002] Modern vehicles are becoming increasingly intelligent when compared to previous vehicles. Many manufacturers are equipping these vehicles with the ability to connect to the Internet, typically by leveraging cellular mobile networks as well as satellites. In this way, users can control their vehicles from anywhere in the world via applications on a mobile device or on the World Wide Web. For example, the user can remotely start the vehicle and / or unlock the vehicle by pressing a button. Such vehicles can also be equipped with GPS as well as sensors that can detect objects in the vicinity of the vehicle. For example, the vehicle can inform the user (e.g., the driver) that another vehicle is in the user's "blind spot".
Summary of the Invention
Problems to be Solved by the Invention
[0003] An object of the present invention is to provide a computer-based method, computer system, and computer program product or computer program for dynamically allocating a vehicle parking lot.
Means for Solving the Problems
[0004] According to one embodiment, a method, computer system, and computer program product or computer program are provided for dynamically allocating parking spaces for vehicles. The embodiment may include receiving one or more preferences regarding parking spaces from one or more users. The embodiment may also include creating a network of multiple vehicles within a predefined threshold of available parking spaces in response to a detection vehicle determining the available parking space. The embodiment may further include notifying each vehicle in the network of the available parking space. The embodiment may also include receiving one or more requests for the available parking space from one or more requesting vehicles in response to the notification. The embodiment may further include identifying real-time information associated with the roads within the predefined threshold of the available parking space. The embodiment may also include assigning the available parking space to a specific requesting vehicle in the network of multiple vehicles. The embodiment may further include displaying an indicator positioned adjacent to the specific requesting vehicle to which the available parking space has been assigned.In other embodiments, a computer system comprising one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage media, and program instructions stored in at least one of the one or more computer-readable tangible storage media, wherein the program instructions are executed by at least one of the one or more processors via at least one of the one or more computer-readable memories, wherein the computer system receives one or more preferences regarding parking from one or more users; determines whether a detector vehicle detects an available parking spot; and in response to the detector vehicle determining the available parking spot, predefined the available parking spot A computer system is provided that can perform a method including: creating a network of multiple vehicles within a predefined threshold; notifying each vehicle in the network of multiple vehicles of the available parking spot; receiving one or more requests for parking from one or more requesting vehicles in the network in response to the notification; identifying real-time information associated with the roads within the predefined threshold of the available parking spot; assigning the available parking spot to a specific requesting vehicle in the network of multiple vehicles based on the real-time information and the one or more preferences for parking; and displaying an indicator placed adjacent to the specific requesting vehicle to which the available parking spot has been assigned.In other embodiments, a computer program product comprising one or more computer-readable tangible storage media and program instructions stored in at least one of the one or more computer-readable tangible storage media, wherein the program instructions are executable by a processor capable of executing a method, the method comprising: receiving one or more preferences regarding parking from one or more users; determining whether a detector vehicle detects an available parking spot; creating a network of multiple vehicles within a predefined threshold of the available parking spot in response to the detector vehicle determining the available parking spot; and the multiple The computer program product is provided, which includes notifying each vehicle in a network of vehicles of the available parking spot; receiving one or more requests for parking from one or more requesting vehicles in the network in response to the notification; identifying real-time information associated with the available parking spot on roads within a predefined threshold; assigning the available parking spot to a specific requesting vehicle in the network of vehicles based on the real-time information and the one or more preferences for parking; and displaying an indicator placed adjacent to the specific requesting vehicle to which the available parking spot has been assigned.
[0005] These and other purposes, features and advantages of the present invention will become apparent from the following detailed description of the invention in exemplary embodiments, which should be read in conjunction with the accompanying drawings. Various features of the drawings are not to scale, as they are intended to make it clear that the drawings facilitate understanding of the invention in conjunction with the detailed description of the invention for those skilled in the art. The drawings are as described below. [Brief explanation of the drawing]
[0006] [Figure 1] Figure 1 shows an exemplary networked computer environment according to at least one embodiment. [Figure 2]Figure 2 shows an operational flowchart for dynamically allocating vehicle parking spaces using user feedback in a sensor-equipped network, in a dynamic vehicle parking space allocation process according to at least one embodiment. [Figure 3] Figure 3 shows the interaction between solution components of the process in Figure 2, according to at least one embodiment. [Figure 4] Figure 4 is an illustrative diagram showing a vehicle networked environment according to at least one embodiment. [Figure 5] Figure 5 is a functional block diagram of the internal and external components of the computer and server shown in Figure 1, according to at least one embodiment. [Figure 6] Figure 6 shows a cloud computing environment according to one embodiment of the present invention. [Figure 7] Figure 7 shows an abstraction model layer according to one embodiment of the present invention. [Modes for carrying out the invention]
[0007] Detailed embodiments of the structures and methods described in the claims are disclosed herein. However, it can be understood that the disclosed embodiments are merely examples of structures and methods described in the claims, which may be embodied in various forms. Nevertheless, the present invention may be embodied in various forms and should not be construed as being limited to the exemplary embodiments described herein. In the detailed description of the invention, well-known features and technical details may be omitted to avoid unnecessarily obscuring the presented embodiments.
[0008] It should be understood that the singular forms "a" and "an" and "the" encompass multiple referents unless the context clearly indicates otherwise. Therefore, for example, a reference to "a component surface" encompasses one or more such surfaces unless the context clearly indicates otherwise.
[0009] Embodiments of the present invention relate to the field of computing, and more particularly to a system for dynamically allocating vehicle parking spaces using user feedback in a sensor-equipped network. The exemplary embodiments described below provide, among other things, a system, method, and computer program product or computer program for creating a network of multiple vehicles within a predefined threshold of available parking spots, and thus allocating said available parking spots to specific vehicle-based vehicles based on real-time information and user preferences. Therefore, these embodiments have the ability to improve GPS technology and mobile parking prediction applications by dynamically allocating parking spots to specific vehicles when a particular vehicle is in proximity to a parking spot.
[0010] As mentioned above, modern vehicles are becoming increasingly intelligent compared to previous vehicles. Many manufacturers are equipping these vehicles with the ability to connect to the internet, typically by utilizing cellular mobile networks and satellites. In this way, users can control the vehicle from anywhere in the world via applications on their mobile devices or the World Wide Web. For example, the user can remotely start the vehicle and / or unlock it by pressing a button. Such vehicles may be equipped with GPS and sensors that can detect objects in the vicinity of the vehicle. For example, the vehicle can notify the user (e.g., the driver) if another vehicle is in the user's "blind spot". In urban environments, finding parking spaces, charging locations (e.g., for electric vehicles), or a combination thereof for vehicles is often difficult. This problem is typically addressed by mobile parking applications that estimate the availability of parking spaces in a given area based on historical data. However, historical data lacks flexibility because it cannot take into account real-time situations that may affect parking availability, such as special events that make it more difficult than usual to find a parking spot. Therefore, it may be essential to have a system that assigns a parking spot to a particular vehicle in real time when that vehicle is in close proximity to the parking spot. Accordingly, embodiments of the present invention dynamically assign a parking spot to a particular vehicle when that vehicle is in close proximity to the parking spot, ensure optimal vehicle parking assignment with respect to user preferences, and utilize existing vehicle sensors to detect available parking spots. The present invention does not require that all of its advantages be incorporated in all embodiments of the present invention.
[0011] According to at least one embodiment, when one or more users are in a vehicle, one or more preferences regarding parking may be received from those one or more users. In response to the detection vehicle detecting an available parking spot, a network of multiple vehicles within a predefined threshold for available parking spots may be created to notify each vehicle in the network of multiple vehicles of the available parking spot. In response to the notification, real-time information associated with the road within the predefined threshold for the available parking spot may be identified, and therefore, based on the real-time information and the one or more preferences regarding parking, the available parking spot may be assigned to a specific requesting vehicle in the network of multiple vehicles. In response to assigning the available parking spot to the specific requesting vehicle, an indicator may be displayed adjacent to the specific requesting vehicle to which the available parking spot has been assigned. According to at least one embodiment, additional feedback may be received from one or more users regarding one or more inconveniences of the parking, for example, if the available parking spot is too small for the specific requesting vehicle.
[0012] The present invention may be a system, method, or computer program product or computer program, or a combination thereof, at any possible level of technical detail where integration is possible. The computer program product may encompass one or more computer-readable storage media having computer-readable program instructions for causing a processor to execute aspects of the present invention.
[0013] The computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction execution device. The computer-readable storage medium may be, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of the computer-readable storage medium includes: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or grooved structures on which instructions are recorded, or any suitable combination thereof. As used herein, a computer-readable storage medium should not be interpreted as a transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through optical fiber cables), or electrical signals transmitted via wires.
[0014] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to individual computing devices / processing devices, or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may consist of copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing device / processing device receives computer-readable program instructions from the network and transfers them for storage in a computer-readable storage medium within the individual computing device / processing device.
[0015] The computer-readable program instructions for performing the operation of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, such as object-oriented programming languages, such as Smalltalk, C++, or procedural programming languages (such as the "C" programming language or similar programming languages). The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, partially as a standalone software package on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, such as a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, via the Internet using an Internet service provider). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer-readable program instructions by personalizing the electronic circuit by utilizing state information of computer-readable program instructions in order to carry out the aspects of the present invention.
[0016] The aspects of the present invention are described herein with reference to methods, apparatus (systems), and computer program products or computer program flowcharts or block diagrams or combinations thereof according to embodiments of the present invention. It will be understood that each block in the flowchart or block diagram or combination thereof, and combinations of blocks in the flowchart or block diagram or combination thereof, can be implemented by computer-readable program instructions.
[0017] These computer-readable program instructions can be provided to a computer processor or other programmable data processing device to create a machine, such that instructions executed via the processor of the computer or other programmable data processing device generate means for implementing functions / operations specified in one or more blocks of the flowchart or block diagram or a combination thereof. These computer-readable program instructions can also be stored in a computer-readable storage medium that can instruct a computer-programmable data processing device or other device or a combination thereof to function in a particular manner, such that the stored instructions include a product containing instructions that implement the functional / operational aspects specified in one or more blocks of the flowchart or block diagram or a combination thereof.
[0018] The computer-readable program instructions may also be loaded onto the computer, other programmable data processing device, or other device such that the instructions executed on the computer, other programmable data processing device, or other device implement the functions / operations specified in one or more blocks of the flowchart or block diagram or combination thereof, thereby causing a series of operational steps on the computer, other programmable device, or other device to generate a computer-implemented process.
[0019] The flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and operation of systems, methods, and computer program products or possible implementations of computer programs according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or part thereof of instructions, which includes one or more executable instructions for implementing one or more specified logical functions. In some alternative implementations, the functions shown in the blocks may occur in a different order than that shown in the drawings. For example, two consecutively shown blocks may actually be achieved as a single step executed simultaneously, substantially simultaneously, partially or entirely in a temporally overlapping manner, depending on the functions involved, or the blocks may be executed in reverse order. Note that each block in the block diagram or flowchart or a combination thereof, and any combination of multiple blocks in the block diagram or flowchart or a combination thereof, may be implemented by a special-purpose hardware-based system that performs the specified functions or operations, or by a combination of special-purpose hardware and computer instructions.
[0020] The exemplary embodiments described below provide a system for creating a network of vehicles within a predefined threshold of available parking spots and thus assigning those available parking spots to specific vehicles based on real-time information and user preferences.
[0021] Referring to FIG. 1, an exemplary networked computer environment 100 according to at least one embodiment is shown. The networked computer environment 100 may include client computing devices 102, a server 112, and Internet of Things (IoT) devices 118 interconnected via a communication network 114. According to at least one implementation, the networked computer environment 100 may include a plurality of client computing devices 102 and servers 112, however, only one of each is shown for the sake of brevity of the description.
[0022] The communication network 114 may include various types of communication networks, such as, for example, a wide area network (WAN), a local area network (LAN), a telecommunications network, a wireless network, a vehicle-to-vehicle (V2V) network, a public switched network or a satellite network, or a combination thereof. The communication network 114 may include connections, such as, for example, a wired communication link, a wireless communication link, or an optical fiber cable. It should be understood that FIG. 1 provides only an illustration of one implementation and does not imply any limitations with respect to the environments in which different embodiments may be implemented. Many modifications may be made to the described environment based on design requirements and implementation requirements.
[0023] The client computing device 102 may comprise a processor 104 and a data storage device 106, according to one embodiment of the present invention, which is capable of hosting and executing a software program 108 and a dynamic parking lot allocation program 110A, and communicating with the server 112 and the IoT device 118 via a communication network 114. The client computing device 102 can be, for example, a mobile device, a phone, a personal digital assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of computing device capable of executing programs and accessing a network. As will be described with reference to FIG. 5, the client computing device 102 may comprise internal components 502a and external components 504a, respectively.
[0024] The server computer 112 may be a laptop computer, netbook computer, personal computer (PC), desktop computer, or any programmable electronic device or any network programmable electronic device according to embodiments of the present invention, which hosts and runs the dynamic parking allocation program 110B and database 116, and can communicate with client computing devices 102 and IoT devices 118 via a communication network 114. As will be illustrated with reference to Figure 5, the server computer 112 may also comprise internal components 502b and external components 504b, respectively. The server computer 112 may operate in a cloud computing service model, such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS). The server computer 112 may also be located in a cloud computing deployment model, such as a private cloud, community cloud, public cloud, or hybrid cloud.
[0025] In embodiments of the present invention where the communication network 114 is a V2V network, the dynamic parking allocation programs 110A and 110B may be executed by vehicles within the V2V network itself, and do not require a dedicated server, such as server 112. Accordingly, it should be understood that references to server 112 in this specification are not intended to be limiting, and that in embodiments of the present invention where the communication network 114 is a V2V network, the dynamic parking allocation programs 110A and 110B may be executed by vehicles within the V2V network.
[0026] The IoT device 118 may include a vehicle, a plurality of sensors embedded inside or outside the vehicle, such as a camera, a light detection and ranging (Lidar) sensor, an object sensor, and other sensors known in the art for detecting the distance to an object, and which are connected to a communication network 114 and capable of sending and receiving data with a client computing device 102 and a server 112.
[0027] According to this embodiment, the dynamic parking assignment programs 110A and 110B may be programs capable of receiving one or more parking preferences from one or more users, creating a network of multiple vehicles within a predefined threshold of available parking spots, notifying each vehicle in the network of multiple vehicles of the available parking spots, dynamically assigning the available parking spot to a specific vehicle when that vehicle is close to the parking spot, ensuring optimal parking assignment according to user preferences, and detecting available parking spots by utilizing existing vehicle sensors. The dynamic parking assignment method is described in more detail below in relation to Figure 2.
[0028] Referring here to Figure 2, an operational flowchart for dynamically allocating vehicle parking spaces using user feedback within a sensor-equipped network in the vehicle parking space dynamic allocation process 200 is shown according to at least one embodiment. In step 202, the dynamic parking space allocation programs 110A and 110B receive one or more preferences regarding parking spaces from one or more users. These preferences may be received via a user interface (UI) on a display screen within the vehicle (e.g., an infotainment system within the vehicle). In embodiments of the present invention, it may be understood that the user may be either a human user or a non-human user. For example, the vehicle may be an autonomous vehicle that does not require input from a human user.
[0029] Examples of preferences include, but are not limited to, the maximum walking distance to a point of interest (POI), preferences for free or paid parking, preferences for covered or uncovered parking, size of the parking spot, preferences for disabled parking, preferences for on-street or off-street parking (e.g., parking garages), or other parking preferences desired by the user, or combinations thereof. According to at least one embodiment, one or more users may set additional preferences for parking spots equipped with electric vehicle (EV) chargers for vehicles with electric motors. The one or more users may specify the type and wattage of the power plug for the EV charger. Thus, the parking spot may be either a parking spot equipped with an EV charger or a parking spot without an EV charger, based on the preferences of one or more users. According to at least one other embodiment, the one or more preferences may be customized by one or more users. For example, the user may have a preference for covered parking during bad weather. In another example, the user may have a preference for a shorter maximum walking distance when it is cold outside or when there are delays due to traffic conditions. This real-time information regarding weather and temperature may be used to optimize the allocation of available parking spots, as further described below with respect to step 212.
[0030] Next, in step 204, the dynamic parking assignment programs 110A and 110B determine whether the detection vehicle detects an available parking spot. The detection vehicle may detect an available parking spot using a plurality of sensors, as described above. The plurality of sensors may be embedded inside or outside the vehicle and may also include cameras, LiDAR, or any other sensors known in the art, or a combination thereof, for detecting objects and the distance to objects. The detection vehicle may be a vehicle that is about to leave a parking spot, or a vehicle that is driving near a parking spot and detects an available parking spot.
[0031] According to at least one embodiment, as described above with respect to step 202, the dynamic parking allocation programs 110A and 110B may also determine whether the available parking spot is equipped with an EV charger when at least one of the one or more preferences indicates the need for an EV charger.
[0032] In response to the detection vehicle's determination that it has detected the available parking spot (branch to step 204, "yes"), the vehicle parking dynamic allocation process 200 proceeds to step 206 to create a network of vehicles within the predefined threshold for available parking spots. In response to the detection vehicle's determination that it has not detected the available parking spot (branch to step 204, "no"), the vehicle parking dynamic allocation process 200 terminates.
[0033] Next, in step 206, the dynamic parking allocation programs 110A and 110B create a network of vehicles within a predefined threshold of the available parking spot. The vehicle network may be a vehicle-to-vehicle (V2V) communication network that is reconfigured when any vehicle outside the network enters the network and when any vehicle inside the network leaves the network. For example, the network may be dissolved when there are no vehicles within the predefined threshold and restored when a vehicle enters the predefined threshold. The networked environment is shown in the figure and is described in more detail below with respect to Figure 4. The network may be created based on the topology of roads within the network. For example, a given threshold in an urban environment where roads are densely packed in a grid may be smaller than a given threshold in a suburban environment where roads are more spread out. For example, the predefined threshold may be within 1 mile (i.e., 1.6 km) of the available parking spot. In another example, the predefined threshold may be within 5 miles (i.e., 8.05 km) of the available parking spot. The examples given above are not intended to be limiting, and it should be understood that in embodiments of the present invention, the predefined threshold may be set to a different distance.
[0034] Next, in step 208, the dynamic parking assignment programs 110A and 110B notify each vehicle in the network of vehicles about the available parking spot. The notification may be transmitted by the detector vehicle via a V2V communication network or other peer-to-peer (P2P) communication technology. Since the network is limited to the predefined threshold for the available parking spot, vehicles outside the network, as shown in Figure 4 and described in further detail below with respect to the description of Figure 4, will not receive the notification.
[0035] In at least one embodiment, the notification may be an audio notification indicating that the available parking spot is available. In this embodiment, the audio notification may also include the specific location of the available parking spot. In at least one other embodiment, the notification may be a text notification displayed on the vehicle's display screen. Similarly, in this embodiment, the text notification may also include the specific location of the available parking spot. For example, either the text notification or the audio notification may mention, "There is a parking spot available at the northwest corner of East 81st Street and Lexington Avenue."
[0036] In response to the notification, the dynamic parking allocation programs 110A and 110B receive one or more requests for parking spaces from one or more requesting vehicles in the network. The requesting vehicles are shown in Figure 4 and are described in further detail below with respect to the description of Figure 4. According to at least one embodiment, the dynamic parking allocation programs 110A and 110B may prompt one or more users to respond to the notification by asking them whether there is an available parking spot. In at least one other embodiment, one or more users may submit the request without being asked to respond to the notification.
[0037] According to at least one embodiment, one or more users may submit a request for parking via a UI. For example, a pop-up on the UI may have "yes" and "no" buttons to indicate whether the user wants to request an available parking spot. In at least one other embodiment, the request may be a voice request. For example, the user may press a "call button" in the vehicle and say, "I would like to request a parking spot."
[0038] In at least one other embodiment, if the vehicle is an autonomous vehicle, the autonomous vehicle may send a request for parking via a UI without input from a human user. For example, a navigation route programmed into the autonomous vehicle may guide the autonomous vehicle to a specific location, and the autonomous vehicle may send the request when it is near an available parking space.
[0039] Next, in step 210, the dynamic parking assignment programs 110A and 110B identify real-time information associated with the road within the predefined threshold for the available parking spot. Examples of such real-time information include, but are not limited to, weather conditions within the predefined threshold for the available parking spot (e.g., rain, snow, sleet, hail), outside temperature within the predefined threshold, traffic conditions within the predefined threshold, or road closures within the predefined threshold, or a combination thereof. According to at least one embodiment, the real-time information may be identified according to one or more preferences of one or more users as described above with respect to step 202. For example, if a user sets a preference for a shorter maximum walking distance when it is cold outside or when there is a delay due to traffic, the dynamic parking assignment programs 110A and 110B may focus on these factors when assigning the available parking spot to a particular requesting vehicle, as described in more detail below with respect to step 212.
[0040] Next, in step 212, the dynamic parking allocation programs 110A and 110B allocate the available parking spots to a specific requesting vehicle within the network of vehicles. The allocation is based on the real-time information described above with respect to step 210 and one or more preferences described above with respect to step 202. For example, if a user sets a preference for covered parking when it is raining, the requesting vehicle carrying the user may not be allocated an available uncovered parking spot. In another example, a user may set a maximum walking distance from a POI. In this example, the requesting vehicle carrying the user may not be allocated an available parking spot further than this maximum walking distance. As described above with respect to Figure 1, the dynamic parking allocation programs 110A and 110B may be executed by each vehicle in the V2V network. In this way, all vehicles in the V2V network can maintain agreement with the allocation and do not object to it.
[0041] In at least one embodiment, if there are multiple requests for the same available parking spot, the available parking spot may be assigned to the requesting vehicle that is closest to the available parking spot at the time of the request. Alternatively, the available parking spot may be assigned to the requesting vehicle that has the highest priority for the available parking spot. For example, a requesting vehicle carrying an individual who requires a parking space accessible to persons with disabilities may be given priority over other requesting vehicles in the network. In at least one other embodiment, the available parking spot may be assigned on a first-come, first-served basis. For example, the requesting vehicle that first requests the available parking spot may be assigned to it.
[0042] According to at least one other embodiment, the timestamp of the assignment may be stored in a database, for example, database 116 (e.g., 4:30 p.m.). In this embodiment, the dynamic parking assignment programs 110A and 110B may request a particular requesting vehicle to which the vacant parking spot has been assigned to confirm that it has successfully parked within a specified time. For example, if a particular requesting vehicle to which the vacant parking spot has been assigned does not confirm its arrival at the vacant parking spot within a specified time, the dynamic parking assignment programs 110A and 110B may revoke the assignment from that particular requesting vehicle and reassign the vacant parking spot to one of the other requesting vehicles.
[0043] However, during the interim period between the time of allocation and the actual parking of a particular requesting vehicle in an available parking spot, the available parking spot may no longer be available. This may be due to unreliable data from the detection vehicle, or because another vehicle not participating in the network may have parked there during a temporary period before the arrival of the particular requesting vehicle. If the available parking spot is occupied by another vehicle, the dynamic parking allocation programs 110A and 110B return to the initial state in which the detection vehicle is again tasked with finding an available parking spot.
[0044] Next, in step 214, the dynamic parking assignment programs 110A and 110B display an indicator positioned adjacent to the specific requesting vehicle to which the available parking spot has been assigned. The indicator may be displayed on the vehicle's display screen. As shown in Figure 4 and described in further detail below in relation to the description of Figure 4, the indicator positioned adjacent to the specific requesting vehicle may be a flag indicator displayed on all vehicles in the network of vehicles. In this way, all vehicles in the network have the same information regarding the assignment and will not object to the assignment.
[0045] Next, in step 216, the dynamic parking assignment programs 110A and 110B receive additional feedback from one or more users regarding one or more inconveniences of the parking space. This additional feedback may be received via the UI in text or voice. Examples of additional feedback include, but are not limited to, feedback that the available parking spot is too small, that the available parking spot is occupied by a vehicle from outside the network, or that the available parking spot is blocked by an object other than a vehicle (e.g., a cone or construction equipment), or a combination thereof. This additional feedback may be sent manually by a human or automatically by a vehicle. This feedback may be used to determine the effectiveness of the assignment and to reconfigure the assignment parameters as necessary.
[0046] Referring here to Figure 3, a diagram 300 illustrating the interaction between solution components of the process in Figure 2 is shown according to at least one embodiment. In diagram 300, the on-board unit 302 comprises a parking assistance system 304a, a road map 304b, and other systems 304c. The parking assistance system 304a may comprise parking spots and a distributed determination method for assigning parking spots. The parking assistance system 304a may communicate with a road map 304b, e.g., a map, in a GPS system. The road map 304b may provide the road topology within the predefined thresholds of the available parking spots and enable routing to the available parking spots. Other systems 304c may include requests for parking from autonomous vehicles. According to at least one embodiment, a driver 306 (e.g., a human driver) may interact with the parking assistance system 304a of the on-board unit 302. The feedback may include requests and preferences regarding parking from the driver 306 and / or other systems 304c. As described above with respect to Figure 2, other vehicles 308 in a network of multiple vehicles may have multiple onboard sensors 310 (e.g., cameras or LiDAR or a combination thereof) and short-range V2V communication equipment 312. The onboard sensors 310 may be used to detect available parking spots, and the short-range V2V communication equipment 312 may enable direct communication between all vehicles in the network. As shown in diagram 300, the onboard sensors 310 and the short-range V2V communication equipment 312 may communicate with the parking assistance system 304a of the onboard unit 302.
[0047] Referring here to Figure 4, an exemplary diagram 400 illustrating a networked environment of vehicles is shown according to at least one embodiment. In diagram 400, the networked environment 402 may comprise at least one detector vehicle 404, one or more member vehicles 408a, 408b, and 408c, each of the one or more member vehicles 408a, 408b, and 408c may also function as detector vehicle 404, and one or more requesting vehicles 410a and 410b. One or more other vehicles 412a, 412b, and 412c may be located outside the networked environment 402 and do not communicate with vehicles 404, 408a-408c, and 410a-410b within the networked environment 402. However, as described above with respect to Figure 2, one or more other vehicles 412a, 412b, and 412c may join the networked environment 402 based on whether these one or more other vehicles 412a, 412b, and 412c fall within the predefined threshold 406 of the available parking spot. The available parking spot 406 may be assigned to a particular requesting vehicle 410b, as described above with respect to Figure 2. In embodiments of the present invention, a particular requesting vehicle 410b may be the "winner" among one or more requesting vehicles 410a and 410b that have requested to park in the available parking spot 406. A flag indicator 414 may be positioned adjacent to the particular requesting vehicle 410b and may be displayed on all vehicles 404, 408a-408c, and 410a-410b within the networked environment 402.
[0048] Figures 2-4 provide only one example of an implementation and should be understood as not implying any limitations on how different embodiments may be implemented. Many changes may be made to the depicted environment based on design and implementation requirements.
[0049] Figure 5 is a block diagram 500 of the internal and external components of the client computing device 102 and server 112 shown in Figure 1, according to one embodiment of the present invention. It should be understood that Figure 5 provides only an example of one implementation and does not imply any limitations regarding environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.
[0050] The data processing systems 502 and 504 represent any electronic device capable of executing machine-readable program instructions. These data processing systems 502 and 504 may represent a smartphone, computer system, PDA, or other electronic device. Examples of computing systems, environments, or configurations, or combinations thereof, that may be represented by the data processing systems 502 and 504 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputer systems, and distributed cloud computing environments comprising any of the above systems or devices.
[0051] The client computing device 102 and the server 112 may comprise multiple sets of internal components 502a and 502b and external components 504a and 504b as shown in Figure 5. Each set of internal components 502 comprises one or more processors 520, one or more computer-readable RAMs 522 and one or more computer-readable ROMs 524, and one or more operating systems 528 and one or more computer-readable tangible storage devices 530 on one or more buses 526. The one or more operating systems 528, software programs 108 and dynamic parking allocation programs 110A in the client computing device 102, and the dynamic parking allocation programs 110B in the server 112, are stored in one or more individual computer-readable tangible storage devices 530 for execution by one or more of the individual processors 520 via one or more of the individual RAMs 522 (which typically have cache memory). In the embodiment shown in Figure 5, each of the computer-readable tangible storage devices 530 is a magnetic disk storage device of an internal hard drive. Alternatively, each of the computer-readable tangible memory devices 530 may be a semiconductor memory device, such as a ROM 524, an EPROM, a flash memory, or any other computer-readable tangible memory device capable of storing computer programs and digital information.
[0052] Internal components 502a and 502b also include an R / W drive or interface 532 for reading from and writing to one or more portable computer-readable tangible storage devices 538, such as a CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk, or semiconductor storage device. Software programs, such as dynamic parking allocation programs 110A and 110B, are stored in one or more of the individual portable computer-readable tangible storage devices 538, read via the individual R / W drives or interfaces 532, and loaded into the individual hard drives 530.
[0053] Each set of internal components 502a and 502b also includes a network adapter or interface 536, for example, a TCP / IP adapter card, a wireless Wi-Fi interface card, or a 3G or 4G wireless interface card, or other wired or wireless communication links. The software program 108 and dynamic parking allocation program 110A in the client computing device 102, and the dynamic parking allocation program 110B in the server 112, can be downloaded to the client computing device 102 and the server 112 from an external computer via a network (e.g., the Internet, a local area network, or other wide area network) and individual network adapters or interfaces 536. From the network adapter or interface 536, the software program 108 and dynamic parking allocation program 110A in the client computing device 102, and the dynamic parking allocation program 110B in the server 112 are loaded into individual hard drives 530. The network may include copper, optical fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof.
[0054] Each set of external components 504a and 504b may comprise a computer display monitor 544, a keyboard 542, and a computer mouse 534. External components 504a and 504b may also comprise a touchscreen, virtual keyboard, touchpad, pointing device, and other human interface devices. Each set of internal components 502a and 502b comprises a device driver 540 for interface with the computer display monitor 544, keyboard 542, and computer mouse 534. The device driver 540, R / W drive or interface 532, and network adapter or interface 536 comprise hardware and software (stored in storage device 530 or ROM 524 or a combination thereof).
[0055] While this disclosure includes a detailed description of cloud computing, it should be understood that the implementation of the teachings enumerated herein is not limited to cloud computing environments. Rather, embodiments of the present invention can be implemented in combination with any other type of computing environment currently known or to be developed in the future.
[0056] Cloud computing is a service delivery model that enables convenient on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with service providers. This cloud model may include at least five features, at least three service models, and at least four deployment models.
[0057] The features are as follows:
[0058] On-demand self-service: Cloud consumers can unilaterally provision computing functions, such as server time and network storage, as needed, without requiring human interaction with the service provider.
[0059] Broad network access: The functionality is available over a network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0060] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, and various physical and virtual resources are dynamically allocated and reallocated according to demand. Consumers generally do not have control or knowledge of the exact location of the resources provided, but can identify the location at a higher level of abstraction (e.g., country, state, or data center), making it location-independent.
[0061] Rapid Adaptability: Features can be provisioned quickly and flexibly, and in some cases automatically, scale out quickly, release quickly, and scale in quickly. For consumers, the features available for provisioning are often unlimited and can be purchased at any amount at any time.
[0062] Service Measurement: Cloud systems automatically control and optimize resource usage by employing metric functions at some level 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 to both service providers and consumers.
[0063] The service model is as follows:
[0064] Software as a Service (SaaS): This refers to the functionality provided to consumers for using a provider's applications running on a cloud infrastructure. These applications are accessible from various client devices through a thin client interface, such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, such as the network, servers, operating system, storage, or even the underlying cloud infrastructure encompassing individual application functions, with the possible exception of limited, user-specific application configuration settings.
[0065] Platform as a Service (PaaS): A feature provided to a consumer for deploying applications they have created or acquired, generated using programming languages and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, such as the network, servers, operating system, or storage, but has control over the deployed applications and, in some cases, the application hosting environment configuration.
[0066] Infrastructure as a Service (IaaS): This is a service provided to a consumer to provision processing, storage, networking, and other basic computing resources, enabling the consumer to deploy and run any software, including operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has limited control over the operating system, storage, deployed applications, and, in some cases, the selection of network components (e.g., the host's firewall).
[0067] The deployment models are as follows:
[0068] Private Cloud: A cloud infrastructure is operated solely for a specific organization. This cloud infrastructure may be managed by that organization or a third party, and may reside on-premises or off-premises.
[0069] Community Cloud: Cloud infrastructure is shared by several organizations and supports a specific community that shares common interests (e.g., mission, security requirements, policies, and compliance considerations). The cloud infrastructure may be managed by the organization or a third party and may reside on-premises or off-premises.
[0070] Public cloud: Cloud infrastructure is available to the general public or large industry groups and is owned by organizations that sell cloud services.
[0071] Hybrid Cloud: Cloud infrastructure is a hybrid of two or more clouds (private, community, or public) that remain separate entities but are brought together by standardized or proprietary technologies (e.g., cloud bursting for load balancing between clouds) that enable data and application migration.
[0072] Cloud computing environments are oriented services that focus on statelessness, low coupling, modularity, and semantic interoperability. The heart of cloud computing is the infrastructure, which includes a network of interconnected nodes.
[0073] Referring here to Figure 6, an exemplary cloud computing environment 60 is illustrated. As shown, the cloud computing environment 60 comprises one or more cloud computing nodes 100, and local computing devices used by cloud consumers, such as personal digital assistants (PDAs), mobile phones 64A, desktop computers 64B, laptop computers 64C, or automotive computer systems 64N, or a combination thereof, can communicate with the cloud computing nodes 100. The cloud computing nodes 100 can communicate with each other. The cloud computing nodes 100 can be physically or virtually grouped into one or more networks, such as private clouds, community clouds, public clouds, or hybrid clouds, or a combination thereof, as described herein (not shown). This allows the cloud computing environment 60 to provide infrastructure, platforms, or software, or a combination thereof, as a service that does not require cloud consumers to maintain resources on their local computing devices. It is understood that the types of computing devices 64A to 64N shown in Figure 6 are intended to be illustrative only, and that the cloud computing node 100 and the cloud computing environment 60 can communicate with any type of computerized device via any type of network or network addressable connection or a combination thereof (for example, using a web browser).
[0074] Referring here to Figure 7, a set of functional abstraction layers 700 provided by the cloud computing environment 60 is shown. It should be understood that the components, layers, and functions shown in Figure 7 are intended to be illustrative only, and that embodiments of the present invention are not limited thereto. The following layers and corresponding functions are provided as illustrated.
[0075] The hardware and software layer 6000 includes hardware and software components. Examples of hardware components include the mainframe 6100, the Reduced Instruction Set Computer (RISC) architecture-based servers 6200, 6300, the blade server 6400, the storage device 6500, and the network and networking components 6600. In some embodiments, the software components include network application server software 6700 and database software 6800.
[0076] The virtualization layer 7000 provides an abstraction layer from which the following examples of virtual entities are provided: namely, a virtual server 7100, virtual storage 7200, a virtual network 7300, the virtual network 7300 encompassing, for example, a virtual private network, a virtual application and operating system 7400, and a virtual client 7500.
[0077] In one example, the management layer 8000 may provide the functions described below. Resource provisioning 8100 provides dynamic procurement of computing and other resources used to perform tasks within the cloud computing environment. Metering and pricing 8200 provides cost tracking when resources are used within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identification and verification for cloud consumers and tasks, and protection for data and other resources. User portal 8300 provides access to the cloud computing environment for consumers and system administrators. Service level management 8400 provides allocation and management of cloud computing resources to ensure that required service levels are met. Service level agreement (SLA) planning and execution 8500 provides pre-positioning and procurement for cloud computing resources where future requirements are anticipated according to the SLA.
[0078] The workload layer 9000 provides examples of functions that may be available in a cloud computing environment. Examples of workloads and functions that may be provided from this layer include mapping and navigation 9100, software development and lifecycle management 9200, virtual classroom education delivery 9300, data analysis processing 9400, transaction processing 9500, and dynamic vehicle parking allocation with user feedback 9600. Dynamic vehicle parking allocation with user feedback 9600 may involve creating a network of multiple vehicles within a predefined threshold of available parking spots in order to allocate the available parking spots to specific vehicles based on real-time information and user preferences.
[0079] The various embodiments of the present invention are presented for illustrative purposes only and are not intended to be exhaustive or to limit oneself to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used herein have been selected to best describe the principles, practical applications, or technical improvements to the technologies available on the market of the embodiments, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. A computer-based method for dynamically allocating parking spaces for vehicles, Receiving one or more parking preferences from one or more users; The detection device determines whether a vehicle has detected an available parking spot; In response to the detection vehicle determining the available parking spot, a network of multiple vehicles is created within a predefined threshold for the available parking spot; To notify each vehicle in the network of the aforementioned multiple vehicles of the available parking spots; In response to the aforementioned notification, receive one or more requests for parking space from one or more requesting vehicles within the network; Identifying real-time information associated with roads within the predefined threshold for the aforementioned vacant parking spots; Based on the aforementioned real-time information and the one or more preferences regarding parking, assign the available parking spot to a specific requesting vehicle within the network of multiple vehicles; and, To display an indicator on the vehicle's display screen that is positioned adjacent to the specific requesting vehicle to which the aforementioned available parking spot has been assigned. The method, including the method described above.
2. The computer-based method according to claim 1, further comprising receiving additional feedback from one or more users regarding one or more inconveniences of the parking lot.
3. The computer-based method according to claim 1, wherein the network is a vehicle-to-vehicle (V2V) communication network that is reconfigured when any vehicle outside the network enters the network and when any vehicle inside the network leaves the network.
4. The computer-based method according to claim 1, wherein the predefined threshold is within one mile from the available parking spot.
5. The computer-based method according to claim 1, wherein the indicator positioned adjacent to the specific requesting vehicle is a flag indicator displayed on all vehicles in the network of the plurality of vehicles.
6. The computer-based method according to claim 1, further comprising determining whether the detection vehicle detects the available parking spot, and determining whether the available parking spot is equipped with an electric vehicle (EV) charger when at least one of the one or more preferences indicates the need for an EV charger.
7. The computer-based method according to claim 2, wherein the additional feedback is selected from the group consisting of feedback that the available parking spot is too small, feedback that the available parking spot is occupied by a vehicle outside the network, and feedback that the available parking spot is blocked by an object other than a vehicle.
8. A computer system, The computer system comprises one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage media, and program instructions stored in at least one of the one or more computer-readable tangible storage media, wherein the program instructions are executed by at least one of the one or more processors via at least one of the one or more computer-readable memories. Here, the computer system is Receiving one or more parking preferences from one or more users; The detection device determines whether a vehicle has detected an available parking spot; In response to the detection vehicle determining the available parking spot, a network of multiple vehicles is created within a predefined threshold for the available parking spot; To notify each vehicle in the network of the aforementioned multiple vehicles of the available parking spots; In response to the aforementioned notification, receive one or more requests for parking space from one or more requesting vehicles within the network; Identifying real-time information associated with roads within the predefined threshold for the aforementioned vacant parking spots; Based on the aforementioned real-time information and the one or more preferences regarding parking, assign the available parking spot to a specific requesting vehicle within the network of multiple vehicles; and, To display an indicator on the vehicle's display screen that is positioned adjacent to the specific requesting vehicle to which the aforementioned available parking spot has been assigned. The computer system is capable of performing a method including the following.
9. The computer system according to claim 8, further comprising receiving additional feedback from one or more users regarding one or more inconveniences of the parking lot.
10. The computer system according to claim 8, wherein the network is a vehicle-to-vehicle (V2V) communication network that is reconfigured when any vehicle outside the network enters the network and when any vehicle inside the network leaves the network.
11. The computer system according to claim 8, wherein the predefined threshold is within one mile from the available parking spot.
12. The computer system according to claim 8, wherein the indicator positioned adjacent to the specific requesting vehicle is a flag indicator displayed on all vehicles in the network of the plurality of vehicles.
13. The computer system according to claim 8, wherein determining whether the detection vehicle detects the available parking spot further includes determining whether the available parking spot is equipped with an electric vehicle (EV) charger when at least one of the one or more preferences indicates the need for an EV charger.
14. The computer system according to claim 9, wherein the additional feedback is selected from the group consisting of feedback that the available parking spot is too small, feedback that the available parking spot is occupied by a vehicle outside the network, and feedback that the available parking spot is blocked by an object other than a vehicle.
15. It is a computer program, Receiving one or more parking preferences from one or more users; The detection device determines whether a vehicle has detected an available parking spot; In response to the detection vehicle determining the available parking spot, a network of multiple vehicles is created within a predefined threshold for the available parking spot; To notify each vehicle in the network of the aforementioned multiple vehicles of the available parking spots; In response to the aforementioned notification, receive one or more requests for parking space from one or more requesting vehicles within the network; Identifying real-time information associated with roads within the predefined threshold for the aforementioned vacant parking spots; Based on the aforementioned real-time information and the one or more preferences regarding parking, assign the available parking spot to a specific requesting vehicle within the network of multiple vehicles; and, To display an indicator on the vehicle's display screen that is positioned adjacent to the specific requesting vehicle to which the aforementioned available parking spot has been assigned. The computer program that causes the processor to perform a method including the following:
16. The computer program according to claim 15, further comprising receiving additional feedback from one or more users regarding one or more inconveniences of the parking lot.
17. The computer program according to claim 15, wherein the network is a vehicle-to-vehicle (V2V) communication network that is reconfigured when any vehicle outside the network enters the network and when any vehicle inside the network leaves the network.
18. The computer program according to claim 15, wherein the predefined threshold is within one mile from the available parking spot.
19. The computer program according to claim 15, wherein the indicator positioned adjacent to the specific requesting vehicle is a flag indicator displayed on all vehicles in the network of the plurality of vehicles.
20. The computer program according to claim 15, further comprising determining whether the detection vehicle detects the available parking spot, and determining whether the available parking spot is equipped with an electric vehicle (EV) charger when at least one of the one or more preferences indicates the need for an EV charger.