WO2014040134A1 - A system and method for allocating an item - Google Patents

A system and method for allocating an item Download PDF

Info

Publication number
WO2014040134A1
WO2014040134A1 PCT/AU2013/001044 AU2013001044W WO2014040134A1 WO 2014040134 A1 WO2014040134 A1 WO 2014040134A1 AU 2013001044 W AU2013001044 W AU 2013001044W WO 2014040134 A1 WO2014040134 A1 WO 2014040134A1
Authority
WO
WIPO (PCT)
Prior art keywords
courier
data
item
couriers
server
Prior art date
Application number
PCT/AU2013/001044
Other languages
French (fr)
Inventor
Dongzhi SUN
Fiona Allesandra PEARSE
Emma Louise CRONIN
Original Assignee
Mail Call Couriers Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2012216820A external-priority patent/AU2012216820B2/en
Priority claimed from AU2012268902A external-priority patent/AU2012268902B2/en
Application filed by Mail Call Couriers Pty Ltd filed Critical Mail Call Couriers Pty Ltd
Publication of WO2014040134A1 publication Critical patent/WO2014040134A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Definitions

  • the present invention relates to a system and method for allocating an item, and more particularly to a system and method for allocating an item to one of a plurality of couriers.
  • Embodiments of the invention have been particularly developed for the delivery of small items by couriers and some embodiments will be described herein with particular reference to that application. However, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts including, without limitation, the management of first party or third party transport fleets.
  • a system for allocating a plurality of items to one or more couriers including:
  • a communications device for each courier for obtaining courier location data indicative of the location of the couriers and for displaying to the couriers respective target indicia representative of a path for that courier to follow;
  • a first interface for receiving, for each item, future transport data that is indicative of at least two locations between which the item is to be transported;
  • a second interface for receiving from the communications devices the courier location data and for providing selectively to the communications devices target location data from which the target indicia is derived;
  • a second database for storing the courier location data
  • a third database for storing past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations;
  • At least one server for selectively accessing the databases, wherein the server is, for each item:
  • the courier location data is time-stamped.
  • the at least one server updates the past transport data to include selected courier location data received by the second interface.
  • the future transport data for each item includes a time- related characteristic for one or more of the two locations.
  • the future transport data is indicative of the nature of the item.
  • the future transport data for each item is indicative of a pickup location for the respective item and a drop-off location for the respective item.
  • the at least one server generates target location data for the selected courier that is indicative of the pick-up location or the drop-off location for the item.
  • the past transport data is indicative of the time the delivered items were at the locations between which the previously delivered items were transported.
  • the at least one server allocates the items to the couriers sequentially.
  • the second interface is responsive to the allocation of the item to the selected courier for automatically providing the target data to the selected courier.
  • the communication devices allow the respective couriers, at the location indicated by the target location data for the respective item, to provide confirmation signals to the second interface.
  • the at least one server is responsive to the confirmation signal for accessing the third database to selectively update the past transport data.
  • the at least one server is responsive to the confirmation signal for re-allocating one or more of the items.
  • the at least one server selects items to re-allocate from that set of the items for which a confirmation signal has not been received by the second interface.
  • the system includes a supervisor interface for providing control signals, wherein the at least one server is responsive to the control signal for providing the target data to the selected courier.
  • the at least one server is responsive to the control signals confirming the allocation to the selected courier before providing the target data to that courier.
  • the at least one server is responsive to the control signal for re-allocating one or more of the items.
  • the communications devices include respective stored mapping data, and each communications device is responsive to the target data and the stored mapping data for generating the target indicia.
  • the target indicia are optimised for minimum travel time.
  • the optimisation is responsive to contemporary environmental data at or adjacent to one or more of the locations.
  • the contemporary environmental data includes one or more of traffic information and weather information.
  • two or more of the first, second and third databases are maintained within a common database.
  • the courier location data is derived from one or more of: GPS signals; and triangulation signals.
  • the communications devices include respective GPS units for providing the GPS signal.
  • the past transport data is directly indicative of the time taken to transport the article between the locations.
  • the past transport data is indirectly indicative of the time taken to transport the article between the locations.
  • the past transport data is indirectly indicative of the time taken to transport the article between the locations by containing data indicative of the arrival of the courier at the locations.
  • At least one of the communications devices includes a first module for obtaining the courier location data and a second module for displaying to the courier the target indicia.
  • the first module and the second module are electronically integrated.
  • the first module and the second module are physically separate and electronically coupled.
  • the first module and the second module include at least one common communication channel with the second interface.
  • a method for allocating a plurality of items to one or more couriers including:
  • past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations;
  • a system for allocating a plurality of items to one or more couriers including:
  • a communications device for each of the couriers for obtaining location data indicative of the location of the respective couriers and for displaying to the couriers respective target locations and a path for the courier to follow to the respective target locations;
  • a first interface for receiving, for each item, future transport data that is indicative of a pick-up location and a delivery location between which the item is to be transported;
  • a second interface for receiving from the communications devices the location data and for providing selectively to the communications devices target location data from which the respective target locations are derived;
  • a second database for storing the location data
  • a third database for storing past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously transported items were transported; and the time taken to transport the respective articles between the locations;
  • the server for selectively accessing the databases, wherein the server is, for each item: a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating that item to a selected one of the couriers; and
  • the communication devices allow the respective couriers, when at the location indicated by the target location data for the respective item, to provide confirmation signals to the second interface.
  • the server is responsive to the confirmation signal from a given courier for generating further target location data for that courier.
  • a method for allocating a plurality of items to one or more couriers including:
  • past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport respective the articles between the locations;
  • a method for allocating a plurality of items to one or more couriers including:
  • a computer system configured to perform a method according to any of the second, fourth or fifth aspects of the invention.
  • a seventh aspect of the invention there is provided a computer program configured to perform a method according to any of the second, fourth or fifth aspects of the invention.
  • a non-transitive carrier medium carrying computer executable code that, when executed on a processor, causes the processor to perform a method according to any of the second, fourth or fifth aspects of the invention.
  • a ninth aspect of the invention there is provided a method for allocating a plurality of items to one or more couriers, the method including: obtaining location data indicative of the location of the respective couriers;
  • the past transport data being indicative of: the locations between which the previously delivered items were transported; and the time taken to transport respective the articles between the locations; and for each item being:
  • a non-transitive carrier medium carrying computer executable code that, when executed on a processor, causes the processor to perform the method according the ninth aspect.
  • a system for allocating an item to one of a plurality of couriers including:
  • communications devices for obtaining courier location data indicative of the location of the respective couriers and displaying to respective couriers target indicia for that courier and a path for that courier to follow;
  • a first interface for receiving future transport data that is indicative of at least two locations between which the item is to be transported; a second interface for receiving from the communications devices the courier location data and for providing selectively to the communications devices target location data from which the target indicia is derived;
  • a second database for storing the courier location data
  • a third database for storing past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations;
  • the server is: a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating the item to a selected one of the couriers;
  • a fourteenth aspect of the invention there is provided a method for allocating an item to one of a plurality of couriers, the method including:
  • past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations;
  • the target location data includes path data indicative of a path for the selected one of the couriers to follow to progress to the selected one of the locations.
  • a fifteenth aspect of the invention there is provided a computer system configured to perform the method according to the fourteenth aspect.
  • a non- transitive carrier medium carrying computer executable code that, when executed on a processor, causes the processor to perform the method according to the fourteenth aspect.
  • a first interface for receiving an order that is indicative of at least the further item and the pick-up location and the delivery location for the further item
  • a first database for storing allocated transport records for the other items, each allocated transport record being indicative of: the pick-up location and the delivery location for the respective other item; and the courier in the set of couriers to which the respective other item has been allocated;
  • a second database for storing past transport data for a plurality of previously transported items
  • At least one server for: selectively accessing the databases for allocating the further item to one of the couriers in the set of couriers and for re-allocating one or more of the at least one other item to another of the couriers in the set of couriers; and accessing the first database to store an allocated transport record for the further item and to update one or more of the allocated transport records to reflect the re-allocation.
  • the at least one server is responsive to a trigger signal for: re-allocating one or more of the at least one other item to another of the couriers in the set of couriers; and accessing the second database to store an allocated transport record for the further item and to update one or more of the allocated transport records to reflect the re-allocation.
  • the system includes a supervisor terminal for a supervisor.
  • the trigger signal is provided by the supervisor terminal.
  • the at least one server is responsive to one or more variables for automatically generating the trigger signal.
  • the at least one server is responsive to the re-allocation to provide an alert signal to the supervisor terminal.
  • the supervisor is responsive to the alert signal for selectively confirming the re-allocation.
  • the at least one server is responsive to confirmation that the items has been delivered to the respective delivery locations for accessing the second database to update the past transport data.
  • a method for allocating to a courier in a set of couriers a further item to be transported, wherein at least one other item has already been allocated to one or more of the couriers in the set of couriers and each item is to be transported between respective pick-up locations and delivery locations including:
  • each allocated transport record being indicative of: the pick-up location and the delivery location for the respective other item; and the courier in the set of couriers to which the respective other item has been allocated;
  • a system for re-allocating one or more items to couriers in a set of couriers, wherein each item is to be transported between respective pick-up locations and delivery locations including: a first database for storing allocated transport records for the items, each allocated transport record being indicative of: the pick-up location and the delivery location for the respective items; and the courier in the set of couriers to which the respective item has been allocated;
  • a second database for storing past transport data for a plurality of previously transported items
  • At least one server that is responsive to the trigger signal for: selectively accessing the databases for re-allocating at least one of the one or more items to another of the couriers in the set of couriers; and accessing the first database to update one or more of the allocated transport records to reflect the re-allocation.
  • a method for re-allocating one or more items to couriers in a set of couriers, wherein each item is to be transported between respective pick-up locations and delivery locations including:
  • each allocated transport record being indicative of: the pick-up location and the delivery location for the respective items; and the courier in the set of couriers to which the respective items has been allocated;
  • the trigger signal being responsive to the trigger signal for: selectively accessing the databases for re-allocating at least one of the one or more items to another of the couriers in the set of couriers; and accessing the first database to update one or more of the allocated transport records to reflect the re-allocation.
  • a system for allocating items to a plurality of couriers having respective communications devices for obtaining courier location data indicative of the location of the couriers and for displaying to the couriers respective ordered lists of waypoints, the system including:
  • a first interface for receiving, for each item, future transport data that is indicative of a pick-up location and a delivery location for that item;
  • a second interface for receiving from the communications devices the courier location data and for providing to the communications devices respective target location data from which the list is derived;
  • a first database for storing the future transport data
  • a second database for storing the courier location data
  • a third database for storing past transport data for a plurality of previously transported items
  • a fourth database for storing the target location data for each courier, wherein the target location data for each courier is indicative of: one or more waypoints corresponding to one or more of the pick-up locations or one or more of the delivery locations; and an order for the waypoints; and
  • At least one server for selectively accessing the databases for determining if the target location data for one of the couriers is to be updated and, if so: accessing the fourth database to update the target location data for that courier; and initiating communication via the second interface of the target location data for that courier to the corresponding communication device.
  • the at least one server selectively determines if the target location data for more than one of the couriers is to be updated and, if so: accesses the fourth database to update the target location data for those couriers; and to initiate the communication via the second interface the target location data for those couriers to the corresponding communication devices.
  • the target location data includes a rank for each waypoint and the communications devices are responsive to the rank for determining the display of the ordered lists.
  • the rank is a number.
  • the number is representative of a future time.
  • the at least one server is responsive to a trigger signal for accessing the databases for determining if the target location data for one of the couriers is to be updated.
  • a method for allocating items to a plurality of couriers having respective communications devices for obtaining courier location data indicative of the location of the couriers and for displaying to the couriers respective ordered lists of waypoints including:
  • the target location data for each courier is indicative of: one or more waypoints corresponding to one or more of the pick-up locations or one or more of the delivery locations; and an order for the waypoints;
  • One embodiment provides a computer program product for performing a method as described herein.
  • One embodiment provides a non-transitive carrier medium for carrying computer executable code that, when executed on a processor, causes the processor to perform a method as described herein.
  • One embodiment provides a system configured for performing a method as described herein.
  • any one of the terms “comprising”, “comprised of” or “which comprises” is an open term that means including at least the elements/features that follow, but not excluding others.
  • the term “comprising”, when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter.
  • the scope of the expression such as “a device comprising A and B” should not be limited to devices consisting only of elements A and B.
  • Any one of the terms “including” or “which includes” or “that includes” as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.
  • exemplary is used in the sense of providing examples, as opposed to indicating quality. That is, an "exemplary embodiment” is an embodiment provided as an example, as opposed to necessarily being an embodiment of exemplary quality.
  • Figure 1 illustrates schematically a system for allocating an item to one of a plurality of couriers
  • Figure 2 illustrates schematically the transport of an item by one of the couriers between a pick-up address and a delivery address
  • Figure 3 illustrates a representative record of courier location data
  • Figure 4 illustrates a representative record of target indicia
  • Figure 5 illustrates a representative record of future transport data
  • Figure 6 illustrates a representative record of target location data
  • Figure 7 illustrates a representative record of past transport data
  • Figure 8 illustrates schematically one of the smart phones of Figure 1 utilised by a courier
  • Figure 9 is a flowchart illustrating the making of a booking on the system of Figure 1 ;
  • Figure 10 is a flowchart illustrating the updating of target location data in response to a further auto-allocation.
  • FIG. 1 and 2 there is illustrated schematically a system 1 for allocating a plurality of items 2 (including but limited to item 2a, item 2b, and item 2n) to one or more typically geographically spaced apart couriers 3 (including but not limited to courier 3a, courier 3b, and courier 3m) having respective communications devices in the form of smart phones 4 (including but not limited to smart phone 4a, smart phone 4b, and smart phone 4m).
  • a system 1 for allocating a plurality of items 2 including but limited to item 2a, item 2b, and item 2n
  • couriers 3 including but not limited to courier 3a, courier 3b, and courier 3m
  • respective communications devices in the form of smart phones 4 (including but not limited to smart phone 4a, smart phone 4b, and smart phone 4m).
  • system 1 Whilst only couriers 3a, 3b, and 3m are explicitly illustrated in Figure 1 it will be appreciated that system 1 is designed to accommodate many hundreds or thousands of couriers, and is able to operate with any number of couriers from one to many thousands.
  • the smart phones 4 provide, amongst other things, courier location data in the form of a courier location data packet 5 (as representatively illustrated in Figure 3) containing, amongst other things, GPS data 6 that is indicative of the geographic location 7 of the respective courier.
  • Smart phones 4 visually display respective target indicia 8 as schematically indicated in Figure 4, where indicia 8 provides a visual indication of at least one waypoint 9 for the respective courier. The derivation of this and other waypoints will be described in more detail below.
  • System 1 includes a first interface, in the form of a web interface 1 1 , for receiving from a plurality of customers 12 (including but not limited to customer 12a, customer 12b, and customer 12x), via respective smart phones 15, future transport data for the respective items.
  • the future transport data is contained within a future transport data record 16, and is representatively illustrated in Figure 5.
  • the future transport data record 16 is indicative of two locations between which the associated item is to be transported. One of the locations is a pick-up address 19 - which is indicated by pick-up address data 20 - and the other of the locations is a delivery address 21 - which is indicated by delivery address data 22.
  • the future transport data record 16 is also indicative of a time - represented by delivery time data 23 - for delivery of the item 2 to the delivery address 21. In some embodiments the future transport data record 16 is indicative of a further time - represented by pick-up time data 24 - by which the item 2 is to be picked up by the courier from the pick-up address 19.
  • An item could also be selected from one or a combination of electronic devices (including computers, laptops, mobile computing devices, smart phones, cellular phones and the like), components for electronic devices, electrical appliances (including televisions, refrigerators, toasters, blenders, and the like), parts or components for electrical appliances, fragile items, valuable items (such as jewellery, time pieces, notes and coins, precious metals, and the like). It is usual for items to be packaged in one way or another to facilitate secure transportation between the relevant pick-up and delivery addresses.
  • electronic devices including computers, laptops, mobile computing devices, smart phones, cellular phones and the like
  • electrical appliances including televisions, refrigerators, toasters, blenders, and the like
  • parts or components for electrical appliances fragile items, valuable items (such as jewellery, time pieces, notes and coins, precious metals, and the like). It is usual for items to be packaged in one way or another to facilitate secure transportation between the relevant pick-up and delivery addresses.
  • a second interface in the form of a web interface 25, receives from smart phones 4 the courier location data packets 5 and provides selectively to smart phones 4 target location data packets 26 - as representatively illustrated in Figure 7 - from which the target indicia 8 is derived.
  • System 1 includes a first database 28 for storing the future transport data records 16, a second database 29 for storing the courier location data packets 5, and a third database 30 for storing past transport data records 31.
  • Records 31 relate to a plurality of previously transported items and include data indicative of: the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations.
  • One of records 31 is schematically and exemplarily illustrated in Figure 7. In other embodiments records 31 include additional or different data. It will be appreciated that as items are delivered that system 1 updates database 28 with additional records 31 derived from information collected prior to and during the delivery of that item. In other embodiments it is also derived from information collected following from the delivery.
  • a server system 35 includes a web server 36, an application server 37, and other servers (not shown) for performing a variety of operations to allow the operation of system 1.
  • server 37 selectively accesses databases 28, 29 and 30 and is, for each item 2a, 2b, and 2n:
  • the target location data packet 26 responsive to the future transport data record 16 for the given item 2 and the most current courier location data packet 5 for the selected courier 3 for generating the target location data packet 26 for the selected courier 3 that is indicative of at least a selected one of the locations 19 or 21 in the future transport data for the specific item 2, wherein the target location data packet 26 includes path data 38 indicative of a path for the selected courier 3 to progress from to the selected one of the locations 19 or 21.
  • the packet 26 is communicated to the selected courier 3 by server 36, via interface 25, and to the relevant one of smart phones 4. That smart phone, through running local software - in this embodiment a locally running application - is responsive to packet 26 for generating the indicia 8 on the visual display of the smart phone.
  • This indicia provides the courier with the next address to which the courier is to progress, together with a graphically represented map and route along that map to follow to the address. This address is referred to as waypoint 9, and is either a pick-up or delivery address.
  • the courier is provided only with the next waypoint, route information 39 to that waypoint that is derived from path data 38, waypoint type data indicative of whether the waypoint is a pick-up address or a delivery address, and an identifier for the item related to that waypoint.
  • the courier is provided with a sequence of waypoints and the route information for the next waypoint is provided once the current waypoint has been reached.
  • the courier is able to scroll through or otherwise review or select target indicia for past or future bookings that have been allocated to the courier.
  • Server system 35 and databases 28, 29 and 30 are located at a data capture and processing facility 41 and are operated by a first party ("the system operator") that is a corporation providing courier services and which employs or otherwise remunerates the couriers 3 for the work undertaken in picking-up and delivering the allocated items.
  • the system operator a corporation providing courier services and which employs or otherwise remunerates the couriers 3 for the work undertaken in picking-up and delivering the allocated items.
  • the servers within the server system 35 are located other than at facility 41 and communicate with the other servers via a communications network (not shown).
  • one or more of databases 28, 29 and 30 are combined together with each other, or segmented and spread across a plurality of distinct databases within facility 41 or elsewhere.
  • the system operator is a fleet management service provider, and provides data to a client (typically a fleet operator) to allow the fleet operator to manage the allocation of jobs to the vehicles within the relevant fleet for a relevant period. That is, the system operator need not be the party also providing the courier or other transportation services.
  • the fleet comprises one or more taxis and the term "item" includes one or more humans.
  • Smart phones 4 are off-the-shelf, readily available hardware and software components having respective inbuilt GPS receivers and which are web-enabled and operable to run executable code to connect with and communicate with system 1 via interface 25. Examples of such smart phones include an iPhone 4S. However, in other embodiments use is made of a smart phone running the Android operating system or other operating system.
  • one or more of smart phones 4 does not include an inbuilt GPS receiver, and is connected instead to a separate GPS receiver that in use is carried by the respective courier 3. This allows the courier location information for a given courier to be communicated to the smart phone 4 and then onto interface 11.
  • the GPS receiver communicates directly with interface 11 or via a separate network.
  • one or more of smart phones 4 is substituted with a proprietary hardware and software solution that communicates with system 1 via interface 25 and/or another communications network.
  • the couriers 4 have respective mobile computers such as that manufactured by Intermec Technologies Corporation and designated as model CN50 and which use Windows Mobile 6.5 operating system and which have inbuilt GPS capability.
  • Such a mobile computer, and like computers are designed robustly for field use and are well suited to use in the commercial application of system 1.
  • smart phones 4 include at least a 3G network capability and/or a 4G network capability.
  • use is made also or instead smart phones with a GPRS capability.
  • communications between system 1 and smart phones 4 occurs selectively by another communications interface than interface 25.
  • An example of the latter includes an SMS interface.
  • the location information is provided by other than a GPS signal.
  • use is made of triangulation or other techniques to gain the location information.
  • use is made of both GPS and triangulation techniques to gain an indication of the courier location.
  • Smart phones 15 are commercially available hardware devices running associated software for allowing web-enabled connection with system 1. It will be appreciated that one or more of smart phones 15 is able to be substituted by another communications device with like functionality. Examples of such other communications devices include desktop computers, laptop computers, notebook computers, tablet computers, PDAs, net-book computers, or other web-enabled devices.
  • Web interfaces 1 1 and 25 are accessed by the relevant users (the couriers 3 and customers 12) by way of client terminals that have been illustrated in the drawings, by way of example, as smart phones. That is, in broad terms, the users access the relevant interface over the Internet by way of the client terminals, which can include one or more of smart phones, mobile computers, personal computers, PDAs, cellular telephones, gaming consoles, and other Internet enabled devices.
  • client terminals can include one or more of smart phones, mobile computers, personal computers, PDAs, cellular telephones, gaming consoles, and other Internet enabled devices.
  • server 37 includes various components to allow operation.
  • server 37 includes a processor 51 coupled to a memory module 52 and a communications interface 53, such as an Internet connection, modem, Ethernet port, wireless network card, serial port, or the like.
  • distributed resources are used.
  • server 37 includes a plurality of distributed servers having respective storage, processing and communications resources.
  • server 37 is a virtual server and/or a cloud server and/or a hosted server.
  • Memory module 52 includes software instructions 54, which are executable on processor 51.
  • Server 37 is coupled to databases 28, 29 and 30.
  • the databases leverage memory module 52.
  • one or both of web interfaces 11 and 25 includes a website.
  • the term "website” should be read broadly to cover substantially any source of information accessible over the Internet or another communications network (such as WAN, LAN or WLAN) via a browser application running locally on a client terminal.
  • a website is a source of information made available by a server and accessible over the Internet by a web-browser application running on a client terminal.
  • the web-browser application downloads code, such as HTML code, from the server. This code is executable through the web-browser on the client terminal for providing a graphical and often interactive representation of the website on the client terminal.
  • a user of the client terminal is able to navigate between and throughout various web pages provided by the website, and access various functionalities that are provided.
  • client terminals such as smart phones 4 and smart phones 15 maintain software instructions for a computer program product that essentially provides access to a portal via which a framework is accessed (for instance via an iPhone app or the like).
  • each client terminal - that is, smart phones 4 and smart phones 15, or their equivalents or substitutes - can be schematically represented as shown in Figure 8. More particularly, and by way of example, in Figure 8 a client terminal, defined by smart phone 4a, includes a processor 55 coupled to a memory module 56 and a communications interface 57, such as a wireless 4G connection. In other embodiments different connections are utilised to gain an internet connection (be it a modem, Ethernet port, serial port, or the like) or a wireless connection other than through a 4G network.
  • Memory module 56 includes software instructions 58, which are executable on processor 55.
  • These software instructions allow smart phone 4a to execute a software application, such as a proprietary application or web browser application and thereby render on-screen a user interface and allow communication with server system 35.
  • a software application such as a proprietary application or web browser application
  • This user interface allows for the creation, viewing and administration of profiles, access to the internal communications interface, and various other functionalities.
  • System 1 includes a further client terminal in the form of a telephonist terminal 60 that is connected to a LAN 61 within facility 41.
  • a telephonist 62 takes telephone orders from customers for the transportation of a specific item from a defined pick-up location to a delivery location, and uses terminal 60 to book the actual order.
  • Terminal 60 runs a browser and is served up webpages from server 36 similarly to those delivered to smart phones 15 and the other forms of client terminals. This allows telephonist 62 to obtain from the customer, via a standard telephone voice call, the future transport data.
  • Telephonist 62 has that data entered into the associated fields in the webpage, which then forms the future transport data record 16 for the given customer uploaded into system 1. Accordingly, system 1 does not need to distinguish between orders made online directly by customers, or those made via telephonist 62. However, records are kept of the nature and source of the bookings to allow for future planning (such as staffing requirements) and development of system 1.
  • System 1 also includes a further client terminal in the form of a supervisor terminal 65 that is used by a supervisor 66. From this terminal the supervisor is able to, amongst other things, gain an overview of system 1 , generate reports about various operating parameters of system 1 , and to provide supervisory input.
  • a supervisor terminal 65 that is used by a supervisor 66. From this terminal the supervisor is able to, amongst other things, gain an overview of system 1 , generate reports about various operating parameters of system 1 , and to provide supervisory input.
  • interfaces 11 and 25 have been illustrated as separate interfaces, in practice these two are often combined as a single interface. For example, a single TCP/IP interface through which all network traffic moves between server 35 and the smart phones 4 and 15.
  • FIG. 9 there is illustrated a flowchart of a method for allocating items 2 to couriers 3.
  • server system 35 is operating and ready to receive input from customers 12. It is also periodically polling smart phones 4 to obtain a more recent courier location data package 5. Whilst all of packages 5 for each courier are stored for later analysis, system 1 is, when allocating a given item, primarily concerned with the most currently held package 5 for each of the available couriers. Each package 5 is time-stamped and stored in database 29 and server 37, in making the allocation of items, is responsive to the time-stamping to select the most recent packages 5 as a proxy for the current locations of the associated courier. All the time- stamped location data is retained for later analysis.
  • the default period for polling smart phones 4 is every 90 seconds.
  • system 1 is configurable for allowing the polling period to be set at a different level or dynamically varied individually for the couriers. For example, for those couriers working in the city centre or downtown areas it is more usually to have more frequent polling. It has been found that polling every ten seconds is, in practical terms, typically the most frequent polling that need occur.
  • system 1 using a default period of other than 90 seconds to account for the available hardware for the communication devices, the nature of the couriers' activities, the couriers' locations, the couriers' speeds, the available bandwidth for the communication devices, the cost of that bandwidth, and other factors.
  • a default polling period in the range of about 10 seconds to 90 seconds is a practical optimum and allows for sufficient currency of the location information provided by the communication devices without overly taxing the available hardware of available bandwidth.
  • a narrow range of defaults are used, while in further embodiments the default rate is dynamically varied to be optimised to one or more of: the present activities of the courier; the present location of the courier; one or more other characteristics of the courier; the data needs of system 1 ; the bandwidth cost and/or availability; and other factors.
  • the communication devices For those couriers making use of cars, vans and other larger motor vehicles, the communication devices (that is, the smart phones or other such devices) are typically mounted in a cradle within the vehicle and are supplied with electrical power drawn from the vehicle. During the pick-up and delivery of the items, the courier will remove the communication device from the cradle and take it with him or her to the precise point at which the pick-up or delivery is to occur. When returning to the vehicle, the communication device will be once again placed in the cradle. In this interim period, the communication device draws power from the inbuilt battery. However, as that interim period is only relatively short, the operation of the communication devices for these couriers need not be optimised for low power consumption and hence more regular communications between the communication devices and system 1 is used. The optimisation for the communications between the two is more concerned with cost and bandwidth considerations.
  • system 1 is configured to contribute to a workable battery life by containing the need for those devices to communicate with system 1. For it is the wireless communication that is often the most demanding on the battery and the battery runtime. This leads to system 1 being more selective in the initiation of communications, and relies more on batching of communications both two and from the communication devices.
  • smart phones 4 include executable code for supplying an updated packet 5 for the associated courier once it is ascertained that the location of smart phone 4 has changed by at least a predetermined distance. This allows more local processing at smart phone 4 - that is, the processing required to make the decision about whether or not to send updated location data - and helps to reduce network traffic and contribute to an extended battery runtime. In other embodiments, smart phones 4 make use of other push techniques to assist in reducing network traffic.
  • system 1 via server 37, identifies that a new booking is received for the transport of an item from a pick-up location to a delivery location, with note also being made of any time criticality for the arrival of the courier at one or both of the locations and any special requirements for the item (for example, size, fragility, dangerous goods, valuable goods etc.).
  • That booking comprises a booking record (not shown) that is received by server 37, typically via interface 1 1.
  • system 1 accommodates other forms of booking, including telephone bookings, fax bookings, email bookings, SMS bookings, and the like. All these forms of bookings give rise to a booking record within facility 41.
  • These booking records, in whatever form, is stored in database 28 in a standardised form known as the future transport records 16.
  • These records 16 includes a common set of fields for containing the data needed to perform the transport of the relevant item, and a record 16 is not able to be created unless those fields are completed.
  • step 102 to verify the data within record 16. This includes verifying the locations, the customer, payment details, special requests or requirements, and any other aspects of the data. If it is found at step 103 that the data cannot be satisfactorily verified, server 37 progresses to step 104 and cancels the record 16. In practice, this results in the movement of the record 16 to a different part of database 28 for processing by telephonist 62 or other operator. For typically when the data cannot be verified there is a need to contact the customer to update, clarify or ascertain what the data should be.
  • server 36 serves up a further webpage to the relevant smart phone 15 and highlights the fields where more or better particulars are required.
  • the locally running application on smart phones 15 includes inbuilt quality control procedures for undertaking some or all of the pre-checks on the data entered into the relevant fields before submission of the order to create record 16. This pre-checking or pre-processing at the local device allows for a reduction of network traffic. It also allows for customers 12 to view on a map the proposed pick-up location and delivery location and to gain a cost estimate for the service being sought.
  • step 105 If the data in the fields of record 16 is found at step 103 to have been verified (either initially or after having been amended or updated) server 37 progresses to step 105 and auto-allocates the item 2 indicated by record 16 to one of couriers 3.
  • the auto-allocation step 105 is performed by server 37 selectively accessing databases 28, 29 and 30 to obtain the desired data, and then to process that data in accordance with a predetermined algorithm.
  • This algorithm is makes use of the past transport data particularly, as well as data stored about the past performance of the couriers and the current location of the couriers to develop a selection of a single courier that is available to comply with any specified pick-up time and delivery time.
  • the algorithm is based upon an adaptive learning program that makes use of neural networks. In other embodiments different algorithms are used. These algorithms are selectively responsive to a number of historical data points and the current data points for selecting the courier from the available couriers.
  • step 105 item 2a is allocated by server 37 (following execution of the auto-allocation algorithm) to courier 3b.
  • This auto-allocation is presented to terminal 65 for review by supervisor 66.
  • system 1 includes, where volumes require, a plurality of terminals 65 and associated supervisors 66. For convenience and clarity only a single terminal 65 and supervisor 66 are illustrated in Figure 1.
  • server 37 seeks input from supervisor 66 as to whether or not the auto-allocation is approved. In this embodiment, where system 1 handles many thousands of items 2 each day for allocation to hundreds of couriers 3, there are about twenty supervisors 66 and the auto-allocations are queued and presented to the supervisors as they indicate availability.
  • the auto-allocations are directed to a single specific supervisor or sub-set of supervisors based upon one or more of: time criticality of the delivery; the customer; the geographic location or one or more of the pickup address and the delivery address; and other factors.
  • step 106 If at step 106 the auto-allocation is not approved, the future transport data record 16 is re-submitted to step 105.
  • record 107 will be flagged to exclude the auto-allocated courier from the next auto-allocation.
  • the record is flagged to request to "next best" auto-allocation.
  • the flagged courier will only be excluded from the auto-allocation at step 105 for the next five minutes.
  • different durations for exclusion from step 105 are used. This quality control step of supervisor interaction allows for supervisors to manage the human aspect of the personnel, and to take account of qualitative personal development targets for each of those couriers in addition to the usual quantitative measures more applicable to the auto-allocation system.
  • the supervisor is also attempting to manage the overall cost of the courier fleet, such as the fuel economy of the different vehicle types, a minimum payment that will be made to each courier for being "on call", regardless of the amount work done, and other factors such as equitably allocating work to couriers to engender an urgi de corps within the courier fleet.
  • supervisor 66 provides at step 106 approval of the auto-allocation (whether on a first or subsequent pass of record 16 through step 105) server 37 progresses to step 107. Following the existing example, it is taken that supervisor 66, via terminal 65, approved the auto-allocation of item 2a to courier 3b. Server 37 then progresses to step 107 to ascertain whether or not courier 3b is to be informed now of the allocation of item 2a and provided with the required information to allow the pick-up and/or delivery of that item.
  • server 37 is responsive to the status of courier 3b. This status be one of four, including:
  • system 1 only provides each courier with the information required to ascertain the next waypoint. Accordingly a target location data packet 26 is not sent to the courier until the waypoint indicated in that packet is the next to which the courier is to immediately progress. In other embodiments, the packet is sent, but is not accessible to smart phone 4 to derive the target indicia unless the associated waypoint is the next to which the courier is to progress. [00129] Typically, if the status is "unavailable" the courier would not have been available for auto-allocation of item 2a.
  • server 37 ascertains at step 107 that the status of courier 2b is "waiting", which indicates that smart phone 4b does not contain a current target location data packet and the courier 2b is available to receive a new target location data packet 26. That having been ascertained, server 37 advances to step 108 and calculates the route data 109 for inclusion within the target location data packet 26.
  • This route data is digital path information for overlaying on a digital map displayed on the screen of smart phone 4b. By sending data only indicative of the path, rather than of the map itself and the path, it is possible to contain the size of packet 26. This also leverages from the processing capacity of smart phone 4b. In other embodiments both the path data and the map data are included in the route data 109.
  • the route data is calculated based upon a range of variables, including available routes, prevailing weather conditions, courier history, vehicle type used by courier, traffic conditions, and others. Other factors for which the route data can be optimised include: time for delivery (including the fastest time, the closest to a specified time, after a specified time, or the like); fuel economy; minimisation of road tolls; minimisation of traffic light controlled intersections; and the like.
  • Server 37 constructs packet 26 to include the above data and any other data required.
  • other data includes, as illustrated in Figure 6: waypoint data 1 10 indicative of the physical address of the waypoint; delivery time data 1 11 indicative of the expected time of delivery; and courier identifier data indicative of the identity of the courier.
  • waypoint data 1 10 indicative of the physical address of the waypoint
  • delivery time data 1 11 indicative of the expected time of delivery
  • courier identifier data indicative of the identity of the courier.
  • other data is used in addition or as a substitute for the above data.
  • step 115 The packet typically is sent, in effect, in real time to the courier. In the illustrated embodiment, the time between the commencement of step 105 and the end of step 115 is usually less than one minute.
  • server 37 does not progress to step 108 but, instead, queues the selection of courier 3b at step 116.
  • courier 3b to have this status, is already progressing to the next known waypoint, nothing is lost by withholding the data from that courier at this time. Moreover, by withholding the data there is less distraction for the courier, and less risk that the courier will be tempted to try and game system 1.
  • the data queued at step 1 16 is progressed if, at step 1 17, it is subject either to a timeout or to intervention by supervisor 66. All of the queued data will be displayed to supervisor 66 by terminal 65.
  • system 1 operates to continually refine the optimisation of the allocation of an item to a courier.
  • triggers including automated triggers, are used at step 117 to initiate step 105. Examples of such triggers include: a new courier becoming available; an existing courier become unavailable; the breakdown of a courier vehicle; a significant traffic event; a significant weather event; the change of a booking from one service level to another (for example, from a standard service level to an urgent service level), or the like.
  • the automated trigger is based upon a timeout from the most recent auto-allocation operation that has been conducted.
  • the auto-allocation is automatically triggered if processing capacity on server 35 is available. That is, any spare processing capacity will be utilised to update the auto-allocation to best ensure the most up-to-date optimisation of the allocation of the items is achieved.
  • processor 55 is responsive to the target location data for deriving the target indicia. Before that display is actuated, however, processor 55 initiates a pop-up window having three virtual buttons, the first being labelled “Ready for next job?", the second being labelled “Ask me later?" and the third being labelled “Change Status". If courier 3b presses (virtually) the first button processor 55 actuates the display of the target indicia. It will be appreciated that once this actuation occurs, courier 3b has already confirmed acceptance of the next waypoint, which in this case will be the pick-up address for item 2a.
  • the courier is only alerted to the fact that there is a waypoint available, not where it is. Moreover, as the courier does not know if there are any further waypoints available for that day (even if there are a number of possible waypoints queued for that courier at server 36) the courier is more inclined to accept the waypoint. It will be appreciated that in other embodiments the couriers have access to all allocated and accepted waypoints. Moreover, in still further embodiments, system 1 is configurable to allow the supervisor to select whether each given courier has access to only the next waypoint for that courier, or all allocated waypoints. [00137]
  • the target indicia in some embodiments, also include a display of a time by when the courier must be at the next waypoint.
  • the route information that is displayed as part of the target indicia graphically presents to courier 3b the route calculated by server 36.
  • the current location of the courier is also presented on the graphic together with landmarks such as roads, road names, rivers, buildings and building numbers, and other landmarks.
  • courier 3b is provided with a clear indication of the not only the waypoint, but how to progress to the waypoint in a time calculated as being sufficient to allow the efficient and effective operation of the courier fleet as a whole for that day (or other predefined period of operation) based upon the presently understood demand for courier services.
  • courier 3b Once courier 3b has arrives at the current waypoint - that is, address 19 - the courier collects item 2a from customer 12a and once again presses the labelled "Ready for next job?" and this is communicated to server 36. This results in server 36 serving up the next target location data packet 26 to smart phone 4b. Whilst in this example, the waypoint data in this next packet 26 is indicative of delivery address 21 , it will be appreciated that pick-up address 19 and delivery address 21 need not be indicated in successive waypoints for courier 3b. Unless there are not many items to be transported, or if the transportation of an item is particularly time critical, it is more usual for successive waypoints for a given courier to be associated with different items. [00142] Courier 3b then views the waypoint and the route information that is provided for delivery address 21 and proceeds to move to that waypoint. Once at that waypoint, courier 3b provides item 2a to receipient 121.
  • courier 3b With item 2a now transported, courier 3b once again, via smart phone 4b, presses the button labelled "Ready for next job?", and the next target location data packet 26 for that courier is obtained from server 36. If there are no available jobs allocated to courier 3b at that time, system 1 communicates a passive waypoint to smart phone 4b, together with path data, so that the courier is able to be optimally positioned for anticipated orders later in that day. In other embodiments, courier 3b is free to choose his or her own location for this idle period.
  • Server 36 is responsive to courier 3b making the relevant inputs into smart phone 4b to ascertain the time and locations of the pick-up and delivery of item 2a. Once the delivery has been completed, server 36 creates from the available time, courier and location data a new past transport data record 31 that is added to database 30 for use in the subsequent operation of the auto-allocation algorithm.
  • system 1 deals with each booking individually, and dynamically. Once new data is available about new bookings, new locations and availability for couriers, it is possible to refine the allocation that has been made without having to disrupt the couriers who are presently operating. For the couriers are not aware of the queued waypoints that have been provisionally allocated to them, so if that allocation is to change - whether favourably or unfavourably as seen by any given individual - there is no cause for discontent.
  • server 37 In gathering the GPS data for courier 3b (and all the other couriers) server 37 is able to compare the routes suggested to the couriers against the route actually taken when making the auto-allocation.
  • one or more of customers 12 are buying the associated item 2 from a third party such as a retailer.
  • system 1 is configured for allocating to a courier in a set of couriers 3a, 3b, ... , 3m a further item to be transported. Consistent with the prior example, use is made of item 2a. At least one other item - which in this example will be all of items 2b, 2n, have already been allocated to one or more of couriers 3a, 3b, 3m and each item is to be transported between respective pick-up locations and delivery locations.
  • System 1 includes first interface 1 1 for receiving an order that is indicative of item 2a and the pick-up location and the delivery location for item 2a.
  • Database 28 stores allocated transport records for items 2b, 2n, and each allocated transport record is indicative of: the pick-up location and the delivery location for the respective items 2b, 2n; and the courier in the set of couriers to which the respective items 2b, 2n have been allocated.
  • Database 30 stores past transport data for a plurality of previously transported items.
  • Server 35 selectively accesses the databases for allocating item 2a to one of the couriers in the set of couriers, which in this example is courier 3b. Server 35 also reallocates one or more of items 2b, ... , 2n to another of the couriers in the set of couriers. Following from this, server 35 accesses database 28 to store an allocated transport record for item 2a and to update one or more of the allocated transport records to reflect the reallocation.
  • Server 35 is responsive to a trigger signal for initiating the processing that may result in the re-allocation of one or more of the item to another of the couriers and accessing database 28 to update one or more of the allocated transport records to reflect the re-allocation.
  • the trigger signal is, in this embodiment, generated by the supervisor terminal 65 by supervisor 66.
  • server 35 is responsive to one or more variables for automatically generating the trigger signal. Whilst the trigger signal will result in the auto-allocation system reconsidering all the relevant variables to arrive at an updated allocation, that updated allocation can be the same as or different to the immediately succeeding allocation.
  • server 35 provides an alert signal to terminal 65.
  • Supervisor 66 is responsive to the alert signal for selectively confirming the re-allocation.
  • supervisor 66 contacts the courier by telephone (or another voice or data communications channel) to confirm the re-allocation.
  • system 1 is configured for allocating items 2 to a plurality of couriers 3.
  • the couriers have respective communications devices - in the form of smart phones 4 - for obtaining courier location data indicative of the location of the couriers and for displaying to the couriers respective ordered lists of waypoints.
  • system 1 uses first interface 11 for receiving, for each item 2, future transport data 16 that is indicative of a pick-up location and a delivery location for that item.
  • Second interface 25 receives from smart phones 4 the courier location data and provides to smart phones 4 respective target location data from which the lists are derived.
  • the databases illustrated in Figure 1 are used to store the future transport data, the courier location data, the past transport data for a plurality of previously transported items and the target location data for each courier.
  • the target location data for each courier is indicative of: one or more waypoints corresponding to one or more of the pick-up locations or one or more of the delivery locations; and an order for the waypoints.
  • Server 35 selectively accesses the databases for determining if the target location data for one of the couriers is to be updated. If this is to occur, server 35 selectively accesses the database to update the target location data for that courier. Additionally, server 35 initiates communication via interface 25 of the target location data for that courier to the corresponding smart phone 4.
  • system 1 will have undertaken one or more prior auto-allocation steps such as that indicated by step 105 in Figure 9.
  • the target location data for a given courier includes one or more waypoints that the courier is to progress to. These waypoints are specified by a unique identifier, address data indicative of the physical location of the waypoint (which is derived from a pick-up or delivery location) and a rank for the waypoint.
  • the rank is a relative rank - which in this embodiment is a ten digit number - and is able to be compared for the waypoints for a given courier to allow an ordered list of the waypoints to be produced.
  • the rank, or system of ranking allows the communication device - that is, the smart phone 4 for a given courier 3 - to readily present to the courier the waypoints in the order that server 35 has determined they should be approached.
  • smart phones 4 are also responsive to the data indicative of the physical location for presenting to the relevant courier path data indicative of a path for that courier to follow to the next waypoint, or between the waypoints.
  • different ranks or ranking systems are used such as a number that is indicative of anticipated time the courier is to be at the respective waypoint.
  • smart phones 4 are preferentially configured to display the time for each waypoint to the relevant courier to allow for self-policing of the courier's progress.
  • the list displayed by a given smart phone 4 will include: multiple waypoints arranged visually in order; a single waypoint; or no waypoints. The latter occurs when the courier concerned does not have any current allocation of items to be transported.
  • the list displayed to each courier will be unique and specific to that courier, and will be updated through a given operating period as the orders are received and processed by system 1 to generate additional allocations of items to the couriers.
  • the operating period is one day. In other embodiments, different operation periods are used, such as four hour blocks of time, or one week, or a weekend, or other such period.
  • system 1 is in a poised or active state awaiting a trigger.
  • the couriers At this step during a given period it is usual for all or most of the couriers to have displayed to them, by respective smart phones 4, a list of one or more waypoints that are associated with work orders or jobs that have been accepted by those couriers.
  • the waypoints are ordered in the sequence that system 1 has ascertained the courier should progress to the waypoints.
  • a courier confirms that a waypoint has been reached, that non-current waypoint will no longer be displayed.
  • non-current waypoints are greyed out or otherwise visually indicated as being of a different status to the current waypoints that are yet to be reached.
  • Server 35 is responsive to a trigger signal at step 132 for progressing to the auto-allocate step 105.
  • the trigger signal is either automatically generated in response to one or more variables, or manually generated by a supervisor or other authorised administrator of server 35.
  • the trigger signal is generated automatically in response to:
  • the trigger will also be generated if a predetermined time has passed since the last auto-allocation occurred to take account of more recently obtained inputs, such as courier location data, traffic data, weather condition data, and the like.
  • a further automated trigger is one or more predetermined times of a day. For example, for some courier fleets there is often at least a period of a day where many couriers are mobile, and the trigger is automatically generated at one or more times during that period.
  • server 35 assesses step 135 if the most recent auto-allocation, if accepted, would result in the change to any target location data for any one or more of the couriers. If no change is determined, then server 35 returns to step 131. If, however, a change is to occur, server 35 assesses at step 136 if that relates to a change of allocation of an item to one or more of the couriers. If the auto-allocation at step 105 occurs in response to new future transport data then there will be at least one change in the allocation - in that a new item will have been allocated - which in turn will require a change to the associated target location data for the impacted courier.
  • step 136 there will either be no allocation changes determined, one allocation change determined, or a plurality of allocation changes determined. Each allocation change that is determined is then handled separately and progresses independently to step 137 where it is displayed on terminal 65 for action by supervisor 66. Where there are multiple allocation changes determined at step 136, these are progressed in real-time and in parallel to step 137 for consideration in total by supervisor 66.
  • an item newly auto-allocated to a given courier will not be confirmed as allocated until that courier accepts the allocation. Moreover, once that courier has confirmed the acceptance of an allocation of an item, that item will not be reallocated to another courier without approval by supervisor 66 at step 137. This allows supervisors the ability to re-allocate, but not without having regard to the courier.
  • server 35 will progress to a further auto-allocation step 105 together with input that the preceding auto-allocation was not approved.
  • step 137 the relevant courier or couriers will be contacted at step 138, typically via interface 1 1 and smart phones 4, to gain confirmation of acceptance by that courier or those couriers of the change. If the change is the allocation of a new item, then only one courier will be contacted. However, if the change is the re-allocation of an existing item to a different courier, then two couriers will be contacted. If the required confirmation is not forthcoming within a predetermined timeframe, then server 35 will progress to a further auto-allocation step 105 together with input that the preceding auto-allocation was not satisfactory.
  • step 136 If, at step 136, it is assessed that the allocation of items is not to change, there will be other of the target location data that is to change. Typically, that change will be to the rank for one or more of the waypoints that have already been assigned to and accepted by a given courier. It may also be to the details available for the physical address of the waypoint.
  • server 35 is responsive to assessing these changes to updating the target location data at step 139, and for initiating the communication of the changes to the relevant smart phones 4 of the associated courier or couriers. This latter step is represented in Figure 10 as step 140.
  • server 35 automatically moves to update any target location data locally, and then to have the changes disseminated to the relevant remote communication devices. Similarly, if the courier or couriers confirm at step 138 that the allocation or re-allocation is accepted, the server 35 will also move to have the changes saved locally and then disseminated remotely. This ensures that a central current record is held of the target location data, and that only changes to that data need to be sent. Accordingly, the smart phone 4 (or substitute) receives and is responsive to the updated target location data for representing the list to the relevant courier or couriers. This takes advantage of the processing power at the local and remote ends of system 1 , and reduces the amount of traffic through interface 1 1 to allow for greater speed of operation and/or scalability of system 1.
  • the above embodiments have been primarily described with reference to the allocation of items to couriers operating within a single metropolitan area. However, it will be appreciated that other embodiments are applicable to multiple areas, whether those areas are adjacent to or distal from each other.
  • the embodiments also accommodate the transportation of an item by multiple couriers between the initial pick-up address and the ultimate delivery address. That is, a first of the couriers will have a pick-up address which is the initial pick-up address, and a delivery address that corresponds to the pick-up address for a second of the couriers, and so on, until the final courier in the chain has a delivery address that corresponds to the ultimate delivery address.
  • the areas are in some embodiments in different countries and the couriers make use of one or more of: automotive vehicles; aircraft; watercraft; motorcycles, bicycles; foot; and other forms of transportation.
  • System 1 is able to provide additional functionality such as a countdown timer.
  • a countdown timer is exemplified in the co-pending PCT application in the name of this applicant and having the same filing date as the present PCT application.
  • the copending PCT application makes a priority claim to Australian patent application 2012226902, and the content of both the co-pending PCT application and Australian patent application are incorporated herein by way of cross reference.
  • processor may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory.
  • a "computer” or a “computing machine” or a “computing platform” may include one or more processors.
  • the methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein.
  • Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included.
  • a typical processing system that includes one or more processors.
  • Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit.
  • the processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM.
  • a bus subsystem may be included for communicating between the components.
  • the processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT) display. If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth.
  • the processing system in some configurations may include a sound output device, and a network interface device.
  • the memory subsystem thus includes a computer-readable carrier medium that carries computer-readable code (e.g., software) including a set of instructions to cause performing, when executed by one or more processors, one of more of the methods described herein.
  • computer-readable code e.g., software
  • the software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system.
  • the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code.
  • a computer-readable carrier medium may form, or be included in a computer program product.
  • the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a user machine in server-user network environment, or as a peer machine in a peer-to-peer or distributed network environment.
  • the one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, a smart phone, a switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • PC personal computer
  • PDA Personal Digital Assistant
  • each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that is for execution on one or more processors, e.g., one or more processors that are part of web server arrangement.
  • a computer-readable carrier medium carrying computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method.
  • aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects.
  • the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
  • the software may further be transmitted or received over a network via a network interface device.
  • the carrier medium is shown in an exemplary embodiment to be a single medium, the term “carrier medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • the term “carrier medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention.
  • a carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
  • Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks.
  • Volatile media includes dynamic memory, such as main memory.
  • Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise a bus subsystem. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
  • carrier medium shall accordingly be taken to included, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media; a medium bearing a propagated signal detectable by at least one processor of one or more processors and representing a set of instructions that, when executed, implement a method; and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.
  • Coupled when used in the claims, should not be interpreted as being limited to direct connections only.
  • the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other.
  • the scope of an expression such as “a device A coupled to a device B” should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means.
  • Coupled may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A system (1) for allocating a plurality of items (2) to one or more typically geographically spaced apart couriers (3) having respective communications devices in the form of smart phones (4). The smart phones (4) provide, amongst other things, courier location data in the form of a courier location data packet (5) containing, amongst other things, GPS data (6) that is indicative of the geographic location (7) of the respective courier. Smart phones (4) visually display respective target indicia (8), where indicia (8) provides a visual indication of at least one waypoint (9) for the respective courier.

Description

A SYSTEM AND METHOD FOR ALLOCATING AN ITEM
FIELD OF THE INVENTION
[0001] The present invention relates to a system and method for allocating an item, and more particularly to a system and method for allocating an item to one of a plurality of couriers.
[0002] Embodiments of the invention have been particularly developed for the delivery of small items by couriers and some embodiments will be described herein with particular reference to that application. However, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts including, without limitation, the management of first party or third party transport fleets.
BACKGROUND
[0003] Any discussion of the background art throughout the specification should in no way be considered as an admission that such art is widely known or forms part of common general knowledge in the field.
[0004] The allocation of delivery jobs to couriers has traditionally been achieved manually, which is highly labour intensive and involves considerable backroom cost for the courier company. More recently, use has been made of computer-based systems for allocating jobs to couriers within a courier fleet. An example of such an allocation system is disclosed in US'~patent 7,828,202 and makes use of, amongst other things, a combination of hardware and software utilising "meta-heuristics and a neural network to develop auto-allocations of the jobs to the available couriers. This system is responsive to a range of variables in developing the auto-allocation and for providing reporting on the location of the couriers.
[0005] It has been found that at least some of the available automated allocation systems are particularly prone to "gaming" by at least a subset of the couriers. That is, the couriers in this subset are able, over time, to intuit the operation of the auto-allocate software algorithm to selectively acquire the more lucrative jobs at the expense of those couriers better placed to take those jobs. This results in the effectiveness of the system being compromised.
[0006] Accordingly, there is a need in the art for an improved system and method for allocating an item to a courier.
SUMMARY OF THE INVENTIO
[0007] It is an object of the present invention to overcome or ameliorate at least one of the disadvantages of the prior art, or to provide a useful alternative. [0008] According to a first aspect of the invention there is provided a system for allocating a plurality of items to one or more couriers, the system including:
a communications device for each courier for obtaining courier location data indicative of the location of the couriers and for displaying to the couriers respective target indicia representative of a path for that courier to follow;
a first interface for receiving, for each item, future transport data that is indicative of at least two locations between which the item is to be transported;
a second interface for receiving from the communications devices the courier location data and for providing selectively to the communications devices target location data from which the target indicia is derived;
a first database for storing the future transport data;
a second database for storing the courier location data;
a third database for storing past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations; and
at least one server for selectively accessing the databases, wherein the server is, for each item:
a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating that item to a selected one of the couriers; and
b) responsive to the future transport data for that item and the courier location data for the selected courier for generating target location data for the selected courier that is indicative of at least a selected one of the locations in the future transport data for the item.
[0009] In an embodiment, the courier location data is time-stamped.
[0010] In an embodiment, the at least one server updates the past transport data to include selected courier location data received by the second interface.
[0011] In an embodiment, the future transport data for each item includes a time- related characteristic for one or more of the two locations.
[0012] In an embodiment, the future transport data is indicative of the nature of the item.
[0013] In an embodiment, the future transport data for each item is indicative of a pickup location for the respective item and a drop-off location for the respective item. [0014] In an embodiment, the at least one server generates target location data for the selected courier that is indicative of the pick-up location or the drop-off location for the item.
[0015] In an embodiment, the past transport data is indicative of the time the delivered items were at the locations between which the previously delivered items were transported.
[0016] In an embodiment, the at least one server allocates the items to the couriers sequentially.
[0017] In an embodiment, the second interface is responsive to the allocation of the item to the selected courier for automatically providing the target data to the selected courier.
[0018] In an embodiment, the communication devices allow the respective couriers, at the location indicated by the target location data for the respective item, to provide confirmation signals to the second interface.
[0019] In an embodiment, the at least one server is responsive to the confirmation signal for accessing the third database to selectively update the past transport data.
[0020] In an embodiment, the at least one server is responsive to the confirmation signal for re-allocating one or more of the items.
[0021] In an embodiment, the at least one server selects items to re-allocate from that set of the items for which a confirmation signal has not been received by the second interface.
[0022] In an embodiment, the system includes a supervisor interface for providing control signals, wherein the at least one server is responsive to the control signal for providing the target data to the selected courier.
[0023] In an embodiment, the at least one server is responsive to the control signals confirming the allocation to the selected courier before providing the target data to that courier.
[0024] In an embodiment, the at least one server is responsive to the control signal for re-allocating one or more of the items.
[0025] In an embodiment, the communications devices include respective stored mapping data, and each communications device is responsive to the target data and the stored mapping data for generating the target indicia.
[0026] In an embodiment, the target indicia are optimised for minimum travel time.
[0027] In an embodiment, the optimisation is responsive to contemporary environmental data at or adjacent to one or more of the locations. [0028] In an embodiment, the contemporary environmental data includes one or more of traffic information and weather information.
[0029] In an embodiment, two or more of the first, second and third databases are maintained within a common database.
[0030] In an embodiment, the courier location data is derived from one or more of: GPS signals; and triangulation signals.
[0031] In an embodiment, the communications devices include respective GPS units for providing the GPS signal.
[0032] In an embodiment, the past transport data is directly indicative of the time taken to transport the article between the locations.
[0033] In an embodiment, the past transport data is indirectly indicative of the time taken to transport the article between the locations.
[0034] In an embodiment, the past transport data is indirectly indicative of the time taken to transport the article between the locations by containing data indicative of the arrival of the courier at the locations.
[0035] In an embodiment, at least one of the communications devices includes a first module for obtaining the courier location data and a second module for displaying to the courier the target indicia.
[0036] In an embodiment, the first module and the second module are electronically integrated.
[0037] In an embodiment, the first module and the second module are physically separate and electronically coupled.
[0038] In an embodiment, the first module and the second module include at least one common communication channel with the second interface.
[0039] According to a second aspect of the invention there is provided a method for allocating a plurality of items to one or more couriers, the method including:
obtaining courier location data indicative of the location of the respective couriers; displaying respective target indicia to the couriers representative of a path for that courier to follow;
receiving at a first interface, for each item, future transport data that is indicative of at least two locations between which the item is to be transported;
receiving at a second interface the courier location data from the communications devices;
providing selectively to the communications devices target location data from which the target indicia is derived;
storing in a first database the future transport data; storing in a second database the courier location data;
storing in a third database past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations; and
providing at least one server for selectively accessing the databases, the server being, for each item:
a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating that item to a selected one of the couriers; and
b) responsive to the future transport data for that item and the courier location data for the selected courier for generating the target location data for the selected courier that is indicative of one of the locations in the future transport data for the item.
[0040] According to a third aspect of the invention there is provided a system for allocating a plurality of items to one or more couriers, the system including:
a communications device for each of the couriers for obtaining location data indicative of the location of the respective couriers and for displaying to the couriers respective target locations and a path for the courier to follow to the respective target locations;
a first interface for receiving, for each item, future transport data that is indicative of a pick-up location and a delivery location between which the item is to be transported;
a second interface for receiving from the communications devices the location data and for providing selectively to the communications devices target location data from which the respective target locations are derived;
a first database for storing the future transport data;
a second database for storing the location data;
a third database for storing past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously transported items were transported; and the time taken to transport the respective articles between the locations; and
at least one server for selectively accessing the databases, wherein the server is, for each item: a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating that item to a selected one of the couriers; and
b) responsive to the future transport data for that item and the location data for the selected courier for generating target location data for the selected courier that is indicative of a selected one of the pick-up location and the delivery location for the item.
[0041] In an embodiment, the communication devices allow the respective couriers, when at the location indicated by the target location data for the respective item, to provide confirmation signals to the second interface.
[0042] In an embodiment, the server is responsive to the confirmation signal from a given courier for generating further target location data for that courier.
[0043] According to a fourth aspect of the invention there is provided a method for allocating a plurality of items to one or more couriers, the method including:
obtaining location data indicative of the location of the respective couriers;
displaying to the couriers respective target locations and a path for the courier to follow to the respective target locations;
receiving at a first interface, for each item, future transport data that is indicative of a pick-up location and a delivery location between which the item is to be transported;
receiving at a second interface the location data from the communications devices; providing selectively to the communications devices target location data from which the respective target locations are derived;
storing in a first database the future transport data;
storing in a second database the location data;
storing in a third database past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport respective the articles between the locations; and
providing at least one server for selectively accessing the databases, wherein the server is, for each item:
a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating that item to a selected one of the couriers; and
b) responsive to the future transport data for that item and the location data for the selected courier for generating target location data for the selected courier that is indicative of a selected one of the pick-up location and the delivery location for the item.
[0044] According to a fifth aspect of the invention there is provided a method for allocating a plurality of items to one or more couriers, the method including:
obtaining location data indicative of the location of the respective couriers;
displaying respective target indicia that is indicative of a path for the courier to follow;
receiving, for each item, future transport data that is indicative of at least two locations between which the item is to be transported;
receiving the courier location data from the communications devices;
providing selectively to the communications devices target location data from which the target indicia is derived;
storing the future transport data, the courier location data and past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations; and for each item:
a) being responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating that item to a selected one of the couriers; and
b) being responsive to the future transport data for that item and the courier location data for the selected courier for generating the target location data for the selected courier that is indicative of one of the locations in the future transport data for the item.
[0045] According to a sixth aspect of the invention there is provided a computer system configured to perform a method according to any of the second, fourth or fifth aspects of the invention.
[0046] According to a seventh aspect of the invention there is provided a computer program configured to perform a method according to any of the second, fourth or fifth aspects of the invention.
[0047] According to an eighth aspect of the invention there is provided a non-transitive carrier medium carrying computer executable code that, when executed on a processor, causes the processor to perform a method according to any of the second, fourth or fifth aspects of the invention.
[0048] According to a ninth aspect of the invention there is provided a method for allocating a plurality of items to one or more couriers, the method including: obtaining location data indicative of the location of the respective couriers;
displaying to the couriers respective target locations and a path for the courier to follow to the target location;
receiving, for each item, future transport data that is indicative of a pick-up location and a delivery location between which the item is to be transported;
receiving the location data from the communications devices;
providing selectively to the communications devices target location data from which the respective target locations are derived;
storing the future transport data, the location data and past transport data for a plurality of previously transported items, the past transport data being indicative of: the locations between which the previously delivered items were transported; and the time taken to transport respective the articles between the locations; and for each item being:
a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating that item to a selected one of the couriers; and
b) responsive to the future transport data for that item and the location data for the selected courier for generating target location data for the selected courier that is indicative of a selected one of the pick-up location and the delivery location for the item.
[0049] According to tenth aspect of the invention there is provided a computer system configured to perform the method of the ninth aspect.
[0050] According to an eleventh aspect of the invention there is provided a computer program configured to perform the method of the ninth aspect.
[0051] According to a twelfth aspect of the invention there is provided a non-transitive carrier medium carrying computer executable code that, when executed on a processor, causes the processor to perform the method according the ninth aspect.
[0052] According to a thirteenth aspect of the invention there is provided a system for allocating an item to one of a plurality of couriers, the system including:
communications devices for obtaining courier location data indicative of the location of the respective couriers and displaying to respective couriers target indicia for that courier and a path for that courier to follow;
a first interface for receiving future transport data that is indicative of at least two locations between which the item is to be transported; a second interface for receiving from the communications devices the courier location data and for providing selectively to the communications devices target location data from which the target indicia is derived;
a first database for storing the future transport data;
a second database for storing the courier location data;
a third database for storing past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations; and
at least one server for selectively accessing the databases, wherein the server is: a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating the item to a selected one of the couriers; and
b) responsive to the future transport data for the item and the courier location data for the selected one of the couriers for generating target location data for the selected one of the couriers that is indicative of at least a selected one of the locations in the future transport data.
[0053] According to a fourteenth aspect of the invention there is provided a method for allocating an item to one of a plurality of couriers, the method including:
obtaining courier location data indicative of the location of the respective couriers; displaying to respective couriers target indicia for that courier and a path for that courier to follow;
receiving future transport data that is indicative of at least two locations between which the item is to be transported;
receiving from the communications devices the courier location data and for providing selectively to the communications devices target location data from which the target indicia is derived;
obtaining past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations; and
being:
a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating the item to a selected one of the couriers; and b) responsive to the future transport data for the item and the courier location data for the selected one of the couriers for generating target location data for the selected one of the couriers that is indicative of at least a selected one of the locations in the future transport data, wherein the target location data includes path data indicative of a path for the selected one of the couriers to follow to progress to the selected one of the locations.
[0054] According to a fifteenth aspect of the invention there is provided a computer system configured to perform the method according to the fourteenth aspect.
[0055] According to a sixteenth aspect of the invention there is provided a computer program configured to perform the method according to the fourteenth aspect.
[0056] According to a seventeenth aspect of the invention there is provided a non- transitive carrier medium carrying computer executable code that, when executed on a processor, causes the processor to perform the method according to the fourteenth aspect.
[0057] According to an eighteenth aspect of the invention there is provided a system for allocating to a courier in a set of couriers a further item to be transported, wherein at least one other item has already been allocated to one or more of the couriers in the set of couriers and each item is to be transported between respective pick-up locations and delivery locations, the system including:
a first interface for receiving an order that is indicative of at least the further item and the pick-up location and the delivery location for the further item;
a first database for storing allocated transport records for the other items, each allocated transport record being indicative of: the pick-up location and the delivery location for the respective other item; and the courier in the set of couriers to which the respective other item has been allocated;
a second database for storing past transport data for a plurality of previously transported items; and
at least one server for: selectively accessing the databases for allocating the further item to one of the couriers in the set of couriers and for re-allocating one or more of the at least one other item to another of the couriers in the set of couriers; and accessing the first database to store an allocated transport record for the further item and to update one or more of the allocated transport records to reflect the re-allocation.
[0058] In an embodiment, the at least one server is responsive to a trigger signal for: re-allocating one or more of the at least one other item to another of the couriers in the set of couriers; and accessing the second database to store an allocated transport record for the further item and to update one or more of the allocated transport records to reflect the re-allocation.
[0059] In an embodiment, the system includes a supervisor terminal for a supervisor.
[0060] In an embodiment, the trigger signal is provided by the supervisor terminal.
[0061] In an embodiment, the at least one server is responsive to one or more variables for automatically generating the trigger signal.
[0062] In an embodiment, the at least one server is responsive to the re-allocation to provide an alert signal to the supervisor terminal.
[0063] In an embodiment, the supervisor is responsive to the alert signal for selectively confirming the re-allocation.
[0064] In an embodiment, the at least one server is responsive to confirmation that the items has been delivered to the respective delivery locations for accessing the second database to update the past transport data.
[0065] According to a nineteenth aspect of the invention there is provided a method for allocating to a courier in a set of couriers a further item to be transported, wherein at least one other item has already been allocated to one or more of the couriers in the set of couriers and each item is to be transported between respective pick-up locations and delivery locations, the method including:
receiving an order that is indicative of at least the further item and the pick-up location and the delivery location for the further item;
storing in a first database allocated transport records for the other items, each allocated transport record being indicative of: the pick-up location and the delivery location for the respective other item; and the courier in the set of couriers to which the respective other item has been allocated;
storing in a second database past transport data for a plurality of previously transported items;
selectively accessing the databases for allocating the further item to one of the couriers in the set of couriers and for re-allocating one or more of the at least one other item to another of the couriers in the set of couriers; and
accessing the first database to store an allocated transport record for the further item and to update one or more of the allocated transport records to reflect the reallocation.
[0066] According to a twentieth aspect of the invention there is provided a system for re-allocating one or more items to couriers in a set of couriers, wherein each item is to be transported between respective pick-up locations and delivery locations, the system including: a first database for storing allocated transport records for the items, each allocated transport record being indicative of: the pick-up location and the delivery location for the respective items; and the courier in the set of couriers to which the respective item has been allocated;
a second database for storing past transport data for a plurality of previously transported items; and
a first interface for receiving a trigger signal; and
at least one server that is responsive to the trigger signal for: selectively accessing the databases for re-allocating at least one of the one or more items to another of the couriers in the set of couriers; and accessing the first database to update one or more of the allocated transport records to reflect the re-allocation.
[0067] According to a twenty first aspect of the invention there is provided a method for re-allocating one or more items to couriers in a set of couriers, wherein each item is to be transported between respective pick-up locations and delivery locations, the method including:
storing in a first database allocated transport records for the items, each allocated transport record being indicative of: the pick-up location and the delivery location for the respective items; and the courier in the set of couriers to which the respective items has been allocated;
storing a second database past transport data for a plurality of previously transported items; and
receiving a trigger signal; and
being responsive to the trigger signal for: selectively accessing the databases for re-allocating at least one of the one or more items to another of the couriers in the set of couriers; and accessing the first database to update one or more of the allocated transport records to reflect the re-allocation.
[0068] According to a twenty second aspect of the invention there is provided a system for allocating items to a plurality of couriers having respective communications devices for obtaining courier location data indicative of the location of the couriers and for displaying to the couriers respective ordered lists of waypoints, the system including:
a first interface for receiving, for each item, future transport data that is indicative of a pick-up location and a delivery location for that item;
a second interface for receiving from the communications devices the courier location data and for providing to the communications devices respective target location data from which the list is derived;
a first database for storing the future transport data; a second database for storing the courier location data;
a third database for storing past transport data for a plurality of previously transported items;
a fourth database for storing the target location data for each courier, wherein the target location data for each courier is indicative of: one or more waypoints corresponding to one or more of the pick-up locations or one or more of the delivery locations; and an order for the waypoints; and
at least one server for selectively accessing the databases for determining if the target location data for one of the couriers is to be updated and, if so: accessing the fourth database to update the target location data for that courier; and initiating communication via the second interface of the target location data for that courier to the corresponding communication device.
[0069] In an embodiment, the at least one server selectively determines if the target location data for more than one of the couriers is to be updated and, if so: accesses the fourth database to update the target location data for those couriers; and to initiate the communication via the second interface the target location data for those couriers to the corresponding communication devices.
[0070] In an embodiment, the target location data includes a rank for each waypoint and the communications devices are responsive to the rank for determining the display of the ordered lists.
[0071] In an embodiment, the rank is a number.
[0072] In an embodiment, the number is representative of a future time.
[0073] In an embodiment, the at least one server is responsive to a trigger signal for accessing the databases for determining if the target location data for one of the couriers is to be updated.
[0074] According to a twenty third aspect of the invention there is provided a method for allocating items to a plurality of couriers having respective communications devices for obtaining courier location data indicative of the location of the couriers and for displaying to the couriers respective ordered lists of waypoints, the method including:
receiving via a first interface, for each item, future transport data that is indicative of a pick-up location and a delivery location for that item;
receiving from the communications devices, via a second interface, the courier location data and for providing to the communications devices respective target location data from which the list is derived;
storing in a first database the future transport data;
storing in a second database the courier location data; storing a third database past transport data for a plurality of previously transported items;
storing a fourth database the target location data for each courier, wherein the target location data for each courier is indicative of: one or more waypoints corresponding to one or more of the pick-up locations or one or more of the delivery locations; and an order for the waypoints; and
selectively accessing the databases for determining if the target location data for one of the couriers is to be updated and, if so: accessing the fourth database to update the target location data for that courier; and initiating communication via the second interface of the target location data for that courier to the corresponding communication device.
[0075] One embodiment provides a computer program product for performing a method as described herein.
[0076] One embodiment provides a non-transitive carrier medium for carrying computer executable code that, when executed on a processor, causes the processor to perform a method as described herein.
[0077] One embodiment provides a system configured for performing a method as described herein.
[0078] Reference throughout this specification to "one embodiment", "some embodiments" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment", "in some embodiments" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.
[0079] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in important or significance, in ranking, or in any other manner.
[0080] In the claims below and the description herein, any one of the terms "comprising", "comprised of" or "which comprises" is an open term that means including at least the elements/features that follow, but not excluding others. Thus, the term "comprising", when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter. For example, the scope of the expression such as "a device comprising A and B" should not be limited to devices consisting only of elements A and B. Any one of the terms "including" or "which includes" or "that includes" as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.
[0081] As used herein, the term "exemplary" is used in the sense of providing examples, as opposed to indicating quality. That is, an "exemplary embodiment" is an embodiment provided as an example, as opposed to necessarily being an embodiment of exemplary quality.
BRIEF DESCRIPTION OF THE DRAWINGS
[0082] Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
Figure 1 illustrates schematically a system for allocating an item to one of a plurality of couriers;
Figure 2 illustrates schematically the transport of an item by one of the couriers between a pick-up address and a delivery address;
Figure 3 illustrates a representative record of courier location data;
Figure 4 illustrates a representative record of target indicia;
Figure 5 illustrates a representative record of future transport data;
Figure 6 illustrates a representative record of target location data;
Figure 7 illustrates a representative record of past transport data;
Figure 8 illustrates schematically one of the smart phones of Figure 1 utilised by a courier;
Figure 9 is a flowchart illustrating the making of a booking on the system of Figure 1 ; and
Figure 10 is a flowchart illustrating the updating of target location data in response to a further auto-allocation.
DETAILED DESCRIPTION
[0083] Described herein are systems and methods for allocating an item to a courier in a set of couriers, and the extension of those systems and methods to the allocation of a plurality of items to one or more of those couriers. [0084] Referring to Figures 1 and 2 there is illustrated schematically a system 1 for allocating a plurality of items 2 (including but limited to item 2a, item 2b, and item 2n) to one or more typically geographically spaced apart couriers 3 (including but not limited to courier 3a, courier 3b, and courier 3m) having respective communications devices in the form of smart phones 4 (including but not limited to smart phone 4a, smart phone 4b, and smart phone 4m). Whilst only couriers 3a, 3b, and 3m are explicitly illustrated in Figure 1 it will be appreciated that system 1 is designed to accommodate many hundreds or thousands of couriers, and is able to operate with any number of couriers from one to many thousands. The smart phones 4 provide, amongst other things, courier location data in the form of a courier location data packet 5 (as representatively illustrated in Figure 3) containing, amongst other things, GPS data 6 that is indicative of the geographic location 7 of the respective courier. Smart phones 4 visually display respective target indicia 8 as schematically indicated in Figure 4, where indicia 8 provides a visual indication of at least one waypoint 9 for the respective courier. The derivation of this and other waypoints will be described in more detail below.
[0085] System 1 includes a first interface, in the form of a web interface 1 1 , for receiving from a plurality of customers 12 (including but not limited to customer 12a, customer 12b, and customer 12x), via respective smart phones 15, future transport data for the respective items. The future transport data is contained within a future transport data record 16, and is representatively illustrated in Figure 5. For each item 2 the future transport data record 16 is indicative of two locations between which the associated item is to be transported. One of the locations is a pick-up address 19 - which is indicated by pick-up address data 20 - and the other of the locations is a delivery address 21 - which is indicated by delivery address data 22. The future transport data record 16 is also indicative of a time - represented by delivery time data 23 - for delivery of the item 2 to the delivery address 21. In some embodiments the future transport data record 16 is indicative of a further time - represented by pick-up time data 24 - by which the item 2 is to be picked up by the courier from the pick-up address 19.
[0086] Whilst only three customers 12 are explicitly illustrated in Figure 1 it will be appreciated that, in use, there are typically many hundreds or thousands of such customers each business day. Moreover, the items that customers 12 request to have transported are selected from a wide range of possible items. The term "item" as used in this specification is a generic term for an article, object or combination of articles and/or objects. Common examples include documents (often contained in an envelope or other enclosure), products, product samples, replacement parts for machinery, cheques, gifts, and the like. However, the term is also broad enough to include other items such as flowers, pets, furniture, or the like. An item could also be selected from one or a combination of electronic devices (including computers, laptops, mobile computing devices, smart phones, cellular phones and the like), components for electronic devices, electrical appliances (including televisions, refrigerators, toasters, blenders, and the like), parts or components for electrical appliances, fragile items, valuable items (such as jewellery, time pieces, notes and coins, precious metals, and the like). It is usual for items to be packaged in one way or another to facilitate secure transportation between the relevant pick-up and delivery addresses.
[0087] A second interface, in the form of a web interface 25, receives from smart phones 4 the courier location data packets 5 and provides selectively to smart phones 4 target location data packets 26 - as representatively illustrated in Figure 7 - from which the target indicia 8 is derived.
[0088] System 1 includes a first database 28 for storing the future transport data records 16, a second database 29 for storing the courier location data packets 5, and a third database 30 for storing past transport data records 31. Records 31 relate to a plurality of previously transported items and include data indicative of: the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations. One of records 31 is schematically and exemplarily illustrated in Figure 7. In other embodiments records 31 include additional or different data. It will be appreciated that as items are delivered that system 1 updates database 28 with additional records 31 derived from information collected prior to and during the delivery of that item. In other embodiments it is also derived from information collected following from the delivery.
[0089] A server system 35 includes a web server 36, an application server 37, and other servers (not shown) for performing a variety of operations to allow the operation of system 1. In this embodiment server 37 selectively accesses databases 28, 29 and 30 and is, for each item 2a, 2b, and 2n:
responsive to the past transport data records 31 , the most current courier location data packet 5, and the future transport data records 16 for each given item 2, for allocating individually each item 2 to a selected one of the couriers 3; and
responsive to the future transport data record 16 for the given item 2 and the most current courier location data packet 5 for the selected courier 3 for generating the target location data packet 26 for the selected courier 3 that is indicative of at least a selected one of the locations 19 or 21 in the future transport data for the specific item 2, wherein the target location data packet 26 includes path data 38 indicative of a path for the selected courier 3 to progress from to the selected one of the locations 19 or 21.
[0090] The packet 26 is communicated to the selected courier 3 by server 36, via interface 25, and to the relevant one of smart phones 4. That smart phone, through running local software - in this embodiment a locally running application - is responsive to packet 26 for generating the indicia 8 on the visual display of the smart phone. This indicia provides the courier with the next address to which the courier is to progress, together with a graphically represented map and route along that map to follow to the address. This address is referred to as waypoint 9, and is either a pick-up or delivery address. In this embodiment, the courier is provided only with the next waypoint, route information 39 to that waypoint that is derived from path data 38, waypoint type data indicative of whether the waypoint is a pick-up address or a delivery address, and an identifier for the item related to that waypoint. In other embodiments the courier is provided with a sequence of waypoints and the route information for the next waypoint is provided once the current waypoint has been reached. In still further embodiments, the courier is able to scroll through or otherwise review or select target indicia for past or future bookings that have been allocated to the courier.
[0091] Server system 35 and databases 28, 29 and 30 are located at a data capture and processing facility 41 and are operated by a first party ("the system operator") that is a corporation providing courier services and which employs or otherwise remunerates the couriers 3 for the work undertaken in picking-up and delivering the allocated items. In other embodiments one or more of the servers within the server system 35 are located other than at facility 41 and communicate with the other servers via a communications network (not shown). In further embodiments, one or more of databases 28, 29 and 30 are combined together with each other, or segmented and spread across a plurality of distinct databases within facility 41 or elsewhere. In some embodiments, use is made of cloud computing facilities in addition to, or instead of, any one or more of sever system 35 and databases 28, 29 and 30.
[0092] In other embodiments, the system operator is a fleet management service provider, and provides data to a client (typically a fleet operator) to allow the fleet operator to manage the allocation of jobs to the vehicles within the relevant fleet for a relevant period. That is, the system operator need not be the party also providing the courier or other transportation services.
[0093] In other embodiments the fleet comprises one or more taxis and the term "item" includes one or more humans. [0094] Smart phones 4 are off-the-shelf, readily available hardware and software components having respective inbuilt GPS receivers and which are web-enabled and operable to run executable code to connect with and communicate with system 1 via interface 25. Examples of such smart phones include an iPhone 4S. However, in other embodiments use is made of a smart phone running the Android operating system or other operating system.
[0095] In other embodiments, one or more of smart phones 4 does not include an inbuilt GPS receiver, and is connected instead to a separate GPS receiver that in use is carried by the respective courier 3. This allows the courier location information for a given courier to be communicated to the smart phone 4 and then onto interface 11. In other embodiments the GPS receiver communicates directly with interface 11 or via a separate network.
[0096] Preferentially all smart phones 4 are of the same make and model to facilitate the supply and maintenance of those devices by the system operator. However, in other embodiments a range of different smart phones are used by the couriers 3.
[0097] In further embodiments, one or more of smart phones 4 is substituted with a proprietary hardware and software solution that communicates with system 1 via interface 25 and/or another communications network. For example, in one such embodiment, the couriers 4 have respective mobile computers such as that manufactured by Intermec Technologies Corporation and designated as model CN50 and which use Windows Mobile 6.5 operating system and which have inbuilt GPS capability. Such a mobile computer, and like computers, are designed robustly for field use and are well suited to use in the commercial application of system 1. Preferentially, smart phones 4 include at least a 3G network capability and/or a 4G network capability. However, in other embodiments use is made also or instead smart phones with a GPRS capability. In some embodiments, communications between system 1 and smart phones 4 occurs selectively by another communications interface than interface 25. An example of the latter includes an SMS interface.
[0098] In other embodiments, the location information is provided by other than a GPS signal. For example, in one embodiment, use is made of triangulation or other techniques to gain the location information. In further embodiments, use is made of both GPS and triangulation techniques to gain an indication of the courier location.
[0099] Smart phones 15 are commercially available hardware devices running associated software for allowing web-enabled connection with system 1. It will be appreciated that one or more of smart phones 15 is able to be substituted by another communications device with like functionality. Examples of such other communications devices include desktop computers, laptop computers, notebook computers, tablet computers, PDAs, net-book computers, or other web-enabled devices.
[00100] Web interfaces 1 1 and 25 are accessed by the relevant users (the couriers 3 and customers 12) by way of client terminals that have been illustrated in the drawings, by way of example, as smart phones. That is, in broad terms, the users access the relevant interface over the Internet by way of the client terminals, which can include one or more of smart phones, mobile computers, personal computers, PDAs, cellular telephones, gaming consoles, and other Internet enabled devices.
[00101] Each of the servers within server system 35 includes various components to allow operation. By way of example, server 37 includes a processor 51 coupled to a memory module 52 and a communications interface 53, such as an Internet connection, modem, Ethernet port, wireless network card, serial port, or the like. In other embodiments distributed resources are used. For example, in one embodiment server 37 includes a plurality of distributed servers having respective storage, processing and communications resources. In another embodiment, server 37 is a virtual server and/or a cloud server and/or a hosted server.
[00102] Memory module 52 includes software instructions 54, which are executable on processor 51.
[00103] Server 37 is coupled to databases 28, 29 and 30. In further embodiments the databases leverage memory module 52.
[00104] In some embodiments one or both of web interfaces 11 and 25 includes a website. The term "website" should be read broadly to cover substantially any source of information accessible over the Internet or another communications network (such as WAN, LAN or WLAN) via a browser application running locally on a client terminal. In some embodiments, a website is a source of information made available by a server and accessible over the Internet by a web-browser application running on a client terminal. The web-browser application downloads code, such as HTML code, from the server. This code is executable through the web-browser on the client terminal for providing a graphical and often interactive representation of the website on the client terminal. By way of the web-browser application, a user of the client terminal is able to navigate between and throughout various web pages provided by the website, and access various functionalities that are provided.
[00105] Although some embodiments make use of a website/browser-based implementation, in other embodiments proprietary software methods are implemented as an alternative. For example, in such embodiments client terminals such as smart phones 4 and smart phones 15 maintain software instructions for a computer program product that essentially provides access to a portal via which a framework is accessed (for instance via an iPhone app or the like).
[00106] In general terms, each client terminal - that is, smart phones 4 and smart phones 15, or their equivalents or substitutes - can be schematically represented as shown in Figure 8. More particularly, and by way of example, in Figure 8 a client terminal, defined by smart phone 4a, includes a processor 55 coupled to a memory module 56 and a communications interface 57, such as a wireless 4G connection. In other embodiments different connections are utilised to gain an internet connection (be it a modem, Ethernet port, serial port, or the like) or a wireless connection other than through a 4G network. Memory module 56 includes software instructions 58, which are executable on processor 55. These software instructions allow smart phone 4a to execute a software application, such as a proprietary application or web browser application and thereby render on-screen a user interface and allow communication with server system 35. This user interface allows for the creation, viewing and administration of profiles, access to the internal communications interface, and various other functionalities.
[00107] System 1 includes a further client terminal in the form of a telephonist terminal 60 that is connected to a LAN 61 within facility 41. A telephonist 62 takes telephone orders from customers for the transportation of a specific item from a defined pick-up location to a delivery location, and uses terminal 60 to book the actual order. Terminal 60 runs a browser and is served up webpages from server 36 similarly to those delivered to smart phones 15 and the other forms of client terminals. This allows telephonist 62 to obtain from the customer, via a standard telephone voice call, the future transport data. Telephonist 62 has that data entered into the associated fields in the webpage, which then forms the future transport data record 16 for the given customer uploaded into system 1. Accordingly, system 1 does not need to distinguish between orders made online directly by customers, or those made via telephonist 62. However, records are kept of the nature and source of the bookings to allow for future planning (such as staffing requirements) and development of system 1.
[00108] System 1 also includes a further client terminal in the form of a supervisor terminal 65 that is used by a supervisor 66. From this terminal the supervisor is able to, amongst other things, gain an overview of system 1 , generate reports about various operating parameters of system 1 , and to provide supervisory input.
[00109] Reference is made in this specification to data packets and data records. These terms are used to describe exemplary groupings of data for storage or transmission. That is not to imply that the data need be all stored together or transmitted together, simply that the packet or record, however stored or transmitted, provides a functional whole when assembled or accessed.
[00110] Whilst interfaces 11 and 25 have been illustrated as separate interfaces, in practice these two are often combined as a single interface. For example, a single TCP/IP interface through which all network traffic moves between server 35 and the smart phones 4 and 15.
[0011 1] Reference is now made to Figure 9 where there is illustrated a flowchart of a method for allocating items 2 to couriers 3. At step 100 server system 35 is operating and ready to receive input from customers 12. It is also periodically polling smart phones 4 to obtain a more recent courier location data package 5. Whilst all of packages 5 for each courier are stored for later analysis, system 1 is, when allocating a given item, primarily concerned with the most currently held package 5 for each of the available couriers. Each package 5 is time-stamped and stored in database 29 and server 37, in making the allocation of items, is responsive to the time-stamping to select the most recent packages 5 as a proxy for the current locations of the associated courier. All the time- stamped location data is retained for later analysis.
[00112] The default period for polling smart phones 4 is every 90 seconds. However, system 1 is configurable for allowing the polling period to be set at a different level or dynamically varied individually for the couriers. For example, for those couriers working in the city centre or downtown areas it is more usually to have more frequent polling. It has been found that polling every ten seconds is, in practical terms, typically the most frequent polling that need occur. In other embodiments, system 1 using a default period of other than 90 seconds to account for the available hardware for the communication devices, the nature of the couriers' activities, the couriers' locations, the couriers' speeds, the available bandwidth for the communication devices, the cost of that bandwidth, and other factors. For presently available hardware and software it has been found that a default polling period in the range of about 10 seconds to 90 seconds is a practical optimum and allows for sufficient currency of the location information provided by the communication devices without overly taxing the available hardware of available bandwidth. In other embodiments a narrow range of defaults are used, while in further embodiments the default rate is dynamically varied to be optimised to one or more of: the present activities of the courier; the present location of the courier; one or more other characteristics of the courier; the data needs of system 1 ; the bandwidth cost and/or availability; and other factors.
[00113] For those couriers making use of cars, vans and other larger motor vehicles, the communication devices (that is, the smart phones or other such devices) are typically mounted in a cradle within the vehicle and are supplied with electrical power drawn from the vehicle. During the pick-up and delivery of the items, the courier will remove the communication device from the cradle and take it with him or her to the precise point at which the pick-up or delivery is to occur. When returning to the vehicle, the communication device will be once again placed in the cradle. In this interim period, the communication device draws power from the inbuilt battery. However, as that interim period is only relatively short, the operation of the communication devices for these couriers need not be optimised for low power consumption and hence more regular communications between the communication devices and system 1 is used. The optimisation for the communications between the two is more concerned with cost and bandwidth considerations.
[00114] Those couriers using motorcycles and bicycles are typically wholly dependent upon the battery of the communications device and, as such, system 1 is configured to contribute to a workable battery life by containing the need for those devices to communicate with system 1. For it is the wireless communication that is often the most demanding on the battery and the battery runtime. This leads to system 1 being more selective in the initiation of communications, and relies more on batching of communications both two and from the communication devices.
[00115] In some embodiments, smart phones 4 include executable code for supplying an updated packet 5 for the associated courier once it is ascertained that the location of smart phone 4 has changed by at least a predetermined distance. This allows more local processing at smart phone 4 - that is, the processing required to make the decision about whether or not to send updated location data - and helps to reduce network traffic and contribute to an extended battery runtime. In other embodiments, smart phones 4 make use of other push techniques to assist in reducing network traffic.
[00116] During a normal business day, many thousands of bookings are made by customers to have the desired items transported from one location to another. A given customer, in a given day, is able to make a single booking or multiple bookings. That is, the number of items to be transported in a given day may be different to the number of customers. Moreover, the number of couriers is typically less than the number of items to be transported in a given day, and the use of system 1 greatly facilitates this. It will also be appreciated that the term "booking" is used synonymously with the term "order" and the two are able to be used interchangeably.
[00117] At step 101 , system 1 , via server 37, identifies that a new booking is received for the transport of an item from a pick-up location to a delivery location, with note also being made of any time criticality for the arrival of the courier at one or both of the locations and any special requirements for the item (for example, size, fragility, dangerous goods, valuable goods etc.). That booking comprises a booking record (not shown) that is received by server 37, typically via interface 1 1. However, system 1 accommodates other forms of booking, including telephone bookings, fax bookings, email bookings, SMS bookings, and the like. All these forms of bookings give rise to a booking record within facility 41. These booking records, in whatever form, is stored in database 28 in a standardised form known as the future transport records 16. These records 16 includes a common set of fields for containing the data needed to perform the transport of the relevant item, and a record 16 is not able to be created unless those fields are completed.
[00118] For the present example, reference will be made to a booking for item 2a. However, it will be appreciated by the addressee that the other items will be treated similarly, albeit sequentially. This results in the derivation of the allocation for each new booking taking account of the existing allocations that have already been made for that day.
[00119] Once the booking for item 2a has been received, and a new future transport record 16 created and stored in database 28, server 37 undertakes step 102 to verify the data within record 16. This includes verifying the locations, the customer, payment details, special requests or requirements, and any other aspects of the data. If it is found at step 103 that the data cannot be satisfactorily verified, server 37 progresses to step 104 and cancels the record 16. In practice, this results in the movement of the record 16 to a different part of database 28 for processing by telephonist 62 or other operator. For typically when the data cannot be verified there is a need to contact the customer to update, clarify or ascertain what the data should be. However, in some instances for records provided via interface 1 1 , server 36 serves up a further webpage to the relevant smart phone 15 and highlights the fields where more or better particulars are required. In still further embodiments, the locally running application on smart phones 15 (or other client device through with an order is placed) includes inbuilt quality control procedures for undertaking some or all of the pre-checks on the data entered into the relevant fields before submission of the order to create record 16. This pre-checking or pre-processing at the local device allows for a reduction of network traffic. It also allows for customers 12 to view on a map the proposed pick-up location and delivery location and to gain a cost estimate for the service being sought.
[00120] In any event, once a rejected record has been updated it is subject again to step 101.
[00121] In other embodiments, if the data is not able to be verified the status of the record 16 is changed to reflect that it is not yet to be further processed until one or more of the data fields are updated. [00122] If the data in the fields of record 16 is found at step 103 to have been verified (either initially or after having been amended or updated) server 37 progresses to step 105 and auto-allocates the item 2 indicated by record 16 to one of couriers 3. The auto-allocation step 105 is performed by server 37 selectively accessing databases 28, 29 and 30 to obtain the desired data, and then to process that data in accordance with a predetermined algorithm. This algorithm is makes use of the past transport data particularly, as well as data stored about the past performance of the couriers and the current location of the couriers to develop a selection of a single courier that is available to comply with any specified pick-up time and delivery time. The algorithm is based upon an adaptive learning program that makes use of neural networks. In other embodiments different algorithms are used. These algorithms are selectively responsive to a number of historical data points and the current data points for selecting the courier from the available couriers.
[00123] In this example, at step 105 item 2a is allocated by server 37 (following execution of the auto-allocation algorithm) to courier 3b. This auto-allocation is presented to terminal 65 for review by supervisor 66. It will be appreciated that system 1 includes, where volumes require, a plurality of terminals 65 and associated supervisors 66. For convenience and clarity only a single terminal 65 and supervisor 66 are illustrated in Figure 1. At step 106, server 37 seeks input from supervisor 66 as to whether or not the auto-allocation is approved. In this embodiment, where system 1 handles many thousands of items 2 each day for allocation to hundreds of couriers 3, there are about twenty supervisors 66 and the auto-allocations are queued and presented to the supervisors as they indicate availability. In other embodiments, the auto-allocations are directed to a single specific supervisor or sub-set of supervisors based upon one or more of: time criticality of the delivery; the customer; the geographic location or one or more of the pickup address and the delivery address; and other factors.
[00124] If at step 106 the auto-allocation is not approved, the future transport data record 16 is re-submitted to step 105. In this embodiment, record 107 will be flagged to exclude the auto-allocated courier from the next auto-allocation. In other embodiments, the record is flagged to request to "next best" auto-allocation. In further embodiments, the flagged courier will only be excluded from the auto-allocation at step 105 for the next five minutes. In other embodiments, different durations for exclusion from step 105 are used. This quality control step of supervisor interaction allows for supervisors to manage the human aspect of the personnel, and to take account of qualitative personal development targets for each of those couriers in addition to the usual quantitative measures more applicable to the auto-allocation system. In some embodiments, for example, the supervisor is also attempting to manage the overall cost of the courier fleet, such as the fuel economy of the different vehicle types, a minimum payment that will be made to each courier for being "on call", regardless of the amount work done, and other factors such as equitably allocating work to couriers to engender an esprit de corps within the courier fleet.
[00125] In the absence of supervisor input at step 106 within a predetermined time interval - typically one minute or less - the auto-allocation is accepted. Moreover, once an allocation has been made - whether through the acceptance of an initial auto-allocation, a "next best" auto-allocation or so on - one or more of the past transport data records in database 30 will be updated to reflect the acceptance so that system 1 is responsive to that when next making an auto-allocation.
[00126] Once supervisor 66 provides at step 106 approval of the auto-allocation (whether on a first or subsequent pass of record 16 through step 105) server 37 progresses to step 107. Following the existing example, it is taken that supervisor 66, via terminal 65, approved the auto-allocation of item 2a to courier 3b. Server 37 then progresses to step 107 to ascertain whether or not courier 3b is to be informed now of the allocation of item 2a and provided with the required information to allow the pick-up and/or delivery of that item.
[00127] At step 107, server 37 is responsive to the status of courier 3b. This status be one of four, including:
Figure imgf000028_0001
[00128] It will be appreciated that system 1 only provides each courier with the information required to ascertain the next waypoint. Accordingly a target location data packet 26 is not sent to the courier until the waypoint indicated in that packet is the next to which the courier is to immediately progress. In other embodiments, the packet is sent, but is not accessible to smart phone 4 to derive the target indicia unless the associated waypoint is the next to which the courier is to progress. [00129] Typically, if the status is "unavailable" the courier would not have been available for auto-allocation of item 2a.
[00130] Continuing with the example, server 37 ascertains at step 107 that the status of courier 2b is "waiting", which indicates that smart phone 4b does not contain a current target location data packet and the courier 2b is available to receive a new target location data packet 26. That having been ascertained, server 37 advances to step 108 and calculates the route data 109 for inclusion within the target location data packet 26. This route data is digital path information for overlaying on a digital map displayed on the screen of smart phone 4b. By sending data only indicative of the path, rather than of the map itself and the path, it is possible to contain the size of packet 26. This also leverages from the processing capacity of smart phone 4b. In other embodiments both the path data and the map data are included in the route data 109.
[00131] The route data is calculated based upon a range of variables, including available routes, prevailing weather conditions, courier history, vehicle type used by courier, traffic conditions, and others. Other factors for which the route data can be optimised include: time for delivery (including the fastest time, the closest to a specified time, after a specified time, or the like); fuel economy; minimisation of road tolls; minimisation of traffic light controlled intersections; and the like.
[00132] Server 37 constructs packet 26 to include the above data and any other data required. In this embodiment that other data includes, as illustrated in Figure 6: waypoint data 1 10 indicative of the physical address of the waypoint; delivery time data 1 11 indicative of the expected time of delivery; and courier identifier data indicative of the identity of the courier. In other embodiments other data is used in addition or as a substitute for the above data.
[00133] Once server 37 has configured packet 26 it is queued in memory for server 36 to communicate the packet 26 to smart phone 4b. This is illustrated in Figure 9 by step 115. The packet typically is sent, in effect, in real time to the courier. In the illustrated embodiment, the time between the commencement of step 105 and the end of step 115 is usually less than one minute.
[00134] If, at step 107, it is determined that the courier 3b has an "active" status, server 37 does not progress to step 108 but, instead, queues the selection of courier 3b at step 116. As courier 3b, to have this status, is already progressing to the next known waypoint, nothing is lost by withholding the data from that courier at this time. Moreover, by withholding the data there is less distraction for the courier, and less risk that the courier will be tempted to try and game system 1. [00135] The data queued at step 1 16 is progressed if, at step 1 17, it is subject either to a timeout or to intervention by supervisor 66. All of the queued data will be displayed to supervisor 66 by terminal 65. This allows the supervisor to initiate a further auto-allocation either due to the passage of time or due to other changes in circumstance. Accordingly, system 1 operates to continually refine the optimisation of the allocation of an item to a courier. In other embodiments other triggers, including automated triggers, are used at step 117 to initiate step 105. Examples of such triggers include: a new courier becoming available; an existing courier become unavailable; the breakdown of a courier vehicle; a significant traffic event; a significant weather event; the change of a booking from one service level to another (for example, from a standard service level to an urgent service level), or the like. In further embodiments the automated trigger is based upon a timeout from the most recent auto-allocation operation that has been conducted. This allows a new auto-allocation to take placed based upon the latest information that has been obtained. Whilst some of that information will remain current for a considerable time - for example, weather conditions - other information will change quickly - for example, courier location information. In still further embodiments the auto-allocation is automatically triggered if processing capacity on server 35 is available. That is, any spare processing capacity will be utilised to update the auto-allocation to best ensure the most up-to-date optimisation of the allocation of the items is achieved.
[00136] Once the packet 26 has been transmitted to smart phone 4b, processor 55 is responsive to the target location data for deriving the target indicia. Before that display is actuated, however, processor 55 initiates a pop-up window having three virtual buttons, the first being labelled "Ready for next job?", the second being labelled "Ask me later?" and the third being labelled "Change Status". If courier 3b presses (virtually) the first button processor 55 actuates the display of the target indicia. It will be appreciated that once this actuation occurs, courier 3b has already confirmed acceptance of the next waypoint, which in this case will be the pick-up address for item 2a. That is, the courier is only alerted to the fact that there is a waypoint available, not where it is. Moreover, as the courier does not know if there are any further waypoints available for that day (even if there are a number of possible waypoints queued for that courier at server 36) the courier is more inclined to accept the waypoint. It will be appreciated that in other embodiments the couriers have access to all allocated and accepted waypoints. Moreover, in still further embodiments, system 1 is configurable to allow the supervisor to select whether each given courier has access to only the next waypoint for that courier, or all allocated waypoints. [00137] The target indicia, in some embodiments, also include a display of a time by when the courier must be at the next waypoint.
[00138] The route information that is displayed as part of the target indicia graphically presents to courier 3b the route calculated by server 36. The current location of the courier is also presented on the graphic together with landmarks such as roads, road names, rivers, buildings and building numbers, and other landmarks. Accordingly, courier 3b is provided with a clear indication of the not only the waypoint, but how to progress to the waypoint in a time calculated as being sufficient to allow the efficient and effective operation of the courier fleet as a whole for that day (or other predefined period of operation) based upon the presently understood demand for courier services.
[00139] As courier 3b progresses from the current location of the courier 7 to the waypoint - which in the present example is address 19 - the target indicia is updated to reflect the changing current location. Moreover, the current location 7 is also communicated as GPS data 6 to server 36. This has a number of advantages as will be further enunciated below.
[00140] For normal operation, where courier 3b simply needs to progress to the displayed waypoint, there is a need to communicate only a little information between the courier and server 36. However, the information that is communicated - that is, the GPS data - allows for re-routing of the courier to a new waypoint, should that be required, or the post-analysis of the courier's performance. Additionally, it allows server 37 to calculate, as required, an updated and increasingly accurate estimate for the time of arrival of the courier at the next waypoint. The results of this calculation are provided, where requested, to either or both of customer 12a (via smart phone 15a) or an intended recipient 121 (via a smart phone 122) of item 2a. That is, the customer or recipient uses its respective smart phone to submit via interface 11 a request for a refreshed calculation. In response server 36 makes that calculation and communicates this to the requesting smart phone via server 36 and interface 11.
[00141] Once courier 3b has arrives at the current waypoint - that is, address 19 - the courier collects item 2a from customer 12a and once again presses the labelled "Ready for next job?" and this is communicated to server 36. This results in server 36 serving up the next target location data packet 26 to smart phone 4b. Whilst in this example, the waypoint data in this next packet 26 is indicative of delivery address 21 , it will be appreciated that pick-up address 19 and delivery address 21 need not be indicated in successive waypoints for courier 3b. Unless there are not many items to be transported, or if the transportation of an item is particularly time critical, it is more usual for successive waypoints for a given courier to be associated with different items. [00142] Courier 3b then views the waypoint and the route information that is provided for delivery address 21 and proceeds to move to that waypoint. Once at that waypoint, courier 3b provides item 2a to receipient 121.
[00143] With item 2a now transported, courier 3b once again, via smart phone 4b, presses the button labelled "Ready for next job?", and the next target location data packet 26 for that courier is obtained from server 36. If there are no available jobs allocated to courier 3b at that time, system 1 communicates a passive waypoint to smart phone 4b, together with path data, so that the courier is able to be optimally positioned for anticipated orders later in that day. In other embodiments, courier 3b is free to choose his or her own location for this idle period.
[00144] Server 36 is responsive to courier 3b making the relevant inputs into smart phone 4b to ascertain the time and locations of the pick-up and delivery of item 2a. Once the delivery has been completed, server 36 creates from the available time, courier and location data a new past transport data record 31 that is added to database 30 for use in the subsequent operation of the auto-allocation algorithm.
[00145] It will be appreciated that system 1 deals with each booking individually, and dynamically. Once new data is available about new bookings, new locations and availability for couriers, it is possible to refine the allocation that has been made without having to disrupt the couriers who are presently operating. For the couriers are not aware of the queued waypoints that have been provisionally allocated to them, so if that allocation is to change - whether favourably or unfavourably as seen by any given individual - there is no cause for discontent.
[00146] In gathering the GPS data for courier 3b (and all the other couriers) server 37 is able to compare the routes suggested to the couriers against the route actually taken when making the auto-allocation.
[00147] In further embodiments, one or more of customers 12 are buying the associated item 2 from a third party such as a retailer.
[00148] An alternative operation of system 1 defines a further embodiment. It will be appreciated by those skilled in the art that whilst substantially the same hardware is employed in this further embodiment, the software used differs to allow the realisation of different functions to the earlier described embodiment. It will also be appreciated that the functions provided by the different embodiments are not necessarily mutually exclusive and have been described separately for the sake of illustration and clarity only.
[00149] In broad terms, in this further embodiment, system 1 is configured for allocating to a courier in a set of couriers 3a, 3b, ... , 3m a further item to be transported. Consistent with the prior example, use is made of item 2a. At least one other item - which in this example will be all of items 2b, 2n, have already been allocated to one or more of couriers 3a, 3b, 3m and each item is to be transported between respective pick-up locations and delivery locations. System 1 includes first interface 1 1 for receiving an order that is indicative of item 2a and the pick-up location and the delivery location for item 2a. Database 28 stores allocated transport records for items 2b, 2n, and each allocated transport record is indicative of: the pick-up location and the delivery location for the respective items 2b, 2n; and the courier in the set of couriers to which the respective items 2b, 2n have been allocated. Database 30 stores past transport data for a plurality of previously transported items.
[00150] Server 35 selectively accesses the databases for allocating item 2a to one of the couriers in the set of couriers, which in this example is courier 3b. Server 35 also reallocates one or more of items 2b, ... , 2n to another of the couriers in the set of couriers. Following from this, server 35 accesses database 28 to store an allocated transport record for item 2a and to update one or more of the allocated transport records to reflect the reallocation.
[00151] Server 35 is responsive to a trigger signal for initiating the processing that may result in the re-allocation of one or more of the item to another of the couriers and accessing database 28 to update one or more of the allocated transport records to reflect the re-allocation. The trigger signal is, in this embodiment, generated by the supervisor terminal 65 by supervisor 66. In other embodiments server 35 is responsive to one or more variables for automatically generating the trigger signal. Whilst the trigger signal will result in the auto-allocation system reconsidering all the relevant variables to arrive at an updated allocation, that updated allocation can be the same as or different to the immediately succeeding allocation. Insofar as the updated allocation differs, and there is a need to have an item re-allocated to a different courier, server 35 provides an alert signal to terminal 65. Supervisor 66 is responsive to the alert signal for selectively confirming the re-allocation. In this embodiment, supervisor 66 contacts the courier by telephone (or another voice or data communications channel) to confirm the re-allocation.
[00152] A further operation of system 1 defines a further embodiment. It will be appreciated by those skilled in the art that whilst substantially the same hardware is employed in this further embodiment, the software used in this further embodiment differs to allow the realisation of different functions to the earlier described embodiments. It will also be appreciated that the functions provided by the different embodiments are not necessarily mutually exclusive and have been described separately for the sake of illustration and clarity only. [00153] In broad terms, in this further embodiment, system 1 is configured for allocating items 2 to a plurality of couriers 3. The couriers have respective communications devices - in the form of smart phones 4 - for obtaining courier location data indicative of the location of the couriers and for displaying to the couriers respective ordered lists of waypoints. In this embodiment system 1 uses first interface 11 for receiving, for each item 2, future transport data 16 that is indicative of a pick-up location and a delivery location for that item. Second interface 25 receives from smart phones 4 the courier location data and provides to smart phones 4 respective target location data from which the lists are derived. The databases illustrated in Figure 1 are used to store the future transport data, the courier location data, the past transport data for a plurality of previously transported items and the target location data for each courier. In this embodiment, the target location data for each courier is indicative of: one or more waypoints corresponding to one or more of the pick-up locations or one or more of the delivery locations; and an order for the waypoints. Server 35 selectively accesses the databases for determining if the target location data for one of the couriers is to be updated. If this is to occur, server 35 selectively accesses the database to update the target location data for that courier. Additionally, server 35 initiates communication via interface 25 of the target location data for that courier to the corresponding smart phone 4.
[00154] The operation of this further embodiment is illustrated, by way of example, in Figure 10. Particularly, system 1 will have undertaken one or more prior auto-allocation steps such as that indicated by step 105 in Figure 9. This auto-allocation of all available orders for the transport of the items to the available couriers, and the acceptance of the allocation of each order to a given courier, results in separate target location data being generated for each of those couriers. The target location data for a given courier includes one or more waypoints that the courier is to progress to. These waypoints are specified by a unique identifier, address data indicative of the physical location of the waypoint (which is derived from a pick-up or delivery location) and a rank for the waypoint. The rank is a relative rank - which in this embodiment is a ten digit number - and is able to be compared for the waypoints for a given courier to allow an ordered list of the waypoints to be produced. The rank, or system of ranking, allows the communication device - that is, the smart phone 4 for a given courier 3 - to readily present to the courier the waypoints in the order that server 35 has determined they should be approached. In this embodiment, smart phones 4 are also responsive to the data indicative of the physical location for presenting to the relevant courier path data indicative of a path for that courier to follow to the next waypoint, or between the waypoints. [00155] In other embodiments different ranks or ranking systems are used such as a number that is indicative of anticipated time the courier is to be at the respective waypoint. In such an embodiment, smart phones 4 are preferentially configured to display the time for each waypoint to the relevant courier to allow for self-policing of the courier's progress.
[00156] It will be appreciated that the list displayed by a given smart phone 4 will include: multiple waypoints arranged visually in order; a single waypoint; or no waypoints. The latter occurs when the courier concerned does not have any current allocation of items to be transported. The list displayed to each courier will be unique and specific to that courier, and will be updated through a given operating period as the orders are received and processed by system 1 to generate additional allocations of items to the couriers.
[00157] In this embodiment the operating period is one day. In other embodiments, different operation periods are used, such as four hour blocks of time, or one week, or a weekend, or other such period.
[00158] Referring to Figure 10, there is illustrated a flowchart of the operation of specific functionality for system 1 in this embodiment. At step 131 system 1 is in a poised or active state awaiting a trigger. At this step during a given period it is usual for all or most of the couriers to have displayed to them, by respective smart phones 4, a list of one or more waypoints that are associated with work orders or jobs that have been accepted by those couriers. As mentioned above, the waypoints are ordered in the sequence that system 1 has ascertained the courier should progress to the waypoints. Once a courier confirms that a waypoint has been reached, that non-current waypoint will no longer be displayed. In other embodiments, non-current waypoints are greyed out or otherwise visually indicated as being of a different status to the current waypoints that are yet to be reached.
[00159] Server 35 is responsive to a trigger signal at step 132 for progressing to the auto-allocate step 105. The trigger signal is either automatically generated in response to one or more variables, or manually generated by a supervisor or other authorised administrator of server 35. For example, the trigger signal is generated automatically in response to:
• The receipt of a new future transport data.
• The cancellation of an order for the transportation of an item that has already been allocated.
• An additional courier becoming available.
• An existing courier no longer being available. (For example, due a vehicle breakdown, or otherwise). • A courier confirming that an item has been dropped-off at the delivery location.
[00160] However, the trigger will also be generated if a predetermined time has passed since the last auto-allocation occurred to take account of more recently obtained inputs, such as courier location data, traffic data, weather condition data, and the like. A further automated trigger is one or more predetermined times of a day. For example, for some courier fleets there is often at least a period of a day where many couriers are mobile, and the trigger is automatically generated at one or more times during that period.
[00161] Once the results of the auto-allocation at step 105 are available, server 35 assesses step 135 if the most recent auto-allocation, if accepted, would result in the change to any target location data for any one or more of the couriers. If no change is determined, then server 35 returns to step 131. If, however, a change is to occur, server 35 assesses at step 136 if that relates to a change of allocation of an item to one or more of the couriers. If the auto-allocation at step 105 occurs in response to new future transport data then there will be at least one change in the allocation - in that a new item will have been allocated - which in turn will require a change to the associated target location data for the impacted courier. It will be appreciated that at step 136 there will either be no allocation changes determined, one allocation change determined, or a plurality of allocation changes determined. Each allocation change that is determined is then handled separately and progresses independently to step 137 where it is displayed on terminal 65 for action by supervisor 66. Where there are multiple allocation changes determined at step 136, these are progressed in real-time and in parallel to step 137 for consideration in total by supervisor 66.
[00162] In this embodiment, an item newly auto-allocated to a given courier will not be confirmed as allocated until that courier accepts the allocation. Moreover, once that courier has confirmed the acceptance of an allocation of an item, that item will not be reallocated to another courier without approval by supervisor 66 at step 137. This allows supervisors the ability to re-allocate, but not without having regard to the courier.
[00163] If, at step 137, the supervisor does not approve the change of allocation arising from the preceding step 105, then server 35 will progress to a further auto-allocation step 105 together with input that the preceding auto-allocation was not approved.
[00164] If, at step 137, the allocation has been approved, the relevant courier or couriers will be contacted at step 138, typically via interface 1 1 and smart phones 4, to gain confirmation of acceptance by that courier or those couriers of the change. If the change is the allocation of a new item, then only one courier will be contacted. However, if the change is the re-allocation of an existing item to a different courier, then two couriers will be contacted. If the required confirmation is not forthcoming within a predetermined timeframe, then server 35 will progress to a further auto-allocation step 105 together with input that the preceding auto-allocation was not satisfactory.
[00165] If, at step 136, it is assessed that the allocation of items is not to change, there will be other of the target location data that is to change. Typically, that change will be to the rank for one or more of the waypoints that have already been assigned to and accepted by a given courier. It may also be to the details available for the physical address of the waypoint. In any event, server 35 is responsive to assessing these changes to updating the target location data at step 139, and for initiating the communication of the changes to the relevant smart phones 4 of the associated courier or couriers. This latter step is represented in Figure 10 as step 140.
[00166] If the allocation of an item is not the change, then server 35 automatically moves to update any target location data locally, and then to have the changes disseminated to the relevant remote communication devices. Similarly, if the courier or couriers confirm at step 138 that the allocation or re-allocation is accepted, the server 35 will also move to have the changes saved locally and then disseminated remotely. This ensures that a central current record is held of the target location data, and that only changes to that data need to be sent. Accordingly, the smart phone 4 (or substitute) receives and is responsive to the updated target location data for representing the list to the relevant courier or couriers. This takes advantage of the processing power at the local and remote ends of system 1 , and reduces the amount of traffic through interface 1 1 to allow for greater speed of operation and/or scalability of system 1.
[00167] The above embodiments have been primarily described with reference to the allocation of items to couriers operating within a single metropolitan area. However, it will be appreciated that other embodiments are applicable to multiple areas, whether those areas are adjacent to or distal from each other. The embodiments also accommodate the transportation of an item by multiple couriers between the initial pick-up address and the ultimate delivery address. That is, a first of the couriers will have a pick-up address which is the initial pick-up address, and a delivery address that corresponds to the pick-up address for a second of the couriers, and so on, until the final courier in the chain has a delivery address that corresponds to the ultimate delivery address. This could include any two or more couriers operating in tandem either in the same or different areas. It will also be appreciated that the areas are in some embodiments in different countries and the couriers make use of one or more of: automotive vehicles; aircraft; watercraft; motorcycles, bicycles; foot; and other forms of transportation.
[00168] System 1 is able to provide additional functionality such as a countdown timer. Such a countdown timer is exemplified in the co-pending PCT application in the name of this applicant and having the same filing date as the present PCT application. The copending PCT application makes a priority claim to Australian patent application 2012226902, and the content of both the co-pending PCT application and Australian patent application are incorporated herein by way of cross reference.
[00169] The major advantages of the above embodiments include:
• In effect, real-time courier location data being available from couriers.
• Path data being made available to couriers.
• Additional reporting capabilities.
• The ability to include a supervisor.
• The management of the couriers in the fleet by a supervisor or supervisors.
• The ability to rapidly and regularly auto-allocate items based upon the most recently available information, including recent courier location data.
• Ease of scalability.
• Efficient use of computing resources and courier resources.
• Adaptive, real-time optimisation.
• Dynamic operation.
• Widely configurable for courier efficiencies, courier types, communication device types, and the type of paths that the couriers encounter.
• Relatively low bandwidth requirements for data between the interface and the communication devices carried by the couriers.
• Allowing for the outsourcing of the allocation for a courier fleet (or other transport fleet).
• Applicability to battery operated handheld communication devices carried by the respective couriers.
Conclusions and Interpretation
[00170] It will be appreciated that the disclosure above provides various significant systems and methods for allocating an item to a courier in a set of couriers.
[00171] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing," "computing," "calculating," "determining", analysing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.
[00172] In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer" or a "computing machine" or a "computing platform" may include one or more processors.
[00173] The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. The processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT) display. If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth. The term memory unit as used herein, if clear from the context and unless explicitly stated otherwise, also encompasses a storage system such as a disk drive unit. The processing system in some configurations may include a sound output device, and a network interface device. The memory subsystem thus includes a computer-readable carrier medium that carries computer-readable code (e.g., software) including a set of instructions to cause performing, when executed by one or more processors, one of more of the methods described herein. Note that when the method includes several elements, e.g., several steps, no ordering of such elements is implied, unless specifically stated. The software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code.
[00174] Furthermore, a computer-readable carrier medium may form, or be included in a computer program product.
[00175] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a user machine in server-user network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, a smart phone, a switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
[00176] Note that while diagrams only show a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[00177] Thus, one embodiment of each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that is for execution on one or more processors, e.g., one or more processors that are part of web server arrangement. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium, e.g., a computer program product. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
[00178] The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an exemplary embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks. Volatile media includes dynamic memory, such as main memory. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise a bus subsystem. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. For example, the term "carrier medium" shall accordingly be taken to included, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media; a medium bearing a propagated signal detectable by at least one processor of one or more processors and representing a set of instructions that, when executed, implement a method; and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.
[00179] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system.
[00180] It should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, Figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.
[00181] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination. [00182] Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a computer system or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.
[00183] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
[00184] Similarly, it is to be noticed that the term "coupled", when used in the claims, should not be interpreted as being limited to direct connections only. The terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Thus, the scope of an expression such as "a device A coupled to a device B" should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Coupled" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.
[00185] Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as falling within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.

Claims

1. A system for allocating a plurality of items to one or more couriers, the system including:
a communications device for each courier for obtaining courier location data indicative of the location of the couriers and for displaying to the couriers respective target indicia representative of a path for that courier to follow;
a first interface for receiving, for each item, future transport data that is indicative of at least two locations between which the item is to be transported;
a second interface for receiving from the communications devices the courier location data and for providing selectively to the communications devices target location data from which the target indicia is derived;
a first database for storing the future transport data;
a second database for storing the courier location data;
a third database for storing past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations; and
at least one server for selectively accessing the databases, wherein the server is, for each item:
a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating that item to a selected one of the couriers; and
b) responsive to the future transport data for that item and the courier location data for the selected courier for generating target location data for the selected courier that is indicative of at least a selected one of the locations in the future transport data for the item.
2. A system according to claim 1 wherein the courier location data is time-stamped.
3. A system according to claim 1 or claim 2 wherein the at least one server updates the past transport data to include selected courier location data received by the second interface.
4. A system according to any one of the preceding claims wherein the future transport data for each item includes a time-related characteristic for one or more of the two locations.
5. A system according to any one of the preceding claims wherein the future transport data is indicative of the nature of the item.
6. A system according to any one of the preceding claims wherein the future transport data for each item is indicative of a pick-up location for the respective item and a drop-off location for the respective item.
7. A system according to claim 6 wherein the at least one server generates target location data for the selected courier that is indicative of the pick-up location or the dropoff location for the item.
8. A system according to any one of the preceding claims where the past transport data is indicative of the time the delivered items were at the locations between which the previously delivered items were transported.
9. A system according to any one of the preceding claims wherein the at least one server allocates the items to the couriers sequentially.
10. A system according to any one of the preceding claims wherein the second interface is responsive to the allocation of the item to the selected courier for automatically providing the target data to the selected courier.
11. A system according to any one of claims 1 to 9 wherein the communication devices allow the respective couriers, at the location indicated by the target location data for the respective item, to provide confirmation signals to the second interface.
12. A system according to claim 1 1 wherein the at least one server is responsive to the confirmation signal for accessing the third database to selectively update the past transport data.
13. A system according to claim 11 or claim 12 wherein the at least one server is responsive to the confirmation signal for re-allocating one or more of the items.
14. A system according to claim 13 wherein the at least one server selects items to re-allocate from that set of the items for which a confirmation signal has not been received by the second interface.
15. A system according to any one of the preceding claims including a supervisor interface for providing control signals, wherein the at least one server is responsive to the control signal for providing the target data to the selected courier.
16. A system according to claim 15 wherein the at least one server is responsive to the control signals confirming the allocation to the selected courier before providing the target data to that courier.
17. A system according to claim 15 or claim 16 wherein the at least one server is responsive to the control signal for re-allocating one or more of the items.
18. A system according to any one of the preceding claims wherein the communications devices include respective stored mapping data, and each communications device is responsive to the target data and the stored mapping data for generating the target indicia.
19. A system according to any one of the preceding claims wherein the target indicia is optimised for minimum travel time.
20. A method for allocating a plurality of items to one or more couriers, the method including:
obtaining courier location data indicative of the location of the respective couriers; displaying respective target indicia to the couriers representative of a path for that courier to follow;
receiving at a first interface, for each item, future transport data that is indicative of at least two locations between which the item is to be transported;
receiving at a second interface the courier location data from the communications devices;
providing selectively to the communications devices target location data from which the target indicia is derived;
storing in a first database the future transport data;
storing in a second database the courier location data;
storing in a third database past transport data for a plurality of previously transported items, the past transport data being indicative of the locations between which the previously delivered items were transported; and the time taken to transport the article between the locations; and
providing at least one server for selectively accessing the databases, the server being, for each item:
a) responsive to the past transport data, the courier location data, and the future transport data for that item, for allocating that item to a selected one of the couriers; and
b) responsive to the future transport data for that item and the courier location data for the selected courier for generating the target location data for the selected courier that is indicative of one of the locations in the future transport data for the item.
PCT/AU2013/001044 2012-09-13 2013-09-13 A system and method for allocating an item WO2014040134A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
AU2012216820A AU2012216820B2 (en) 2012-09-13 2012-09-13 A system and method for allocating an item
AU2012216820 2012-09-13
AU2012268902A AU2012268902B2 (en) 2012-12-28 2012-12-28 A system and method for providing an indication of an anticipated time of arrival of a courier at a predetermined waypoint
AU2012268902 2012-12-28

Publications (1)

Publication Number Publication Date
WO2014040134A1 true WO2014040134A1 (en) 2014-03-20

Family

ID=50277416

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/AU2013/001043 WO2014040133A1 (en) 2012-09-13 2013-09-13 A system and method for providing an indication of an anticipated time of arrival of a courier at a predetermined waypoint
PCT/AU2013/001044 WO2014040134A1 (en) 2012-09-13 2013-09-13 A system and method for allocating an item

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/AU2013/001043 WO2014040133A1 (en) 2012-09-13 2013-09-13 A system and method for providing an indication of an anticipated time of arrival of a courier at a predetermined waypoint

Country Status (1)

Country Link
WO (2) WO2014040133A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106651046A (en) * 2016-12-29 2017-05-10 天津靠谱点科技有限公司 Courier order sending method and system for delivering commodities of multiple merchants
CN113077099A (en) * 2021-04-16 2021-07-06 国网安徽省电力有限公司 Method for site selection and path planning of power grid enterprise hazardous waste centralized storage center
US20210358306A1 (en) * 2020-05-13 2021-11-18 Toyota Jidosha Kabushiki Kaisha Vehicle allocation device, vehicle, and terminal

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748318B1 (en) * 1993-05-18 2004-06-08 Arrivalstar, Inc. Advanced notification systems and methods utilizing a computer network
EP1551195A1 (en) * 2002-10-10 2005-07-06 Matsushita Electric Industrial Co., Ltd. Information acquisition method, information providing method, and information acquisition device
WO2006091399A2 (en) * 2005-02-24 2006-08-31 E-Courier (Belize), Inc. System and method for controlling the transport of articles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748318B1 (en) * 1993-05-18 2004-06-08 Arrivalstar, Inc. Advanced notification systems and methods utilizing a computer network
EP1551195A1 (en) * 2002-10-10 2005-07-06 Matsushita Electric Industrial Co., Ltd. Information acquisition method, information providing method, and information acquisition device
WO2006091399A2 (en) * 2005-02-24 2006-08-31 E-Courier (Belize), Inc. System and method for controlling the transport of articles

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106651046A (en) * 2016-12-29 2017-05-10 天津靠谱点科技有限公司 Courier order sending method and system for delivering commodities of multiple merchants
US20210358306A1 (en) * 2020-05-13 2021-11-18 Toyota Jidosha Kabushiki Kaisha Vehicle allocation device, vehicle, and terminal
US12056627B2 (en) * 2020-05-13 2024-08-06 Toyota Jidosha Kabushiki Kaisha Vehicle allocation device, vehicle, and terminal
CN113077099A (en) * 2021-04-16 2021-07-06 国网安徽省电力有限公司 Method for site selection and path planning of power grid enterprise hazardous waste centralized storage center
CN113077099B (en) * 2021-04-16 2024-01-05 国网安徽省电力有限公司 Method for site selection and path planning of power grid enterprise hazardous waste centralized storage center

Also Published As

Publication number Publication date
WO2014040133A1 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
JP7423517B2 (en) A networked computer system that performs predictive time-based decisions to fulfill delivery orders.
US9710780B2 (en) System and method of coordinating distribution of an item
US20180121875A1 (en) Delivery prediction automation and risk mitigation
CN105139505B (en) The non-timed reservation remote queue method and system that a kind of banking is handled
EP3510479A1 (en) Graphical user interface (gui) within crm solution enabling user-defined rules for connected devices
US7828202B2 (en) System and method for controlling the transport of articles
CN105046338A (en) Intelligent express distribution method on mobile platform
EP3262831B1 (en) Telephone call placement
US11132626B2 (en) Systems and methods for vehicle resource management
US20120143755A1 (en) Collection and Distribution of Customer Service Metric Information
CN106919996A (en) A kind of destination Forecasting Methodology and device
JP2019020787A (en) System, method and program for managing travel schedule of vehicles
US20210326777A1 (en) System and method for enabling passenger transportation on commercial vehicles
US20170372410A1 (en) Hybrid dispatch management system for scheduled and real-time events
US20150127408A1 (en) Static schedule reaccommodation
WO2014040134A1 (en) A system and method for allocating an item
JP2023162429A (en) Computing system for implementing network delivery service
US20190353494A1 (en) Route recommendation system for field service technicians
AU2012216820B2 (en) A system and method for allocating an item
US11940286B1 (en) Fast computational generation of digital pickup and delivery plans
KR20120014085A (en) Method and system for liaising replacement driving service and mobile devices suitable for the same
CN113065835B (en) Logistics guide information generation method and device, electronic equipment and storage medium
US12125388B2 (en) Roadside assistance program
US20240098455A1 (en) Location Determination Based on Historical Service Data
US20200118444A1 (en) Roadside assistance program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13836315

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13836315

Country of ref document: EP

Kind code of ref document: A1