Embodiments of the invention generally relate to information technology (IT), and, more particularly, to traffic management.
Transportation is an area requiring attention for many of the world's cities. In situations where intelligent transportation systems (ITS) are used in an effort to manage traffic, city authorities often need to decide what sensors to use to get traffic data for traffic in the region. Multiple approaches exist, varying in accuracy, coverage and cost to install and maintain. Accordingly, a city or other entity can make an initial decision, but with existing approaches, that decision will need to be continually re-visited over time as traffic patterns and technology changes.
Also, existing approaches include merely selecting one sensor method (for example, global positioning system (GPS)) and ignoring other sensing data. Additionally, challenges arise in existing approaches when traffic is mixed and its movement is chaotic. Accordingly, a need exists for a technique incorporating sensors with high coverage, high-accuracy, low-cost, and maintainability.
In one aspect of the present invention, techniques for traffic sensor management are provided. An exemplary computer-implemented method for selecting a subset of at least one traffic sensor can include steps of modeling multiple sensor types to generate at least one sensor model, creating a sample space of at least one sensor combination of multiple sensors, modeling traffic movement of a region, running a traffic simulation based on the at least one sensor model, the sample space of at least one sensor combination and traffic movement of the region, wherein the traffic simulation generates multiple candidate sets of sensors, and selecting a subset of the multiple sensors based on the multiple candidate sets of sensors.
Another aspect of the invention or elements thereof can be implemented in the form of an article of manufacture tangibly embodying computer readable instructions which, when implemented, cause a computer to carry out a plurality of method steps, as described herein. Furthermore, another aspect of the invention or elements thereof can be implemented in the form of an apparatus including a memory and at least one processor that is coupled to the memory and operative to perform noted method steps. Yet further, another aspect of the invention or elements thereof can be implemented in the form of means for carrying out the method steps described herein, or elements thereof; the means can include (i) hardware module(s), (ii) software module(s), or (iii) a combination of hardware and software modules; any of (i)-(iii) implement the specific techniques set forth herein, and the software modules are stored in a tangible computer-readable storage medium (or multiple such media).
These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
As described herein, an aspect of the present invention includes subset selection of traffic sensors for a given traffic pattern. As detailed herein, an IT driven approach, such as in an embodiment of the invention, can incorporate asset management (for example, indicate what vehicles certain organizations own), as well as sensing what vehicles are moving on the roads. Such techniques also increase supply side (roads, vehicles) and demand side (commuting needs) efficiency to overcome demand—supply mismatches, and make roads safer.
In contrast to existing approaches, aspects of the present invention include providing guidance on what sensors to consider, as well as how to select sensors based on factors such as sensor characteristics, simulation of various sensors, selection method, etc. For instance, sensor readings can be considered from different types of sensors (for example, manual, GPS, video, call data record, mobile) at various locations.
Additionally, an aspect of the invention includes preference-driven selection of sensors, as cities or entities may have different preferences based on where they are in an intelligent transportation system (ITS).
Accordingly, as described herein, an aspect of the invention includes determining a subset of sensors from available types that provide a suitable cost-benefit outcome for a given traffic pattern. An embodiment of the invention also includes facilitating selection of future sensors given the information and sensors that are already present.
In one or more embodiments of the invention, sensor types can be modeled based on cost, accuracy and coverage. A sample space of sensor combination choices can be created, and a traffic simulator can be used to measure the sensing error distribution entailed in each sensor combination and to ensure physical characteristics of the city are taken into account. An aspect of the invention also includes choosing Pareto sensor combinations (non-dominated), which can be referred to herein as an optimal candidate set (OCS).
At least one embodiment of the invention additionally include filtering steps such as, for example, removing combinations above a give cost threshold and removing combinations above an error threshold.
According to an embodiment of the invention, for a given set of ‘k’ optimal combinations to be returned (wherein ‘k’ is a number of choices sought), a preference function is selected and OCS selection is carried out using Integrated Convex Preference (ICP) approximation. An aspect of the invention then returns ‘k’ optimal sensor combinations. If a traffic pattern does not change, selecting sensor choice over time can be done on an OCS without re-generating the OCS.
The techniques detailed herein consider both established means of sensing traffic (for example, GPS and video cameras), acquired data from low-cost phones (that is, Call Data Record (CDR)) that have high coverage but give traffic data at coarse granularity, and ground truth. An aspect of the invention includes modeling each sensor's data extraction error, coverage and cost for sensing. Additionally, using a standard traffic simulator, the tradeoffs in using different sensor choices under different sensing configurations and traffic patterns are evaluated.
As described herein, data from CDRs of low-cost phones can complement sensors due to their high-coverage and low-cost despite inherent errors, and a prescriptive method can provide optimal sensor subset selection for a traffic condition. As noted, such a method can include modeling sensor types based on cost, accuracy and coverage, creating a sample space of sensor combination choices, and using a traffic simulator to measure the sensing error distribution entailed in each sensor combination and to ensure physical characteristics of the city are taken into account. Such techniques can also include choosing Pareto-optimal combinations of sensor choices (that is, non-dominated), referred to herein as an optimal candidate set (OCS), and storing and retuning OCS as the output set.
Additionally, in at least one embodiment of the invention, OCS can be filtered to remove combinations above a give cost threshold, to remove combinations above an error threshold, etc.
Traffic can be sensed by multiple methods in this region. In the instant example, ground truth conveyed by humans as they are riding the vehicles1 (I1) is considered, via video sensors that are placed on the road side (I2), and by using data from mobile phone usage such as CDR, as people carry their phones while they move in the region (I3).
As shown in
Accordingly, using the available information, an aspect of the invention includes an interest in what overall view of traffic can be provided. Note that in the absence of any systematic sensing effort, there may be already background information from surveys about how fast vehicles move in the particular city. As such, an issue becomes how accurate traffic information may be obtained beyond the background information with sensing technologies.
As detailed herein, an aspect of the invention includes improving sensing accuracy with an increase in the number of sensors, as well as improving sensing accuracy with an increase in the types of sensors used. Moreover, another aspect of the invention determines, if more sensors are placed in the region within a given budget, the type and quantity for the additional sensors. This is referred to herein as the sensor subset selection problem.
As described herein, Matsim is a multi-agent, open source tool used to design and run traffic oriented simulations for large networks.
Matsim utilizes a modular approach wherein default modules can be replaced for aspects such as traffic data, coordinate system and road network, visualization and comparison of strategies. New modules can also be added.
The input to Matsim includes a network file which specifies the nodes and links representing the roads of a city region, a plan file representing the vehicles modeled as agents in the region with their source and destinations, and travel requirements, and a network configuration file representing how the vehicles' speed may change over time. The tool supports event-driven simulation. When the plan is in execution, the simulator processes the events, evaluates the path options for agents and ranks them using scoring functions. At least one embodiment of the invention considers the agent as a vehicle and chooses plans which get executed. This may trigger more events whereby the process repeats.
In further description of
In creating a plan, the behavior of an agent is fully determined through its plan. An agent holds an activity plan and it extracts the information required by the simulation out of this plan. An embodiment of the invention includes using Djikstra's algorithm (called ReRoute Djikstra) to dynamically find paths (plan) in the network. In a plan, an agent has information about (i) departure location, (ii) departure time, (iii) arrival location and (iv) arrival time (required only if the agent is en-route). In creating a network configuration, an aspect of the invention includes initializing the links (roads) with default speed. To change the speed during simulation, one can specify the starting time, the link identifier and the scale factor by which speed changes over time.
The plan execution module 204 includes, after setup, initiating the execution of plans which will lead to agent committing to routes and events getting processed, leading to further re-routing and events getting generated. Agent routing determines paths for agents, scores their choices, and for each agent, commits to the best determined plans. The selected plans trigger new events which the simulator tracks. In processing events, there are various event types in Matsim related to when an activity ends, an agent departs from origin, waits at a link, leaves a link, enters a link and arrives at destination.
As illustrated in
In building profiles for sensors, as noted earlier, there is a rich set of traffic sensors available for selection. The sensors can be broadly classified into those which are stationary and can be installed along roads, and those which are movable and thus can be available on vehicles moving in the city. By way of example, consider the following sensors.
Manual methods include humans observing traffic and reporting the measurements. Historically, a transportation community has obtained volume data by recruiting field staff to count traffic passing through a reference point. Manual sensing can be considered the ground truth and an example of stationary sensing. Manual sensing can be very precise but very costly to arrange, and the coverage may be low.
Video camera based methods includes a video camera continuously monitoring the lanes of a road. This raw feed is analyzed using software to identify number of vehicles in the video as well as their speeds. Video cameras are typically mounted on poles or structures above or adjacent to the roadway, and are thus stationary sensors. Video Camera based methods are expensive to install and operate, and need extensive computation. However, they are accurate in non-cloudy weather and when traffic is fairly homogeneous and moves in lanes.
GPS based methods include the use of a device mounted on vehicles to track their location and relaying this data to a server. The server can process the speed of vehicles reporting their data as well calculate aggregate traffic volume information. GPS devices use global navigation satellites for accurate reporting which works well in open areas. The devices are costly and not all vehicles may adopt it due to privacy or energy consumption considerations. This is a form of movable sensing.
Mobile phone based methods include people driving their vehicles and carrying their mobile phones. To support these phones, telecommunication companies (telcos) track phones at the granularity of cells to provide basic mobile coverage. The cell information can be analyzed to find how people are moving in space and time at a coarse level of granularity. There are many sub-technology choices, viz., measuring signal strength, requiring people to call and CDRs to be generated, which impose varying level of additional expenditure for the telcos but can deliver increased accuracy. Mobile phone based methods are inexpensive and can provide wider coverage, but the speed calculated using them can contain errors. This is a form of movable sensing.
Table II displays profiles of the sensors based on their error, cost per reading and spatial coverage.
With respect to error, every sensor has its own characteristics and Table II provides a given typical error with the methods. With respect to cost per reading, a sensor reading has many components, such as, for example, the cost to set up the sensor, the cost to read the raw value, the cost to collect the data and the cost to convert it to traffic data (for example, speed). Table II shows relative cost. Note that manual data has high sensor placement cost while video and GPS have upfront installation costs. GPS has a high data collection cost while video and mobile have high analysis cost.
With respect to coverage, every sensor generates a reading for a particular road link. Moreover, in Mobile/CDR, traffic data can be obtained for link neighborhoods.
As also illustrated in
According, sensor modeling module 206 includes the following capabilities. In determining a speed calculation, the event extracted information from agent route management includes time, event type, vehicle identifier, and link identifier. Whenever there is an event (e1) of ‘leaves a link’ event type for vehicle (v1), link (l1) and time (t1), an aspect of the invention extracts the event (e2) of ‘enters a link’ event type for vehicle v1 and link l1. If multiple events of ‘enters a link’ type of person v1 and link l1 are obtained, then an aspect of the invention uses the one with the latest timestamp and calls that timestamp t2. The distance information for the link l1 is extracted from the system setup module 202.
Denote distance for link l1 as d1. Using the time and distance information, an aspect of the invention can calculate the speed (s1) of a vehicle v1 on link l1 as:
Now an aspect of the invention can create speed information using speed s1, link l1 and vehicle v1.
In determining or calculating sensors information, behavior and information extraction has already been carried for the vehicle. For speed information, an aspect of the invention includes determining if this reading is observable or hidden. Sensors are present on select links and vehicles. Accordingly, both the cases will be checked using speed information. If sensor is found, the sensor profile is used to calculate the sensed reading. The Gaussian function can be used to calculate the error for the sensed reading. In case of coverage, the reading from the nearest sensor has higher accuracy.
In extracting speed from sensor information, for speed information, the speed is determined through sensor sensed reading. If redundant sensor readings are available, the sensor reading which has least sensor type error is first selected. If no reading is available, the default network speed is used.
In calculating statistics, various statistics are calculated using the actual and sensor extracted information for every event. Statistics can include, for example, for a given interval of time (for example, an hour), maximum speed, minimum speed, maximum volume, and minimum volume.
The techniques detailed herein can additionally include, for a given number k, an optimal approximation of OCS is returned. This can include selecting a preference function, as well as performing OCS selection using ICP approximation. Also, an aspect of the invention includes selecting k subsets of traffic sensors when OCS and a belief distribution are given. Further, another aspect of the invention includes optimally extending the sensors in a region given a current sensor layout via modeling current traffic conditions in a simulator and determining sensor combinations for new cost/error thresholds.
Accordingly, as detailed herein, an embodiment of the invention includes determining a preferred sensor combination subset. In at least one embodiment of the invention, the methodology is dived in two parts. The first part determines a frontier sensor combination subset from the sensor combination space. The second part uses the objective criteria on the frontier sensor combination subset to determine the preferred sensor combination subset. A frontier acts as basis to select a decision and objective criteria factors act as a model to provide the preferences.
The basis to choose a right decision is solved by Pareto Dominance. At least one embodiment of the invention includes using the Integrated Convex Preferences (ICP) to to provide the preferences.
Pareto Dominance determines a non-trivial set which satisfies the specific criteria. Let N be the set of positive integers. For nεN, Rn is the n-dimensional Euclidean space. Let R=UnεNRn be the set of finite dimensional vectors of real numbers. Let xεR, and the dimension of x is denoted by dim(x). As such, x is Pareto Dominance of ydim(x)=dim(y) and xi<=yi for all coordinates i. Pareto Dominance finds the non dominated solutions by eliminating all of the y in a given set.
Integrated Convex Preference (ICP) has been used to measure the quality of a solution set in a wide range of multi optimization problems. To calculate the ICP function, the user needs to specify a probability distribution h(α) of parameter α such that ∫αh(α)dα=1 and a function f(pi, α): S→R (where S is the solution space) combines different objective functions into a single real valued quality measure for solution p. The ICP value of the solution set P is a subset of S is defined as:
where w0=0, wk=1 and pi=argminpεPf(p,w)∀wε[wi-1,wi].
In other words, w [0,1] is divided into non overlapping regions such that in each region (wi-1,wi) there is a single solution piεP that has better f(pi, α) value than all other solutions in P. The ICP(P) can be interpreted as the expected utility value of the best solution of P using the probability distribution h(α) on the trade off value α.
Additionally, an aspect of the invention includes using a preference model for sensor combination. Pareto Dominance and ICP are used to create an algorithm, and these approaches are also modeled for sensor combination. As noted above, Pareto Dominance is used to find out the Non-Dominated Pareto solutions. In a general case of Pareto Dominance, this has been described using n dimension. But in this detailed example, a city administrator mentions two dimensional as cost and root-mean-square error (RMSE). Accordingly, Pareto Dominance can be defined as “Let A and B be a sensor combination, and A can be said as dominated by B if costA<costB and RMSE-A<RMSE-B.”
A sensor combination set can be reduced by using the Pareto Dominance. Factors can also be incorporated to reduce the space using ICP.
In, ICP the user need to specify the objective function which is defined as:
f(pi,α)=(α×Costp
where
Costp
where constant are in the range of αε[0, 1] and βε[0, 1].
An aspect of the invention includes using the ICP in sequential approach to determine the k solution set.
As also noted above, an aspect of the invention includes an algorithm using the Pareto Dominance and ICP. The algorithm determines the preferred sensor combination subset. The algorithm in
As noted, the Pareto Dominance is used to determine the non-dominated sensor combination subset. Also, ICP determines the preferred sensor combination subset. Let S be the set of all sensor combination set given as input. An aspect of the invention includes creating a sensor combination subset Q which contains non-dominated solutions.
As seen in algorithm 302 in
A preferred sensor combination subset is determined from the sensor combination set detailed above. It implies a sensor combination set is required for computing a preferred sensor combination subset for a city scenario. A sensor combination set can have information regarding the cost and RMSE. A Matsim traffic simulator with a sensor notion module determines the cost and RMSE for a sensor combination. A Matsim simulator with a sensor notion module is referred to herein as SMatsim. SMatsim is an event-driven simulator and requires specifying the inputs. System integration preference approaches with SMatsim can be used to create a system for a city administrator or similar entity. The framework, in at least one embodiment of the invention, is divided into three parts as input, sensor modeling, and sensor combination selection as shown in
Accordingly,
The map input 402 includes a network file which specifies the nodes and links representing the roads of a city region, a plan file representing the vehicles modeled as agents in the region with their source and destinations, and travel requirements, and a network configuration file representing how the vehicles speed may change over time. During execution of a plan, the simulator processes the events, evaluates the path options for agents and ranks them using scoring functions.
With sensor models 404, there are various types of sensors, and each sensor type has a specific set of characteristics. These characteristics define the condition in which the sensors perform the best and present the most promising results. As noted above, traffic sensors can be broadly classified into two categories: stationary and movable. The model of sensors includes characteristics of the sensors.
Sensor combination space 406 includes various sensor combinations that can be created using various sensor types available. The sensor combination is defined as the percentage of sensors available for the given network and vehicles. There are various approaches to define the sensor combination space. By way of example, an embodiment of the invention includes using the approach in which permutations are created by changing the percentage of sensors by a discrete value. Then, a combination space can be created by using all of the permutations possible for all of the sensor types.
As also depicted in
The sensor modeling module 408 checks the integrity of the input map files. Based on the input map files, an aspect of the invention creates the tuple of <sensor, location>. After having the tuple space, SMatsim is run.
In extracting a region, the maps include network, plan and network change information. Network information includes nodes and links. Plan information includes source and destination. Using this information, an aspect of the invention checks that the plan is feasible given the network. If a discrepancy is found, the corresponding plan will be removed from further consideration. A similar process is adapted for the network. If some link or node has been found which is not used by any plan, those links and/or nodes will be removed from further consideration. Given the proper network, its integrity is checked with the network change. If any network change is found not to be used, that information will be removed from further consideration. After doing these integrity checks, the remaining content in the network, plan and network change will be called a region.
In creating a sensor tuple, the input sensor combination from the sensor combination set is mapped with a region. To have integration, an aspect of the invention defines the tuple as <sensor, location>. Location is of two types: vehicle and link due to two types of sensor categories (stationary and movable), as described herein. So the tuple will be <sensor, person> if the sensor is movable and <sensor, link> if the sensor is stationary.
For a particular sensor combination, an aspect of the invention includes creating a tuple space. Tuple space is composed of all of the tuple possible given the percentage of the sensors of each type. The allocation of sensors to a location is chosen randomly. To neutralize the impact of randomness, multiple tuple spaces are created for a particular sensor combination. Statistics of a particular sensor combination can be calculated by averaging the results driven by multiple tuple space.
After getting region and tuple spaces, the SMatsim can be run. After the execution of SMatsim on a configuration, an aspect of the invention outputs statistics. Accuracy (RMSE) and number of times each sensor got triggered can be used as statistics in this system.
Additionally, the results are consolidated, and the preference approaches are run to determine the preferred sensor combination subset. The statistics results can be summarized for a sensor combination from all tuple spaces and the cost of installation and maintenance can be calculated for the sensor using the trigger information from the sensors. The installation cost and maintenance cost is determined by number of trigger occurring on a sensor.
After determining the various parameters for each sensor combination, an aspect of the invention includes applying preference approaches to determine the preferred sensor combination subset (for example, using the algorithm described herein). The utility function is given as input to the ICP approach. A relevance factor can be calculated by determine the range of a sensor combination in ICP where it has the highest value for f function.
By way of example, for a city, a grid is chosen in the illustration. From selection of sensors, a sensor model is created which is a data structure in the simulator corresponding to each sensor type. Its information is the same as what is captured in Table II, for example. The sensor combination space is automatically created based on a scheme of mixing sensor types. First, a number (N) of sensors per sensor type is chosen. Then, each sensor type is varied from 0 to 1 (as a fraction of N) in the increment of 0.1, which can also be expressed as a percentage. The entire set of combinations is referred to herein as the sensor combination choice.
A traffic pattern is the specific way traffic moves in a region. By way of example, consider three traffic patterns on the grid (and this is encoded in the simulator):
The traffic simulator module 508 provides an output to a Pareto-optimal candidate set (OCS) repository 510. The simulator calculates and outputs the sensing error (calculated, for example, by Root Mean Square Error) for a particular combination. The OCS from repository 510 can, in at least one embodiment of the invention, undergo solution filtering at solution filtering module 512 before being sent to OCS sensor subset selection module 516 (the OCS can also be sent without filtering) for selection of any number k. Additionally, a sensor choice or preference belief distribution 514 can also be provided to the OCS sensor subset selection module 516. The preference belief is an input. For example, some cities or entities may prefer lowest cost sensor combination while another may prefer lowest sensing error.
Step 608 includes running a traffic simulation based on the at least one sensor model, the sample space of at least one sensor combination and traffic movement of the region, wherein the traffic simulation generates multiple candidate sets of sensors. This step can be carried out, for example, using a traffic simulator module. Running a traffic simulation further includes measuring a sensing error distribution entailed in each sensor combination and ensuring at least one physical characteristic of a relevant location is taken into account.
Step 610 includes selecting a subset of the multiple sensors based on the multiple candidate sets of sensors. This step can be carried out, for example, using a sensor subset selection module. Selecting a subset of the multiple sensors based on the multiple candidate sets of sensors includes selecting a Pareto-optimal combination of sensor choices.
The techniques depicted in
Additionally, the techniques depicted in
The techniques depicted in
Additionally, the techniques depicted in
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in a computer readable medium having computer readable program code embodied thereon.
An aspect of the invention or elements thereof can be implemented in the form of an apparatus including a memory and at least one processor that is coupled to the memory and operative to perform exemplary method steps.
Additionally, an aspect of the present invention can make use of software running on a general purpose computer or workstation. With reference to
Accordingly, computer software including instructions or code for performing the methodologies of the invention, as described herein, may be stored in an associated memory devices (for example, ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (for example, into RAM) and implemented by a CPU. Such software could include, but is not limited to, firmware, resident software, microcode, and the like.
A data processing system suitable for storing and/or executing program code will include at least one processor 702 coupled directly or indirectly to memory elements 704 through a system bus 710. The memory elements can include local memory employed during actual implementation of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during implementation.
Input/output or I/O devices (including but not limited to keyboards 708, displays 706, pointing devices, and the like) can be coupled to the system either directly (such as via bus 710) or through intervening I/O controllers (omitted for clarity).
Network adapters such as network interface 714 may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
As used herein, including the claims, a “server” includes a physical data processing system (for example, system 712 as shown in
As noted, aspects of the present invention may take the form of a computer program product embodied in a computer readable medium having computer readable program code embodied thereon. Also, any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using an appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of at least one programming language, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The 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 or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, 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 flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. Accordingly, an aspect of the invention includes an article of manufacture tangibly embodying computer readable instructions which, when implemented, cause a computer to carry out a plurality of method steps as described herein.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, component, segment, or portion of code, which comprises at least one executable instruction for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It should be noted that any of the methods described herein can include an additional step of providing a system comprising distinct software modules embodied on a computer readable storage medium; the modules can include, for example, any or all of the components detailed herein. The method steps can then be carried out using the distinct software modules and/or sub-modules of the system, as described above, executing on a hardware processor 702. Further, a computer program product can include a computer-readable storage medium with code adapted to be implemented to carry out at least one method step described herein, including the provision of the system with the distinct software modules.
In any case, it should be understood that the components illustrated herein may be implemented in various forms of hardware, software, or combinations thereof; for example, application specific integrated circuit(s) (ASICS), functional circuitry, an appropriately programmed general purpose digital computer with associated memory, and the like. Given the teachings of the invention provided herein, one of ordinary skill in the related art will be able to contemplate other implementations of the components of the invention.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of another feature, integer, step, operation, element, component, and/or group thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
At least one aspect of the present invention may provide a beneficial effect such as, for example, determining a subset of sensors from available types that provide a suitable cost-benefit outcome for a given traffic pattern.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.