U.S. patent application number 14/587257 was filed with the patent office on 2016-06-30 for application-based commercial ground transportation management system.
The applicant listed for this patent is The City and County of San Francisco. Invention is credited to Eva Cheong, Angus Davol, Ian Law, Humphrey Loe.
Application Number | 20160189067 14/587257 |
Document ID | / |
Family ID | 56164612 |
Filed Date | 2016-06-30 |
United States Patent
Application |
20160189067 |
Kind Code |
A1 |
Law; Ian ; et al. |
June 30, 2016 |
APPLICATION-BASED COMMERCIAL GROUND TRANSPORTATION MANAGEMENT
SYSTEM
Abstract
A management system for a Permitting Authority (PA) or its
appointed designee to monitor and track application-based
commercial ground transportation (ABCT) Provider activity through
the ABCT-Driver's mobile device, the ABCT-Provider's app, the
ABCT-Provider's computer systems, and the PA's
electronically-enabled geo-fence, all without the need for
specialized hardware such as transponders or other tracking
equipment. Each mobile communication device associated with an
ABCT-Vehicle continually transmits information to an ABCT-Provider
Information and Communications Technology ("ICT") System associated
with an ABCT-Provider when an application on the mobile
communication device is active. The information transmitted by the
mobile communication device enables the ABCT-Provider ICT System to
identify and monitor the ABCT-Driver's identity, the vehicle
information, the geographic locus, and/or the ABCT-Vehicle's
activity data.
Inventors: |
Law; Ian; (San Francisco,
CA) ; Loe; Humphrey; (San Francisco, CA) ;
Cheong; Eva; (San Francisco, CA) ; Davol; Angus;
(San Francisco, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
The City and County of San Francisco |
San Francisco |
CA |
US |
|
|
Family ID: |
56164612 |
Appl. No.: |
14/587257 |
Filed: |
December 31, 2014 |
Current U.S.
Class: |
705/34 |
Current CPC
Class: |
G06Q 10/06 20130101;
G06F 16/2322 20190101; H04W 4/021 20130101; G06Q 30/04
20130101 |
International
Class: |
G06Q 10/06 20060101
G06Q010/06; G06F 17/30 20060101 G06F017/30; G06Q 30/04 20060101
G06Q030/04; H04W 4/04 20060101 H04W004/04 |
Claims
1. A method comprising: receiving from a mobile device at a first
information system location information and transaction
information; accessing a data storage on which coordinates of a
geographical boundary have been stored; determining if the location
of the mobile device is within the geographical boundary; and
transmitting a message to a second information system when the
location of the mobile device is within the geographical
boundary.
2. A method according to claim 1, wherein the message comprises at
least one of the following: a vehicle identification, a driver
identification, a trip identification, a transportation company
identification, a license plate identification, and a
timestamp.
3. A method according to claim 1, wherein the message is
transmitted periodically.
4. A method according to claim 1, wherein the message is
transmitted upon request.
5. A computer program product, comprising a non-transitory
computer-readable medium having a computer-readable program code
embodied therein, the computer-readable program code adapted to be
executed by one or more processors to implement a method, the
method comprising: receiving from a mobile device at a first
information system location information and transaction
information; accessing a data storage on which coordinates of a
geographical boundary have been stored; determining if the location
of the mobile device is within the geographical boundary; and
transmitting a message to a second information system when the
location of the mobile device is within the geographical
boundary.
6. A system comprising a processor-based application, which when
executed on a computer, will cause the processor to: receive from a
mobile device at a first information system location information
and transaction information; access a data storage on which
coordinates of a geographical boundary have been stored; determine
if the location of the mobile device is within the geographical
boundary; and transmit a message to a second information system
when the location of the mobile device is within the geographical
boundary.
7. A method comprising: receiving from a mobile device at a first
information system information sufficient to identify an activity
occurring within a predefined geographical boundary; retrieving a
set of business rules from a business rule database; determining if
the business rules apply to the activity; calculating a fee based
on the business rule and the activity; and transmitting the
calculated fee information to a second information system.
8. A method according to claim 7, wherein the calculated fee
information comprises an invoice.
9. A method according to claim 7, wherein the activity comprises an
entry into the predefined geographical boundary, an exit out of the
predefined geographical boundary, a passenger pick up or a
passenger drop off.
10. A computer program product, comprising a non-transitory
computer-readable medium having a computer-readable program code
embodied therein, the computer-readable program code adapted to be
executed by one or more processors to implement a method, the
method comprising: receiving from a mobile device at a first
information system information sufficient to identify an activity
occurring within a predefined geographical boundary; retrieving a
set of business rules from a business rule database; determining if
the business rules apply to the activity; calculating a fee based
on the business rule and the activity; and transmitting the
calculated fee information to a second information system.
11. A system comprising a processor-based application, which when
executed on a computer, will cause the processor to: receive from a
mobile device at a first information system information sufficient
to identify an activity occurring within a predefined geographical
boundary; retrieve a set of business rules from a business rule
database; determine if the business rules apply to the activity;
calculate a fee based on the business rule and the activity; and
transmit the calculated fee information to a second information
system.
12. A method comprising: receiving from a mobile device at a first
information system a plurality of messages, wherein each message
includes at least a timestamp; comparing the timestamp of a first
message with a timestamp of a second message; generating an alert
when the difference between the timestamp of the first message and
the timestamp of the second message exceeds a threshold time
limit.
13. A computer program product, comprising a non-transitory
computer-readable medium having a computer-readable program code
embodied therein, the computer-readable program code adapted to be
executed by one or more processors to implement a method, the
method comprising: receiving from a mobile device at a first
information system a plurality of messages, wherein each message
includes at least a timestamp; comparing the timestamp of a first
message with a timestamp of a second message; generating an alert
when the difference between the timestamp of the first message and
the timestamp of the second message exceeds a threshold time
limit.
14. A system comprising a processor-based application, which when
executed on a computer, will cause the processor to: receive from a
mobile device at a first information system a plurality of
messages, wherein each message includes at least a timestamp;
compare the timestamp of a first message with a timestamp of a
second message; generate an alert when the difference between the
timestamp of the first message and the timestamp of the second
message exceeds a threshold time limit.
15. A method comprising receiving at a first information system a
vehicle identification; comparing said vehicle identification with
vehicle identification information received by the first
information system from a second information system, wherein said
vehicle identification information includes at least a license
plate number associated with a vehicle and a company associated
with the vehicle; generating a report if said vehicle
identification matches said vehicle identification information;
transmitting the report to a third information system.
16. The method according to claim 15, wherein the third information
system comprises a mobile device.
17. A computer program product, comprising a non-transitory
computer-readable medium having a computer-readable program code
embodied therein, the computer-readable program code adapted to be
executed by one or more processors to implement a method, the
method comprising: receiving at a first information system a
vehicle identification; comparing said vehicle identification with
vehicle identification information received by the first
information system from a second information system, wherein said
vehicle identification information includes at least a license
plate number associated with a vehicle and a company associated
with the vehicle; generating a report if said vehicle
identification matches said vehicle identification information;
transmitting the report to a third information system.
18. The computer program product according to claim 17, wherein the
third information system comprises a mobile device.
19. A system comprising a processor-based application, which when
executed on a computer, will cause the processor to: receiving at a
first information system a vehicle identification; comparing said
vehicle identification with vehicle identification information
received by the first information system from a second information
system, wherein said vehicle identification information includes at
least a license plate number associated with a vehicle and a
company associated with the vehicle; generating a report if said
vehicle identification matches said vehicle identification
information; transmitting the report to a third information
system.
20. The system according to claim 19, wherein the third information
system comprises a mobile device.
21. A method comprising receiving at a first information system a
plurality of messages from a second information system, wherein
each message is associated with an activity of a vehicle occurring
within a predefined geographical boundary; storing the plurality of
messages in a database associated with a first information system;
generating a list of one or more of the activities; and
transmitting the list to a third information system.
22. The method according to claim 21, wherein the third information
system comprises a mobile device.
23. The method of claim 21, wherein the list is dynamically updated
when a message is received at a first information system.
24. The method of claim 21, further comprising identifying vehicle
locations based on information contained in the plurality of
messages.
25. The method of claim 22, further comprising providing a map of
vehicle locations.
26. A computer program product, comprising a non-transitory
computer-readable medium having a computer-readable program code
embodied therein, the computer-readable program code adapted to be
executed by one or more processors to implement a method, the
method comprising: receiving at a first information system a
plurality of messages from a second information system, wherein
each message is associated with an activity of a vehicle occurring
within a predefined geographical boundary; storing the plurality of
messages in a database associated with a first information system;
generating a list of one or more of the activities; and
transmitting the list to a third information system.
27. The computer program product according to claim 26, wherein the
third information system comprises a mobile device.
28. The method of claim 26, wherein the list is dynamically updated
when a message is received at a first information system.
29. The computer program product of claim 26, further comprising
identifying vehicle locations based on information contained in the
plurality of messages.
30. The computer program product of claim 29, further comprising
providing a map of vehicle locations.
31. A system comprising a processor-based application, which when
executed on a computer, will cause the processor to: receive at a
first information system a plurality of messages from a second
information system, wherein each message is associated with an
activity of a vehicle occurring within a predefined geographical
boundary; store the plurality of messages in a database associated
with a first information system; generate a list of one or more of
the activities; and transmit the list to a third information
system.
32. The system according to claim 31, wherein the third information
system comprises a mobile device.
33. The system of claim 31, wherein the list is dynamically updated
when a message is received at a first information system.
34. The system of claim 31, further comprising identifying vehicle
locations based on information contained in the plurality of
messages.
35. The system of claim 34, further comprising providing a map of
vehicle locations.
36. The system of claim 31, wherein the list includes at least one
of a list of vehicles currently within the predefined geographical
boundary; a list of all activities within the last hour; or a list
of all activities within the last day.
37. The system of claim 31, wherein the at least one list of one or
more activities is displayed on a graphical user interface.
38. The system of claim 37, wherein the graphical user interface
includes a query pane for receiving user input and a results pane
for displaying the results of the query.
39. A method comprising: receiving at a first information system a
message from a second information system wherein the message
includes information sufficient to identify an activity; retrieving
a set of business rules from a database; determining if the
business rules apply to the activity identified in the message;
calculating a fee based on the business rules and the activity;
transmitting the calculated fee information to the second
information system; receiving at the first information system
payment information from the second information system; and
transmitting the payment information to a third information
system.
40. A method according to claim 39, wherein the calculated fee
information comprises an invoice.
41. A method according to claim 39, wherein the activity comprises
an entry into the predefined geographical boundary, an exit out of
the predefined geographical boundary, a passenger pick up or a
passenger drop off.
Description
BACKGROUND
[0001] A new mode of online enabled application-based commercial
ground transportation (ABCT) has necessitated a new process for
airports or other geographically-defined authorities, or
"Permitting Authorities" (PA), to manage such transportation
activity.
[0002] Commercial transportation plays an important role in
carrying passengers to and from airports. Commercial transportation
includes taxicabs, limousines, busses, and shuttle vans. Commercial
transportation also includes ABCT--online enabled application-based
platforms used to connect passengers with drivers using their
commercial or personal non-commercial vehicles. ABCT-Providers
include what is known in the State of California as Transportation
Network Companies (TNCs). Commercial transportation to and from
airports is a lucrative business, with drivers typically earning
their highest fares overall on trips to and from airports.
[0003] State and local governments regulate the various modes of
commercial transportation on public roads, whereas airports
regulate their own roadways and commercial activity on their
property. Airports must maintain a safe and efficient use of their
roadways for the traveling public. Airports must also, as required
by federal law, be self sustaining. Airports, therefore, typically
issue Permits, leases, or other transactional instruments to
commercial ground transportation providers and charge periodic
fees, per-trip fees, or other charges to cover the costs to
maintain and regulate their roadways.
[0004] Traditionally, airports and other PAs have monitored,
charged, and managed commercial transportation providers and
vehicles through manual systems or permanently-affixed transponder
devices to track the movements of vehicles on airport roadways.
ABCT has presented a new challenge for airports and other PAs
because to place a transponder or other permanent tracking device
in a vehicle that is not always used for commercial transportation
would be impracticable. It may also be regarded as restrictive by
drivers whose private trips to an airport maybe tracked by the
transponder readers.
[0005] What is needed in the art is a way to regulate ABCT-Provider
activities within a PA such as an airport. Specifically, PAs need a
management system to monitor and track ABCT-Vehicles through a
mobile communication device without the need for specialized
hardware such as transponders and/or other tracking equipment.
SUMMARY OF THE INVENTION
[0006] The present invention is related to a management system for
a Permitting Authority or its appointed designee to monitor and
track ABCT-Provider activity through the ABCT-Driver's mobile
device, the ABCT-Provider's application ("app"), the
ABCT-Provider's computer systems, and the PA's
electronically-enabled geographic coordinates ("geo-fence"), all
without the need for specialized hardware such as transponders or
other tracking equipment. Each mobile communication device
associated with an ABCT-Vehicle continually transmits information
to an ABCT-Provider Information and Communications Technology
("ICT") System when an application on the mobile communication
device is active. The information transmitted by the mobile
communication device enables the ABCT-Provider ICT System to
identify the ABCT-Driver's identity, the vehicle information, the
geographic locus, and/or the ABCT-Vehicle's activity data.
[0007] Based on the data received from the mobile communication
device, the ABCT-Provider ICT System determines if the mobile
communication device is within a predefined geo-fenced perimeter.
If the mobile communication device is within the geo-fenced
perimeter, the ABCT-Provider ICT System generates a message
comprising at least one unique code and transmits the message to a
PA ICT System associated with a PA. The unique code includes at
least one driver ID and at least one ABCT customer trip transaction
code. The PA ICT System generates a report containing the unique
code and a vehicle ID and transmits the report to a compliance
officer. The PA ICT System may also, in some embodiments, transmit
the message to a PA financial server, wherein the PA financial
server generates an invoice for each ABCT-Provider activity taking
place within the geo-fence.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIG. 1 illustrates a system for managing an ABCT-Vehicle
based on location and activity data, according to an exemplary
embodiment of the present invention.
[0009] FIG. 2 illustrates a system for managing an ABCT-Provider
permitted activity on a PA property.
[0010] FIGS. 3A-3F illustrate graphic user interface (GUI) of a
compliance report, according to an exemplary embodiment of the
present invention.
[0011] FIG. 4 illustrates a management dashboard display, according
to an exemplary embodiment of the present invention.
[0012] FIG. 5 illustrates a reconciliation report, according to an
exemplary embodiment of the present invention.
[0013] FIG. 6 illustrates a system logical architecture design for
the principal message handling components of the PA ICT System.
[0014] FIG. 7 illustrates a system for managing the activity of
multiple ABCT-Providers at multiple PAs, according to an exemplary
embodiment of the present invention.
[0015] FIG. 8 illustrates a method for managing an ABCT-Vehicle
based on location and activity data, according to an exemplary
embodiment of the present invention.
[0016] FIG. 9 illustrates a method for billing an ABCT-Provider for
services rendered at a PA, according to one embodiment of the
present invention.
[0017] FIG. 10 illustrates a method for billing multiple
ABCT-Providers for services rendered at multiple PAs, according to
one embodiment of the present invention.
DETAILED DESCRIPTION
[0018] The present invention discloses systems and methods for a PA
to manage the activities of an ABCT-Provider.
OVERVIEW
[0019] An ABCT-Provider is a company that uses an online-enabled
platform to connect passengers with ABCT-Drivers who are using
their commercial or personal, non-commercial, vehicles to transport
passengers. The ABCT-Drivers communicate with ABCT-Providers and
passengers via mobile communication devices, such as a smart
phone.
[0020] Each mobile communication device associates an ABCT-Driver
with an ABCT-Vehicle and an ABCT-Provider though the use of an app
within the ABCT-Driver's communication device. The ABCT-Driver's
app communicates with the ABCT-Provider's ICT System. When active,
the application within the ABCT-Driver's mobile communications
device transmits the geographic location of the ABCT-Vehicle at
regular intervals to the ABCT-Provider. The ABCT-Provider uses this
information to show ABCT customers the location of nearby
ABCT-Vehicles.
[0021] The ABCT-Provider uses the most recent geographic
coordinates of the mobile communication device to determine whether
the mobile communication device is inside a PA's geo-fence. The
geo-fence may comprise one or more polygons whose vertices are
geographic coordinates based on a standard coordinates system for
the Earth such as WGS84. The ABCT-Provider ICT System transmits to
the PA ICT System associated with the geo-fence an information
message at regular intervals throughout the time that the
ABCT-Vehicle is within the PA's geo-fence. The use of multiple
geo-fence polygons provides the PA the ability to monitor and
manage the movement of ABCT-Vehicles within the PA's property.
[0022] The PA ICT System receives the information messages from
ABCT ICT System, which specifies ABCT-Provider activities on the
PA's property. The PA ICT System stores the ABCT-Provider
information messages. There are at least 5 different types of
information message. The message type is identified within the body
of each message: [0023] 1. PR--a Presence information message
signifies the vehicle is within a geo-fence. [0024] 2. EN--an Entry
information message is transmitted once on geo-fence entry. [0025]
3. EX--an Exit information message is transmitted once on geo-fence
exit. [0026] 4. DO--a Drop Off information message is transmitted
once when an ABCT-Driver closes a transaction i.e. collects a fare,
within the PA's geo-fence. [0027] 5. PU--a Pick Up information
message is transmitted once when an ABCT-Driver initiates a
transaction i.e. starts a trip, with an ABCT customer within the
geo-fence.
[0028] Based on a predetermined set of business rules, a PA ICT
System may generate a financial invoice for any of the activities
listed above and performed by an ABCT-Provider within a geo-fenced
perimeter.
[0029] In one embodiment, the active mobile communication device
app transmits to an ABCT-Provider ICT System a unique code with the
coordinates of the ABCT-Vehicle, which identifies to the
ABCT-Provider ICT System, both the specific identity of the
ABCT-Driver and the specific ABCT-Provider customer
transaction.
[0030] The ABCT-Provider ICT System generates a message comprising
the unique code, which ties both trip and driver, the ABCT ID, the
message type, the vehicle identity, the date and time and the
geographic coordinates to the PA ICT System. The PA Permit may
specify the format of the message contents that ABCT-Providers are
required to provide to the PA. The unique code allows the PA to
both validate the ABCT-Driver's identity with the ABCT-Provider and
authenticate the ABCT-Driver's trip at a curbside inspection.
[0031] The PA ICT System relays the vehicle identity and the
ABCT-Provider's unique code to the PA's compliance officers who
manage curbside enforcement of PA's ground transportation rules and
regulations. The compliance officer can compare and verify the
ABCT-Provider's unique code, provided by the ABCT-Provider's ICT
System, with the code presented on the ABCT-Driver's communications
device.
[0032] The PA ICT System also relays those information messages
which trigger transaction charges to the PA's financial engine. The
PA's financial engine collates individual ABCT-Provider transaction
information, reconciles the information with a predetermined set of
business rules for invoicing and issues invoices to the
ABCT-Provider.
[0033] In another embodiment, a third party such as a national or
regional clearinghouse may be used to manage transaction fee
collection from ABCT-Providers because deploying app-based ground
transportation management systems, as described above, in every PA
can be costly and inefficient to PAs and ABCT-Providers. A PA
provides geo-fence information to a third party which forwards
those data to participating ABCT ICT Systems. The ABCT ICT Systems
provide information messages to the third party ICT Systems
relating to activities within the geo-fenced perimeter of a
plurality of PAs. The third party aggregates all transaction data
relating to specific ABCT-Providers and issues invoices to
respective ABCT-Providers. The ABCT-Providers, in turn, provide
transaction fee payments for the invoices to the third party.
DEFINITIONS
[0034] "Mobile communication device", as used herein and throughout
this disclosure, refers to any electronic device capable of
wirelessly sending and receiving data. A mobile communication
device may have a processor, a memory, a transceiver, an input, and
an output. Examples of such devices include cellular telephones,
personal digital assistants (PDAs), portable computers, etc. The
memory stores applications, software, or logic. Examples of
processors are computer processors (processing units),
microprocessors, digital signal processors, controllers and
microcontrollers, etc. Examples of device memories that may
comprise logic include RAM (random access memory), flash memories,
ROMS (read-only memories), EPROMS (erasable programmable read-only
memories), and EEPROMS (electrically erasable programmable
read-only memories). Mobile communications devices may be built
into vehicles for the purpose of transmitting vehicle
geo-locational and other data.
[0035] "Communication channel", as used herein and throughout this
disclosure, refers to a wireless network, a wireline network, or
any network including a combination of wireless and wireline
network elements. A communication channel can include broadband
wide-area networks, local-area networks, and personal area
networks. Communication across a communication channel is
preferably packet-based; however, radio and frequency/amplitude
modulations networks can enable communication between communication
devices using appropriate analog-digital-analog converters and
other elements. Examples of radio networks include cellular (GPRS,
UMTS, TDMA, CDMA, etc.), Wi-Fi, BLUETOOTH.RTM. networks, etc., with
communication being enabled by hardware elements called
"transceivers." Some mobile communication devices may have more
than one transceiver, capable of communicating over different
networks. For example, a cellular telephone can include a GPRS
transceiver for communicating with a cellular base station, a Wi-Fi
transceiver for communicating with a Wi-Fi network, and a
positioning satellite receiver for receiving a signal from a
positioning satellite. A communication channel typically includes a
plurality of elements that host logic for performing tasks on the
telecommunication network. In modern packet-based wide-area
networks, servers may be placed at several logical points on the
telecommunication network. Servers may further be in communication
with databases and can enable communication devices to access the
contents of a database. A server can span several network elements,
including other servers in the telecommunication network.
[0036] "Geo-fence", as used herein and throughout this disclosure,
refers to a virtual perimeter on a geographic area, as defined with
standard geographic coordinates based on an standard coordinates
system such as WGS84, defined by a Permitting Authority, a service
provider, or a driver. A geo-fence is based on (Global Positioning
Satellite) GPS coordinates defined on a specific coordinates
system. A geo-fence can be any shape known in the art, such as for
example, a polygon defined by four points. In a telecommunication
network, a mobile communication device is location-aware in that it
usually is capable of estimating its geo-location by communicating
with local cell-sites and other network infrastructure. The mobile
device can make its geo-location data available to applications
running within the device. These applications can send/transmit
these data to applications/systems elsewhere. The mobile
communication device may respond with a notification, an
application, or interaction with connected hardware such as a smart
vehicle. For instance, geo-fences may be used to notify parents of
children leaving designated areas, shut down a vehicle before
entering a restricted area, etc.
[0037] An "activity" as used herein and throughout this disclosure,
includes being within a geo-fence, entering a geo-fenced perimeter,
exiting a geo-fenced perimeter, performing a pick-up service within
a geo-fenced perimeter or performing a drop-off service within a
geo-fenced perimeter.
[0038] FIG. 1 shows a system for monitoring the activity of a
driver associated with an ABCT-Provider, according to an exemplary
embodiment of the present invention. The system includes a mobile
communication device 120 associated with an ABCT-Driver
communicating with an ABCT ICT System 100 across a communication
channel 110. In one embodiment, each mobile communication device
comprises an app, wherein the app associates an ABCT-Driver to an
ABCT-Vehicle and an ABCT-Provider. The application communicates
with the ABCT ICT System via a communication channel 110.
[0039] The ABCT ICT System 100 comprises at least a geo-fence
database 104, a driver account database 106 and an activity log
database 108.
[0040] The geo-fence database 104 stores a plurality of geo-fences.
Each geo-fence defines a perimeter, entry to which is monitored and
controlled by a PA, and inside of which an ABCT-Provider pays a fee
for conducting business. In one embodiment, a plurality of
geo-fences can define a perimeter which is monitored and controlled
by a PA.
[0041] The driver account database 106 stores a plurality of driver
account information, which may include a unique ID associated with
the driver, driver's name, driver's social security number, and
driver's license number. Each driver account is linked to at least
one mobile communication device and at least one vehicle. In one
embodiment, the driver account database 106 can be invoked to
determine which driver is conducting business within the geo-fence
perimeter.
[0042] The activity log database 108 stores a log of the location
of the ABCT-Vehicle. In one embodiment, each activity performed by
a driver may also be stored in the activity log database. Such
activities may include: presence within a geo-fence, entry into the
geo-fenced perimeter, exit out of the geo-fenced perimeter, a
pick-up activity and a drop-off activity.
[0043] Each element in FIG. 1 can communicate with other elements
directly or indirectly, and can communicate with other elements
wired or wirelessly.
[0044] In accordance with a preferred embodiment, the ABCT ICT
System 100 receives a plurality of location information from each
mobile communication device 120. The location information is sent
from each mobile communication device on a periodic basis. For
example, a mobile communication device may send location
information to the ABCT-Provider ICT System every 5 seconds. In one
embodiment, activity information is also sent along with the
location information. The location information, information
associated with the mobile communication device, and/or the
activity information is stored in the activity log database
108.
[0045] The location information is determined at a GPS chip on
mobile communication device 120, by methods known in the art, such
as performing a signal strength triangulation from antennas nearby
mobile communication device 120. Logical elements on network such
as an LCS client, a GMLC server, SUPL server, are not shown, but
can be used to determine a precise location of device 120, by
methods known in the art. PAs may provide local Wi-Fi services to
enhance the accuracy of the geo-location data.
[0046] As each location information is received by the ABCT ICT
System 100, the monitoring logic means 102 determines if the
location of the mobile communication device is within a predefined
geo-fenced area. To that end, the monitoring logic means 102
references the stored geo-fence coordinates stored in the geo-fence
database 104 and compares them to the location information received
by each mobile communication device.
[0047] A messaging module 112 of the ABCT ICT System 100 generates
a message, in real-time, once the monitoring logic module 102
determines that the location of a mobile communication device is
within a geo-fence. According to an embodiment, the message
comprises a header including a driver ID, trip ID, ABCT ID, vehicle
license plate ID, activity time stamp, activity data, number of
users using the ABCT service associated with the activity data, and
geographic locus associated with the mobile communication device
within the geo-fence. To generate the message, the messaging module
112 may access the geo-fence database 104, the driver account
database 106 and/or the activity log database in 108 in order to
generate the message. In an embodiment, the message format is
provided in a format that adheres to the format defined in a PA
Permit.
[0048] In one embodiment, the messaging module uses the HTTPS
protocol to POST data associated with a permitted activity. The
activity data may be posted to a URL with the following URL
encoding employed:
https://216.9.96.29:8443/ABCT/services/audit?uid="<value>"&ABCT_id=-
"<value>"&licence_plate="<value>"×tamp="<value>"&tx-
n_type="<value>"&ride_count="<value>"&lon="<value>"&lat=-
"<value>".
[0049] The ABCT monitoring server 100 transmits the message, in
real-time, to a PA ICT System 114 for monitoring activities of the
drivers associated with the mobile communication device and for
billing via a communication connection 111. The PA ICT System 114,
in turn, generates an invoice for all the fees associated with the
activities provided by the ABCT-Provider within the geo-fenced
perimeter, and provides it to the ABCT-Provider for payment.
[0050] In another embodiment, the ABCT ICT System 100 transmits the
message, in real-time, to a third party such as a national or
regional clearinghouse, for invoicing. The third party, in turn,
generates an invoice for all the ABCT-Provider permitted activities
occurring within the geo-fence perimeter by the ABCT-Driver.
[0051] FIG. 2 shows a system for monitoring ABCT activity within
the perimeters of a geo-fence area, according to an exemplary
embodiment of the present invention. The system includes PA ICT
System 200 communicating with a data storage means 204 for storing
messages received from ABCT-Providers 202 via a communication
connection known in the art. In one embodiment, data is extracted
from the received messages and stored in a relational database. In
another embodiment, the messages are stored in the data storage as
data logs.
[0052] The PA ICT System 200 includes a data storage means 204
operatively connected to an analytic engine 210. Other components
of the PA ICT System 201 may include a real-time map module 206, a
compliance manager module 207, a management dashboard module 208,
and a reconciliation report module 209. Each module may generate
queries that involve retrieving data from the data storage 204 or
may automatically receive specified data from the data storage
204.
[0053] The PA ICT System 200 also includes a network interface 211
enabling each of a plurality of ABCT-Providers 202 to communicate
with the PA ICT System 200 through a communication connection known
in the art. Each time an ABCT-Provider 202 transmits a message to
the PA ICT System 200, via the network interface 211, the messages
may be stored in the data storage means 204. In one embodiment, the
messages are logged. In another embodiment, data from the messages
is extracted and segregated into functional areas for analytic
purposes. For example, data identifying the ABCT-Vehicle and the
activity may be collected and stored as tables that the PA ICT
System 200 maintains to describe each ABCT-Provider 202 activity
within the geo-fenced area.
[0054] The real-time map module 206 may automatically receive data
relating to the location of an ABCT-Driver each time a message is
received by the PA ICT System 200. In one embodiment, each time a
message is received from an ABCT-Provider 202 and stored in the
data storage means 204, the license plate, longitude and latitude
information contained in the message is transmitted to the
real-time map module 206. In a preferred embodiment, the real-time
map module 206 has a map of the geo-fence perimeter and is overlaid
with icons representing the real-time location of the ABCT-Drivers.
The real-time map module 206 updates a map with the received
information. In one embodiment, the icons are color coded based on
which ABCT-Provider 202 they are associated with. Additionally, a
user may be able to click or select the icon, such that additional
information is displayed, such as driver ID, license plate number,
or an associated ABCT-Provider.
[0055] The compliance module 207 may generate a report comprising
the transaction history of all ABCT-Provide r202 activities within
a geo-fenced perimeter. The report may be generated in real-time,
and may also comprise transaction history of ABCT-Provider 202
activity within a specified time period. For example, the report
may include transaction histories of ABCT-Provider 202 activities
within the last hour or within the last day. In one embodiment, the
report may include the date and time range each ABCT-Provider 202
vehicle has been within the geo-fenced perimeter, the ABCT ID, the
license plate number of the ABCT-Vehicle, and the activity the
ABCT-Vehicle is engaged in. For example, one entry in the report
may indicate the following information for a vehicle associated
with the ABCT-Provider 202 that was in the geo-fenced perimeter:
the vehicle was in the geo-fenced perimeter for 20 minutes, has
dropped off a passenger, the vehicle's license plate number being,
for example, SDXZ268, and the ABCT-Provider name.
[0056] In one embodiment, the compliance module 207, via the
analytic engine 210, may compare the information contained in each
message with a set of business rules to determine ABCT-Provider
violations. For example, the compliance module may determine that
an ABCT-Vehicle has been within a geo-fenced perimeter for more
than an allotted time period as specified by a set of business
rules. This information may be transmitted, in real time, to a
mobile communication device associated with a compliance
officer.
[0057] In another embodiment, the compliance module 207, via the
analytic engine 210, may, for each incoming message from the
plurality of ABCT-Providers, transmit the ABCT-Vehicle identity
associated with the incoming message and the ABCT-Provider unique
code to a mobile communication device associated with a compliance
officer.
[0058] The report generated by the compliance module 207 may be
transmitted and displayed on a computing device, such as a smart
phone, laptop or computer. The display may comprise dynamic list
views and detail pages. The list view may comprise of various
combinations of information included in the messages received by
the ABCT-Providers. For example, the list view may include the time
the mobile communication device entered the geo-fence, the duration
of time in the geo-fence, the license plate number associated with
the mobile communication device, and the ABCT-Provider. The list
may be updated or a particular field in a list may be updated. In
one embodiment, a system user can select to subscribe to updates of
fields in data records, thereby ensuring that the user receives
only the updates that the user selected to receive and when the
user selects to view the updates.
[0059] In a preferred embodiment, the compliance module 207 will
send the report to an application on a mobile computing device
associated with compliance manager. The report may be in the form
of a GUI, wherein the compliance manager may interact with the
information contained in the report, as illustrated in FIGS. 3A-F.
According to the preferred embodiment, the GUI displaying the
report will include three real-time lists that will contain
detailed information of all ABCT-Provider transactions taking place
within the PA geo-fence. An "On-Site" list will display all
ABCT-Vehicles present within the geo-fence perimeter, as
illustrated in FIG. 3A. A "Last Hour" list will display all
ABCT-Provider activity within the last hour within the geo-fence
perimeter, as illustrated in FIG. 3B. And, a "Last 24 Hour" list
will include all ABCT-Provider activity that has taken place within
the geo-fence perimeter within the last 24 hours of the current
time, as illustrated in FIG. 3C. The GUI may also display a summary
of the information relating to a vehicle if a compliance manager
selects or clicks on an item in the list, as illustrated in FIG.
3D.
[0060] Each list within the GUI display may some of the following
information: ABCT Name; License Plate; Ride Count; Time on PA
property; Customer Transaction Type; and Time of Last Message. This
information may be extracted by the analytic engine 210 from each
message received by the PA ICT System 200 from each ABCT-Provider
202 and transmitted to the compliance module 207 to generate or
update a report. In one embodiment, the report is a virtual list
view in a web application that is dynamically updated such that a
compliance manager can seamlessly access and manage the presented
information.
[0061] The GUI displaying the report may provide functionality to
query each report for specific information contained in the report,
as illustrated in FIG. 3E. For example, a compliance manager may
query the report for a license plate number or transactions
associated with ABCT-Provider. If the license plate number or
transaction is in the report, the officer has confirmation that the
vehicle has been authorized by the ABCT-Provider and that the trip
has been reported to the PA. If the plate number is not on the
list, the officer has evidence of a potential violation of a set of
business rules associated with the ABCT-Provider's operating
permit.
[0062] The GUI display also provides a view of a list of
ABCT-Vehicles currently reported to be on PA property. The officer
can use this information to identify ABCT-Vehicles that are
operating without proper visual identifiers (ABCT-Provider trade
dress and placard), which may be a potential violation of a set of
business rules associated with the ABCT-Provider's operating
permit.
[0063] The GUI display provides a view of a list of ABCT-Vehicles
that are on PA property and that have exceeded the allowable dwell
time. The officer may use this information to identify
ABCT-Vehicles that are staging at the PA property which may be a
potential violation of a set of business rules associated with the
ABCT-Provider's operating permit.
[0064] The GUI display provides a view the transaction history of a
specific ABCT-Vehicle. The officer can use this information to
identify potential violations. For example, recurring entry and
exit transactions without associated pick-up or drop-off
transactions by an ABCT-Vehicle may indicate recirculation on PA
roadways which may be a potential violation of a set of business
rules associated with the ABCT-Provider's operating permit.
[0065] Each potential violation of a set of business rules
associated with the ABCT-Provider's operating permit, may be
highlighted in the report using a warning color scheme, as
illustrated in FIG. 3F. In one embodiment, each violation may be
associated with a different color.
[0066] The PA ICT System 200 may also transmit to the mobile
computing device associated with compliance manager the map
generated by the real-time map module. The map may display the
real-time locations of all ABCT-Vehicles and/or ABCT-Provider
transactions within geo-fence perimeter. Such feature will allow
the compliance managers to quickly locate ABCT-Vehicles during
operations.
[0067] The management dashboard module 208 may access data from the
data storage 204 to generate a report summarizing of all ABCT
activity for a given time period for each ABCT-Provider 202. For
example, the report may indicate the number of entries, exits,
pickups and drop-offs performed by each of the ABCT-Providers
during a specified time period. The generated report may be
displayed on a computing device. The information may be displayed
in various formats, including but not limited to graphs, tables,
logs, and the like, as illustrated in FIG. 4.
[0068] The reconciliation report module 209 may generate a query
for all the activity data of the drivers associated with an
ABCT-Provider 202 during a specified time period and create a
reconciliation report, as illustrated in FIG. 5. The reconciliation
report comprises all activities occurring in the geo-fenced
perimeter for a specific time period. The reconciliation report
module 209 may compare the generated reconciliation report for each
ABCT-Provider with an independent reconciliation report prepared by
each ABCT. The reconciliation report module 209 may also generate a
discrepancy report based on any inconsistency between the generated
reconciliation report and the independent reconciliation report. In
one embodiment, the reconciliation report may be produced upon
request. In another embodiment, the reconciliation report may be
produced periodically, such as monthly or yearly.
[0069] In some embodiments, an invoice module 214 may generate a
query for activity data associated with services provided within
the perimeter of the geo-fence for all drivers associated with an
ABCT-Provider 202 during a specified time period. For example, the
invoice module 214 may query the data storage 204 for all passenger
pick-up services and drop-off services rendered within a PA
geo-fence provided by ABCT-Provider for the month of January. The
invoice module 214 will then generate an invoice for the fees
associated with services rendered within the perimeter of the
geo-fence based on a set of business rules as described in the PA's
Permit. The PA ICT System 200 may then transmit the invoice to the
ABCT-Provider 202.
[0070] In another embodiment, a financial system (not shown) may be
operably connected to the PA ICT System 200. The financial server
may access the data storage 204 to query the data stored for
activities of an ABCT-Provider within a geo-fenced area during a
particular time period. Based on a set of business rules stored on
the financial server, the financial server may create an invoice
for the ABCT-Provider.
[0071] Additionally, the PA ICT System 200 includes requisite
software interfaces for different types of communication such as an
email interface, short message service (SMS) interface, or a
network interface. These are merely examples of the types of
communication protocol interfaces (not shown) used by the PA ICT
System 200 to communicate with various devices used by a compliance
officer 212 and a ground transportation unit 213. Moreover, these
interfaces can include various sub-components (not shown) such as
message servers, protocol stacks, associated databases, and the
like.
[0072] The PA ICT System 200 may also include a license plate
recognition module 212. The license plate recognition module 212 is
operatively connected to one or more cameras adapted to
independently capture and recognize a license plate image. A camera
includes a processor for managing image data and executing a
license plate recognition program device. The license plate
recognition program device includes a memory is included for
storing the license plate recognition program and the license plate
images taken by an image capture device of the camera. The license
plate recognition module 212 may compare the license plate numbers
captured by the camera with license plate ID's stored in the data
storage 204.
[0073] In a preferred embodiment, the license plate recognition
involves capturing photographic video or images of license plates,
whereby they are processed by a series of algorithms that are able
to provide an alpha numeric conversion of the captured license
plate images into a text entry. There are seven primary algorithms
that the software requires for identifying a license plate: plate
localization, which is responsible for finding and isolating the
plate on the picture; plate orientation and sizing, which
compensates for the skew of the plate and adjusts the dimensions to
the required size; normalization, which adjusts the brightness and
contrast of the image; character segmentation which finds the
individual characters on the plates; optical character recognition;
and syntactical/geometrical analysis, which check characters and
positions against country-specific rules.
[0074] The complexity of each of these algorithms determines the
accuracy of the system. During the third phase (normalization),
some systems use edge detection techniques to increase the picture
difference between the letters and the plate backing. A median
filter may also be used to reduce the visual noise on the image. In
one embodiment, auxiliary data is also extracted from the at least
one vehicle image, wherein the auxiliary data comprises information
related to physical details of the vehicle.
[0075] As the license plate recognition system may also record time
and location data in addition to license plate data, license plate
image data, and image data of a vehicle. In one embodiment, the
data may be collected over an extended period of time and stored
for later searching. In another embodiment, the data may be
correlated, indexed and/or categorized in the data storage. The
collected data may be compared to various existing or other data,
such as the messages transmitted to the PA server by the
ABCT-Provider ICT System, and correlated and/or indexed to such
data. That collected data may be processed, searched, and/or
analyzed for a variety of purposes.
[0076] License plate recognition data may be correlated with ABCT
provided data to verify ABCT-Provider message accuracy. The data
may also be used to generate volumetric forecasts and other
operational and management information. License plate recognition
system may be able to obtain further information from an internal
or external network about the vehicle based on the license plate
number captured by the license plate recognition system. So, for
example, the PA ICT System may be able to determine the make,
model, and year of every ABCT vehicle within its geo-fenced area.
Alternatively, the PA ICT System may also identify the owner of the
car associated with the license plate if it was an ABCT driver and
whether the registration fees are currently paid on the car, and a
vast variety of other information.
[0077] License plate recognition system may also comprise various
features, such as a timer to which keeps track of the length of
time each vehicle passes two points of interest. If there is a time
limit for which the ABCT-Vehicle cannot exceed, the system can send
a red flag or warning to a compliance manager to indicate that the
ABCT-Vehicle has overstated the time limit. The warning or red flag
may be transmitted as a ping or message from the PA server to the
mobile computing device application associated with the compliance
manager. There are a great many other operations that can be
performed by the PA ICT System, such as keeping daily logs of all
vehicles that have entered or exited the perimeter of the
geo-fenced area, which may be useful for law enforcement and other
applications.
[0078] The PA ICT System, associated with the license plate
recognition system, in one embodiment, may automatically generate
violation citations for ABCT-Vehicles that have been circling the
roadways of the PA for too long, or for cars that are no longer
permitted by the ABCT-Provider to conduct transactions within the
perimeter of a geo-fence, or issue alerts to police or security
personnel if the system determines that a particular car is stolen
(in which case the central computer system would have access to a
database of information to identify stolen cars) or is a car for
which authorities are looking for some other reason (in which case
the PA would have access to a database identifying cars for which
authorities are looking).
[0079] At any time, a PA compliance manager may conduct an
inspection of ABCT-Driver operations at a PA to confirm that such
operations comply with the requirements set forth in a set of
business rules associated with the ABCT Permit. To perform an
inspection, compliance manager will require a real time web-based
application that displays information about each ABCT-Provider trip
being performed at the PA. The compliance manager will be the
primary users of the compliance manager application. They will be
responsible for regulating all ABCT-Provider activity within the
geo-fence. In one embodiment, the compliance manager application
will receive real-time messages of the all ABCT-Provider
transactions dynamically.
[0080] FIG. 6 illustrates a system logical architecture design for
the principal message handling components of the PA ICT System 600.
In a preferred embodiment, these components comprise four layers: a
reverse proxy layer 601, load balancer 602, web application server
cluster 603, and a database 604. The PA ICT System 600 also
comprises a network interface to enable each of a plurality of
ABCT-Providers to communicate with the PA ICT System 600 through a
communication medium, such as a web service.
[0081] Due to the high volume of messages received from the
ABCT-Providers, each component of the PA ICT System layers has a
redundancy in order to provide high availability. High availability
provides the protection from application failures that may arise
from power failures, server hardware faults, network hardware
faults, configuration errors, application bugs, compatibility or
performance issues and other causes. In a preferred embodiment, the
PA ICT System 600 is designed to handle a peak load of over 3,000
messages per minute.
[0082] According to an embodiment of an invention, as part of the
permitting process with a PA, an ABCT-Provider receives a digital
certificate from the PA. The digital certificate is used to
authenticate all transmissions between the ABCT-Provider ICT System
and the PA ICT System. The ABCT-Providers use an HTTPS to transmit
secured messages via the communication medium to a PA ICT System
600. The reserve proxy server 601 associated with the PA ICT System
600 is used to take in internet traffic in the HTTPS protocol
received from the various ABCT-Providers. In one embodiment, an SSL
reverse proxy cluster shall be the first point of entry of the
ABCT-Provider's messages.
[0083] The reverse proxy server 601 inspects the incoming HTTPS
requests from an ABCT-Provider and authenticates the
ABCT-Provider's ICT System with additional authentication methods
known in the art. Once authenticated and any local processing is
completed, the HTTP requests are forwarded to a load balancer 602.
The reverse proxy server 601 transmits a response to the request
back to the ABCT-Providers' ICT Systems containing the proper host
names.
[0084] In one embodiment, the reverse proxy server 601 is
configured with a public DNS host name and publicly routable IP
address. Thus, any links that are made available to users will
resolve to the public IP address or DNS hostname of the reverse
proxy server 601. The reverse proxy server 601 then performs
mapping of the external HTTP request to the proper internal
server.
[0085] Firewalls will enable certain network traffic from the
public internet to the internal data service for the application.
Only relevant and necessary ports and protocols shall be allowed
through the firewall.
[0086] Once the HTTP requests are received by the load balancer
602, they will be forwarded to different web-service nodes. The
load balancer will be used in order to provide load balancing 602
between web-service nodes. The load balancer 602 distributes the
incoming HTTP requests to various nodes in the web application
server cluster 603 and to provide the SSL protocol for encryption
and decryption of the HTTP stream.
[0087] The load balancer 602 acts upon data found in the
application layer protocol such as the HTTP. The request are
received by the load balancer 602 and are distributed to a
particular server based on a configuration algorithm, such as a
round robin, a weighted round robin, a least connection, or at
least response time.
[0088] Web service clusters 603 comprise a plurality of web
application servers or nodes. The nodes are be deployed in a
cluster that can be expanded by adding more nodes into the cluster
for horizontal scalability. In one embodiment, there is a three
node cluster comprising Tomcat web application containers that host
the VTS web service API and the compliance manager web service
API.
[0089] The Database layer 604 shall be configured as an
active/passive pair of database nodes. This configuration will
provide just in time recovery and redo logs. Active/passive
database nodes process on one node, making it the active node for
that configuration. The IP address of the active node is mapped to
a virtual "node address". If the active node fails, a failure safe
module takes care of fail-over: it starts the process on a passive
database, making it the active node, and remaps the node address to
the new active node's IP address. In most circumstances of a
failure, the fail-over will occur quickly.
[0090] FIG. 7 shows a system for generating an invoice for services
provided by an ABCT-Provider within the perimeters of a geo-fence
by a third party such as a national or regional clearinghouse,
according to an exemplary embodiment of the present invention. The
clearinghouse technology infrastructure 700 includes a
clearinghouse ICT System 701 operatively communicating with a
plurality of PAs 702 and a plurality of ABCT-Providers 703 via
network interfaces 704.
[0091] In a typical example, network 720 includes the internet and
a local area network used by the PAs 702-1 to 702-3 and the
ABCT-Providers 703-1 to 703-3 to connect to the internet. Both the
PAs 702-1 to 702-3 and the ABCT-Providers 703-1 to 703-3 can
communicate with clearinghouse ICT System 701 over network 720
using any number and combination of various protocols as known in
the art.
[0092] The clearinghouse ICT System 701 includes data storage 705-1
to 705-3 for storing data related to a plurality of PAs 702-1 to
702-3. As the data is received from each of the PAs 702-1 to 702-3,
the data may be processed by a geo-fence module 710, a permit
management module 711, and/or a trip management module 712.
[0093] The geo-fence module 710 validates and stores multiple
geo-fence locations, referenced to specific PAs. It maintains a
record of changes and provides the ability to verify whether a
specific geographic coordinate is inside or outside of a specific
geo-fence. The permit management module 711 links ABCT-Providers
and PAs, and serves as a repository of all active, suspended,
terminated, pending and expired Permits. The permit management
module 711 is the source of business rules such as a the prevailing
trip fee for a drop-off within a specific PA's geo-fence and it
provides the capability to calculate fees and charges, to record
and alert Permit expiration and renewal dates and to process and
store a record of Permit violations. The trip management module 712
validates trip data formats and verifies that each trip associates
with a valid Permit, an active ABCT-Provider and a participating
PA. The module records all valid trips and provides data feeds to
business processes such as billing, compliance and auditing.
[0094] For each PA, the data storage 705-1 to 705-3 may store
geo-fence coordinates, business rules, and a list of ABCT-Providers
servicing the PA. The clearinghouse ICT System 701 also may store
in the data storage 705-1 to 705-3, messages and payment
information from each of the ABCT-Providers.
[0095] In one embodiment, the clearing house ICT System 701
receives payment information from an ABCT-Provider ICT System 703-1
to 703-3. The payment information relates to a payment from an
ABCT-Provider for an invoice of transactions occurring within the
geo-fenced area associated with a PA. The clearing house ICT System
701 may verify at least a portion of the payment information and
store at least a portion of the payment information in a database.
The clearing house ICT System 701 then may transmit a first
electronic file comprising at least a portion of the payment
information to a PA associated with the invoice. In one embodiment,
the clearing house ICT System 701 may transmit a second electronic
file comprises at least a confirmation of the payment to the PA to
the ABCT-Provider ICT System 703-1 to 703-3. Furthermore, the
clearing house ICT System 701 may also generate and transmit, to
both the PA and the ABCT-Provider, and accounting of all invoices
and payments by the PA and the ABCT-Provider in response to a
request for the accounting.
[0096] The clearinghouse ICT System 701 includes an analytic engine
706 operatively connected to the data storage 705-1 to 705-3. The
analytic engine 706 may access the data storage 705-1 to 705-3 and
provide data to the financial module 713. The financial module 713
may calculate fees, generate invoices and process payments for each
of the ABCT-Providers servicing each of the PAs. The invoices
and/or payments information may be stored in the data storage 705-1
to 705-3.
[0097] FIG. 8 shows a method for monitoring activities of an
ABCT-Driver, according to an exemplary embodiment of the present
invention. The method begins at step 802, where an ABCT-Provider
ICT System associated with an ABCT-Provider receives periodic
location information from a mobile device associated with an
ABCT-Driver. In one embodiment, the mobile device transmits a
message to the ABCT-Provider, wherein the message includes at least
the geo-location of the mobile device (ABCT-Driver) and a date and
timestamp.
[0098] At step 804, the ABCT-Provider ICT System determines if the
mobile device is within a predefined geo-fence perimeter based on
the location information received from the mobile device.
[0099] At step 805, when a determination is made that the location
of the mobile device is within a predefined geo-fence perimeter,
the ABCT-Provider ICT System transmits a message to a PA ICT
System. The message includes information related to location of the
mobile device, identification of the driver and activity data. In
one embodiment, the ABCT ICT System generates a message comprising
a header which includes geographic locus, trip ID, ABCT ID, vehicle
license plate ID, activity time stamp, activity data, and number of
users using the ABCT service associated with the activity data
along with the location information.
[0100] Though this embodiment of the method is performed by a PA
ICT System, other servers or network elements may work in tandem
with the PA ICT System to accomplish the method. Furthermore each
task of the method may be assigned to a different network element,
each network element being suited to perform the task assigned. For
instance, a database server may be more suited to referencing the
geo-fence database, and a location server may be more suited to
making a location determination before forwarding it to the PA ICT
System. When connections traverse geo-fences, such as in a moving
vehicle, an algorithm may be employed to split the charge of the
connection between fee rates based on the amount of time within
each geo-fence, amount of data transferred within each geo-fence
and the like.
[0101] FIG. 9 shows a method for billing an ABCT-Provider for
services rendered within a perimeter of a geo-fence, according to
one embodiment of the present invention. The method begins at step
902, where a PA ICT System defining a geo-fenced perimeter receives
a message from an ABCT-Provider ICT System. The message comprises
at least location information, device identification and activity
data. The PA ICT System stores the messages in a data storage.
[0102] At step 904, the PA ICT System determines if the activity
data contained in the message relates to a service being rendered
within the geo-fenced perimeter by an ABCT-Driver. If the activity
data relates to a service being rendered within the geo-fenced
perimeter, the PA server creates a log of the activity and
associates a fee to the activity. For example, if a driver of a
driver associated with an ABCT picks-up a passenger within a
geo-fenced area of a PA, the PA ICT System will create a log of the
activity and associate a fee with the pick-up service rendered.
[0103] In one embodiment, the PA ICT System periodically query the
data storage for activity data relating to services rendered within
the geo-fenced perimeter. For example, the PA ICT System may query
the data storage for all ABCT-Provider activity within a geo-fenced
perimeter comprising a pick-up service, drop-off service, entry
into the geo-fence and exit from the geo-fence. The PA may charge
fees according to a set of business rules for at least one of these
activities or all the activities. Additionally, the PA ICT System
may periodically query the data storage for violations of the set
of business rules. For example, the PA ICT System may generate a
list of ABCT-Vehicles that have been within the geo-fence for a
period of time that exceeds an allotted period of time as set forth
in the set of business rules. The PA may also charge a fee for any
of the violations of the set of business rules.
[0104] At step 906, the PA ICT System generates an invoice for the
ABCT-Provider comprising the fees for each activity in which a
service was rendered within the geo-fenced perimeter. In one
embodiment, the PA ICT System compares the activities of an
ABCT-Provider within a specified period with a set of business
rules. Based on the correlation and the business rules, a set of
fees are determined for the ABCT-Provider.
[0105] FIG. 10 shows a method for invoicing an ABCT-Provider for
services rendered within a perimeter of a geo-fence through a third
party such as a national or regional clearinghouse, according to
one embodiment of the present invention. The method begins at step
1002, where a clearinghouse ICT System receives a plurality of
geo-fence perimeter coordinates from a plurality of PAs. The PAs,
in one embodiment, may provide additional information such as
ABCT-Provider business rules.
[0106] At step 1004, the clearinghouse ICT System transmits the
geo-fence perimeters to a set of ABCT-Providers servicing each PA.
For example, drivers of an ABCT-Provider may be providing pick-up
and drop-off services to customers at the San Francisco
International Airport and the Oakland International Airport. The
clearinghouse ICT System will send to the ABCT-Provider the
geo-fence perimeter information for both the San Francisco
International Airport and the Oakland International Airport.
[0107] At step 1006, the clearinghouse ICT System receives a
message each time the ABCT-Driver performs an activity defined in
any of the Permits to which the ABCT-Provider is a party. Each
message is stored within a data storage and is associated with its
respective PA.
[0108] In one embodiment, the clearinghouse ICT System transmits
the received messages, in real-time, to the PA ICT System for
monitoring by the PA of ABCT-Provider activities within a PA's
geo-fenced area. In another embodiment, the clearinghouse server
queries the received messages and compares them to a set of
business rules. If there is a violation of the business rules, a
notification is sent to the PA ICT System.
[0109] At step 1008, the clearinghouse server queries the messages
for activities associated with services rendered within the
geo-fenced perimeter. For example, the clearinghouse may query
pick-up services or drop-off services that have taken place within
the geo-fenced perimeter. The query may be done periodically, such
as daily, weekly or monthly.
[0110] At step 1010, the clearinghouse ICT System generates an
invoice for each ABCT-Provider of fees associated with each Permit,
and transmits the invoices to the ABCT-Providers.
[0111] At step 1012, the clearinghouse server receives payments
from the ABCT-Providers associated with the invoices.
[0112] At step 1014, the clearinghouse server sends payments
received from the ABCT-Providers to their respective PAs.
[0113] While the foregoing is directed to embodiments of the
present invention, other and further embodiments of the present
invention may be devised without departing from the basic scope
thereof. For example, aspects of the present invention may be
implemented in hardware or software or in a combination of hardware
and software. One embodiment of the present invention may be
implemented as a program product for use with a computer system.
The program(s) of the program product define functions of the
embodiments (including the methods described herein) and can be
contained on a variety of computer-readable storage media. An
example of a suitable computing system environment in which the
invention may be implemented, although as made clear above, the
computing system environment is only one example of a suitable
computing environment and is not intended to suggest any limitation
as to the scope of use or functionality of the invention. Neither
should the computing environment be interpreted as having any
dependency or requirement relating to anyone nor combination of
components illustrated in the exemplary operating environment.
[0114] Computing device typically includes a variety of computer
readable media. Computer readable media can be any available media
that can be accessed by computer and includes both volatile and
nonvolatile media, removable and non-removable media. By way of
example, and not limitation, computer readable media may comprise
tangible computer storage media and communication media. Computer
storage media includes volatile and nonvolatile, removable and
non-removable media implemented in any method or technology for
storage of information such as computer readable instructions, data
structures, program modules or other data. Computer storage media
includes, but is not limited to, RAM, ROM, EEPROM, flash memory or
other memory technology, CDROM, digital versatile disks (DVD) or
other optical disk storage, magnetic cassettes, magnetic tape,
magnetic disk storage or other magnetic storage devices, or any
other medium which can be used to store the desired information and
which can accessed by computer. Communication media typically
embodies computer readable instructions, data structures, program
modules or other data. While communication media includes
non-ephemeral buffers and other temporary digital storage used for
communications, it does not include transient signals in as far as
they are ephemeral over a physical medium (wired or wireless)
during transmission between devices. Combinations of any of the
above should also be included within the scope of computer readable
media. The system memory includes computer storage media in the
form of volatile and/or nonvolatile memory such as read only memory
(ROM) and random access memory (RAM). The processing unit and bus
allow for transfer of information between elements within computer,
such as during start-up, typically stored in ROM. RAM typically
contains data and/or program modules that are immediately
accessible to and/or presently being operated on by processing
unit.
[0115] The computer may also include other removable/non-removable,
volatile/nonvolatile computer storage media include, but are not
limited to, magnetic tape cassettes, flash memory cards, digital
versatile disks, Blu-Ray disks, digital video tape, solid state
RAM, solid state ROM, and the like. The hard disk drive is
typically connected to the system bus through a non-removable
memory interface such as interface, or removably connected to the
system bus by a removable memory interface, such as interface.
[0116] The drives and their associated computer storage media
discussed above provide storage of computer readable instructions,
data structures, program modules and other data for the computer.
For example, disk drive is illustrated as storing operating system,
application programs, other program modules, and program data. Note
that these components can either be the same as or different from
operating system, application programs, other program modules, and
program data. Operating system, application programs, other program
modules, and program data are given different numbers here to
illustrate that, at a minimum, they are different copies. A user
may enter commands and information into the computer through input
devices such as a keyboard and pointing device, commonly referred
to as a mouse, trackball or touch pad. Other input devices may
include a microphone, joystick, game pad, satellite dish, depth or
motion sensor, scanner, or the like. These and other input devices
are often connected to the processing unit through the system bus,
but may be connected by other interface and bus structures, such as
a parallel port, game port, or a universal serial bus (USB). A
monitor or other type of display device is also connected to the
system bus via an interface, such as a video interface. In addition
to the monitor, computers may also include other peripheral output
devices such as speakers and printer, which may be connected
through an output peripheral interface.
[0117] One of ordinary skill in the art can appreciate that a
computer or other client device can be deployed as part of a
computer network. In this regard, the present invention pertains to
any computer system having any number of memory or storage units,
and any number of applications and processes occurring across any
number of storage units or volumes. The present invention may apply
to an environment with server computers and client computers
deployed in a network environment, having remote or local storage.
The present invention may also apply to a standalone computing
device, having programming language functionality, interpretation
and execution capabilities.
[0118] In view of the foregoing, the scope of the present invention
is determined by the claims that follow.
* * * * *
References