Sign In to Follow Application
View All Documents & Correspondence

Vehicle Allocation And Routing

Abstract: A system and computer implemented method for vehicle allocation and routing is described herein. The computer implemented method includes obtaining a transportation parameter pertaining to transportation of a resource, in response to at least one transportation request. Further, a mode of routing for transportation of the resource is selected, the mode of routing being selected from a first routing mode and a second routing mode. A plurality of potential routes is determined based on the selected mode of routing and the transportation parameter and a travel route is selected from among the plurality of potential routes based on an optimization factor.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
26 September 2011
Publication Number
13/2013
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

TATA CONSULTANCY SERVICES LIMITED
NIRMAL BUILDING,9TH FLOOR,NARIMAN POINT,MAHARASHTRA 400021,INDIA

Inventors

1. SOMASUNDARAM, MURALIDHARAN
TATA CONSULTANCY SERVICES,17,CATHEDRAL ROAD,CHENNAI-600 086,TAMIL NADU,INDIA.
2. GANESAN, VISWANATH KUMAR
TATA CONSULTANCY SERVICES,17,CATHEDRAL ROAD,CHENNAI-600 086,TAMIL NADU,INDIA.
3. RAMASAMY, SURESH KUMAR
TATA CONSULTANCY SERVICES,17,CATHEDRAL ROAD,CHENNAI-600 086,TAMIL NADU,INDIA.

Specification

FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10, rule 13)
/. Title of the invention: VEHICLE ALLOCATION AND ROUTING
2. Applicant(s)
NAME NATIONALITY ADDRESS
"TATA CONSULTANCY Indian Nirmal Building, 9th Floor, Nariman Point,
SERVICES LIMITED Maharashtra 400021, India
3. Preamble to the description
COMPLETE SPECIFICATION
The following specification particularly describes the invention and the manner in which it
is to be performed.

TECHNICAL FIELD
[0001] The present subject matter relates to transportation services and, particularly but not exclusively, relates to vehicle routing and allocation.
BACKGROUND
[0002] Transportation services form an integral part of a variety of businesses, such as postal services, supply chain management, logistics, and cab services. Such transportation services provide for transportation of resources, such as human resources and cargo, from one point to another. The transportation of the resources can entail dropping-off at a location point and/or picking-up the resource from the same or a different location point.
[0003] Generally, the transportation services rely on road transport owing to the flexible nature, convenience, and low cost in relation to other modes of transport. Earlier, the businesses used scheduled transport services for servicing fixed capacities and limited number of fixed locations. With increasing demand of transportation services, the service network of such services is substantially intricate, as a result of various factors involved. For example, the transportation services may have to take into account vehicle sizes, locations, routes, time windows, and the time of day. With such intricacies involved in the service network, the servicing incurs substantial operational costs and manual labour.
SUMMARY
[0004] This summary is provided to introduce concepts related to vehicle routing and allocation, which are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[0005] A system and computer implemented method for vehicle allocation and routing is described herein. The computer implemented method includes obtaining a transportation parameter pertaining to transportation of a resource, in response to at least one transportation request. A mode of routing for transportation of the resource is selected, the mode of routing being selected from a first routing mode and a second routing mode. A plurality of potential routes is determined based on the selected mode of routing and the transportation parameter

routes is determined based on the selected mode of routing and the transportation parameter and a travel route is selected from among the plurality of potential routes based on an optimization factor.
BRIEF DESCRIPTION OF THE DRAWINGS
(0006] The detailed description is described with reference to the accompanying figure(s). In the figure(s), the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference number in different figure(s) indicates similar or identical items. The features, aspects and advantages of the subject matter will be better understood with regard to the following description, and the accompanying drawings.
[0007] Fig. 1 illustrates a network environment implementing a computing system for vehicle routing and allocation, in accordance with an implementation of the present subject matter.
[0008] Fig. 2 illustrates a computerized method for vehicle routing and allocation, in accordance with an implementation of the present subject matter.
DETAILED DESCRIPTION
[0009] The present subject matter relates to methods and systems for vehicle routing and allocation.
[0010] Conventionally, transport services are used for servicing fixed capacities and limited number of fixed locations, and such services are usually pre-scheduled. In case of elaborate service networks, the corporations running the transportation services incur large capital investments for servicing the elaborate service networks or use established networks, such as the postal service network. However, for a small scale transportation service provider, such a large capital investment may not be feasible. In such a case, the complex task of planning vehicle routes and allocating vehicles for pick-ups and deliveries is handled manually.
[0011] Methods and systems related to vehicle routing and allocation according to the present subject matter can be implemented in a variety of devices, such as a server, a desktop

personal computer, a notebook or a portable computer, a mainframe computer, or a mobile computing device. According to an implementation, the methods and systems described herein can be employed to achieve vehicle routing and allocation of one or more vehicles optimally selected from a fleet of heterogeneous vehicles. Additionally, the methods and systems of the present subject matter can be used for servicing pre-planned transportation requests as well as real-time transportation requests for transporting resources, such as employees of an organization, cargo, and passengers for a cab service.
[0012] The transportation requests for transporting resources can be received from various users by a computing system configured to achieve vehicle allocation and routing. The computing system can then select a mode of routing for transporting the resources and can determine a plurality of potential routes based on the selected mode of routing. Subsequently, a travel route can be selected from the plurality of potential routes and the travel route can be used to allocate one or more vehicles and for achieving transportation of the resources. In one example, a user may plan routes and allocate vehicles in advance or may achieve route planning and allocation of vehicle at time of transportation of the resources. Accordingly, the computing system can be configured to operate in a predictive mode or a reactive mode of operation, respectively. The computing system can be configured to select whether to operate in the predictive mode or reactive mode. In one example, the computing system can request a user to select the mode of operation from the predictive or reactive mode. In another example, the computing system can be configured to select the mode of operation based on user defined rules.
[0013] According to an implementation, the computing system receives one or more transportation parameters along with the transportation request. In an example, the transportation parameters can include location points for picking up or dropping-off each of the resources, special transportation instructions to address security issues in case of single women passenger or special cargo, and transportation timings for each of the resources. In another example, the transportation parameters can also include a resource load at each of the location points. The resource load can be understood as a head count of people to be transported, or weight or quantity of the goods to be transported. In an implementation, the

resource load, for example, the head count of the people, at each location point can be determined either based on historical data or current operational data.
[0014] Further, the mode of routing can be selected by the computing system for achieving vehicle allocation and routing. In an implementation, the computing system can select the mode of routing based on user-defined rules. In another implementation, the computing system can request the users to select the mode of routing for transporting the resources. According to an aspect, the mode of routing can be selected from a first routing mode and a second routing mode.
[0015] According to an implementation, upon the selection of the first routing mode, the computing system identifies a plurality of potential routes from a pre-defined set of routes for transporting, based on the transportation parameters. For example, based on the transportation timings and the location points, the computing system can identify a plurality of potential routes from the pre-defined set of routes. The potential routes can represent the routes that conform to the transportation parameters and can be followed to achieve transportation of the resources.
[0016] In another implementation, if the second routing mode is selected for achieving the transportation, the computing system determines a location parameter associated with each location point to be covered for transportation. In an example, the location parameter can be geo-coordinates, i.e., the latitudinal and longitudinal coordinates, of the location point. Additionally, in this routing mode, the computing system determines and configures one or more potential routes based on the location parameters of the various location points. For example, the computing system can select certain location points from the various location points, by clustering the location points based on the distances between them. Further, the computing system can configure one or more potential routes based on the selected or clustered location points. In said example, the computing system can determine the distances between the location points based on the geo-coordinates of the location points.
[0017] In an implementation, subsequent to the identification or configuration of the plurality of potential routes based on any of the modes of routing as described earlier, the computing system can check for any changes in the transportation parameters, for example, in

response to a new user input or upon addition or deletion of a location point for transporting the resources. In case there is any change in the transportation parameters, the computing system again processes the new transportation parameters, in the same manner as described above, to obtain the plurality of potential routes based on the first routing mode or the second routing mode.
[0018] Once the transportation parameters have been fixed, the computing system can then select a travel route from the potential routes. In an implementation, the computing system can select the travel route based on an optimization factor. In one example, the optimization factor can be the operational cost of achieving transportation on that travel route. In another example, the optimization factor can be the route taking the shortest time for transporting the resources, considering factors such as traffic conditions and road conditions.
[0019] In addition, the computing system can determine routing information associated with the selected travel route. In an implementation, based on the transportation parameters and the selected travel route, the computing system can determine the routing information for the selected travel route. In an example, the factors accounting for the determination of the routing information can include the location points on the travel route, the resource load at each location point on the travel route, and the transportation timings for the resources. The routing information, on the other hand, can include an originating point and a destination point for covering the travel route and available vehicles for transporting the resources. In an example, the originating point can be a corporate office from where the people are picked and the destination point can be a parking garage of the vehicle. Further, in an implementation, the computing system can compute a cumulative resource load associated with the selected travel route, based on the resource load at each location point in the travel route. Based on the cumulative resource load, in said implementation, the computing system can identify the available vehicles for allocation.
[0020] In an implementation, based on the routing information, the computing system can allocate optimally one or more vehicles from the available vehicles for transporting the resources. In an example, based on a real-time location of the available vehicles and the routing information, the computing system can allocate one or more vehicles from the available vehicles for transporting the resources. Further, the computing system can be

configured to transmit the selected travel route and the transportation parameters, such as the transportation timings and the location points to be covered on the travel route, to the allocated vehicle or to an operator of the allocated vehicle for routing the allocated vehicle along the travel route.
{0021] In addition, in one implementation as mentioned previously, before the computing system selects the mode of routing, the computing system may select a mode of operation. According to said implementation, the computing system can be configured to function in two modes of operation, viz., the predictive mode and the reactive mode. In the predictive mode, the computing system can be configured to achieve advanced planning of the routes and vehicle allocation based on the available data regarding the resource load, the vehicle availability, and vehicle capacity. Hence, the route planning and vehicle allocation achieved in the predictive mode can be understood to be an estimate based on ideal conditions of resource load being full and all vehicles being available. In the predictive mode, the computing system can generate the routing plan on a monthly, weekly, or daily basis.
[0022] On the other hand, in an example, the computing system is configured to function in the reactive mode at the time of execution of the routing plan for transporting the resources. In the reactive mode, the computing system obtains the resource load, say, the actual number of passengers that turn up for pick-up or drop-off, and vehicle availability and capacity, at the time of actual transportation of the resources, and on the basis of the real time values, generates an optimal routing plan and allocates the vehicles accordingly. Further, the routing and vehicle allocation achieved in the reactive mode may be achieved by varying the routes and vehicle allocation as achieved in the predictive mode.
[0023] It will be understood that subsequent to the selection of the mode of operation, the computing system can select the mode of routing and achieve the transportation of the resources in the same manner as described above.
[0024] The vehicle allocation and routing achieved according to the present subject matter is optimized with respect to one or more optimization factors, for example, cost, travelling time, order of pick and drop, and special cargo movement requirements. Further, any changes in the transportation parameters in real-time can also be taken into account to select the travel

route which conforms to the updated transportation parameters. Accordingly, vehicle allocation and routing as described herein can service transportation requests in real-time, and at the same time achieve optimal routing and allocation of vehicles for transporting the resources. As a result, vehicle capacity can be optimally utilized, idle time of the vehicles can be reduced, and the response time for servicing the transportation requests can be reduced.
[0025] While aspects of described systems and methods for vehicle allocation and routing can be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following system architecture(s).
[0026] Fig. 1 illustrates a network environment 100 implementing a computing system 102 for vehicle allocation and routing, according to an embodiment of the present subject matter. In said embodiment, the computing system 102 is connected to and interacts with a plurality of user devices 104-1, 104-2 ...104-N, collectively referred to as the user devices 104 and individually referred to as a user device 104. In one example, the computing system 102 can be implemented at a cab service provider or a transportation management section of an organization,
[0027] The computing system 102 may be implemented as any of a variety of conventional computing devices, including, for example, servers, a desktop PC, a notebook or portable computer, a workstation, a mainframe computer, a mobile computing device, an entertainment device, and an internet appliance. The user devices 104 may include, without limitation, desktop computers, hand-held devices, laptops or other portable computers, network computers, mobile phones, multi-media enabled phones, or smart phones.
[0028] The computing system 102 is connected to the user devices 104 over a network 106 through one or more communication links. The communication links between the computing system 102 and the user devices 104 are enabled through a desired form of communication, for example, via dial-up modem connections, cable links, digital subscriber lines (DSL), wireless or satellite links, or any other suitable form of communication.
[0029] The network 106 may be a wireless network, wired network or a combination thereof. The network 106 can be implemented as one of the different types of networks, such

as intranet, local area network (LAN), wide area network (WAN), the internet, and such. The network 106 may either be a dedicated network or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), to communicate with each other. Further, the network 106 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices.
[0030] Further, according to an implementation, the computing system 102 can be communicatively coupled to a navigation system 108 of a vehicle through a transceiver 110 to transmit and receive information. In an example, the navigation system 108 can be implemented as dedicated hardware in the vehicle, and in another example, the navigation system 108 can be implemented as an application on a hand held device of an operator of the vehicle. In one example, the transceiver 110 can send and receive signals, such as signals compliant to zero generation (0G), 1st Generation (1G), 2nd Generation (2G), 3rd Generation (3G), and 4l Generation (4G) data transfer. In another example, the transceiver 110 is configured to communicate with the computing system 102 on local radio frequencies.
[0031] In one implementation, the computing system 102 includes processor(s) 112 coupled to a memory 114. The computing system 102 further includes interface(s) 116, for example, to facilitate communication with the user devices 104. The I/O interface(s) 116 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, allowing the computing system 102 to interact with the user devices 104. Further, the I/O interface(s) 116 may enable the computing system 102 to communicate with other computing devices, such as web servers and external data servers (not shown in figure). The I/O interface(s) 116 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example LAN, cable, and wireless networks such as WLAN, cellular, or satellite. The I/O interface(s) 116 may include one or more ports for connecting the computing system 102 to a number of devices to or to another server.
[0032] The processor(s) 112 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state

machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) 112 are configured to fetch and execute computer-readable instructions stored in the memory 114. The memory 114 can include any computer-readable medium known in the art including, for example, volatile memory such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
[0033] Further, the memory 114 includes module(s) 118 and data 120. The module(s)
118 can include a request processing module 122, a routing engine 124, an allocation engine 126, and other module(s) 128. The other module(s) 128 may include programs or coded instructions that supplement applications or functions performed by the computing system 102.
[0034] The data 120 includes a transportation data 130, a routing data 132, and other data 134. The other data 134, amongst other things, may serve as a repository for storing data that is processed, received, or generated as a result of the execution of one or more modules in the module(s) 114. Although the data 120 is shown internal to the computing system 102, it may be understood that the data 120 can reside in an external repository (not shown in the figure), which is coupled to the computing system 102. The computing system 102 may communicate with the external repository through the interface(s) 116 to obtain information from the data 120.
[0035] In operation, the computing system 102 is configured to achieve vehicle allocation and routing for transporting resources. To achieve vehicle allocation and routing, the computing system 102 interacts with the user devices 104 over the network 106 and receives one or more transportation requests from the user devices 104 pertaining to transportation of resources. The resources can include people or goods and cargo to be picked-up or dropped-off at various location points. It will be understood that transporting can include the acts of picking-up the resources or dropping off the resources or both. The picking-up and dropping off of the resources may be achieved at separate respective locations, or may take place at the same location. In an implementation, the request processing module 122 receives the transportation requests.

[0036] In an implementation, each transportation request can include one or more transportation parameters, for example, providing details of the transportation of the resources. In another implementation, the request processing module 122 can request the user device 104 to obtain the transportation parameters. In an example, the transportation parameter can include location points for dropping-off or picking up each of the resources and transportation timings for transporting each of the resources. In said example, the location points can be obtained from an employee database or a cab service provider database and can include addresses of the employees or the passengers, respectively.
[0037] In another example, the transportation parameter can also include a resource load at each location point. In said example, the resource load can be a weight or quantity of the cargo goods to be transported or a head count of the people to be transported. Further, the resource loads at the location points can be determined based on the information in the employee database or the cab service provider database. In addition, the transportation parameter can include various allocation and scheduling rules, such as a time window allocated for each location point. In an implementation, the request processing module 122 can retrieve the transportation parameters from the transportation requests and store the transportation parameters in the transportation data 130. In yet another example, the transportation parameters may additionally include transportation instructions regarding minimizing security needs in case of special cargo movement or providing minimum number of security personnel to accompany the passengers in case of transportation of single women passenger.
[0038] Subsequently, the routing engine 124 can select a mode of routing for achieving vehicle allocation and routing to transport the resources. In an example, the routing engine 124 can select a first routing mode or a second routing mode, based on predefined rules stored in the other data 134. For example, on the basis of the predefined rules, the routing engine 124 can be configured to select a routing mode 124 based on the more extensively used mode of routing from the two. Such a determination can be made by the routing engine 124 based on past usage data stored in, for example, the other data 134. In another example, the routing engine 124 can be configured to send a request to the user devices 104 to select the mode of routing from the first routing mode and the second routing mode.

[0039] In case the routing engine 124 selects the first routing mode, the routing engine 124, based on the transportation parameters in the transportation data 130, can identify one or more potential routes from a pre-defined set of routes. For example, the pre-defined set of routes can be pre-defined and stored in the routing data 132 and can include previously used routes for transporting the resources. In an example, the routing engine 124 can take into account the location points for transporting the resources and identify the potential routes for transporting the resources. The potential routes can be stored by the routing engine 124 in the routing data 132.
[0040] In another case, when the routing engine 124 selects the second routing mode for transporting the resource, the routing engine 124 configures the potential routes for transporting the resources, instead of identifying the potential routes from the pre-defined routes. In an implementation, to determine the potential routes, the routing engine 124 can determine distances between the location points in the transportation parameters with reference to each other, and based on the distances, select certain location points by clustering them. Further, based on the selected location points, which are clustered, the routing engine 124 can configure one or more potential routes for transporting the resources to the various location points.
[0041] In an implementation, to determine the distances between the location points, the routing engine 124 can determine one or more location parameters for each location point. In an example, the location parameters can include geo-coordinates of each location point, i.e., longitudinal and latitudinal coordinates of the location point. In said example, the computing system 102 can be connected to the world-wide web over the network 106 and can obtain the geo-coordinates of the location points. In another implementation, the routing engine 124 can determine the distances between the location points based on previous data in the routing data 132 including distances determined between the location points during previous vehicle allocation and routing exercises by the computing system 102.
[0042] In addition, the routing engine 124 configures the potential routes, according to the second routing mode, based on a capacity of the available vehicles. In said implementation, the routing engine 124 takes into account the capacity of the available vehicles, along with the location parameter, to determine the resource load that can be handled during transportation.

For example, certain location points can be removed in case the cumulative resource load is beyond the capacity of the available vehicles, and the potential routes can be determined based on the removal of the location points. In said example, another vehicle can be allocated for servicing the transportation requests for the removed location points, in the manner as described according to the present subject matter.
[0043] Subsequent to obtaining the potential routes, based on either the first routing mode or the second routing mode, the routing engine 124 can take into consideration any changes in the transportation parameters. In an example, the requests processing module 122 can obtain a new transportation request, or a user may prompt to change a location point or the timing of transportation, based on which the transportation parameters may change in real-time. In an implementation, the routing engine 124 can determine whether the transportation parameters have changed and, in case the transportation parameters have changed, the routing engine 124 can transfer control to the request processing module 122. In said implementation, the request processing module 122 obtains updated potential routes in real-time, in the same manner as described above, until the transportation parameters have been settled upon. In an example, updating the potential routes can include adding or removing a location point from the transportation parameters and adding or removing one or more potential routes from the previously determined potential routes.
[0044] Once the transportation parameters have been finalized and do not change further, the routing engine 124 analyzes the potential routes, identified or configured, and selects a travel route from the potential routes. In an implementation, the routing engine 124 can be configured to select the travel route from the potential routes based on an optimization factor. In an example, the optimization factor can be cost, and in such a case, the routing engine 124 can select the route which involves least transportation cost. In another example, the optimization factor can be time, and in such a case, the routing engine 124 can select the route which takes least time for transporting the resources, also taking into account traffic conditions during the transportation timings specified in the transportation parameters and road conditions. In the latter example, the travel route can be selected from the potential routes based in part on the transportation timing in the transportation parameters.

[0045] In a further implementation, in case of the potential routes being configured based on the second routing mode, the routing engine 124 can determine the travel route based on the clustering of the location points, which in turn is based on the location parameter, such as the geo-coordinates. In such a case, the clustering of the location points based on the location parameters can be understood as the optimization factor.
[0046] In addition, the routing engine 124 can determine routing information associated with the selected travel route and store the routing information in the routing data 132. In an implementation, based on the selected travel route, the routing engine 124 can determine an originating point and a destination point for transporting the resources, as part of routing information, across the location points as included in the transportation parameters. Additionally, the routing information can include a list of available vehicles for transporting the resources. In an example, the routing engine 124 can compute a cumulative resource load for the travel route, and based on the cumulative resource load, the routing engine 124 can identify the available vehicles for transporting. Further, the list of available vehicles can include such vehicles that are idle and are not already servicing a transportation request. The available vehicles can be identified from a list of all vehicles stored in the other data 134. In an example, the list of all the vehicles can be the vehicles owned by the cab service provider, and can be obtained from a vehicle vendor or the cab service provider and stored in the other data 134. In said example, the routing engine 124 can include a vehicle in the list of available vehicles based on a capacity of the vehicle. In addition, the routing engine 124 can be configured to receive updates on, for example, whether a vehicle on the list of available vehicles has been allocated to service some other transportation request, and based on the update, the routing engine can update the list of available vehicles.
[0047] Further, in an implementation, the allocation engine 126 can be configured to allocate one or more vehicles from the available vehicles for transporting the resources. In said implementation, the allocation engine 126 can allocate the vehicles based on the routing information in the routing data 132. In an example, the allocation engine 126 can determine the locations of the available vehicles in real-time, and based on the locations, allocate the vehicles closest to the originating point for transporting the resources.

[0048] In addition, according to an implementation, the allocation engine 126 can transmit the selected travel route and the transportation parameters to the navigation system 108 of the allocated vehicle, through the transceiver 110. Further, the allocation engine 126 can also transmit the routing information to the navigation system 108 of the allocated vehicles. With the transmission of the selected travel route, the transportation parameters, and the routing information to the navigation system 108 of the allocated vehicles, the computing system 102 achieves routing of the allocated vehicles. In an example, for each of the allocated vehicles, the allocation engine 126 generates a trip sheet including the travel route and the transportation parameters, such as the details of the resource to be picked or dropped at the location points on the travel route and the timings for pick up and drops, and transmits the trip sheets to the navigation system 108 of the respective allocated vehicles.
[0049] Further, in an implementation, the computing system 102 is configured to operate in two modes of operation, viz., a predictive mode and a reactive mode.
[0050] According to the predictive mode of operation, the routing engine 124 can achieve route planning for transporting the resources in advance at a certain time before the actual transportation of the resources is to be achieved, for example, when the transportation parameters may be subject to change and may not be confirmed. In an example, the routing engine 124 can plan the route a month, a week, or a day before the actual transportation is to be achieved. In an implementation, based on the transportation parameters, such as the available resource load, vehicle availability, and vehicle capacity, the routing engine 124 can plan the route, upon selection of the mode of routing. In an example, the routing engine 124 can be configured to select the mode of operation based on user-configured rules, say, if the routing is being achieved more than a day before the actual transportation has to be achieved. In such a case, the computing system 102 can be configured to switch to operate in the predictive mode. In another example, the computing system 102 can request the user to select the mode of operation. Therefore, it will be understood that the predictive mode of operation may be used for advanced planning of vehicle routes and vehicle allocation, based on already available resource data and data relating to vehicle availability and capacity.
[0051] On the other hand, in an implementation, the computing system 102 can function in the reactive mode of operation in real-time, for example, at the time of transportation of the

resources. For example, the computing system 102 may operate in the reactive mode when the user starts routing and allocation at 4.30 PM for a transportation task scheduled to begin at 5,00 PM. In said implementation, based on the real-time resource load, vehicle availability, and vehicle capacity, the routing engine 124 and the allocation engine 126 can obtain a route and allocate one or more vehicles for transporting the resources. Thus, in the reactive mode of operation real time planning is achieved. In an example, the routing engine 124 is configured to select the mode of operation of the computing system 102 from the reactive mode and the predictive mode based on user-defined transportation instructions. In said example, the user-defined transportation instructions can include selecting the predictive mode when the vehicle routing and allocation is achieved more than 24 hours before the actual transportation, and to select the reactive mode of operation if otherwise.
[0052] In both the predictive as well as the reactive mode of operation, the computing system 102 may be configured to determine the route based on either the first or the second mode of routing. In one embodiment, the mode of operation for the computing system 102 can be selected before the mode of routing is selected for the computing system.
[0053] Further, in an implementation, the computing system 102 can be configured in such a way that the route plan determined in the predictive mode can be modified during the reactive mode to obtain an expedited routing and scheduling. In an example, the routing engine 124 can determine a predictive vehicle allocation and routing plan in the predictive mode and, further may determine a reactive vehicle allocation and routing plan on the basis of the reactive vehicle allocation and routing plan while operating in the predictive mode. Additionally, while determining the reactive vehicle allocation and routing plan, the routing engine 124 can be configured to make minimum changes in the predictive vehicle allocation and routing plan for achieving the routing and allocation in the reactive mode.
[0054] For example, if the resource load drops by more than about 50% from that for which the transportation was planned in the predictive mode, then the computing system 102 uses the information obtained by operating in the predictive mode and plans the routing and allocation by moving the resources to other vehicles for distributing the resource load and for reducing the running cost. In another example, if the capacity of the vehicles allocated in the predictive mode is not available at the time of transportation, then the computing system 102

functions in the reactive mode and allocates other vehicles for transporting the resources. As a result, the time taken by the computing system 102 to obtain a routing plan and allocate the vehicles for transportation can be very small, for example, a few seconds for a resource load of about '50 to 100 passengers and less than about 2 minutes for a resource load of more than 500 passengers.
[0055] Furthermore, the computing system 102 for vehicle routing and allocation can be configured to operate in an anonymous mode, in which only the resource load is provided to the computing system 102. In such a mode, description of the resources is not provided to the computing system 102.
[0056] Fig. 2 illustrates a method 200 for achieving vehicle allocation and routing, according to an implementation of the present subject matter. Although, description for the method 200 is provided below with reference to the computing system 102, it will be understood that the method 200 can be carried out by other systems and devices.
[0057] The method 200 may be described in the general context of computer executable instructions embodied on a computer-readable medium. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, which perform particular functions or implement particular abstract data types. The method 200 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both the local and the remote computer storage media, including memory storage devices.
[0058] The order in which the method 200 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method 200, or an alternative method. Additionally, individual blocks may be deleted from the method 200 without departing from the spirit and scope of the methods, systems and devices described herein. Furthermore, the method 200 can be implemented in any suitable hardware, software, firmware, or combination thereof.

[0059] Referring to Fig. 2, at block 202, one or more transportation requests for transporting resources are received. In an example, the request processing module 122 of the computing system 102 receives the transportation requests. In an implementation, the transportation requests can include a transportation parameter pertaining to transporting the resources. For example, the transportation parameter can include location points for pick-up and drop-off of the resources. The transportation can include pick-up of the resources or drop-off of the resources or both, and the resources can include employees of an organization or cargo and goods being transported. It will be understood that the pick-up and drop-off of the resources can be achieved at different locations or at the same location. In addition, the transportation parameter can include transportation timing for each resource and resource load at each location point. The resource load can be understood as the head count or number of people to be picked-up or dropped off at the location point or a quantity or weight of the goods. In another implementation, the request processing module 122 can request the transportation parameter from a user device 104 sending the transportation requests.
[0060] At block 204, a mode of routing for transporting the resources is selected. In an example, the routing engine 124 selects the mode of routing from a first routing mode and a second routing mode. In an implementation, the routing engine 124 can select the mode of routing based on user defined rules, which can include, for example, selecting the mode of routing based on the more extensively used mode of routing during previous transportation and vehicle allocation and routing routines. In another implementation, the routing engine 124 can request the user device 104 to provide a selected mode of routing from the two options.
[0061] At block 206, the mode of routing selected is determined. At block 206, it is determined whether the first routing mode is selected by the routing engine 124 or not. In case, the first routing mode is selected ('Yes' branch from block 206), then the vehicle routing and allocation is achieved based on the first routing mode at block 208. On the contrary, if the first routing mode is not selected ('No' branch from block 206), then the vehicle routing and allocation is achieved based on the second routing mode at block 210.
[0062] At block 208, based on the first routing mode, one or more potential routes are determined from a set of pre-defined routes, based on the transportation parameters obtained

at block 202. In an example, the routing engine 124 identifies the potential routes from the pre-defined routes based on the location points.
[0063] On the other hand, based on the second routing mode, at block 210 one or more location parameters associated with each location point are determined. In an example, the location parameters can include geo-coordinates, i.e., the longitudinal and latitudinal coordinates of each location point, In an implementation, the routing engine 124 can access the world wide web or the internet and determine the geo-coordinates of the location points based on the transportation parameters.
[0064] Further, at block 212, one or more potential routes are configured, instead of identifying the potential route as at block 208, based on the location parameters. In an example, the routing engine 124 determines distances between each of the location points based on the location parameters, and based on the distances, the location points are selected and clustered. For example, the location points having a distance less than a threshold distance can be selected for clustering together. Based on the clustering of the selected location points, the routing engine 124 can configure the potential routes for transporting the resources.
[0065] In addition, the configuration of the potential routes according to the second routing mode, as described with reference to the method steps executed at block 210 and block 212, is based on a capacity of the available vehicles. In said implementation, the capacity of the available vehicles is taken into account to determine the resource load that can be handled during transportation. For example, certain location points can be removed in case the cumulative resource load is beyond the capacity of the available vehicles, and the potential routes can be determined based on the removal of the location points.
[0066] Subsequent to the determination or configuration of potential routes at block 208 and block 212, respectively, at block 214, it is determined if there is a change in the transportation parameters or not. In an example, the request processing module 122 can determine whether a new transportation request has been received or a request to change a transportation parameter or to add or delete a transportation request have been received or not, to determine a change in the transportation parameters in real-time. In case the transportation

parameters have been changed ('Yes' branch from block 214), then the potential routes are determined again based on the updated transportation parameters by executing the method steps from block 204 onwards.
[0067] On the other hand, if it is determined that there is no change in the transportation parameters ('No' branch from block 214), then at block 216, a travel route is selected from the various potential routes. In an implementation, the routing engine 124 can select the travel route based on an optimization factor. For example, the optimization factor can be cost, and in such a case, the routing engine 124 can select the travel route based on the minimum cost of transporting the resources. In another implementation, the selection of the travel route can be based in part on the transportation parameter, such as the transportation timing, in addition to the optimization factor. For example, the optimization factor can be time, and also taking into account the transportation timing, the routing engine 124 can select that route from the potential routes for which the transportation times are minimal and the transportation timings can also be conformed to. Further, the routing engine 124 can also take into consideration the traffic conditions and the conditions of the roads while selecting the travel route.
[0068] In another implementation, in case of the potential routes being configured based on the second routing mode, the optimization factor can include the clustering of the location points based on the location parameters. In said implementation, the routing engine 124 can determine the travel route based on the clustering of the location points, which in turn is based on the location parameter, such as the geo-coordinates.
[0069] Further, at block 218, routing information is determined based on the travel route. In an example, the routing information can include an originating point, a destination point, and available vehicles for transporting the resources. In an example, the routing engine 124 can determine the originating point and the destination point based on the selected travel route. In addition, to determine the available vehicles, the routing engine 124 can determine a cumulative resource load associated with the selected travel route, based on the resource load at each location point in the travel route, and on the basis of the cumulative resource load, the routing engine 124 can select the available vehicles of appropriate capacity. Hence, routing information can be determined based on the selected travel route and the transportation parameters.

[0070] At block 220, one or more vehicles from the available vehicles can be allocated for transporting the resources. In an example, the allocation engine 126 can allocate the vehicles for transporting the resources, based on the routing information. In said example, the allocation engine 126 can determine a real-time location of the available vehicles and then allocate the vehicles closest to the originating point, for transporting the resources.
[0071] In addition, at block 222, the selected travel route and the transportation parameters obtained with the transportation requests can be transmitted to the allocated vehicles. In an example, the allocation engine 126 transmits and sends the selected travel route and the transportation parameters to the navigation system 108 associated with the respective allocated vehicles. Based on the selected travel route and the transportation parameters, the computing system 102 can achieve a routing of the vehicle along the travel route.
[0072] Although implementations for vehicle allocation and routing have been described in language specific to structural features and/or methods, it is to be understood that the present subject matter (and not appended claims) is not necessarily limited to the specific features or methods described. Rather, the specific features and methods for vehicle allocation and routing are disclosed as implementations of the present invention.

I/We claim:
1. A computer implemented method for vehicle allocation and routing, the method
comprising:
obtaining a transportation parameter pertaining to transportation of a resource, in response to at least one transportation request;
selecting a mode of routing for transportation of the resource, wherein the mode of routing is selected from a first routing mode and a second routing mode;
determining a plurality of potential routes based on the selected mode of routing and the transportation parameter; and
selecting a travel route from among the plurality of potential routes based on an optimization factor.
2. The computer implemented method as claimed in claim 1, wherein the determining the plurality of potential routes based on the first routing mode comprises identifying the plurality of potential routes from a plurality of pre-defined routes, based on the transportation parameter.
3. The computer implemented method as claimed in claim 1, wherein the determining the plurality of routes based on the second routing mode comprises:
ascertaining at least one location parameter for each of a plurality of location points for transportation of the resource, wherein the each of the plurality of location points is indicative of at least one of a pick-up location point and a drop-off location point; and
configuring the plurality of potential routes based on at least one of the location parameter and the transportation parameter.
4. The computer implemented method as claimed in claim 3, wherein the configuring
comprises clustering selected location points from among the plurality of location points
based on the location parameter for the each of the plurality of location points.

5. The computer implemented method as claimed in claim 3, wherein the ascertaining the at least one location parameter comprises computing geo-coordinates for the each of the plurality of location points.
6. The computer implemented method as claimed in claim 1, wherein the transportation parameter comprises at least one of a transportation timing, a plurality of location points for transportation of the resource, special transportation instructions to address security issues, and a resource load at each of the plurality of location points, and wherein the transportation of the resource comprises at least one of picking-up and dropping-off of the resource.
7. The computer implemented method as claimed in claim 1 further comprising:
determining available vehicles for transporting the resource, based on the selected travel route, wherein the vehicles available for transportation include a fleet of heterogeneous vehicles; and
allocating at least one vehicle selected from the available vehicles, based on the transportation parameter.
8. A computing system (102) for vehicle allocation and routing, the computing system
(102) comprising:
a processor (112); and
a memory (114) coupled to the processor (112), the memory (114) comprising:
a routing engine (124) configured to:
select a mode of routing for achieving transportation of resources, in response to a receipt of a transportation parameter pertaining to the transportation of the resources; and
identify a travel route for achieving the transportation of the resources based on the transportation parameter and an optimization factor; and
an allocation engine (126) configured to allocate at least one vehicle for the transportation of the resources, based on the travel route.

9. The computing system (102) as claimed in claim 8, wherein the routing engine (124) is further configured to determine a plurality of potential routes for the transportation of the resources, based on the transportation parameter and based on one of a pre-defined set of routes and a location parameter associated with each of a plurality of location points for the transportation the resources.
10. The computing system (102) as claimed in claim 9, wherein the routing engine (124) is further configured to cluster selected location points from the plurality of location points for determining the plurality of potential routes.
11. The computing system (102) as claimed in claim 8, wherein the routing engine (124) is further configured to determine the plurality of potential routes for the transportation of the resources based on a real-time change in the transportation parameter.
12. The computing system (102) as claimed in claim 8, wherein the allocation engine (126) is further configured to provide the travel route and the transportation parameter to a navigation system (108) associated with the allocated vehicle,
13. The computing system (102) as claimed in claim 8, configured to operate in one of a predictive mode for generating a predictive vehicle allocation and routing plan in advance and a reactive mode for generating a reactive vehicle allocation and routing plan at time of transportation of the resource, wherein the routing engine (124) is configured to select one of the predictive mode and the reactive mode based on user-defined transportation instructions.
14. The computing system (102) as claimed in claim 13, wherein the routing engine (124) is configured to generate the reactive vehicle allocation and routing plan based on the predictive vehicle allocation and routing plan, with minimum changes in the reactive vehicle allocation and routing plan with reference to the predictive vehicle allocation and routing plan.
15. A computer-readable medium having embodied thereon a computer program for executing a method for vehicle allocation and routing, the method comprising:
receiving at least one transportation parameter for transporting resources;

selecting a mode of routing from a first routing mode and a second routing mode for transporting the resources;
determining a plurality of potential routes for transporting the resources, based on the selected mode of routing and the transportation parameter;
identifying a travel route from among the plurality of potential routes based on an optimization factor; and
allocating at least one vehicle for transporting the resources, based on the travel route and the transportation parameter.

Documents

Orders

Section Controller Decision Date
Section 43(1) DEVASENA AB 2020-10-28
Section 15 DEVASENA AB 2020-10-28

Application Documents

# Name Date
1 2717-MUM-2011-Correspondence to notify the Controller [18-08-2020(online)].pdf 2020-08-18
1 2717-MUM-2011-OTHERS [31-07-2018(online)].pdf 2018-07-31
2 2717-MUM-2011-US(14)-HearingNotice-(HearingDate-28-08-2020).pdf 2020-07-30
2 2717-MUM-2011-FER_SER_REPLY [31-07-2018(online)].pdf 2018-07-31
3 2717-MUM-2011-COMPLETE SPECIFICATION [31-07-2018(online)].pdf 2018-07-31
3 2717-MUM-2011-ABSTRACT.pdf 2018-08-10
4 2717-MUM-2011-CLAIMS.pdf 2018-08-10
4 2717-MUM-2011-CLAIMS [31-07-2018(online)].pdf 2018-07-31
5 ABSTRACT1.jpg 2018-08-10
5 2717-MUM-2011-CORRESPONDENCE(2-11-2011).pdf 2018-08-10
6 2717-MUM-2011-FORM 3.pdf 2018-08-10
6 2717-MUM-2011-CORRESPONDENCE(29-9-2011).pdf 2018-08-10
7 2717-MUM-2011-FORM 26(2-11-2011).pdf 2018-08-10
7 2717-MUM-2011-CORRESPONDENCE(8-11-2011).pdf 2018-08-10
8 2717-MUM-2011-FORM 2.pdf 2018-08-10
8 2717-MUM-2011-CORRESPONDENCE.pdf 2018-08-10
9 2717-MUM-2011-FORM 2(TITLE PAGE).pdf 2018-08-10
9 2717-MUM-2011-DESCRIPTION(COMPLETE).pdf 2018-08-10
10 2717-MUM-2011-DRAWING.pdf 2018-08-10
10 2717-MUM-2011-FORM 18(29-9-2011).pdf 2018-08-10
11 2717-MUM-2011-FER.pdf 2018-08-10
11 2717-MUM-2011-FORM 1.pdf 2018-08-10
12 2717-MUM-2011-FORM 1(8-11-2011).pdf 2018-08-10
13 2717-MUM-2011-FER.pdf 2018-08-10
13 2717-MUM-2011-FORM 1.pdf 2018-08-10
14 2717-MUM-2011-DRAWING.pdf 2018-08-10
14 2717-MUM-2011-FORM 18(29-9-2011).pdf 2018-08-10
15 2717-MUM-2011-DESCRIPTION(COMPLETE).pdf 2018-08-10
15 2717-MUM-2011-FORM 2(TITLE PAGE).pdf 2018-08-10
16 2717-MUM-2011-CORRESPONDENCE.pdf 2018-08-10
16 2717-MUM-2011-FORM 2.pdf 2018-08-10
17 2717-MUM-2011-CORRESPONDENCE(8-11-2011).pdf 2018-08-10
17 2717-MUM-2011-FORM 26(2-11-2011).pdf 2018-08-10
18 2717-MUM-2011-CORRESPONDENCE(29-9-2011).pdf 2018-08-10
18 2717-MUM-2011-FORM 3.pdf 2018-08-10
19 2717-MUM-2011-CORRESPONDENCE(2-11-2011).pdf 2018-08-10
19 ABSTRACT1.jpg 2018-08-10
20 2717-MUM-2011-CLAIMS.pdf 2018-08-10
20 2717-MUM-2011-CLAIMS [31-07-2018(online)].pdf 2018-07-31
21 2717-MUM-2011-COMPLETE SPECIFICATION [31-07-2018(online)].pdf 2018-07-31
21 2717-MUM-2011-ABSTRACT.pdf 2018-08-10
22 2717-MUM-2011-US(14)-HearingNotice-(HearingDate-28-08-2020).pdf 2020-07-30
22 2717-MUM-2011-FER_SER_REPLY [31-07-2018(online)].pdf 2018-07-31
23 2717-MUM-2011-OTHERS [31-07-2018(online)].pdf 2018-07-31
23 2717-MUM-2011-Correspondence to notify the Controller [18-08-2020(online)].pdf 2020-08-18

Search Strategy

1 PatSeer_09-10-2017.pdf