Embodiments of the invention relate generally to electric vehicles, and more particularly, to systems and methods for reservations of charging stations for electric vehicles.
Electric vehicle charging requires more planning than for refueling of gas vehicles, as there are limited places to recharge vehicle batteries and the charge time is typically hours instead of a few minutes. At peak times and locations, the demand for recharging spaces may exceed available charging stations or charging capacity. Accordingly, there is an opportunity in the industry for systems and methods for reservations of charging stations for electric vehicles.
Some or all of the above needs and/or problems may be addressed by certain embodiments of the invention. Embodiments of the invention may include systems and methods for reservations of charging stations for electric vehicles. According to one embodiment of the invention, there is disclosed a system. The system may include at least one memory that stores computer-executable instructions, and at least one processor configured to access the at least one memory. At least one processor may be configured to execute the computer-executable instructions to: receive, from a customer computing device associated with a customer, a reservation inquiry to access a charging station to recharge an electric vehicle; provide, to the customer computing device, a respective cost for accessing the charging station during one or more available time periods; receive a selection from the customer computing device for at least a portion of the available time periods; and deliver, to the customer computing device, a reservation confirmation for the selected time period.
According to another example embodiment, there is a method. The method may include receiving, by a service provider computer from a customer computing device associated with a customer, a reservation inquiry to access a charging station to recharge an electric vehicle; providing, from the service provider computer to the customer computing device, a respective cost for accessing the charging station during one or more available time periods; receiving, by the service provider computer, a selection from the customer computing device for at least a portion of the available time periods; and delivering, from the service provider computer to the customer computing device, a reservation confirmation for the selected time period.
Other embodiments, aspects, and features of the invention will become apparent to those skilled in the art from the following detailed description, the accompanying drawings, and the claims.
Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Illustrative embodiments of the invention now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.
Disclosed are systems and methods for reservations of charging stations for electric vehicles. These electric vehicles can have a rechargeable battery or power source that can be recharged using a wired connection to a power supply, for example, by plugging into a power socket to access a power supply. Alternatively, these electric vehicles can be recharged wirelessly, perhaps through inductive coupling, where the inductive fields utilized for recharging may be generated using power from the power source. For convenience, a plug-in electric vehicle (PEV) that is referenced herein may refer to one or both of an electric vehicle that is rechargeable using a wired connection or a wireless connection. Likewise, it will be appreciated that these PEVs may be electric-only vehicles or hybrid vehicles that can operate using electricity or another power/fuel source such as gasoline, natural gas, other petroleum products, fuel cells, or the like. Many variations of electric vehicles may be utilized in accordance with example embodiments of the invention.
In some instances, an electric vehicle may also have one or more controllers for controlling battery charging and/or for collecting battery charging information. Such battery charging information may include dates, times, temperatures, and the like associated with the charging the electric vehicle battery. Additionally, the controllers may also collect data associated with travel of the electric vehicle, such as distances traveled, percentage of battery used, and the like for given times. Further, in some instances, a charging station may also have one or more controllers for controlling battery charging and/or for collecting charging data similar to that collected from a controller residing on an electric vehicle.
As will be described in further detail herein, one or more charging stations can be reserved for recharging one or more electric vehicles. To support the reservation of a time slot at a charging station, a service provider may allow a customer to access a network or Internet-based portal or website that supports such reservations. At the portal or website, the customer can search, locate, and reserve a time slot for recharging a vehicle at a charging station. The associated cost for a time slot for recharging can vary depending upon a time of day or expected demand during the time slot. Indeed, electricity rates may vary depending upon the time of day. Similarly, the demand may be based upon a load at the charging station or on a power supply component (e.g., a transformer) that supplies power to the charging station. In addition or in the alternative, a customer may be charged a fee (e.g., a convenience fee, which may be a fixed or variable amount) to utilize the portal or website to reserve a time slot at a charging station. In some example embodiments, the customer may further provide a deposit/payment or payment information in order to complete the reservation at the portal or website. The customer may receive a reservation confirmation upon completion of the reservation. The customer may also receive a reservation code to activate or use a charging station during the reserved time slot.
Various embodiments of the invention may include one or more special purpose computers, systems, and/or particular machines that facilitate the network communications between or among service provider computers, customer computing devices, and/or charging station controllers. A special purpose computer or particular machine may include a wide variety of different software modules as desired in various embodiments. As explained in greater detail below, in certain embodiments, these various software components may be utilized to facilitate reservation of one or more time slots at one or more charging stations, as well as to facilitate the activation and use of one or more charging stations.
Certain embodiments of the invention described herein may have the technical effect of reserving a time slot at one or more charging stations. Indeed, when a time slot has been reserved at a charging station, other users besides the reserving customer may be prevented from utilizing or accessing the charging station, or at least a portion thereof, during the reserved time slot. If a time slot has not been reserved at a charging station, then the charging station may be available for access by any drive-up electric vehicle.
As shown in
As shown in
First, the customer computing device 103 may be any processor-driven device that can be used by a customer to locate, view, and reserve available time slots at one or more charging stations for recharging an electric vehicle. The customer computing device 103 may comprise a tablet computer (e.g., iPad™, Samsung Galaxy™, etc.), a desktop computer, a laptop computer, a personal computer, a handheld computer or a personal communications device (e.g., a netbook, specialized reservation device, etc.), a smart phone (e.g., iPhone™, BlackBerry™, HTC™ phone, etc.), or the like. In addition to having a processor 149, the customer computing device 103 may further include a memory 142, input/output (“I/O”) interface(s) 154, and a network interface 156. The memory 142 may store data files 158 and various program modules, such as an operating system (“OS”) 150 and a client module 152. The memory 142 may be any computer-readable medium, coupled to the processor 149, such as RAM, ROM, and/or a removable storage device for storing data files 158 and a database management system (“DBMS”) to facilitate management of data files 158 and other data stored in the memory 142 and/or stored in separate databases. The OS 150 may be, but is not limited to, Microsoft Windows®, Apple OSX™, Unix™, or a mainframe operating system. The client module 152 may be an Internet browser or other software, including a mobile software application or dedicated program, for interacting with the service provider computer 104. For example, a customer may utilize the client module 152 to interact with the service provider computer 104 via a website or Internet portal to identify and reserve one or more time slots at one or more charging stations, as described herein. The client module 152 may also be utilized to retrieve or otherwise receive data, messages, or responses from the service provider computer 104 and/or the charging station controller 106.
Still referring to the customer computing device 103, the I/O interface(s) 154 may facilitate communication between the processor 149 and various I/O devices, such as a keyboard, mouse, printer, microphone, speaker, monitor, bar code readers/scanners, RFID readers, and the like. The network interface 156 may take any of a number of forms, such as a network interface card, a modem, a wireless network card, and the like. It will be appreciated that while customer computing device 103 has been illustrated as a single computer or processor, the customer computing device 103 may be comprised of a group of computers or processors, according to an example embodiment of the invention.
The service provider computer 104 may be any processor-driven device that is configured for receiving, processing, and fulfilling requests from the customer computing device 103 and/or charging station controller 106. The service provider computer 104 may include a processor 126, a memory 128, input/output (“I/O”) interface(s) 130, and a network interface 132. The memory 128 may be any computer-readable medium, coupled to the processor 126, such as RAM, ROM, and/or a removable storage device for storing data files 134 and a database management system (“DBMS”) 138 to facilitate management of data files 134 and other data stored in the memory 128 and/or stored in one or more databases 182. The memory 128 may store data files 134 and various program modules, such as an operating system (“OS”) 136, a database management system (“DBMS”) 138, and the host module 140. The OS 136 may be, but is not limited to, Microsoft Windows®, Apple OSX™, Unix™, or a mainframe operating system. The host module 140 may receive, process, and respond to requests from the client module 152 of the customer computing device 103 and/or from the host module 172 of the charging station controller 106. The host module 140 can also communicate with one or more financial processing computers to complete or process one or more customer payments described herein.
In addition, a web portal interface 109 may also be operative with or otherwise included with the service provider computer 104. In particular, the web portal interface 109 may allow for a customer computing device 103 or another computer to access the service provider computer 104 via an Internet website or portal. For example, a customer computing device 103 may access the web portal interface 109 via the Internet of network 110. The web portal interface 109 may be provided by a separate processor-based system that is distinct from the service provider computer 104. By way of example, the web portal interface 109 may be provided by a web server that is in communication with the network 110 and the service provider computer 104. Alternatively, it will be appreciated that the web portal interface 109 may also be incorporated into the service provider computer 104 as well, perhaps as part of host module 140, according to another example embodiment of the invention. It will be appreciated that the Internet website or portal supported by the web portal interface 109 may facilitate the locating, viewing, and reserving of one or more available time slots at one or more charging stations for recharging an electric vehicle.
The service provider computer 104 and/or web portal interface 109 may also include or be in communication with one or more database(s) 182, according to an example embodiment of the invention. The database 182 may store, for example, access information (e.g., customer username, password, etc.), reservation and availability information for one or more charging stations, reservation confirmations and codes, payment information/instructions, and the like. The database 182 may also store rate and pricing information, which may be set by a utility provider based upon the time of day and/or actual or expected demands or loads. It will be appreciated that yet other information received from or provided to customers or utility providers may be stored in the database 182, according to an example embodiment of the invention. Although a single database 182 is referred to herein for simplicity, those skilled in the art will appreciate that multiple physical and/or logical databases may be used to store the above mentioned data. For security and performance purposes, the service provider computer 104 may have a dedicated connection to the database 182. However, the service provider computer 104 may also communicate with the database 182 via a network 110, as shown. In other embodiments of the invention, the service provider computer 104 may include the database 182 locally. The service provider computer 104 may also otherwise be part of a distributed or redundant DBMS.
The charging station controller 106 may be any processor-driven device for controlling access or utilization of one or more charging stations, according to an example embodiment of the invention. The charging station controller 106 may include a processor 158, a memory 160, input/output (“I/O”) interface(s) 162, and a network interface 164. The memory 160 may be any computer-readable medium, coupled to the processor 158, such as RAM, ROM, and/or a removable storage device for storing data files 166 and a database management system (“DBMS”) to facilitate management of data files 166 and other data stored in the memory 160 and/or stored in separate databases. The memory 160 may store data files 166 and various program modules, such as an operating system (“OS”) 168, a database management system (“DBMS”), and a host module 172. The OS 168 may be, but is not limited to, Microsoft Windows®, Apple OSX™, Unix™, or a mainframe operating system. The host module 172 may receive, process, and respond to requests from the host module 140 of the service provider computer 104. In an example embodiment of the invention, the host module 172 of the charging station controller 106 can be used to communicate electronically with the service provider computer 104 and/or a financial processing computer, using network 110.
Still referring to the charging station controller 106, the I/O interface(s) 162 may facilitate communication between the processor 158 and various I/O devices, such as a keypad, touch screen, printer, microphone, speaker, monitor, bar code readers/scanners, magnetic card stripe readers, RFID or other wireless readers, and the like. The network interface 164 may take any of a number of forms, such as a network interface card, a modem, a wireless network card, and the like. It will be appreciated that while the charging station controller 106 has been illustrated as a single computer or processor, the charging station controller 106 may be comprised of a group of computers or processors, according to an example embodiment of the invention.
The network 110 may include any telecommunication and/or data network, whether public, private, or a combination thereof, including a local area network, a wide area network, an intranet, an internet, the Internet, intermediate hand-held data transfer devices, a publicly switched telephone network (PSTN), and/or any combination thereof and may be wired and/or wireless.
Generally, each of the memories and data storage devices, such as the memories 142, 128, 160 and the database 182, and/or any other memory and data storage device, can store data and information for subsequent retrieval. In this manner, the system 100 can store various received or collected information in memory or a database associated with one or more customer computing devices 103, service provider computers 104, and/or charging station controllers 106. The memories and databases can be in communication with each other and/or other databases, such as a centralized database, or other types of data storage devices. When needed, data or information stored in a memory or database may be transmitted to a centralized database capable of receiving data, information, or data records from more than one database or other data storage devices. In other embodiments, the databases shown can be integrated or distributed into any number of databases or other data storage devices. In one example embodiment, for security, the service provider computer 104 (or any other entity) may have a dedicated connection to the database 182, as shown; though, in other embodiments, the service provider computer 104 or another entity may communicate with the database 182 via a network such as the network 110.
Suitable processors, such as the processors 149, 126, 158 of the customer computing devices 103, service provider computers 104, and/or charging station controllers 106, respectively, may comprise a microprocessor, an ASIC, and/or a state machine. Example processors can be those provided by Intel Corporation (Santa Clara, Calif.), AMD Corporation (Sunnyvale, Calif.), and Motorola Corporation (Schaumburg, Ill.). Such processors comprise, or may be in communication with media, for example, computer-readable media, which stores instructions that, when executed by the processor, cause the processor to perform the elements described herein. Embodiments of computer-readable media include, but are not limited to, an electronic, optical, magnetic, or other storage or transmission device capable of providing a processor with computer-readable instructions. Other examples of suitable media include, but are not limited to, a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, a configured processor, all optical media, all magnetic tape or other magnetic media, or any other medium from which a computer processor can read instructions. Also, various other forms of computer-readable media may transmit or carry instructions to a computer, including a router, private or public network, or other transmission device or channel, both wired and wireless. The instructions may comprise code from any computer-programming language, including, for example, C, C++, C#, Visual Basic, Java, Python, Perl, and JavaScript. Furthermore, any of the processors may operate any operating system capable of supporting locally executed applications, client-server based applications, and/or browser or browser-enabled applications.
The system 100 shown in and described with respect to
In
Upon receiving and authenticating the identification information, payment information, the charging station controller 106 can enable the charging station to provide power from the power source 235 to the PEV 205 via the wireless or wired connection 230. In an example embodiment of the invention, the connection 230 may be representative of a power cord from the PEV 205 to an electrical outlet of the charging station 210, or vice versa. Indeed, the charging station controller 106 can control or manage an amount of power, a duration of charge, or a time of day of charge of a PEV 205. Additionally, as with the PEV controller 225, the charging station controller 106 may collect charging and/or usage data of the charging station 210 and/or of the PEV 205 that it charged. Likewise, the controller 106 may communicate with the controller 225 during battery charging. Additionally, in some aspects, the controller 106 may control the amount of the electricity provided to the battery 215.
As described earlier, there may be a power source 235 shown in
Turning now to
Following block 305, processing may proceed to block 310, where a requested location for a reservation can be determined. The requested location can also specify an acceptable distance or radius from the specified location for purposes of identifying one or more charging stations. The requested location for the reservation may have been received as part of the reservation inquiry at block 305. Alternatively, the requested location may have been previously received from the customer and stored, perhaps in database 182, during a registration process or during an update process associated with the reservation system. Likewise, the requested location could also have been received in a separate message or response following receipt of the reservation inquiry (e.g., in response to a website page prompting for a preferred location).
At block 315, a requested time frame for the reservation can be determined. The requested time frame can indicate one or more time ranges (e.g., 12 PM-2 PM, etc.) for one or more dates that are acceptable to the customer for charging an electric vehicle 205. The requested time frame for the reservation may have been received as part of the reservation inquiry at block 305. Alternatively, the requested time frame may have been previously received from the customer and stored, perhaps in database 182, during a registration process or during an update process associated with the reservation system. Likewise, the requested time frame could also have been received in a separate message or response following receipt of the reservation inquiry (e.g., in response to a website page prompting for a preferred time).
At block 320, a charging station that meets the requirements for the determined location can be selected. Indeed, block 320 can determine that a charging station is within the location preferences requested by the customer. As described herein, the charging station can be at a residential location, perhaps in a home/garage of the customer. Alternatively, the charging station can also be located in a publicly accessible area, such as a shopping center, a government center, and the like. In some embodiments, there may only be one charging station that meets the requirements or preferences of the customer. Alternatively, there may be more than one charging station that meets the requirements or preferences of the customer. It will be appreciated that while
Following block 320 is block 325. Block 325 may determine whether the selected charging station is available for at least a portion of the requested time frame. The availability of a charging station can be based upon actual or expected demand. For example, actual demand may be based upon whether any conflicting reservations have been made for any portion of the requested time frame. Alternatively, expected demand can be based upon an anticipated demand based upon particular dates, time frames, days of week, holidays, events, or the like. For instance, it may be expected that there will be a higher demand during weekends at an attraction such as a shopping mall, an amusement park, or the like. Likewise, there may be higher demand at public charging stations during daytime hours, but lower demand at residential charging stations during daytime hours. It will also be appreciated that the demand can be attributable not to simply a charging station, but also to one or more components associated with the charging station. For example, a single transformer or transformer group may service a plurality of charging stations in proximity to each other. Accordingly, the transformer or transformer group may experience a large load from certain charging stations. Accordingly, even though one charging station may be physically available, the use of other charging stations may place a large load on a transformer or transformer group (or other electrical components servicing the charging stations). Similarly, from a systemic perspective, an entire electrical grid may experience a high demand in peak hours versus non-peak hours. Thus, there may be considerations beyond a single charging station when determining whether a particular charging station will be made available for at least a portion of the requested time frame.
If block 325 determines that the selected charging station is available for at least a portion of the requested time frame, then one or more available time slots may be available for a customer to reserve, and processing may proceed to block 330. Block 330 may determine the associated cost for the available time slots at the selected charging station. The associated cost may be the same for the available time slot(s), or there may be at least two different costs associated with different time slots. The associated cost may vary, for example, by the time of day, or may vary based upon an actual or expected demand, as similarly described above. For example, a respective cost for a respective available time period may be determined based at least in part on an expected load to be experienced by a transformer that services the plurality of charging stations during the respective available time period. Indeed, the actual or expected demand can be used to set the associated rates and costs for the available time slots. In general, it is expected that higher-demand time slots will have a higher cost than lower-demand time slots, according to an example embodiment of the invention.
Following block 330 is block 335. Block 335 may alternatively be reached if block 325 determines that the selected charging station is not available for at least a portion of the requested time frame (or a sufficient portion or minimum acceptable amount). Block 335 may determine whether any additional charging stations should be analyzed to determine availability during any of the requested time frames. If so, then processing may return to block 320, where another charging station may be selected. Otherwise, processing may proceed to block 340.
At block 340, the information about any available time slots and associated costs may be provided for review by the customer. As an example, the service provider computer 104 can utilize web portal interface 109 to deliver, via the Internet, a presentation of the available time slots and associated costs to an Internet browser or software application (e.g., mobile application or dedicated software application) of the customer computing device 103. The customer can then review the available time slots and/or associated costs for each available charging station.
At block 345, a reservation request can be received from the customer. The reservation request can identify the time slot to be reserved at a charging station. The reservation request can also specifically identify which charging station is being selected if a plurality of charging stations were presented for selection. Upon receiving the reservation request, block 350 may determine whether a deposit or payment/prepayment, or information associated therewith, is required to complete the reservation request. Block 350 may make this determination based upon:
If block 350 determines that deposit or payment/prepayment, or information associated therewith, is required to complete the reservation request, then processing may proceed to block 355. At block 355, the actual deposit or payment/prepayment, or information associated therewith, may be obtained from the customer. For example, the customer may provide financial instrument information to the service provider computer 104 via a website/webpage supported by web portal interface 109. In another example embodiment, the service provider computer 104 may already have access to financial instrument information of the customer in order to complete the deposit or payment/prepayment. The financial instrument may be associated with a credit card, a debit card, a checking account, a savings account, a personal payment account (e.g., PayPal, etc.), or a prepaid account with the reservation system, according to an example embodiment of the invention. Accordingly, the financial instrument information may be, for example, (i) an account number, expiration date, and/or security code (for a credit card/debit card), (ii) an account number and routing number (for a deposit account such as a checking or savings account), or (iii) an account identifier (e.g., username, email address, telephone number, etc.) and/or account number for a personal payment account or prepaid account. At block 355, the service provider computer 104 can direct processing of the deposit or payment/prepayment. For example, the service provider computer 104 or another associated financial processing computer can deliver an authorization request or a debit request to a credit card processing network, an ATM/deposit account processing network, or another financial processing network or switch. The service provider computer 104 can then receive a response indicating whether the deposit or payment/prepayment has been authorized or approved. If the deposit or payment/prepayment has not been authorized or approved, the service provider computer 104 can communicate with the customer computing device 103 to receive and process alternative financial instrument information to complete the deposit or payment/prepayment.
Following block 355 is block 360. Block 360 may alternatively be reached if block 350 determines that deposit or payment/prepayment, or information associated therewith, is not required to complete a reservation request. At block 360, the selected time slot at the selected charging station may be reserved for the customer. The service provider computer 104 can then deliver a reservation confirmation to the customer computing device 103. For example, the service provider computer 104 can utilize web portal interface 109 to deliver, via the Internet, a presentation of the reservation confirmation to an Internet browser or software application of the customer computing device 103. Alternatively, the reservation confirmation can be in the form of an email, a text message, or the like. In some example embodiments of the invention, the reservation confirmation can further include a reservation code. The reservation code can be a code that is unique for a customer and/or a particular reservation that is confirmed. The reservation code may need to be entered by the customer in order to activate or use a charging station 210 to recharge a battery 215 of the electric vehicle 205, according to an example embodiment of the invention. In an alternative embodiment, the reservation code can be delivered directly to a wireless card or device of the customer that can be wirelessly retrieved or received by the charging station controller 106. The process may end following block 360.
Turning now to
Following block 405 is block 410. Block 410 may determine whether a confirmed reservation is needed to utilize the charging station 210. If a reservation is needed, then processing may proceed to block 415. At block 415, the charging station controller 106 may request and receive reservation information from the customer. As an example, the user may enter the previously received reservation code on the keypad, touch screen, or other input interface (e.g., wirelessly via a smart phone) to the charging station controller 106. Alternatively, at block 415, the charging station controller 106 may access the reservation information based upon customer information or a customer ID. As an example, the charging station controller 415 may have previously received, perhaps from the service provider computer 104, reservation information that was stored in conjunction with customer information or a customer ID. Alternatively, the charging station controller 106 may communicate with the service provider computer 104 and/or the database 182 to obtain the reservation information.
Following block 415, processing may proceed to block 420. Block 420 may determine whether the reservation can be confirmed based upon the reservation information. For example, block 420 can determine whether the received reservation information matches the required reservation information. If block 420 determines that the reservation information has been confirmed, then processing may proceed to block 435 discussed below. As another example, block 420 can determine whether the reservation information was successfully retrieved based upon the customer information or customer ID.
On the other hand, if the received reservation information cannot be confirmed at block 420, then processing may proceed to block 425. Block 425 may determine whether to allow the customer to retry by resubmitting reservation information (or customer information/customer ID if the reservation information is being looked up based upon the customer information/customer ID). Block 425 may have a predetermined number of retries available to the customer. If block 425 determines that the customer can resubmit reservation information, then processing may return to block 415. Otherwise, processing may proceed to block 430, where the customer may be denied activation of or access to the charging station 210.
As discussed above, block 435 may be reached if block 420 confirms the reservation or reservation information. Block 435 determines whether payment is required. For example, block 435 may determine that a prior deposit, payment, or prepayment was already received such that no additional payment is needed. If block 435 determines that payment is required then processing may proceed to block 440, where payment can be received from the customer. For example, the customer can provide payment information that identifies a financial instrument to be used for the payment. Upon receiving the payment information, the charging station controller 106 can then process the payment. For example, the charging station controller 106 can deliver an authorization request or a debit request to a credit card processing network, an ATM/deposit account processing network, or another financial processing network or switch. Alternatively, the charging station controller 106 can communicate the payment information to the service provider computer 104, which can perform the aforementioned authorization request or debit request.
At block 445, a payment response may be received from a financial processing network and/or the service provider computer 104 with the results of the financial processing. If an approved response has been received or if the payment or payment authorization has been confirmed, then processing may proceed to block 450, where the charging station 210 can be activated to allow the customer to recharge the electric vehicle 205, according to an example embodiment of the invention. Otherwise, processing may proceed to block 430, where the customer may be denied activation of or access to the charging station 210. The process 400 may end following block 450.
Various embodiments of the invention may include one or more special purpose computers, systems, and/or particular machines that facilitate the network communications with various network devices. A special purpose computer or particular machine may include a wide variety of different software modules as desired in various embodiments. As explained in greater detail below, in certain embodiments, these various software components may be utilized to facilitate communications between one or more entities, including a customer, service provider, charging station, and utility company. Additionally, these various software components may be utilized to support reservations of charging stations for electric vehicles.
The invention is described above with reference to block and flow diagrams of systems, methods, apparatuses, and/or computer program products according to example embodiments of the invention. It will be understood that one or more blocks of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, respectively, can be implemented by computer-executable program instructions. Likewise, some blocks of the block diagrams and flow diagrams may not necessarily need to be performed in the order presented, or may not necessarily need to be performed at all, according to some embodiments of the invention.
These computer-executable program instructions may be loaded onto a general purpose computer, a special-purpose computer, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram 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 that implement one or more functions specified in the flow diagram block or blocks. As an example, embodiments of the invention may provide for a computer program product, comprising a computer usable medium having a computer-readable program code or program instructions embodied therein, said computer-readable program code adapted to be executed to implement one or more functions specified in the flow diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide elements or steps for implementing the functions specified in the flow diagram block or blocks.
Accordingly, blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, can be implemented by special-purpose, hardware-based computer systems that perform the specified functions, elements or steps, or combinations of special purpose hardware and computer instructions.
While the invention has been described in connection with what is presently considered to be the most practical and various embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined in the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.