Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR POPULATING A DATABASE WITH OCCUPANCY DATA OF PARKING FACILITIES
Document Type and Number:
WIPO Patent Application WO/2020/254418
Kind Code:
A1
Abstract:
There is provided a system for populating a database with occupancy data of a plurality of parking facilities, the system comprising: computer-readable storage media comprising non-transitory computer-readable storage medium having computer-readable instructions stored thereon; and a processor configured to execute the computer-readable instructions, wherein the computer-readable instructions, when executed by the processor, cause the processor to: retrieve historical occupancy data for each of the plurality of parking facilities; retrieve a single prediction module from the non-transitory computer-readable storage medium; determine, by the single prediction module, future occupancy data for the plurality of parking facilities based on the historical occupancy data of the plurality of parking facilities; store the future occupancy data in a database in the computer-readable storage media. There is further provided a method for populating a database with occupancy data of a plurality of parking facilities.

Inventors:
MEIER MATTHIAS HORST (SG)
Application Number:
PCT/EP2020/066779
Publication Date:
December 24, 2020
Filing Date:
June 17, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CONTINENTAL AUTOMOTIVE GMBH (DE)
International Classes:
G06Q10/10
Foreign References:
EP2869282A12015-05-06
US20190043082A12019-02-07
US20190066133A12019-02-28
Attorney, Agent or Firm:
LEE, Daniel (DE)
Download PDF:
Claims:
Patent claims

1 . A system for generating a database comprising occupancy data of a plurality of parking facilities, the system comprising:

computer-readable storage media comprising non-transitory computer-readable storage medium having computer-readable instructions stored thereon; and

a processor configured to execute the computer-readable instructions, wherein the computer-readable instructions, when executed by the processor, cause the processor to:

retrieve historical occupancy data for each of the plurality of parking facilities;

retrieve a single prediction module from the non-transitory computer-readable storage medium;

determine, by the single prediction module, future occupancy data for the plurality of parking facilities based on the historical occupancy data of the plurality of parking facilities;

store the future occupancy data in the database in the computer-readable storage media.

2. The system of claim 1 , wherein the prediction module comprises a recurrent neural network.

3. The system of claim 1 or 2, wherein the prediction module comprises a gated recurrent neural network or a long short-term memory neural network.

4. The system of any preceding claim, wherein the computer-readable instructions, when executed by the processor, cause the processor to: separate, by the single prediction module, the future occupancy data into future occupancy data for each of the plurality of parking facilities.

5. The system of claim 4, wherein the prediction module further comprises a layer to separate the future occupancy data into future occupancy data for each of the plurality of parking facilities. 6. The system of any preceding claim, wherein the historical occupancy data for each parking facility is retrieved from a remote public database.

7. The system of any preceding claim, wherein the prediction module is retrieved from the non-transitory computer-readable storage medium only once to determine the future occupancy data.

8. The system of any preceding claim, wherein the prediction module comprises a single model. 9. The system of any preceding claim, wherein the future occupancy data is determined for a plurality of parking facilities within an area.

10. A method of generating a database comprising occupancy data of a plurality of parking facilities, the method comprising:

retrieving, by a processor, historical occupancy data for each of the plurality of parking facilities from a computer-readable storage medium; retrieving, by the processor, a single prediction module from a non-transitory computer-readable storage medium;

determining, by the single prediction module, future occupancy data for the plurality of parking facilities based on the historical occupancy data of the plurality of parking facilities;

storing the future occupancy data in the database in the computer-readable storage medium. 1 1. The method of claim 10, wherein the prediction module comprises a recurrent neural network.

12. The method of claim 10 or 11 , wherein the prediction module comprises a gated recurrent neural network or a long short-term memory neural network. 13. The method of any one of claims 10-12, further comprising separating, by the single prediction module, the future occupancy data into future occupancy data for each of the plurality of parking facilities.

14. The method of claim 13, wherein the prediction module further comprises a layer to separate the future occupancy data into future occupancy data for each of the plurality of parking facilities. 15. The method of any one of claims 10-14, further comprising retrieving, by the processor, the historical occupancy data for each parking facility from a remote public database prior to storing the historical occupancy data in the computer-readable storage medium. 16. The method of any one of claims 10-15, wherein the prediction module is retrieved from the non-transitory computer-readable storage medium only once to determine the future occupancy data.

17. The method of any one of claims 10-16, wherein the prediction module comprises a single model.

18. The method of any one of claims 10-17, wherein the future occupancy data is determined for a plurality of parking facilities within an area.

Description:
System and Method for Populating a Database with Occupancy Data of Parking Facilities

Field of Invention

[001] This invention relates to a method and system of populating a database with occupancy data of a plurality of parking facilities.

Background of Invention

[002] In urban areas, the search for an available parking lot may cause stress to drivers due to factors like dense traffic and one-way roads. Thus, technology has emerged to provide drivers with knowledge of an available parking lot. [003] For example, it is known to use sensors to provide information on real-time car park occupancy. It is also known to use crowd-sourced locations to determine where available parking spots are located. Other known methods include guiding drivers to parking locations where the drivers are likely to find parking spots. Some methods include predicting future car park occupancy based on current and/or past occupancy. Flowever, predictive methods oftentimes do not meet real-time requirements and do not optimally utilize resources of the computer, like memory and CPU load, that are responsible for the prediction.

[004] There is therefore a need to provide an alternative method for providing information on car park occupancy data.

Summary

[005] In an embodiment, there is provided a system for populating a database with occupancy data of a plurality of parking facilities, the system comprising: computer-readable storage media comprising non-transitory computer-readable storage medium having computer-readable instructions stored thereon; and a processor configured to execute the computer-readable instructions, wherein the computer-readable instructions, when executed by the processor, cause the processor to: retrieve historical occupancy data for each of the plurality of parking facilities; retrieve a single prediction module from the non-transitory computer-readable storage medium; determine, by the single prediction module, future occupancy data for the plurality of parking facilities based on the historical occupancy data of the plurality of parking facilities; and store the future occupancy data in a database in the computer-readable storage media.

[006] In an aspect, there is provided a system for generating a database comprising occupancy data of a plurality of parking facilities, the system comprising: computer-readable storage media comprising non-transitory computer-readable storage medium having computer-readable instructions stored thereon; and a processor configured to execute the computer-readable instructions, wherein the computer-readable instructions, when executed by the processor, cause the processor to: retrieve historical occupancy data for each of the plurality of parking facilities; retrieve a single prediction module from the non-transitory computer-readable storage medium; determine, by the single prediction module, future occupancy data for the plurality of parking facilities based on the historical occupancy data of the plurality of parking facilities; and store the future occupancy data in the database in the computer-readable storage media.

[007] In another embodiment, there is provided a method of populating a database with occupancy data of a plurality of parking facilities, the method comprising: retrieving, by a processor, historical occupancy data for each of the plurality of parking facilities from a computer-readable storage medium; retrieving, by the processor, a single prediction module from a non-transitory computer-readable storage medium; determining, by the single prediction module, future occupancy data for the plurality of parking facilities based on the historical occupancy data of the plurality of parking facilities; and storing the future occupancy data in the database in the computer-readable storage medium.

[008] In another aspect, there is provided a method of generating a database comprising occupancy data of a plurality of parking facilities, the method comprising: retrieving, by a processor, historical occupancy data for each of the plurality of parking facilities from a computer-readable storage medium; retrieving, by the processor, a single prediction module from a non-transitory computer-readable storage medium; determining, by the single prediction module, future occupancy data for the plurality of parking facilities based on the historical occupancy data of the plurality of parking facilities; and storing the future occupancy data in the database in the computer-readable storage medium.

[009] It is common in the art to use a prediction module comprising, for example one or a combination of models like machine learning models, to predict an element; a second prediction module to predict a second element; and so on. In contrast, the present disclosure advantageously enables the efficient prediction of future occupancy data of multiple parking facilities. Prediction of the future occupancy data of multiple parking facilities is done with a single prediction module. The present disclosure may advantageously reduce the system resources required to predict and populate predicted data in the database because the processor would need to retrieve a prediction module from the non-transitory computer-readable storage medium only once to calculate the future occupancy data of the plurality of parking facilities, as opposed to the prior methods whereby multiple prediction modules need to be retrieved from the non-transitory computer-readable storage medium to calculate the future occupancy of the multiple parking facilities. Consequently, the determination of future occupancy may be performed relatively faster than determination with prediction modules for each parking facility. As system resources may be reduced, the system may be capable of performing a higher number of predictions in parallel, as compared to the prior methods whereby multiple prediction modules are utilized. Advantageously, the predictions for multiple parking facilities can be done in parallel without the need of complex or multithread programming. A database may be generated when historical and/or future occupancy data is populated or stored therein.

[010] Further advantageously, the disclosed non-transitory computer-readable storage medium may not require prediction modules for each element or each parking facility to be stored therein. This is especially advantageous when there are many parking facilities stored in the database. [01 1] The parking facilities for which future occupancy data is determined, or the parking facilities analysed by the prediction module, may be for clusters of parking facilities within a certain area. The future occupancy data may be determined for a plurality of parking facilities within an area. The historical occupancy data retrieved may be for such parking facilities. The prediction module may be trained on a plurality of parking facilities within an area. Advantageously, the prediction module may be capable of identifying parking occupancy patterns in the area. The prediction module may be capable of using patterns identified in the area to better predict the future occupancy data for the parking facilities in that area. The parking facilities may be those in a geographical region, e.g. in a neighbourhood or constituency. The parking facilities may be those within a predetermined or user-determined radius. The parking facilities may be those within a radius from an identified location, such as the location of a vehicle searching for parking lots or an identified parking facility or a point of interest.

[012] The prediction module may provide or output the future occupancy data as future occupancy data for each parking facility. The prediction module may separate the future occupancy data into future occupancy data for each of the plurality of parking facilities. The computer-readable instructions, when executed by the processor, may cause the processor to: separate, by the single prediction module, the future occupancy data into future occupancy data for each of the plurality of parking facilities. Advantageously, the predicted data may be sorted into data for each parking facility and/or at durations suitable for or adjustable by a user of the database.

[013] The prediction module may comprise one or more models such as machine learning models. The prediction module may comprise a recurrent neural network, such as a gated recurrent neural network or a long short-term memory neural network. The prediction module may comprise a single model, such as one recurrent neural network or one gated recurrent neural network or one long short-term memory neural network. Advantageously, each input datapoint of a recurrent neural network (RNN) can comprise more than one type of data. Thus, it is an advantage that each input of historical occupancy data can comprise the historical occupancy data for more than one parking facility. Further advantageously, the RNN is capable of taking input datapoints at multiple timesteps, e.g. input datapoints at intervals for a suitable time window in history. In addition, the internal gated structure of an RNN, e.g. the gated recurrent units of a gated recurrent neural network or a long short-term memory neural network, allows the learning of dependencies across multiple historical timesteps for multiple parking facilities.

[014] The prediction module or the recurrent neural network may further comprise a layer, such as a fully connected layer, to separate the future occupancy data into future occupancy data for each of the plurality of parking facilities. The layer may provide the predicted future occupancy data for a specific time or for a predetermined time period at predetermined intervals. The layer may control the size of the predicted output, e.g. one or more predicted occupancy values for a specific time or for a predetermined time period in the future at predetermined intervals for a predetermined or adjustable number of parking facilities.

Brief Description of Drawings [015] Fig. 1 shows an illustration of a prediction module 100 according to an embodiment of the invention.

[016] Fig. 2 shows an illustration of a prior art embodiment. [017] Fig. 3 shows a flowchart of the population of occupancy data into a database, using the prediction module 100 of Fig. 1 .

Detailed Description [018] Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. The detailed description of this invention will be provided for the purpose of explaining the principles of the invention and its practical application, thereby enabling a person skilled in the art to understand the invention for various exemplary embodiments and with various modifications as are suited to the particular use contemplated. The detailed description is not intended to be exhaustive or to limit the invention to the precise embodiments disclosed. Modifications and equivalents will be apparent to practitioners skilled in this art and are encompassed within the spirit and scope of the appended claims.

[019] In an embodiment, there is provided a system for populating a database with occupancy data of a plurality of parking facilities. The system comprises: computer-readable storage media comprising non-transitory computer-readable storage medium having computer-readable instructions stored thereon; and a processor configured to execute the computer-readable instructions. The computer-readable instructions, when executed by the processor, cause the processor to: retrieve historical occupancy data for each of the plurality of parking facilities; retrieve a single prediction module from the non-transitory computer-readable storage medium; determine, by the single prediction module, future occupancy data for the plurality of parking facilities based on the historical occupancy data of the plurality of parking facilities; and store the future occupancy data in a database in the computer-readable storage media. In another embodiment, there is provided a method of populating a database with occupancy data of a plurality of parking facilities. The method comprises: retrieving, by a processor, historical occupancy data for each of the plurality of parking facilities from a computer-readable storage medium; retrieving, by the processor, a single prediction module from a non-transitory computer-readable storage medium; determining, by the single prediction module, future occupancy data for the plurality of parking facilities based on the historical occupancy data of the plurality of parking facilities; and storing the future occupancy data in the database in the computer-readable storage medium. [020] The term“parking facility” refers to a group of parking lots, parking spots or parking spaces, for example along a stretch of road. A group of parking lots may stretch from a junction, e.g. a T-junction or a cross-junction, to another junction, or may be a segment thereof. The road segment may include one direction of traffic or both directions of traffic. The group of parking lots may be housed in a single storey or multi-storey building. The building may be a dedicated parking facility or shared with other purposes, e.g. commercial shops. A parking facility may be freely accessible to the public, or may be bounded by a barrier, e.g. a fence, to restrict access, or bounded by a barrier, e.g. kerb(s), to define a car park zone. The term “parking facility” is synonymous with the terms“parking garage”,“parking zone”,“car park”, and other similar terms. The term“car park” is not limited to a parking facility for cars, but for any type of vehicle. [021] The present disclosure may find use with providers of information like the occupancy data of parking facilities. Providers of such information may administer databases like the disclosed database. The present disclosure may find use with developers of applications that provide real-time information on the availability of parking lots and/or other services like recommending available parking lots or reserving parking lots. Users of such applications could be an operator or driver of a vehicle searching for or otherwise requiring a parking lot in the parking facility.

[022] Historical occupancy data may be retrieved from other databases remote from the disclosed system, e.g. databases administered by management of the parking facility or other public or paid databases. Historical occupancy data may be obtained directly from the parking facility, e.g. from sensors detecting vehicles entering or exiting a parking lot or parking facility which provides an indication of the occupancy or availability of the parking lot or parking facility. The historical occupancy data may comprise the number of available lots in a parking facility at a specific time or in a specific time period. The time period may be predetermined, e.g. at intervals of 1 minute, 2 minutes, 5 minutes, or other suitable time period. The historical occupancy for a predetermined length of time, e.g. for the past 1 hour, 2 hours, or other suitable length of time, or for the full available history retrievable from the public or private databases, may be retrieved to predict the future occupancy. The amount of historical occupancy data or the past timesteps needed to be retrieved may be dependent on the time window in the future that a user has selected. The occupancy may be provided as a discrete value or number of available lots, or as a percentage of the total number of lots in a parking facility. [023] The system may be one or a plurality of computing devices in one or a plurality of locations remote from a user device. A user device is a device that an end user, such as an operator or driver of a vehicle, uses to access the occupancy data. Typical user devices include means of receiving user input, outputting occupancy data, and may include a positioning device. The user device may be a mobile phone, a wearable device, a portable computer, a desktop, a navigation system in a vehicle, etc. The database may be a central repository of information stored in the one or a plurality of computing devices. The database may be a repository administered by a government body, e.g. a land transport authority or national transportation board. The database may be a repository administered privately, e.g. a database provider, an information aggregator, service or data analytics provider, or a map provider. The database may comprise a valuable source of information to train data sets or systems.

[024] Alternatively, the system may be a computing device comprised in the user device. The database may be a repository of information stored in the user device. The database stored in the user device may be a subset of the database in the remote system. For example, the database stored in the user device may include data for the parking facilities that the user usually requests for. In such example, the database or occupancy data may be stored in a non-transitory computer-readable storage medium. In another example, the database stored in the user device may include data for the parking facilities that the user is near, for example parking facilities within a predetermined radius from the user or within a geographical region. In such example, depending on the scenario, the database or occupancy data may be stored in a transitory computer-readable storage medium if such data is required only in a temporary session, or in a non-transitory computer-readable storage medium. Where the system is a user device, the historical occupancy data may be retrieved from the database in the remote system. Alternatively, the historical occupancy data may be retrieved directly from databases administered by management of a parking facility or other public or paid databases or directly from the parking facility. [025] Occupancy data in the disclosed database, whether historical occupancy data or future occupancy data, may be organized by parking facility. The database may include a first parking facility data structure comprising historical occupancy data and/or future occupancy data of a first parking facility, a second parking facility data structure comprising historical occupancy data and/or future occupancy data of a second parking facility, and an n th parking facility data structure comprising historical occupancy data and/or future occupancy data of an n th parking facility. Alternatively, occupancy data may be organized by geographical region, e.g. occupancy of parking facilities in a neighbourhood or constituency and/or time of the day, e.g. morning or evening, morning peak hour. The parking facility data structure(s) may include locations, such as coordinates, of the parking facilities. The parking facility data structure may include information about identifying information of the parking facility and address information. The parking facility data structure may further include information collected from other database(s). The parking facility data structure may store data using timestamps and date stamps. The time stamp may be the predetermined time period or interval of e.g. 2 minutes. The parking facility data structure may store data using location stamps. The parking facility data structure may categorize the data based on location or characteristic of the parking facility.

[026] The disclosed database may also include a digital map data structure and may communicate with other modules such as a payment module or a reservation module, so as to facilitate other services or features that may be provided such as recommending available parking lots or reserving parking lots. The digital map data structure may comprise map data in tiles representing the basic building blocks for constructing a map display.

[027] The system may be, for example, a general computing device or a server. The system may comprise one or more interfaces for receiving or wirelessly receiving or retrieving the occupancy data. The system may comprise one or more interfaces for wirelessly transmitting the occupancy data. [028] The system comprises computer-readable storage media or computer-readable memory which may comprise transitory and non-transitory memory. The computer-readable storage media may encompass any electronic component capable of storing electronic information. The computer-readable storage media or memory may include transitory processor-readable media such as random access memory (RAM) or cache memory. The computer-readable storage media or memory may include non-transitory processor-readable media such as read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, etc. Memory is in electronic communication with a processor if the processor can read information from and/or write information to the memory. Memory that is integral to a processor is in electronic communication with the processor. The computer-readable instructions residing in the non-transitory computer-readable storage medium may be implemented as a program or a code that can be read by a processor. The disclosed method may be implemented as a program or a code that can be read by a processor.

[029] Where the system is remote from a user device, the database may reside in a non-transitory computer-readable storage medium or non-transitory memory of the system, as the database may serve as a central repository of information. Where the system is a user device, the database may reside in a transitory computer-readable storage medium or transitory memory of the system if the database serves as a repository of information for a one-off user query; or may reside in the non-transitory memory if the data is for parking facilities that the user usually requests for.

[030] The system comprises at least one processor configured to execute the computer-readable instructions. Exemplary processors include a general purpose processor, a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, or other suitable devices. The term "processor" may include a combination of processing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration suitable for the disclosed system. [031] It is to be noted that although a general computing device or a general purpose processor may be used, the disclosed method or computer-readable instructions enable the processor or system to efficiently predict the future occupancy data and populate the database. [032] The prediction module determines the future occupancy data based on the plural sets of historical occupancy data. The prediction module takes the historical occupancy data of the plurality of parking facilities as input and predicts the future occupancy data of these parking facilities in a single step. Advantageously, the prediction module may be capable of analysing data from a large number of parking facilities, e.g. more than 20, more than 30, more than 40, or more than 50 parking facilities, at one go. The future occupancy data output may comprise the number of available lots in a parking facility at a specific time or in a specific time period. The future occupancy may be predicted at predetermined intervals of e.g. 1 minute, 2 minutes, 5 minutes, or other suitable intervals, for a predetermined length of time e.g. for the next 1 hour, 2 hours, or other suitable length of time. The predetermined intervals of predicted future occupancy data may be the same or different as the predetermined intervals of the historical occupancy data that the prediction is based on. The past occupancy data retrieved for a predetermined length of time may be used to predict the future occupancy data for the same or different length of time. It may be appreciated that historical data retrieved further into the past may help the prediction module to better predict data, particularly if data needs to be predicted further into the future, as a larger sample size of historical data helps to improve the accuracy of the prediction model for longer forecasting periods. The length of time required to predict the future occupancy, i.e. the time window for providing forecasting, may be predetermined or defined or selectable by a user. The predicted occupancy output may be provided in a form consistent with the historical occupancy input, e.g. as a discrete value or number of available lots or as a percentage. [033] The prediction module may be trained, whereby parameters or weights of the model(s) are optimized to predict future occupancy data. The trained prediction module may have an accuracy of more than about 80% or more than about 85% or more than about 90% based on the difference between the predicted number of available lots and the actual number of available lots, out of the total number of lots in the parking facility. The prediction module may be continually optimized, such that the parameters or weights of the model(s) may be continually adjusted in response to the retrieved historical occupancy data being fed into the prediction module. An exemplary method of optimizing or training the prediction module may comprise optimizing or training the prediction module with historical occupancy data in iterative steps using a gradient descent algorithm, in which at each iterative step, the prediction module performs a prediction. The predicted values may be compared to the actual values to compute the error. The weights of the prediction module may then be updated to minimize the error in the next iterative step. The steps may then be repeated with a large number of historical occupancy data, e.g. 4 months’ worth of data.

[034] The prediction module may be an integral part of an application that provides information on parking lot availability and/or other services like recommending available parking lots or reserving parking lots. The prediction module may be an addition or plugin to the application or stored in an external memory. The prediction module may be stored in a non-transitory computer-readable storage medium, for example a file stored on a disk.

[035] Fig. 1 shows an illustration of a prediction module 100 according to an embodiment of the invention. As illustrated in Fig. 1 , the prediction module 100 comprises a recurrent neural network 102, such as a gated recurrent neural network or a long short-term memory neural network, and a fully connected layer 104 to separate the future occupancy data into future occupancy data for each parking facility. Historical occupancy values for Car Park 1 , Car Park 2, ... to Car Park n are organized in timesteps or sets with an interval of 2 minutes. 200 sets of historical occupancy values at intervals of 2 minutes for Car Park 1 (historical·) are fed into recurrent neural network 102; that is, the occupancy values for the past 400 minutes or 6.7 hours are fed into recurrent neural network 102. Similarly, 200 sets of historical, 200 sets of historical3, .... and 200 sets of historical are also fed into recurrent neural network 102. The recurrent neural network 102 analyses occupancy trends of historical· to historical for the past 400 minutes to predict future occupancy of Car Parks 1 ... n. A first layer of the recurrent neural network 102 may identify a type of feature in the historical occupancy data to get a representation for a second layer to map another type of feature. Therefore, the input into the fully connected layer 104 is a representation of substantially all the features of the historical occupancy data. The fully connected layer 104 is the last layer of the prediction module 100 that controls the output size. That is, the fully connected layer 104 determines or computes the predicted occupancy values for each parking facility in parallel, thereby providing separate predicted values for each parking facility. At the same time, the fully connected layer 104 computes the predicted occupancy values for a time window of 2 hours in intervals of 2 minutes, i.e. 60 future timesteps predicted for each parking facility in parallel. Thus, the future occupancy data for Car Park 1 ... n (futurei to futuren) may be predicted by the single prediction module 100. The number of neurons of the fully connected layer 104 is thus computed as: n Car Parks * y future timesteps. Thus, the disclosed prediction module permits the prediction of future occupancy data of multiple parking facilities at one go.

[036] Fig. 2 shows an illustration of a prior art embodiment to contrast against the embodiment in Fig. 1. As illustrated in Fig. 2, historical occupancy values for Car Park a (historicala) is fed into a prediction module 200, which may comprise model 201 and model 203, to predict future occupancy of Car Park a. Historical occupancy values for Car Park b (historicalb) is fed into a prediction module 300, which may comprise model 301 and model 303, to predict future occupancy of Car Park b. Similarly, historical occupancy values for Car Park N (historicalN) is fed into a prediction module 400, which may comprise model 401 and model 403, to predict future occupancy of Car Park N. However, each prediction module 200, 300 and 400 is a file stored on a disk or non-transitory computer-readable storage medium of a system. Comparing the embodiments in Fig. 1 and Fig. 2, it is apparent that the storage space required in the non-transitory computer-readable storage medium for the embodiment in Fig. 2 is N times more than the storage space required for the embodiment in Fig. 1. Thus, the embodiment in Fig. 1 may optimize the system’s storage resources. [037] In practice, the population of occupancy data into a database, using the prediction module 100 of Fig. 1 , is illustrated in Fig. 3 and described as follows.

[038] Referring to Fig. 3, historical occupancy data is retrieved in step 1000. Step 1000 may comprise retrieving the historical occupancy data through wireless communication means from databases remote from the system or directly from the parking facility as described above, and storing the historical occupancy data in a transitory computer-readable storage medium or non-transitory computer-readable storage medium depending on the scenarios as described above. Step 1000 may comprise retrieving or reading the historical occupancy data from transitory computer-readable storage medium or non-transitory computer-readable storage medium, and storing or writing the historical occupancy data in a transitory computer-readable storage medium for retrieval by the prediction module or processor. Depending on the data structure of the historical occupancy data in the database, step 1000 may comprise retrieving or reading historical occupancy data of Car Park 1 , storing or writing the historical occupancy data of Car Park 1 , retrieving or reading historical occupancy data of Car Park 2, storing or writing the historical occupancy data of Car Park 2. retrieving or reading historical occupancy data of Car Park n, and storing or writing the historical occupancy data of Car Park n.

[039] The prediction module 100 is retrieved in step 1010. Step 1010 may comprise retrieving the prediction module 100 from the non-transitory computer-readable storage medium of an external memory, such as a disk, coupled to the system. Step 1010 may comprise retrieving the prediction module 100 from the non-transitory computer-readable storage medium of the system. Step 1010 may comprise retrieving or reading the prediction module 100 from the non-transitory computer-readable storage medium, and storing or writing the prediction module 100 in a transitory computer-readable storage medium for retrieval by the processor. That is, the prediction module 100 is loaded into memory for retrieval by the processor. As mentioned, it is an advantage of the present disclosure that the processor would need to retrieve the prediction module 100 from the computer-readable storage medium only once, as compared to retrieving N prediction modules in the embodiment in Fig. 2. Further, reading and writing N prediction modules to memory may consume the bandwidth of the bus to the memory and may lead to high load on the memory bus. When the memory bus has high bus load, it is typical that the bus utilization is low, that is, useful bus traffic going through the memory bus may be low. As a consequence, the speed of the system may decrease due to the lowered bandwidth to the memory bus. Accordingly, not only does the embodiment in Fig. 1 optimize the system’s storage resources, the embodiment in Fig. 1 optimizes the speed of the system in predicting future occupancy data and/or populating the database with future occupancy data. As a consequence of the optimization, power needed for the system may also be optimized.

[040] The prediction module may retrieve the historical occupancy data from the transitory or non-transitory computer-readable storage medium. The processor may retrieve the historical occupancy data from the transitory or non-transitory computer-readable storage medium and feed the historical occupancy data to the prediction module. The historical occupancy data of the multiple parking facilities may be fed into the prediction module to predict the future occupancy data of the multiple parking facilities. Thus, the future occupancy data is determined in step 1020. In step 1020, the recurrent neural network 102 of prediction module 100 takes the historical occupancy data of n number of parking facilities as parallel inputs and the fully connected layer 104 computes the predicted future occupancy data of the n number of parking facilities, at the requisite time interval and time window, in parallel.

[041] In step 1030, the future occupancy data determined in step 1020 is stored in the database in the computer-readable storage medium. The future occupancy data may be separated into their respective parking facilities and stored in the database according to their respective data structure.