Embodiments are generally related to techniques and systems for analyzing data associated with airport usage.
The presence of an airport in a particular region radically influences which businesses operate in the vicinity of the airport and also how such businesses operate. New services are created to fulfill incoming and outgoing passengers' needs, such as, for example, hotels, stores, car rental companies, transport systems, and car parking.
Discovering how flight traffic and scheduling affect this influx of passengers and thus the demand for a particular service over time is of particular interest for any airport dependent business. In the specific case of a parking business, operating in sync with flight departures and arrivals might enable the best possible use of the parking dependencies by, for example, offering lower prices when there is less demand and higher prices when demand increases.
Current parking lot management solutions offer, to some degree, the ability to predict parking demand over a period of time under predetermined circumstances. However, no system currently exists that leverages airport data to accomplish this task. Furthermore, in a non-cooperative scenario, airport authority's ability to access flight passenger data is limited due to privacy or security issues. Thus, only publicly available (but not necessarily free) data sources may be available to accomplish the task.
In a nutshell, the problem faced here is the following: given historical data about previous parking events inside a parking lot in the vicinity of an airport; and publicly available data for past and scheduled departure and arrival flights, 1) how the influence of a particular flight be estimated with respect to parking demand, and 2) how can (at least partial) assignments of parking events be made available to passengers taking the flight?
Positive answers to these questions may allow one to identify and relate parking records to the flight with a degree of certainty. With such information, parking records may be grouped by flight or by destination while in particular offering an understanding regarding the different characteristics of each destination.
The following summary is provided to facilitate an understanding of some of the innovative features unique to the disclosed embodiments and is not intended to be a full description. A full appreciation of the various aspects of the embodiments disclosed herein can be gained by taking the entire specification, claims, drawings, and abstract as a whole.
It is, therefore, one aspect of the disclosed embodiments to provide a method and system for estimating usage demand.
It is another aspect of the disclosed embodiments to provide a method and system for modeling airport usage demand.
It is yet another aspect of the disclosed embodiments to model passenger flow at airports as a mixture of components during a particular period of time, wherein each component is associated with a departure flight.
It is still another aspect of the disclosed embodiments to model this passenger flow with a mixture distribution composed of a collection of other distributions, wherein each component distribution of the mixture distribution is modeled as a distribution in a finite interval.
It is yet another aspect of the disclosed embodiments to provide for a method and system that jointly estimates parameters of the components and their mixture weights, from observed data, namely: parking users, flight schedule information, and aggregated passenger counts.
It is also an aspect of the disclosed embodiments to provide for a method and system for processing the parking events to compute initial scores associated with each flight based on initial distribution estimates (e.g., an initial matching algorithm).
The aforementioned aspects and other objectives and advantages can now be achieved as described herein. Methods and systems are disclosed for estimating airport usage demand. Airport parking traffic usage data and flight-time table data can be compiled with respect to an airport (or more than one airport). The airport parking traffic usage data and flight-time table data can be analyzed and passenger behavior estimated with respect to the airport based on the airport parking traffic usage data and flight-time table data.
In some embodiments, a database of past and future departing and arriving flights from the airport and a database of historical parking data with respect to the airport can be implemented. A model of airport usage demand can then be generated with respect to the airport based on information contained in the database of past and future departing and arriving flights and in the database of historical parking data and a match between the historical parking data and the past and future departing and arriving flights using an average linearithmic time algorithm. The model can be employed to infer how many passengers took a particular flight by analyzing a distribution of parking events with respect to the airport and based on the information contained in the database of past and future departing and arriving flights and the database of historical parking data.
An operation can be provided for estimating for a particular flight with respect to the airport, and based on the model, a percentage of users who likely parked cars in airport parking at the airport and a percentage of users who did not. A match can be developed based on data regarding a flux of passengers within the airport as a mixture distribution, wherein each component of the mixture distribution represents one or more flights with respect to the airport and wherein the flight(s) is either an arrival, a departure, or both. The historical parking data can be derived from an off-street parking lot composed of distinct parking zones with different pricing strategies and physical characteristics, surrounding the airport. Data associated with the match can be employed to create a generative model of parking events that is queried to generate new parking event samples, wherein the model comprises a generative model.
The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention.
The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate one or more embodiments and are not intended to limit the scope thereof.
The disclosed embodiments can be implemented to use vehicle arrival times, flight schedules, and aggregated passenger counts to model passenger arrival times under a set of generic assumptions. One assumption is that the parking events and corresponding car arrivals to the airport are related to departure or arrival flight. Such time instants can be modelled statistically and related to a particular flight in a probabilistic manner. Then, parking events can be aligned to flights by modelling passengers who park their car and then take the flight. A filtering algorithm can then be employed to separate parking events that are related to flights and thus extract and convert those parking events to passengers.
A finite mixture distribution estimation module (e.g., an algorithm, set of computing instructions, routines, subroutines, etc.) can be employed to fine-tune the arrival and departure distributions associated with each flight. The distributions can be used to determine how likely someone who entered the airport at a given time and left at another given time is to have taken one of the possible flights. In doing so, individual passengers or parking events are not assigned to particular flights. Instead, their relationship is described between or with respect to possible candidate flights in terms of association scores extracted from those distributions.
Afterwards, it can be assumed that the mixture coefficient associated with each departure distribution is used to determine the proportion of the total number of passengers that actually boarded a plane. The main assumption behind this is that, the higher the weight of a particular flight, the more parking activity it was related to, and therefore the more passengers boarded this particular flight.
Note that as utilized herein, the term “mixture distribution” can be thought of as a collection of other distributions. Thus, each component distribution of the mixture distribution can be modeled as a distribution in a finite interval such that in some cases those component distributions may be triangular distributions, or can be something else entirely. It should be appreciated, however, that the disclosed approach is generalizable to any distribution with a finite interval, and is not limited to only triangular distributions. Reference herein to triangular distributions is for illustrative and exemplary purposes only and it can be appreciated that other types of distributions (e.g., non-triangular) can be employed in accordance with the disclosed embodiments.
A number of novel features are thus disclosed herein. First, the passenger flow at an airport can be modeled as a mixture of components during a given period of time, where each component is associated with a departure flight. Each component in the mixture can be modeled as a finite interval distribution and in some cases triangular distributions. An EM-like method can be employed to jointly estimate parameters of the components and their mixture weights, from observed data, namely: parking users, flight schedule information, and aggregated passenger counts. An efficient approach is disclosed for processing the parking events to compute initial scores associated with each flight based on initial distribution estimates (i.e., the initial matching algorithm).
One of the goals of the disclosed embodiments is to create a model that describes and generates new samples of when and for how long people park their vehicles and use the airport services, along with providing an observed variables and an unobserved variables model (or models) and providing an estimation of their values. However, the chief focus of concern relates to data only about vehicles that went to the airport and remained parked at the airport. Note that the set of people who went to the airport using a vehicle and parked this vehicle in the airport parking lot is only a subset of all people that went to the airport.
Because descriptive model is needed, a generative approach can be adopted using probability distributions. Because distributions are used, it should be easy to see that it will be possible to sample from those distributions afterwards, thus generating new samples of the whole population that is sought.
In the disclosed approach, a period of time [0, T] and the following available data can be considered:
Parking Data:
Indices V={1 , . . . , n} of vehicles parked during the considered time period T, where n is the total number of the vehicles;
Vehicle arrival times VA={tav}, where each tav∈ [0, T] represents the time of arrival vehicle v in the parking lot, 1≧v≧n; and
Vehicle departure times VD={tdv}, where tdv ∈ [0,T] represents the time when vehicle v leaves (exits) the parking lot, 1≧v≧n;
Airport Data:
Arrival flights FA={1 , . . . , ma} period T where ma is the total number of the flights;
Flight arrival times AT={ta1}, wherein each tai ∈ {0,T} represents the flight arrival time i, where 0≦i≦ma;
Departure flights FD={1 , . . . , md}, where md is the total number of the flights;
Flight departure times DT={tdj}, each tdj ∈ [0, T] represents the departure flight j time where 0≦i≦md; and
Departure flight maximum capacities C={cj}, (in number of passengers), where 0≦j≦md;
Passenger Aggregated Data:
The total number rT of passengers who departed from the airport during a given period of time [0, T], (e.g., week, month, etc.);
Furthermore, the following variables can be considered, which are not directly observable but are assumed to follow random behaviour:
PA, a random variable such that P(PA≦t) represents the probability that a passenger arrived in the airport takes a departure flight before time t;
PD, a random variable such that P(PD≦t) represents the probability that a passenger departed from the airport after disembarking from an arrival flight before time t; and
Lj, a (discrete) random variable such that P(Lj=c) represents the probability that flight j departed with c passengers, with the upper bound constraint that P(Lj≧cj)=0.
A model can thus be implemented, which describes and generates new samples of when and for how long people used the services offered by the airport. Given the aforementioned variables, this would mean approximating the distribution of people's arrival times and leave times P(PA≦ta). Knowing this distribution would enable us to know the time periods in people are more likely to come to the airport, as well as those passengers would be more likely to leave.
First, we correct the timestamps VA and VD by adding the expected walking time between the parking zones used by the vehicles and the airport, getting the approximate moments in time when those vehicle's passengers came in and out the airport, respectively. Then, we identify a subset of those parking events V that could be matched to any of the possible airplane trips that were feasible to be taken during the same period the car stood parked. Afterwards, we used this reconstructed data as the input for our density estimation process assuming their arrival times would be good representatives of the entire passenger population arrival times.
Assuming the distribution P(PA≦ta) of passenger arrival times is directly influenced by the departure times of outgoing flights DT, we approximate P(PA≦ta) with an univariate mixture distribution F(t) of time instants t on the form:
F(t)=Σj=0m
where it is the mixture coefficient vector associated with the departure flight j, and Fj(t) is a component distribution associated with the departure flight j. The mixture is constrained to be convex such that:
Σj=0m
We consider the case where each component distribution Fj(t) associated with flight j is designed in a way that, at time t, its density function returns the likelihood that a passenger arriving in the airport at this particular instant boarded that particular flight. In this case, Fj(t) must return non-zero probabilities only in the time interval in which flight passengers could have arrived at the airport to take the flight: a few hours before the flight, but no later than the gate closing time.
Under those circumstances, we use the mixture coefficient πj as an importance score for each flight j. The reported total number of departure passengers rT during period [0, T], must be a fraction of the sum of the individual loads of all departure flights during the period [0, T], i.e.:
r
T=βΣj=0m
We assume that the importance of each flight could indicate how the total number of passengers for the month is spread among the different flights. In the disclosed embodiments, αj=πjrm can be taken as an estimation of the number of passengers Li boarding each flight.
It should be straightforward for a specialist to estimate the absolute earlier and latest times a passenger might arrive to take a flight in an airport. Any passenger taking a flight is likely to arrive at the airport according to the airport recommendations for national and international flights. In a typical airport, this would mean arriving 1 hour before departure for national flights, and at least 2 hours before departure for international flights. For example, it should be relatively safe to assume no passenger would arrive more than 5 hours before a flight, and no passenger would have arrived after the boarding gate was closed. Thus said, we assume that the time passengers get to the airport are limited by minimum and maximum times, as shown in
Thus, we approximate the distribution Pj(T≦t) of arrival times for passengers taking a flight particular j as the integral of a parametric probability density function of the form:
F
j(t)=f(t; θj) (4)
where θj is a parameter vector associated with the flight j.
As an example, it can be assumed that f(t; θj) denotes a family of triangular distributions parameterized by θj=aj, bj, cj in which aj is the minimum instant in time in which a passenger that will take flight j is assumed to enter the airport; bj is the maximum instant in time in which a passenger could have arrived in the airport and successfully entered the flight; and cj is the mode, the estimated most common instant in time that passengers boarding that flight will be arriving in the airport. The triangular distribution's probability density function is given by:
With the starting (minimum) time aj and ending (maximum) time bj being fixed for the triangular distribution f(t; θj), the only parameter to estimate in θj from data is the mode cj. If Sj denotes the set of timestamps tij associated with the triangular distribution f(t; θj), such that aj≦tij ≦bj, where each timestamp tij may have a weight wj, the mode cj of the triangular distribution can be estimated as follows:
Note that triangular distributions can be employed to exemplify the method described here, nothing prevents the method to be used with any other distribution that has finite support and that has a location parameter that can place it over any region of the real line. Other distributions that satisfy those conditions include, for example, Shifted-Log-Logistic, truncated Normal, Generalized Beta, and PERT-Beta distributions. The particular choice for the triangular adopted herein is only to make the problem easier to explain and faster to compute and is not considered a limiting feature of the disclosed embodiments.
For example, the Beta-PERT distribution may be useful to model estimates performed by specialists regarding the minimum, maximum, and more likely values for a considered variable (e.g., see
After all those considerations, the proportion of passengers that go to the airport to board a plane j before a time instant t could be described with a distribution as shown in
Passengers(t)=Σj=1m
As all distributions are defined in finite intervals, at the end of the period [0,T] every distribution F(t;θj) will necessarily evaluate to 1 for every flight j. This means that, at the end of the period, equation (4) will become:
rT=Σj=1m
where rT is the total number of passengers during the considered period. Now, if the variable substitution πj=αj/rT is applied, then from equations (6) and (7) the following formulation can be obtained:
This mixture distribution gives the proportion of passengers that entered the airport up to an instant in time t. If we could estimate this distribution appropriately, it should be possible to get a rough estimate on the proportion of passengers boarding each flight.
The problem is that we don't have data about passengers that entered the airport, but we have data about some passengers who did. The fact is that we have access to the parking data, and within this data, we know that some observations indeed correspond to passengers who parked their cars in the airport parking lot. So if we could extract passengers from the parking data, we would be able to estimate information about passengers by processing the parking data instead.
In this section, we will detail how to perform the initial matching between parking users and potential flight passengers in linearithmic average time complexity, i.e., Θ(n log n), using one of the algorithms covered in this disclosure. In order to justify such algorithm, we can enumerate the different dimensions involved in the matching problem. In our setting, we provide the following:
The naïve solution for finding the best matching departure and arrival flight for a specific users would involve, for each user, check which pair of departure and arrival flights is closer. This would, thus, be a O(n ma md) time complexity operation. Now, while either ma and md alone would typically be a number much smaller than the number of parking users n, it turns out that ma md is vastly bigger than n.
An efficient algorithm is described to address this problem with O(n log n+ma+md+ma md) complexity in the average case. The algorithm can be used to make initial flight coefficient estimates that will be used to fit the mixture model described on the top of this section. Moreover, it is shown, with an actual implementation, that we will be able to both perform this matching and estimate the number of passengers per flight of, for example, the Toulouse-Blagnac Airport in seconds, for any given month that we have available in our records.
The objective of this algorithm is to identify the set of likely departure flights and arrival flights a parking user could have taken. Parking events which could not be associated with flights are separated in a different set of users that could be matched to potential drop-offs and pick-ups, or other airport activities. This is a soft matching algorithm because no assignments are made; instead, a relationship score s is found between each parking vehicle υ ∈ V and a departure flight j ∈ FD.
At the end, the algorithm finds a mapping S: V→Ψ between each vehicle υ ∈ V that parked in the airport's parking lot and a set ψ ∈ Ψ of tuples (j, s) containing a potential departure flight j ∈ FD) and an association score s ∈ measuring the degree of association between vehicle v and the departure flight j. A sample algorithm is provided below.
Algorithm. Parking-Passenger Matching with Probabilistic Assignments
Passengers←{user ∈ U|∃ r ∈ R: L[user] [Rd
A filtering algorithm can be used to initialize expectation-maximization. The matching algorithm in the previous section outputs a map associating each parking user with a subset of departing flights that this user could have taken, together with an association score ranging from 0 to 1.
The obtained scores can be used to initialize the mixture coefficients it associated with each departure flight j in the mixture model. Note, however, that this initialization is not strictly necessary but highly recommended, as running a simple E-M algorithm without using smart weight initialization can converge to a local minimum and thus produce a poor solution. It can be appreciated that simply using the scores alone already leads to interesting results, and subsequent runs of the E-M algorithm improve upon them.
As such, the mixture coefficients πj can be initialised with values {circumflex over (π)} given as
{circumflex over (π)}j ∝ Σuser ∈ P(d
where P(dj) is the subset of all parking users that could be matched to the departure flight dj with an association score s higher than some tolerance threshold ε>0. Afterwards, E-M can be used to estimate the mixture distribution of passenger arrival times PA in the same way anyone would use it to fit a mixture of Gaussians (or any other equivalent mixture):
f(t)=Σj=1m
The only difference is that we are holding the triangular distribution parameters aj and bj to be fixed, and we are feeding it with the timestamps of the subset of parked vehicles V that could have been associated with at least one of the flights from FD through the mapping S identified above.
For completeness, we will present the expectation and maximization steps of the E-M algorithm for distribution mixtures, although this is just the standard algorithm with no modifications.
Two techniques can be used to validate our results and compare how well our technique performs. All experiments performed here will be performed in the context of the Biagnac-Toulouse airport, which fortunately enough uses appropriate technologies to administer and manage its parking zones. Thankfully, this airport also publishes monthly traffic reports which we can use to validate our models, making sure our predicted results align with the reality.
However, in order to complement our qualitative findings with quantitative performance comparisons, we created an airport traffic simulator which is able to, given the setup of some parameters, generate entirely new sets of parking data, passenger data, and flight operations. We have set up those simulations so they could create different variations of the original airport: such as decrease and increase in demand, different rates under which people might park their car and become travelers, different rates under which people may simply use the airport for non-travel related reasons, and so on.
Given those simulations, we will then use our estimation technique to approximate the behavior of those virtual airports. And since we have access to the ground-truth data that generated the observed events for those airports, we would then be able to check which kinds of behavior the estimation method described herein would be already able to account for.
The simulations used to create our syntactic data start from the principle that people need to use an airport and have to go there on some way. From this point of view, we consider the existence of several probability distributions that govern the way people will be arriving in the airport: either by parking their cars, not parking, taking a ride, asking someone to drop them off or to pick them up. We also consider that the reason people would need to use an airport was not confined to the strict need of taking a flight or giving a ride to someone who is taking a flight. We also consider situations where whoever needs to go to the airport is not taking a flight, but instead is going to work in the airport, for example, or do shopping in the airport's stores. Thus the simulation system also generates unrelated parking events which are not related to any flights when creating the synthetic data.
Six different estimation strategies were tested to determine how such strategies fared in estimating the airplane load as well as the expected number of passengers per destination. Since the simulations were able to vary freely between themselves, we could also determine how our error changes when airport behaviors changes. From the six evaluated strategies, the first four of them could have been considered null models. Those are:
Assume that all flights are at full capacity, which is self-explicative and which also assumes we got the flight capacity right;
Linearly-scaled down capacity, where we take the full capacity of the flights, but linearly reduce it so the total number of passengers per month matches the total number of passengers “published” by the virtual airport (mimicking the way Toulouse publishes their reports);
Number of parking events, which assumes the number of passengers in the flight is proportional to the number of parking events that happened during the flight window;
Number of travelers, which assumes the number of passengers in the flight is proportional to the number of parking events that could have been matched to flight passengers;
Weighted number of travelers, that is the approach described in this invention disclosure to approximate the flight mixture coefficients, without jointly learning any parameter of the passenger distributions associated with each flight; and
Expectation maximization, that is the same approach described above, but letting EM learn the flight mixture coefficients together with the parameters for the probability distributions associated with each departure flight at the same time.
The results we obtained, as well as their standard error bars, are shown in the next page. We can see that the last two strategies (the ones described in this disclosure) present the best error rates among all alternative models considered. We can see how our method operates much better than just taking capacity or number of parking events as predictors for passenger load.
One interesting observation is that they are not that far from just scaling the plane capacity down so the total number of passengers published by the airport. However, we can clearly see how the approach described here presents a much better standard error deviation in those cases.
This is understandable, because simply scaling down the airplane capacity as the true number of passengers doesn't necessarily reflect the distinct airplane loads that could be used for different destinations, and the difference in load for distinct times of the day that could have been taken in account by finding a relationship between the load and the parking events. Moreover, this approach can also handle cargo planes, i.e., planes that departed from the airport, but that didn't take any passengers with them.
In other words, the simulator generates synthetic data by following a few number of rules, and then the algorithm presented previously can be applied to over this synthetic data to check if we can at least model the few rules incorporated into the simulator. While not optimal, this provides one quantitative way to assert which kind of behaviors our algorithm is already able to cover—and more importantly, on how it could be improved.
Those simulations start from the principle that people need to use an airport and have to go there on some way. From this point, several distributions govern the way people will be arriving at the airport; either by parking their cars, not parking, taking a ride, asking someone to drop them off or to pick them up. We also note that the need to use an airport was not confined to the need to take a flight the system can also generate unrelated parking events which are not related to any flights.
Thus said, the simulation hereby is made by sampling varies over different distributions. Those distributions, and the way they are interconnected, can be seen in the example probabilistic graphical model shown in
The aforementioned stochastic dependencies can be modeled using probabilistic distributions. Such distributions can include, for example: categorical& used to sample different categories of the simulated entities, such as flight types (i.e., a cargo flight, a passenger flight), and usage event type (such as whether the parking event was generated for a single person parking, a couple dropping off someone, a couple with one kid parking, and so on). The categorical distributions reflect the frequency at which each of those categories would happen in the data. Such distributions can also include Dirichlets, used as the conjugate prior for categorical distributions described above. Dirichlet densities can model how much belief we should put on each probability of occurrence for distinct categories in a categorical distribution. For K categories, it is able to give the belief that the probability value of each category i will indeed be xi having been observed αi-1 times. Such distributions can additionally include Truncated Normals, used as the conjugate prior of itself. The truncated normal can return the probability normally distributed variable bounded on a specific interval. As such, it can be used to sample bounded durations (such as, for example, the airplane load and the average airplane load per destination).
Here, the main entities of the simulation graphical model are the flights. Those flights have known departure date times and their maximum capacity is known. We know, however, that flights are seldom at full capacity unless they go to certain, specific destinations. The simulation starts by sampling the type of the airplane that is going to lift-off. Those types could either describe a cargo plane or a passenger flight. If the latter is selected, a passenger load will be sampled from destination-specific parameters and meta-parameters (this enables us to generate situations where more popular destinations, such as Paris, would have flights with greater passenger load than planes going to, for example, Andreziéux-Bouthéon). Those distributions are also assumed to lower-bounded, parting from the fact that airline companies would have cancelled the flight (or remanaged planes—remember that we are looking at past events here) if it wasn't economically viable to proceed with the flight.
Once the airplane load is determined, the simulation proceeds generating passengers until their count matches the expected number of passengers for the flight. Passengers are sampled from varying groups, categories resulting from the combination of distinct counts (e.g., single, couple, one kid, two kids, three kids) and types (e.g., drop-off/pickup, parking, not parking, unrelated). Each group will then also have different parameters specifying their duration distributions.
For drop-off and pickup groups, five durations will be estimated, generating multiple parking events to accommodate this airport usage behavior:
For the parking and not parking behaviours, parking events will be generated for:
For unrelated behaviours, parking events will be generated for:
Finally, a special word should be given detailing the unrelated group. This group reflects parking events related to airport activity (number of passengers of each flight) but that will never board the plane and that are only bounded by the simulated period and not the flight departure or arrivals. Those events, therefore, are modelled after people who go to the airport to eat, do shopping, or work.
Note that an example of such a time matching algorithm is an efficient time segment matching algorithm with linearithmic average time complexity. One characteristic of such an algorithm is that it can present (although not necessarily) linearithmic time complexity in the average case. In the example shown in
Note that the operations regarding the matching flights and parking events can be based in some situations on viewing the flux of passengers within an airport as a mixture distribution, wherein each component of this distribution represents a flight in the airport. Such flights can be arrivals, departures, or both. In some embodiments, the flight data can be obtained from, for example, the FlightStats data repository (e.g., FlightStats, Inc., 2014). The parking data can be derived in some embodiments, from an off-street parking lot, composed of distinct parking zones with different pricing strategies and physical characteristics, surrounding the airport. The matched data can be used to create a generative model of parking events, and in which this generative model is queried to generate new parking event samples.
Note that in some embodiments, computer program code for carrying out operations of the disclosed embodiments may be written in an object oriented programming language (e.g., Java, C#, C++, etc.). Such computer program code, however, for carrying out operations of particular embodiments can also be written in conventional procedural programming languages, such as the “C” programming language or in a visually oriented programming environment, such as, for example, Visual Basic.
The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer. In the latter scenario, the remote computer may be connected to a user's computer through a local area network (LAN) or a wide area network (WAN), wireless data network e.g., Wi-Fi. Wimax, 802.xx, and cellular network or the connection may be made to an external computer via most third party supported networks (e.g., through the Internet via an Internet Service Provider).
The embodiments are described at least in part herein with reference to flowchart illustrations and/or block diagrams of methods, systems, and computer program products and data structures according to embodiments of the invention. It will be understood that each block of the illustrations, and combinations of blocks, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the various block or blocks, flowcharts, and other architecture illustrated and described herein.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block or blocks.
As illustrated in
As illustrated, the various components of data-processing system 200 can communicate electronically through a system bus 210 or similar architecture. The system bus 210 may be, for example, a subsystem that transfers data between, for example, computer components within data-processing system 200 or to and from other data-processing devices, components, computers, etc. Data-processing system 200 may be implemented as, for example, a server in a client-server based network (e.g., the Internet) or can be implemented in the context of a client and a server (i.e., where aspects are practiced on the client and the server). Data-processing system 200 may be, for example, a standalone desktop computer, a laptop computer, a Smartphone, a pad computing device, a server, and so on.
The software application 254 can include one or more modules such as module 252, which can, for example, implement instructions or operations such as those described herein. Examples of instructions that can be implemented by module 252 include operations such as those shown and described herein with respect to blocks 32, 34, 36, 38, 40 of
The following discussion is intended to provide a brief, general description of suitable computing environments in which the system and method may be implemented. Although not required, the disclosed embodiments will be described in the general context of computer-executable instructions, such as program modules, being executed by a single computer. In most instances, a “module” constitutes a software application. However, a module may also be composed of, for example, electronic and/or computer hardware or such hardware in combination with software. In some cases, a “module” can also constitute a database and/or electronic hardware and software that interacts with the database.
Generally, program modules include, but are not limited to, routines, subroutines, software applications, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types and instructions. Moreover, those skilled in the art will appreciate that the disclosed method and system may be practiced with other computer system configurations, such as, for example, hand-held devices, multi-processor systems, data networks, microprocessor-based or programmable consumer electronics, networked PCs, minicomputers, mainframe computers, servers, and the like.
Note that the term module as utilized herein may refer to a collection of routines and data structures that perform a particular task or implements a particular abstract data type. Modules may be composed of two parts: an interface, which lists the constants, data types, variable, and routines that can be accessed by other modules or routines: and an implementation, which is typically private (accessible only to that module) and which includes source code that actually implements the routines in the module. The term module may also simply refer to an application, such as a computer program designed to assist in the performance of a specific task, such as word processing, accounting, inventory management, etc.
It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also, that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.