Method and apparatus for calculating level of supply of a location
The method and apparatus dynamically adjust the calculation area to improve the accuracy of supply level estimation by considering a ratio of overlapping areas, addressing the inaccuracies of conventional methods.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-04
- Publication Date
- 2026-04-09
AI Technical Summary
Conventional methods for calculating the level of supply at a location are inaccurate due to the use of predefined geographical areas that may be too large or too small, leading to inclusion or exclusion of irrelevant supply signals, thereby affecting the accuracy of the calculation.
A method and apparatus that dynamically adjust the area of calculation by determining a ratio of a first area to a second area, calculating the level of supply within the first area based on this ratio, and using it to determine the level of supply at the location, allowing for a more precise assessment.
This approach provides an accurate calculation of the level of supply by considering a dynamically adjustable area, ensuring that relevant supply signals are included and irrelevant signals are excluded, thus improving the precision of the calculation.
Smart Images

Figure SG2024050643_09042026_PF_FP_ABST
Abstract
Description
DESCRIPTIONTITLE OF INVENTION: METHOD AND APPARATUS FOR CALCULATING LEVEL OF SUPPLY OF A LOCATIONTECHNICAL FIELD
[0001] The present disclosure relates generally to a method and an apparatus for calculating a level of supply, and more particularly to method and apparatus for calculating the level of supply of a location.BACKGROUND
[0002] Due to the prevalence of location-based services, calculating a level of supply for location-based signals is becoming increasingly important. Conventionally, a level of supply of a location, representing a number of supply signals around the location, may be determined based on supply signals within a predefined geographical area that encompasses the location.
[0003] However, a limitation of this may be that the signal covering the predefined geographical area may not accurately represent the level of supply of the location as the predefined geographical area may be too large or too small. If the predefined geographical area is too large, the level of supply calculated may include supply signals from other locations, leading to inaccurate calculation of the level of supply of the location. Conversely, if the predefined geographical area is too small, the supply signals around the location may not be captured, thus also leading to inaccurate calculation of the level of supply of the location. Thus, the conventional method faces challenges in determining a level of supply of the location accurately.
[0004] Accordingly, there exists a need to provide a novel method and apparatus for accurately calculating the level of supply of a location by calculating the level of supply of a dynamically adjustable area encompassing the location.
[0005] Furthermore, other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and this background of the disclosure.SUMMARY
[0006] In a first aspect, the present disclosure refers to a method for calculating a level of supply of a location, comprising, calculating, by a processor, a ratio of a first area within a second area to the second area, the first area overlapping a third area extending from the location at a distance, calculating, by the processor, a first level of supply of the first area based on the ratio and a second level of supply of the second area, and calculating, by the processor, the level of supply of the location based on the first level of supply.
[0007] In a second aspect, the present disclosure refers to an apparatus for calculating a level of supply of a location, comprising, at least one processor, and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to calculate a ratio of a first area within a second area to the second area, the first area overlapping a third area extending from the location at a distance, calculate a first level of supply of the first area based on the ratio and a second level of supply of the second area, and calculate the level of supply of the location based on the first level of supply.
[0008] Additional benefits and advantages of the disclosed embodiments will become apparent from the specification and drawings. The benefits and / or advantages may be individually obtained by the various embodiments and features of the specification and drawings, which need not all be provided in order to obtain one or more of such benefits and / or advantages.Brief Description of the Drawings
[0009] Embodiments and implementations are provided by way of example only, and will be better understood and readily apparent to one of ordinary skill in the art from the following written description, read in conjunction with the drawings, in which:
[0010] Figure 1 shows a block diagram illustrating a system for calculating a level of supply according to various embodiments of the present disclosure.
[0011] Figure 2 shows a diagram illustrating an example of a geographical map divided into multiple geographical areas.
[0012] Figure 3 shows a diagram illustrating another example of a geographical area divided into multiple regions.
[0013] Figure 4 shows a block diagram illustrating various components of apparatus for calculating a level of supply according to an embodiment of the present disclosure.
[0014] Figure 5 shows a flow chart illustrating a method for calculating a level of supply according to an embodiment of the present disclosure.
[0015] Figure 6 shows a diagram illustrating a dynamically adjustable surrounding area according to an embodiment of the present disclosure.
[0016] Figure 7 shows a flow chart illustrating another method for calculating a level of supply according to an embodiment of the present disclosure.
[0017] Figure 8 shows a diagram illustrating an example of a surrounding area generated for calculating a level of supply according to an embodiment of the present disclosure.
[0018] Figure 9 shows a diagram illustrating an example of a plurality of geographical areas generated for calculating a level of supply according to an embodiment of the present disclosure.
[0019] Figures 10 and 11 show a schematic diagram of a general purpose computer system upon which the coordination server of Figure 1 can be practiced.
[0020] Figure 12 shows an alternative computer device to implement the coordination server of Figure 1.
[0021] Figure 13 shows a schematic diagram of a general purpose computer system upon which the supply signal processing server of Figure 1 can be practiced.
[0022] Figure 14 shows an alternative computer device to implement the supply signal processing server of Figure 1.
[0023] Figure 15 shows a schematic diagram of a general purpose computer system upon which a combined coordination and supply signal processing server of Figure 1 can be practiced.
[0024] Figure 16 shows an alternative computer device to implement a combined coordination and supply signal processing server of Figure 1.
[0025] Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been depicted to scale. For example, the dimensions of some of the elements in the illustrations, block diagrams or flowcharts may be exaggerated in respect to other elements to help to improve understanding of the present embodiments.DETAILED DESCRIPTION
[0026] The following detailed description is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background of the invention or the following detailed description. It is the intent of this invention to provide method and apparatus for calculating a level of supply, and more particularly to method and apparatus for calculating the level of supply of a location.Terms Description
[0027] Level of supply - The term “level of supply” used herein may represent a number of supply signals within an area. A supply signal may refer to a signal carrying information indicating an availability of goods, services, or resources that may be provided by users such as merchants or service providers. For example, in a food delivery service, a supply signal may represent an availability of a meal that may be delivered from a user (e.g., merchant) to another (e.g., consumer). The supply signal may comprise information indicating the location of the users (e.g., merchant or consumer). In another example, a level of supply of a location may be calculated by calculating a level of supply of an area (e g., geographical area or a surrounding area) encompassing the location. In another example, a level of supply of a geographical area may be used to calculate a level of supply of a surrounding area around the location. The level of supply of the geographical area may be determined, for example, based on a supply count input signal that may be received as an input from a user making a request. A supply count input signal may comprise of data relating to a count of supply signals within the geographical area. In an example, the count of supply signals indicated in a supply count input signal may be used to determine a level of supply of the geographical area. The level of supply of the surrounding area may be calculated based on the predetermined level of supply of the geographical area. The calculation may comprise of multiplying a ratio of the geographical area overlapping the surrounding area by the level of supply of the geographical area. Additionally, the level of supply of the surrounding area may be calculated by adding the level of supply of the geographical area overlapping the surrounding area with a level of supply of a separate part of the surrounding area, wherein the surrounding area comprises of thegeographical area overlapping the surrounding area and the separate part of the surrounding area. The level of supply of the surrounding area may represent the level of supply of the location.
[0028] Location - The term “location” used herein may refer to a location of a user or an entity, or an input location indicated in a request. A location may be represented by various forms of data, including but not limited to locational data, such as latitude and longitude coordinates, an address, a landmark, a road furniture, a point of interest, a building identifier or a virtual location (e.g., within a digital map or virtual environment). In an example, a location may be received as an input from a request. The location may be encompassed by an area, which may be a surrounding area or a geographical area. It will be appreciated that the location may be associated with locations of, for example, entities, users, landmarks, points of interests or the like.
[0029] Area - The term “area” used herein may refer to a surrounding area or a geographical area (e.g., Geohash). Conventionally, a whole geographical map (e.g., a city) may be equally divided into multiple geographical areas, each having a fixed shape and size and associated with a unique geographical area identifier (e.g., Geohash), and every location within the map fall within one geographical area with a geographical area identifier. When calculating a level of supply of the location, a signal representing the level of supply of the geographical area into which the location falls will be used to determine a level of supply of the location. On the other hand, according to the present disclosure, a surrounding area refers to an area surrounding a location and encompasses multiple geographical areas of the fixed shape and size. Such surrounding area may have any shape covering multiple geographical areas or a portion of them depending on its shape. In an example, a geographical area may encompass a location, and a surrounding area may encompass the geographical area encompassing the location. Additionally, the surrounding area may encompass multiple neighbouring geographical areas around the geographical area, or a portion thereof. According to various embodiments below, the level of supply of a surrounding area may be calculated using the level of supply of each of the geographical areas, or a ratio of the level of supply depending on the size or ratio of the surrounding area overlapping the geographical area. Additionally, a geographical area may comprise of multiple Geohash units of a same size, and each Geohash unit may be a geographical area identifiable by a geographical area identifier (e.g., Geohash). Additionally, a supply count input signal that may be received from a request may comprise of information indicating counts of supply signals of each Geohash unit making up the geographical area. The counts of supply signals of each Geohash units in the geographical area may be added up to calculate the level of supply of the geographical area.
[0030] In an example, an area may encompass a location (e.g., location of a merchant, a consumer, a service provider, a point of interest, an address or the like). In another example, an area may encompass locations associated with supply signals within the area. In another example, a surrounding area may have a radius of a configurable distance that may be predetermined, with the distance being received as an input from a request when calculating a level of supply in the surrounding area that encompasses a location. Additionally, a size of an area (e.g., geographical area or a surrounding area) may be pre-determined and received as an input from a request for calculating a level of supply of the location based on the area (e.g., geographical area or surrounding area). In yet another example, a geographical area may comprise of a plurality of smaller geographical area units. In a further example, the size of the plurality of smaller geographical area units may be identical, and each smaller geographical area unit may be identifiable by a geographical area identifier. The levels of supply of the geographical areas may be used to calculate a level of supply of the surrounding area.
[0031] Geographical area identifier - The term “geographical area identifier” used herein may refer to a code or set of data that identifies a geographical area on the Earth’s surface. Conventionally, a whole geographical map (e.g., a city) may be equally divided into multiple geographical areas, each having a fixed shape and size and associated with a unique geographical area identifier (e.g., Geohash), and every location within the map fall within one geographical area with a geographical area identifier. Such identifier may be determined by encoding a geographical area into an identifier to represent a grid square or a geographical region within the geographical map. For example, a geographical area identifier may refer to a Geohash, which refers to a unique identifier of a specific region on Earth. In another example, a latitude and longitude of a location may be used to determine a Geohash identifying a geographical area that encompasses the latitude and longitude of the location. In yet another example, a geographical area identified by a geographical area identifier may be used to represent a location (e.g., location of a user, an entity, an input location, or etc) indicated in a request. In another example, a geographical area identifier may be used to identify a geographical area encompassing a location, or a neighbouring geographical area around the geographical area.
[0032] User - The term “user” used herein may refer to any suitable type of entity, which may include a consumer, company, corporation or governmental entity (i.e., requestor) who is looking to request for a product, an application developer, company, corporation or governmental entity (i.e., provider / merchant) who is looking to sell or provide a product. In the context of supply signals, a user may be a person or an entity that is associated with a supply signal. For example, a supply signal may be associated with users such as a merchant, serviceprovider or business entity that offers goods, services or resources. For instance, a restaurant that provides meals for delivery or a driver offering transportation services may be referred to as users associated with supply signals. In various embodiments to be described below, a user may be construed as any person or entity associated with a supply signal.
[0033] Ratio - The term “ratio” used herein may refer to a comparison between a size of an area (e.g., geographical area or a surrounding area) and a size of another area (e g., geographical area or a surrounding area). In an example, a ratio may be obtained based on a comparison of a size of a geographical area overlapping a surrounding area to a size of the geographical area. In another example, the ratio may be multiplied to a level of supply of the geographical area to obtain a level of supply of the surrounding area overlapping the geographical area. In yet another example, the ratio may be multiplied to another level of supply of a plurality of geographical areas of a same size to obtain a level of supply of the surrounding area overlapping the geographical area. In yet another example, the level of supply of the surrounding area may be calculated by adding the level of supply of the surrounding area overlapping the geographical area with a level of supply of a separate part of the surrounding area, wherein the surrounding area comprises of the geographical area overlapping the surrounding area and the separate part of the surrounding area.
[0034] Distance - The term “distance” used herein may refer to a distance between a centre point of a surrounding area and a peripheral of the surrounding area. In an example, a distance may be received as an input from a request when determining a size of a surrounding area around a location. In another example, a geographical area may encompass a location, and a surrounding area may encompass the geographical area encompassing the location. Additionally, the surrounding area may encompass multiple neighbouring geographical areas around the geographical area, or a portion thereof. In another example, a surrounding area may be determined at which the surrounding area has a radius equal to the distance, and the distance may extend radially from a location such that the location is at a centre point of the surrounding area.
[0035] Threshold - the term “threshold” used herein may refer to a numerical value that may be used to distinguish if a distance between two locations may be considered to be close. For example, if a distance between two locations is shorter than a threshold distance, it may be determined that the two locations are close to each other, or vice versa. In an example, if a distance between a location and a second location is less than a threshold distance value, a level of supply of the location may be calculated to be identical to a level of supply of the second location.
[0036] Where reference is made in any one or more of the accompanying drawings to steps and / or features, which have the same reference numerals, those steps and / or features have for the purposes of this description the same function(s) or operation(s), unless the contrary intention appears.
[0037] It is to be noted that the discussions contained in the "Background" section and that above relating to prior art arrangements relate to discussions of methods which form public knowledge through their use. Such methods should not be interpreted as a representation by the present inventor(s) or the patent applicant that such methods in any way form part of the common general knowledge in the art.
[0038] Some portions of the description which follows are explicitly or implicitly presented in terms of algorithms and functional or symbolic representations of operations on data within a computer memory. These algorithmic descriptions and functional or symbolic representations are the means used by those skilled in the data processing arts to convey most effectively the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities, such as electrical, magnetic or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated.
[0039] Unless specifically stated otherwise, and as apparent from the following, it will be appreciated that throughout the present specification, discussions utilising terms such as "receiving", "calculating", "determining", “multiplying”, “adding”, “generating" or the like, refer to the action and processes of a computer system, or similar electronic device, that manipulates and transforms data represented as physical quantities within the computer system into other data similarly represented as physical quantities within the computer system or other information storage, transmission or display devices.
[0040] The present specification also discloses apparatus for performing the operations of the methods. Such apparatus may be specially constructed for the required purposes, or may comprise a computer or other device selectively activated or reconfigured by a computer program stored in the computer. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various machines may be used with programs in accordance with the teachings herein. Alternatively, the construction of more specialised apparatus to perform the required method steps may be appropriate. The structure of a computer will appear from the description below.
[0041] In addition, the present specification also implicitly discloses a computer program, in that it would be apparent to the person skilled in the art that the individual steps of the method described herein may be put into effect by computer code. The computer program is not intended to be limited to any particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and coding thereof may be used to implement the teachings of the disclosure contained herein. Moreover, the computer program is not intended to be limited to any particular control flow. There are many other variants of the computer program, which can use different control flows without departing from the spirit or scope of the invention.
[0042] Furthermore, one or more of the steps of the computer program may be performed in parallel rather than sequentially. Such a computer program may be stored on any computer readable medium. The computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a computer. The computer readable medium may also include a hard-wired medium such as exemplified in the Internet system, or wireless medium such as exemplified in the GSM mobile telephone system. The computer program when loaded and executed on such a computer effectively results in an apparatus that implements the steps of the preferred method.
[0043] According to various embodiments of the present disclosure, calculating a level of supply of a location can be implemented through a system. Figure 1 shows a block diagram illustrating a system 100 for calculating a level of supply. Further, the system 100 may enable a transaction for a product(s), and / or a request for a product(s) between a requestor and a provider (herein may be referred to as "users"). Herein in this embodiment, a product refers to a good, a service or a combination thereof; and a request for a product of the provider from the requestor may be referred to as a coordination request or a transaction request.
[0044] The system comprises a requestor device 102, a provider device 104, an acquirer server 106, a coordination server 108, an issuer server 110 and a supply signal processing server 111.
[0045] A user may be any suitable type of entity, which may include a consumer, company, corporation or governmental entity (i.e., requestor) who is looking to request for a product via a coordination server 108, an application developer, company, corporation or governmental entity (i.e., provider / merchant) who is looking to sell or provide a product via the coordination server 108.
[0046] A requestor device 102 is associated with a customer (or requestor) who is a party to, for example, a request for a good or service that occurs between the requestor device 102 and the provider device 104. The requestor device 102 may be a computing device such as a desktop computer, an interactive voice response (IVR) system, a smartphone, a laptop computer, a personal digital assistant computer (PDA), a mobile computer, a tablet computer, and the like.
[0047] The requestor device 102 may include user credentials (e.g., a user account) of a requestor to enable the requestor device 102 to be a party to a transaction. If the requestor has a user account, the user account may also be included (i.e., stored) in the requestor device 102. For example, a mobile device (which is a requestor device 102) may have the user account of the customer stored in the mobile device.
[0048] In one example arrangement, the requestor device 102 is a computing device in the form of a watch or similar wearable and is fitted with a wireless communications interface (e g., an NFC interface). The requestor device 102 can then electronically communicate with the provider device 104 regarding a transaction or coordination request. The customer uses the watch or similar wearable to make a request regarding the transaction or coordination request by pressing a button on the watch or wearable.
[0049] In another example arrangement, the requestor device 102 may be configured to receive parameters such as a location, a distance, a threshold, a size of a geographical area, or a geographical area identifier from a request made by a user to calculate a level of supply of an input location. Such parameters obtained from the request may be transmitted from the requestor device 102 to the provider device 104, servers such as coordination server 108 or the supply signal processing server 111 , or stored in the database 109 by the coordination server 108.
[0050] A provider device 104 is associated with a provider who is also a party to the request for a good or service that occurs between the requestor device 102 and the provider device 104. The provider device 104 may be a computing device such as a desktop computer, an interactive voice response (IVR) system, a smartphone, a laptop computer, a personal digital assistant computer (PDA), a mobile computer, a tablet computer, and the like.
[0051] Hereinafter, the term "provider" refers to a service provider and any third party associated with providing a good or service for purchase via the provider device 104. Therefore, the user account of a provider refers to both the user account of a provider and theuser account of a third party (e.g., a travel coordinator or merchant) associated with the provider.
[0052] If the provider has a user account, details of the user account may also be included (i.e., stored) in the provider device 104. For example, a mobile device (which is a provider device 104) may have user account details (e.g., account number) of the provider stored in the mobile device.
[0053] In one example arrangement, the provider device 104 is a computing device in the form of a watch or similar wearable and is fitted with a wireless communications interface (e.g., an NFC interface). The provider device 104 can then electronically communicate with the requestor to make a request regarding the transaction or coordination request by pressing a button on the watch or wearable.
[0054] In another example arrangement, a provider device 104 may be configured to receive a request to calculate a level of supply of a location from the requestor device 102. The provider device 104 may be further configured to transmit such requests to the coordination server 108 or the signal processing server 111 for calculation of the level of supply of the location. Once the level of supply has been calculated, the result of the calculation may be transmitted to the provider device 104. The provider device 104 may be further configured to transmit the calculated level of supply to the requestor device 102 or store the calculated level of supply in the database 109.
[0055] An acquirer server 106 is associated with an acquirer who may be an entity (e.g. a company or organisation) which issues (e.g. establishes, manages, administers) a payment account (e.g. a financial bank account) of a merchant (e.g., provider). An example of an acquirer is a bank or other financial institution. As discussed above, the acquirer server 106 may include one or more computing devices that are used to establish communication with another server (e.g., the coordination server 108) by exchanging messages with and / or passing information to the other server. The acquirer server 106 forwards the payment transaction relating to a transaction or transport request to the coordination server 108.
[0056] A coordination server 108 is configured to carry out processes relating to a user account by, for example, forwarding data and information associated with the transaction to the other servers in the system 100, such as the supply signal processing server 111. In an example, the coordination server 108 may provide data and information associated with a request that may be used for calculating a level of supply by the supply signal processingserver 111. Levels of supply for one or more locations may be determined based on an outcome of the calculation.
[0057] An issuer server 110 is associated with an issuer and may include one or more computing devices that are used to perform a payment transaction. The issuer may be an entity (e.g. a company or organisation) which issues (e.g. establishes, manages, administers) a transaction credential or a payment account (e.g. a financial bank account) associated with the owner of the requestor device 102. As discussed above, the issuer server 110 may include one or more computing devices that are used to establish communication with another server (e.g., the coordination server 108 by exchanging messages with and / or passing information to the other server.
[0058] The coordination server 108 may be a server that hosts software application programs for processing transaction or coordination requests, for example, purchasing of a good or service by a user. The coordination server 108 may also be configured for processing coordination requests between a requestor and a provider. The coordination server communicates with other servers (e.g., supply signal processing server 111) concerning transaction or coordination requests. The coordination server 108 may communicate with the supply signal processing server 111 to facilitate calculation of a level of supply with the transaction or coordination requests. The coordination server 108 may use a variety of different protocols and procedures in order to process the transaction or coordination requests.
[0059] In an example, the coordination server 108 may receive from one user device (such as the requestor device 102 or the provider device 104) data and information associated with a request that may be used for the calculating a level of supply by the supply signal processing server 111 and provide the data and information to the supply signal processing server 111 for use in the calculation.
[0060] Additionally, transactions that may be performed via the coordination server 108 include good or service purchases, credit purchases, debit transactions, fund transfers, account withdrawals, etc. The coordination server 108 may be configured to process transactions via cash-substitutes, which may include payment cards, letters of credit, checks, payment accounts, tokens, etc.
[0061] The coordination server 108 is usually managed by a service provider that may be an entity (e.g. a company or organisation) which operates to process transaction or coordinationrequests. The coordination server 108 may include one or more computing devices that are used for processing transaction or coordination requests.
[0062] A user account may be an account of a user who is registered at the coordination server 108. The user can be a customer, a service provider (e g., a map application developer, a product supplier, a distributor, a delivery service provider, a financial service provider), or any third parties (e g., a map / route planner, order coordinator) who want to use the coordination server. A user who is registered to a coordination server 108 or a supply signal processing server 111 will be called a registered user. A user who is not registered to the coordination server 108 or supply signal processing server 111 will be called a non-registered user.
[0063] The coordination server 108 may also be configured to manage the registration of users. A registered user has a user account which includes details and data of the user. The registration step is called on-boarding. A user may use either the requestor device 102 or the provider device 104 to perform on-boarding to the coordination server 108.
[0064] The on-boarding process for a user is performed by the user through one of the requestor device 102 or the provider device 104. In one arrangement, the user downloads an app (which includes, or otherwise provides access to, the API to interact with the coordination server 108) to the requestor device 102 or the provider device 104. In another arrangement, the user accesses a website (which includes, or otherwise provides access to, the API to interact with the coordination server 108) on the requestor device 102 or the provider device 104. The user is then able to interact with the supply signal processing server 111. The user may be a requestor or a provider associated with the requestor device 102 or the provider device 104, respectively.
[0065] Details of the registration include, for example, name of the user, address of the user, emergency contact, blood type or other healthcare information, next-of-kin contact, permissions to retrieve data and information from the requestor device 102 and / or the provider device 104. Alternatively, another mobile device may be selected instead of the requestor device 102 and / or the provider device 104 for retrieving the details / data. Once on-boarded, the user would have a user account that stores all the details / data.
[0066] It may not be necessary to have a user account at the coordination server 108 to access the functionalities of the coordination server 108. However, there may be functions that are available only to a registered user for example the provision of certain choices ofparameters that may be used as input. Such parameters may comprise of a size of a geographical area, a geographical area identifier, a distance indicating a radius of an area or a threshold distance that may be used in the calculation of a level of supply of a location. The term user will be used to collectively refer to both registered and non-registered users. A user may interchangeably be referred to as a requestor (e.g. a person who purchases a good or a service and creates a purchase order) or a provider (e g. a person who provides the good or the service to fulfil the purchase order).
[0067] The coordination server 108 may be configured to communicate with, or may include, a database 109 via connection 128. The connection 128 may be over a network (e.g., a local area network, a wide area network, the Internet, etc.). The database 109 stores user details / data as well as data corresponding to a transaction (or transaction data). Examples of the transaction data include Transaction identifier (ID), Merchant (Provider) ID, Merchant Name, MCC / Industry Code, Industry Description, Merchant Country, Merchant Address, Merchant Postal Code, Aggregate Merchant ID. The database 109 may also store a User ID, which is a unique identifier associated with each user involved in the transaction. For example, data ("Merchant name" or "Merchant ID") relating to the merchant / provider, time and date relating to the transaction of goods / services, and the User ID of the customer conducting the transaction can be used for further processing or reporting.
[0068] In one example arrangement, the coordination server 108 may be configured to facilitate exchange of data between devices and servers, such as the requestor device 102, provider device 104, and the supply signal processing server 111. For example, the coordination server 108 may be configured to receive requests from users via the requestor device 102 or the provider device 104. The requests may comprise of input parameters including, but not limited to, a location, a distance, a threshold, a size of a geographical area, or a geographical area identifier. The coordination server 108 may be configured to receive and transmit such parameters between devices (e.g., requestor device 102 or provider device 104) and the supply signal processing server 111. For example, the coordination server 108 may be configured to receive input parameter such as locational data from a requestor device 102 and transmit the locational data to the supply signal processing server 111 , wherein the locational data may be used by the supply signal processing server 111 to calculate a level of supply of the location.
[0069] In another example arrangement, the coordination server 108 may also be configured to receive, from a request, a list of business entities (e.g., restaurants, retail stores, service providers, or distribution centres). The coordination server may transmit the received data tobe stored in a database 109 for later use, or transmitted to the supply signal processing server 111 , for calculating the level of supply of the locations relating to the business entities. It will be appreciated that the coordination server 108 may be configured to facilitate flow of data between the devices (e.g., requestor device 102 or provider device 104) and the supply signal processing server 111 as described in descriptions accompanying Figures 5 and 7-9.
[0070] A supply signal processing server 111 may be a server that hosts software application programs for calculating a level of supply. Based on data (e.g., a location, a distance, a threshold, a size of an area, or a geographical area identifier) received in the form of a request, from a user device (such as the requestor device 102 or the provider device 104) or the coordination server 108, the signal processing server 111 may use these parameters for calculating the level of supply. In an example, locational data may be associated with a location of a user, or a location of a point of interest set by the user in a request. In another example, a user may set certain parameters as input in the request. For instance, a distance may be pre-defined by the user making the request. Such distance may be used by the supply signal processing server 111 to determine an area around the input location, wherein the area may be a circular area with a radius equal to the distance and the location is at a centre point of the area. The supply signal processing server 111 may be further implemented as shown in Figures 5 and 7 to calculate the level of supply of a location.
[0071] The database 109 stores data and information obtained, for example in the form of order requests from a user device (such as the requestor device 102 or the provider device 104. In an example, the database 109 may be a database managed by an external entity and the database 109 is a server that, based on a request received from a user device (such as the requestor device 102 or the provider device 104) or the coordination server 108, retrieve data and information associated with the request and transmit the data to the user device or the coordination server 108. Alternatively, a module such as a coordination module may store the data instead of the database 109, wherein the module may be integrated as part of the coordination server 108, or may be external to the coordination server 108.
[0072] The database 113 may store parameters (e.g., a location, a size of a geographical area, a geographical area identifier, a distance indicating a radius of an area or a threshold distance) and computer programs used by the supply signal processing server 111 to calculate a level of supply in a location.
[0073] Use of the term 'server' herein can mean a single computing device or a plurality of interconnected computing devices which operate together to perform a particular function.That is, the server may be contained within a single hardware unit or be distributed among several or many different hardware units.
[0074] The requestor device 102 is in communication with the provider device 104 via a connection 112. The connection 112 may be an ad hoc connection (e g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet). The requestor device 102 is also in communication with the supply signal processing server 111 via a connection 120. The connections 112, 120 may be a network connection (e.g., the Internet). The requestor device 102 may also be connected to a cloud that facilitates the system 100 for calculating a level of supply. For example, the requestor device 102 can send a signal or data to the cloud directly via an ad hoc connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet).
[0075] The provider device 104 is in communication with the requestor device 102 as described above, usually via the coordination server 108. The provider device 104 is, in turn, in communication with the acquirer server 106 via a connection 114. The provider device 104 is also in communication with the supply signal processing server 111 via a connection 124. The connections 114 and 124 may be network connections (e.g., provided via the Internet). The provider device 104 may also be connected to a cloud that facilitates the system 100 for calculating a level of supply. For example, the provider device 104 can send a signal or data to the cloud directly via an ad hoc connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet).
[0076] The acquirer server 106, in turn, is in communication with the coordination server 108 via a connection 116. The coordination server 108, in turn, is in communication with an issuer server 110 via a connection 118. The connections 116 and 118 may be over a network (e.g., the Internet).
[0077] The coordination server 108 is further in communication with the supply signal processing server 111 via a connection 122. The connection 122 may be over a network (e.g., a local area network, a wide area network, the Internet, etc ). In one arrangement, the coordination server 108 and the supply signal processing server 111 are combined and the connection 122 may be an interconnected bus.
[0078] The supply signal processing server 111 , in turn, is in communication with a database 113 via a connection 126. The connection 126 may be a network connection (e.g., provided via the Internet). The supply signal processing server 111 may also be connected to a cloudthat facilitates the system 100 for calculating a level of supply. For example, the supply signal processing server 111 can send a signal or data to the cloud directly via a wireless ad hoc connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet).
[0079] In the illustrative embodiment, each of the devices 102, 104, and the servers 106, 108, 110, 111 provides an interface to enable communication with other connected devices 102, 104 and / or servers 106, 108, 110, 111. Such communication is facilitated by an application programming interface ("API"). Such APIs may be part of a user interface that may include graphical user interfaces (GUIs), Web-based interfaces, programmatic interfaces such as application programming interfaces (APIs) and / or sets of remote procedure calls (RPCs) corresponding to interface elements, messaging interfaces in which the interface elements correspond to messages of a communication protocol, and / or suitable combinations thereof. Examples of APIs include the REST API, and the like. For example, it is possible for at least one of the requestor device 102 and the provider device 104 to receive or submit a request to calculate a level of supply in response to an enquiry shown on the GUI running on the respective API.
[0080] Figure 2 illustrates an example 200 of a geographical area divided into multiple geographical areas. Conventionally, a whole geographical map (e.g., a city) may be divided into multiple geographical areas (e.g., 202, 212 or 214), each being associated with a unique geographical area identifier (e.g., Geohash), and every location within the map fall within one geographical area with a geographical area identifier. In an example, each of the multiple geographical areas (e.g., 202, 212 or 214) may have a fixed shape and size. It will be appreciated that most implementations of area-based signals available presently involves the use of one or more geographical areas associated with the signal. In the context of calculating a level of supply of a location (e.g., geographical coordinates such as latitude and longitude), the conventional methods determine a level of supply of a geographical area that encompasses the location, and the level of supply of the location is determined to be the level of supply of the location. A limitation of this may be that a size of the geographical area may not always meet a user’s requirement. For example, the size of the geographical area may be too large or too small to accurately represent the level of supply in the given location. If the geographical area is too large, the level of supply calculated may include signals from other locations, leading to inaccurate level of supply of the location. Conversely, if the geographical area is too small, the supply signals around the location may not be captured, thus also leading to inaccurate level of supply of the location. Hence, to ensure that a suitable geographical area pertaining to a location meets a user’s requirement, a size of the geographical area may needto be pre-determined. In an example, a size of a geographical area may be determined to meet the following conditions: (i) the geographical area should be large enough such that a signal representing a level of supply of the geographical area is stable and not sensitive to fluctuations (e.g., due to a new identified location of a supply signal within the geographical area), (ii) the geographical area should be large enough to encompass a pre-defined number of supply signals within the geographical area; and (iii) the signal should accurately reflect an actual real-life representation of a level of supply within the geographical area.
[0081] However, it will be appreciated that determining a level of supply of a location based on a signal representing a geographical area that encompasses the location may lead to possible limitations. For example, a signal that represents a level of supply in the geographical area 202 comprising locations ml 204, m2 206 and m3 208 may not accurately reflect the level of supply of locations m2 206 and m3 208. Specifically, m2 206 and m3 208 are located in peripherals of the geographical area 202 encompassing ml 204, m2 206 and m3 208. A signal representing the level of supply of the geographical area 202 encompassing ml 204, m2 206 and m3 208 only take into account the level of supply in the geographical area 202, and does not account for the level of supply in neighbouring geographical areas (e.g., 212 or 214). Specifically, even if there may be locations representing supply signals within proximities of m2 206 or m3 208, these supply signals may be located in the neighbouring geographical areas (e.g., 210 or212). Hence, these supply signals will not be used when calculating a level of supply for the locations m2 and m3 using the geographical area 202. Therefore, the level of supply of the geographical area 202 may not accurately reflect the level of supply of location m2 206 and that of location m3 208.
[0082] Additionally, m2 206 and m3 208 are at opposite ends of the geographical area 202. Hence, a signal representing a level of supply in the geographical area 202 may not accurately represent the level of supply for both locations m2206 and m3 208. For example, m2 206 may be a location in a less populated region while m3 208 may be a location in a more populated region. Hence there may be less supply signals in a surrounding area of m2 206 but there may be more supply signals in a surrounding area of m3 208. Therefore, calculating the level of supply of m2 206 and m3 208 based on the geographical area 202 may result in an inaccurate level of supply of m2 206 and that of m3 208, as the calculated level of supply of the geographical area 202 may be a value close to an average of the actual level of supply of m2 206 and that of m3 208.
[0083] Additionally, when locations are close to each other (e.g., m3 208 and m4 210), the signal representing the level of supply for the two locations (e.g., m3 208 and m4210) shouldhave similar level of supply. However, as the locations (e.g., m3 208 and m4 210) are in different geographical areas 202 and 214, the calculated level of supply of m3 208 and that of m4 210 based on the geographical areas 202 and 214 may result in levels of supply that are different from each other.
[0084] Figure 3 shows a diagram illustrating another example 300 of a geographical map divided into multiple regions. Based on Figure 3, a city may be split into multiple regions. For example, the city may be split into regions based on similar levels of supply within each region. Determining a level of supply of a location using such regions may result in a more accurate level of supply of the location. However, generating regions of differing sizes as depicted in Figure 3 may not be cost-efficient and does not eliminate the need for users having to decide a size of the region that may be suitable when calculating a level of supply of a location. Additionally, once each region has been defined, the size of each region may not be changed or adjusted in downstream applications. Therefore, this method may also result in same limitations as described in descriptions accompanying Figure 2. Further, not all cities may be partitioned as depicted in Figure 3 due to lack of geographical information. It should also be noted that a level of supply for each region may need to be re-computed according to geographical areas (e g., Geohashes) in the region.
[0085] Figure 4 shows a block diagram illustrating various components of an apparatus 400 for calculating a level of supply according to an embodiment of the present disclosure. The apparatus 400 may comprise an area determination module 402, a level of supply calculation module 404, a level of supply multiplication module 406, a level of supply addition module 408, a distance determination module 410 and an area ratio calculation module 412. In an alternative embodiment, such components or modules are comprised in, or implemented as part of, a processor of the apparatus 400. Further, it will be appreciated that the apparatus 400 may be implemented as a part of the supply signal processing server 111 in the form of a software-based system. The functional modules 402-412 of the apparatus 400 may be programmed as software components or algorithms, which may be executed by the supply signal processing system 111. Therefore, the apparatus 400 may be implemented as a software component within the signal processing server 111 , which may interact with other devices (e.g., requestor device 102 or provider device) or servers (e.g., coordination server 108) to perform the steps as described in Figures 5 and 7-9.
[0086] As shown in the exemplified method for calculating a level of supply of a location in Figure 5 and Figure 7, the apparatus 400 is configured to perform the following steps of the method 500:• Step 502: calculate a ratio of a first area within a second area to the second area, the first area overlapping a third area extending from the location of the user at a distance;• Step 504: calculate a first level of supply of the first area based on the ratio and a second level of supply of the second area; and• Step 506: calculate the level of supply of the location of the user based on the first level of supply.
[0087] The area ratio calculation module 412 may be configured to perform step 502. The level of supply calculation module 404 may be configured to perform step 504 and step 506. In an embodiment, the second area may be a geographical area, and the third area may be a surrounding area. The surrounding area may refer to an area surrounding a location. The surrounding area may encompass multiple geographical areas of a fixed shape and size. Such surrounding area may have any shape covering multiple geographical areas or a portion of them depending on its shape.
[0088] In an embodiment, the distance determination module 402 may be configured to receive a distance as an input indicated in a request made via the requestor device 102 through the coordination server 108. The area determination module 402 may be further configured to determine a third area extending from the location of the user at the distance. An advantageous effect of this may be that the size of the third area may be pre-defined by a user making the request, allowing the user to determine the size of the area based on specific needs or preferences.
[0089] In another embodiment, the area determination module 402 may be configured to receive a geographical area identifier representing the location, the geographical area identifier corresponding to a fourth area. The area determination module 402 may be further configured to determine an area extending radially at the distance from a centre point of the fourth area as the third area. An advantage of this may be that a user making a request may use a geographical area identifier as an input location, without requiring manual input of geographical coordinates (e g., latitudes and longitudes) of the input location. This may allow calculation of a level of supply of the location, without requiring the location’s exact geographical coordinates (e g., latitudes or longitudes).
[0090] In yet another embodiment, the distance determination module 410 may be configured to determine if a distance between the location and a second location is shorter than athreshold distance. The level of supply calculation module 404 may be configured to calculate the level of the supply of the user based on that of the second location based on a result of the determination. For example, if a distance between a location and a second location is less than a threshold distance value, a level of supply of the location may be calculated to be identical to a level of supply of the second location. An advantageous effect of this may be that a level of supply of a location may be automatically calculated or determined without requiring specific data (e.g., locations of supply signals within the geographical area encompassing the location) for that location, as the level of supply level may be inferred based on the level of supply of a nearby second location.
[0091] In yet another embodiment, the area determination module 402 may be configured to determine the second area at which the second area comprises a plurality of fifth areas of a same size. The area ratio calculation module 412 may be configured to calculate the ratio of the first area to the second area based on a number of the plurality of the fifth areas forming the first area within the first area and a number of the plurality of the fifth areas forming the second area. As the ratio will be calculated based on smaller, uniformly sized fifth areas, a level of supply of a location that may be calculated based on the ratio will be more accurate.
[0092] In yet another embodiment, the area determination module 402 may be configured to receive the size of the plurality of fifth areas. It should be obvious to a skilled person in the art that using a smaller size of the plurality of fifth area will increase the accuracy of the calculated ratio. Therefore, a user may define the size of the plurality of fifth area to achieve a desired level of accuracy in the calculation.
[0093] In yet another embodiment, the area determination module 402 may be configured to receive the geographical area identifier corresponding to the second area. The area determination module 402 may be further configured to determine the location of the second area based on the geographical area identifier corresponding to the second area. An advantageous effect of this may be that a user making a request may designate the second area that will be used for calculating the level of supply of a location. This may improve efficiency by automating the identification of the second area where the level of supply calculation may be performed.
[0094] In yet another embodiment, the level of supply calculation module 404 and level of supply multiplication module 406 may be configured to calculate the level of supply of the user by multiplying the ratio with the second level of supply. An advantageous effect of this may be that a level of supply of the first area within the second area may be calculated.
[0095] In yet another embodiment, area determination module 402 may be configured to determine the third area such that the third area comprises the first area and a separate sixth area. The level of supply calculation module 404 and level of supply addition module 408 may be configured to calculate the level of supply of the location of the user by adding the first level of supply of the first area to a third level of supply of the separate sixth area within the third area. An advantageous effect of this may be that a level of supply of the third area may be calculated by an addition of a level of supply in one part (e.g., first area) of the third area with a level of supply of another part (e g., sixth area) of the third area.
[0096] In yet another embodiment, the level of supply calculation module 404 and the level of supply multiplication module 408 may be configured to multiply the ratio with a fourth level of supply of the plurality of fifth areas. An advantageous effect of this may be that a level of supply of the first area may be calculated without having to determine a second level of supply of a second area, thus reducing computational complexity and improving processing speed.
[0097] Figure 6 shows an illustration 600 of a dynamically adjustable surrounding area according to an embodiment of the present disclosure. The area 602 may be determined by the area determination module 402. It will be appreciated that surrounding area 602 is drawn in a circle for illustration purposes only, and the actual area may be in a shape that is not a circle. The centre point 604 of the area 602 may be, for example, a geographical coordinate (e.g., latitude and longitude), an area indicated by a geographical area identifier (e.g., Geohash), or any other geographical locations or areas that may denote the location. It will be appreciated that the surrounding area 602 may overlap with geographical areas identifiable by a geographical area identifier, and the ratio of the overlapped area to the geographical areas may be used to calculate a supply level of the overlapped area. Further, as described in descriptions accompanying Figure 5, the area determination module 402 may receive a distance as an input from a request made via the requestor device 102. The distance may be used to determine a distance of the radius of the surrounding area 602. In an embodiment, a level of supply of the area 602 may be obtained by calculating the number of supply signals encompassed by the surrounding area 602. In another embodiment, an accuracy level of a level of supply may be adjustable when calculating a ratio of the surrounding area that is encompassed by a geographical area. The specific mechanism of generating the dynamically adjustable area 602 and adjusting the accuracy level of the level of supply will be further explained in Figures 7 - 9 below.
[0098] Additionally, Figure 6 comprises of an area 606 and a smaller area 608.Conventionally, a whole geographical map (e.g., a city) may be equally divided into multiplegeographical areas (e.g., 606), each having a fixed shape and size and associated with a unique geographical area identifier (e.g., Geohash), and every location within the map fall within one geographical area with a geographical area identifier. In an example, neighbouring areas (e.g., 606) around an input location (e.g., 604) may be formed by a plurality of smaller areas 608. For example, the area 606 may have a size identical to Geohash level 5 and the smaller area 608 may has a size identical to Geohash level 6. In another example, the area 606 may comprise of a plurality of smaller areas 608. For instance, the area 606 may comprise of 32 units of smaller areas 608. It will be appreciated that the geographical areas 606 and 608 may be of sizes that are different from the sizes of Geohash level 5 and 6, contrary to what is depicted in Figure 6.
[0099] Figure 7 shows a flow chart illustrating another method 700 for calculating a level of supply according to an embodiment of the present disclosure. The flow chart is divided into two parts: part 1 702 and part 2 704. Part 1 702 relates to generating raw base data (e.g., locations, point of interests, Geohash) relating to neighbouring areas (e.g., 212 or 214) around an input location. Part 2 704 relates to calculating the level of supply of a location based on the generated raw data in part 1 702 with the use of an area with a configurable size.
[0100] In the context of the present disclosure, raw base data may refer to geographic information that may be utilized in the calculation of level of supply of an input location. Raw base data may include specific data points such as the latitude and longitude of locations, points of interest (e.g., businesses, landmarks), and geographical areas with fixed sizes obtained from a division of a geographical map into standardized units and are identifiable by a geographic area identifier (e.g., Geohash). The raw base data, comprising locational data of supply signals within a geographical area, may be normalized into data representing the locations of supply signals with Geohash units. For example, locational data (e.g., latitudes and longitudes of locations) associated with supply signals in the geographical area may be converted such that the locations are represented by Geohash units within the geographical area. The geographical area may comprise of multiple Geohash units, and each Geohash unit may be a geographical area identifiable by a geographical area identifier. The Geohash units may be of a same size and the size may be smaller than a size of the geographical area. In an example, a location of a driver may be represented by a Geohash unit instead of geographical coordinates such as latitudes and longitudes. Additionally, a level of supply of the geographical area may be determined, for example, based on a supply count input signal that may be received as an input from a user making a request. The supply count input signal may comprise of data relating to a count of supply signals within the geographical area. For example, the counts of supply signals of each Geohash units in the geographical area may beadded up to calculate the level of supply of the geographical area. In an embodiment, if locations of two supply signals are in close proximity of each other, a Geohash unit representing the location of one of the two supply signal may encompass the location of the other supply signal. Therefore, the smaller the size of the Geohash unit, the more accurate raw base data may be generated as supply signals that are located close to each other can still be distinguished due to the smaller size of Geohash units. Conversely, the larger the size of the Geohash unit, the less accurate raw base data may be generated.
[0101] In part 2 704, a user making a request from the request device 102 may indicate one or more locations from, for example, a list of business entities (e.g., 706) in the request. The list of business entities may include various types of establishments such as restaurants, retail stores, service providers, or distribution centres. These entities may represent any location where goods or services are offered, ranging from small local businesses to large enterprises. The user making the request, for example, may be an individual seeking specific services or products, or a company coordinating logistics, deliveries, or service requests within a certain geographic area. Any input parameters (e.g., a location, a distance, a threshold, a size of an area, or a geographical area identifier) accompanying the request may be transferred from the coordination server 108 to the supply signal processing server 111 , or stored in the database 109 by the coordination server 108.
[0102] Additionally, the locations indicated in the list of business entities may be used as centre points 708 for generating surrounding areas around the locations. In an embodiment, the centre points 708 may also be Geohashes or geographical areas representing the latitude and longitude of the locations. Additionally, a request may also comprise information indicating a distance of a radius 710 of the area that may be used by supply signal processing server 111 to generate a surrounding area around a location. It will be appreciated that a larger radius will cover more area, and a level of supply will be calculated to represent an average level of supply of the larger area. In contrast, a smaller radius will calculate to a value that more accurately represents the level of supply of the centre location point, however, the calculated level of supply may not take into consideration supply signals in neighbouring locations around the input location. With the centre points 708 and radius 710, an area may be generated by the supply signal processing server 111 to determine a level of supply of the input location via circular aggregation 712, which will be further described in descriptions accompanying Figures 8 and 9.
[0103] Figure 8 shows a diagram illustrating an example 800 of a surrounding area generated for calculating a level of supply according to an embodiment of the present disclosure.Conventionally, a whole geographical map may be equally divided into multiple geographical areas (e g., 802, 806, 808, 812, 814, 816, 818, 820, 822 or 824), each having a fixed shape and size and associated with a unique geographical area identifier (e.g., Geohash). A location may be identified to be in geographical area 812. A surrounding area 804 of the location 802 and the area 812 may be generated by the area determination module 402 based on a radius as defined in part 2 704 of the calculation method 700, covering neighbouring areas (e g., area 806, 808, 814, 816, 818, 820, 822 or 824) or a portion thereof. A distance of the radius may be received as an input from a request made via the requestor device 102 in part 2 704 of the calculation method 700. An advantageous effect of this may be that the size of the surrounding area 804 may be pre-defined by a user making the request, allowing the user to customize the size of the area based on specific needs or preferences. Contrary to what is shown in Figure 8, the surrounding area 804 may not be limited to a circular shape and may have any shape covering multiple geographical areas. The neighbouring area 806 may be automatically generated via area determination module 402 or the supply signal processing server 111. Alternatively, any information accompanying the request may be transmitted to the supply signal processing server 111 by the coordination server 108, or stored in the database 109. The neighbouring area 806 may have a size identical to, for example, a Geohash level 6 or 7. Additionally, a ratio of an overlapping area between the surrounding area 804 and each neighbouring area is calculated and may be used to calculate the level of supply of the neighbouring area to be used to determine the level of supply of the location 802. The ratio of the overlap may be determined by the area ratio calculation module 412, and the calculation will be described in Figure 9.
[0104] In an embodiment, a ratio of the area 810 within the neighbouring area 806 to the neighbouring area 806, the area 810 overlapping the surrounding area 804 extending from the location at a distance may be calculated by the area ratio calculation module 412. In another embodiment, a first level of supply of the area 810 may be calculated based on the calculated ratio and a second level of supply of the neighbouring area 806 by the level of supply calculation module 404. In yet another embodiment, the level of the supply of the location of the user may be calculated based on the first level of supply by the level of supply calculation module 404.
[0105] In yet another embodiment, the supply signal processing server 111 may be configured to receive a geographical area identifier from, for example, the requestor device 102 or the coordination server 108. The geographical area identifier may correspond to a geographical area 812. In an embodiment, the surrounding area 804 may be determined by extending an area radially at the distance from a centre point of the area 812 by the area determinationmodule 402. An advantageous effect of this may be that a user making a request may use a geographical area identifier as an input location, without requiring manual input of geographical coordinates (e.g., latitudes and longitudes) of the input location. This may allow calculation of a level of supply of a location, without requiring the location’s exact geographical coordinates (e.g., latitudes or longitudes).
[0106] In yet another embodiment, calculating the level of supply of a location may comprise determining if a distance between the location and a second location is shorter than a threshold distance by the distance determination module 410. Based on the result of the determination, the level of the supply of the location may be calculated based on that of the second location by the level of supply calculation module 412. For example, if a distance between a location and a second location is less than a threshold distance value, the level of supply of the location may be identical to the level of supply of the second location. An advantageous effect of this may be that a level of supply of a location may be automatically calculated or determined without requiring specific data (e.g., locations of supply signals within the geographical area encompassing the location) for that location, as the level of supply level may be inferred based on the level of supply of a nearby second location. The threshold distance may be indicated in information accompanying a request from the requestor device 102 or the coordination server 108.
[0107] In yet another embodiment, the supply signal processing server 111 may be configured to receive a geographical area identifier corresponding to the neighbouring area 806 by the area determination module 402. The location of the neighbouring area 806 may be determined based on the geographical area identifier corresponding to the neighbouring area 806 by area determination module 402. An advantageous effect of this may be that a user making a request may designate the neighbouring area (e.g., 806) that will be used for calculating the level of supply of a location. This may improve efficiency by automating the identification of the neighbouring area (e g., 806) where the level of supply calculation may be performed.
[0108] In yet another embodiment, the surrounding area 804 may comprise of the area 810 and a separate area. The separate area may be a part of the surrounding area 804 that does not encompass the area 810. The level of supply of the location of the user may be calculated by adding the level of supply of the area 810 to a level of supply of the separate area within the surrounding area 804 by the level of supply addition module 408. An advantageous effect of this may be that a level of supply of the surrounding area 804 may be calculated by an addition of a level of supply in one part (e.g., area 810) of the surrounding area 804 with a level of supply of the separate part of the surrounding area 804.
[0109] Figure 9 shows a diagram illustrating an example of a plurality of geographical areas generated for calculating a level of supply according to an embodiment of the present disclosure. Figure 9 shows a close-up view of the neighbouring area 806. In an embodiment, the neighbouring area 806 may comprise of a plurality of smaller geographical area units 902 (with higher Geohash level than Geohash corresponding to neighbouring area 806). Additionally, the smaller geographical area units 902 may have identical sizes. In an example, if the neighbouring area 806 is a geographic area with Geohash level 6, the plurality of smaller geographical area units 902 may have a size identical to Geohash level 7. In an embodiment, a ratio of the area 810 to the neighbouring area 806 may be calculated based on a number of smaller geographical area units forming the area 810 within the neighbouring area 806 and a number of smaller geographical area units 902 forming the neighbouring area 806. For example, if 13 out of 32 of the smaller geographical area units 902 forming the neighbouring area 806 are overlapped by the area 810, the ratio may be calculated by the area ratio calculation module 412 to be 13 out of 32, which may also be expressed as a percentage of 40.625%. In another example, if 417 out of 1024 of the smaller geographical area units 902 forming the neighbouring area 806 are overlapped by the area 810, the ratio may be calculated by the area ratio calculation module 412 to be 417 out of 1024, which may also be expressed as a percentage of 40.723%. It should be obvious to a skilled person in the art that the smaller the size of the smaller geographical area units 902, the more accurate the calculated ratio will be. Thus, a size of the smaller geographical area units 902 may be adjusted to calculate a level of supply of a location at a desired accuracy level. The size of the smaller geographical area units 902 may be predefined by a user making a request.
[0110] In an embodiment, a calculated ratio may be multiplied by the level of supply of the neighbouring area 806 to obtain the level of supply of the area 810. As described in part 1 702, a supply count input signal may be received from a request, and the supply count input signal may comprise of information indicating counts of supply signals of each Geohash unit making up the neighbouring area 806. The counts of supply signals of each Geohash units in the neighbouring area 806 may be added up by the level of supply addition module 408 to calculate the level of supply of the neighbouring area 806. The level of supply of the area 810 may be calculated based on a multiplication of the calculated ratio and the level of supply of the neighbouring area 806. The level of supply of the area 810 may be added with a level of supply of the surrounding area 804 that overlaps with other neighbouring areas (e.g., 808, 814, 816, 818, 820, 822 or 824) via the level of supply addition module 408. For example, a level of supply of the area 810 may be calculated based on multiplying the ratio obtained in the example above (e.g., ratio of 417 out of 1024) with a level of supply of the neighbouring area 806. This level of supply may be added with other levels of supply (e.g., level of supplyof the third area 804 that overlaps with neighbouring area 808) by the level of supply addition module 408. The level of supply of the third area 804 may be obtained via a summation of the levels of supplies calculated for the third area 804 that overlap with the neighbouring areas (e.g., 808, 814, 816, 818, 820, 822 or 824). An advantageous effect of this may be that a level of supply of the surrounding area 804 may be calculated by a summation of levels of supply of the surrounding are 804 that overlaps with the different neighbouring areas (e.g., 808, 814, 816, 818, 820, 822 or 824).
[0111] In an embodiment, the size of the plurality of smaller geographical area units 902 may be received from a request made via the request device 102. The size of the plurality of smaller geographical area units 902 may be received by the area determination module 402. It should be obvious to a skilled person in the art that using a smaller size of the plurality of smaller geographical area units 902 may increase the accuracy of the calculated ratio. Therefore, a user may define the size of the plurality of smaller geographical area units 902 to achieve a desired level of accuracy in the calculation.
[0112] In another embodiment, the level of supply of a location 802 may also be calculated based on a multiplication of the ratio with a level of supply of the plurality of smaller geographical area units 902 by the level of supply multiplication module 406. An advantageous effect of this may be that a level of supply of the location 802 may be calculated without having to determine a level of supply of the neighbouring area 806, thus reducing computational complexity and improving processing speed.
[0113] In yet another embodiment, an area ratio calculation module 412 may be configured to determine whether each smaller geohash unit 902 forming the neighbouring area 806 is overlapped by the area 810. For example, the area ratio calculation module 412 may be configured to determine if centre points of each smaller geohash unit 902 is encompassed by the area 810. If it is determined that a centre point of a smaller geohash unit 902 is encompassed by the area 810, the smaller geohash unit 902 may be determined to be encompassed by the area 810. This will allow the ratio of the area 810 to the neighbouring area 806 calculated to be a more accurate calculation of the actual real-life ratio of the area 810 to the neighbouring area 806.
[0114] Figure 10 shows a schematic diagram of a general purpose computer system 1100 upon which the coordination server 108 of Figure 1 can be practiced. The computer system 1100 includes: a computer module 1101 , input devices such as a keyboard 1102, a mouse pointer device 1103, a scanner 1126, a camera 1127, and a microphone 1180; andoutput devices including a printer 1115, a display device 1114 and loudspeakers 1117. An external Modulator-Demodulator (Modem) transceiver device 1116 may be used by the computer module 1101 for communicating to and from a communications network 1120 via a connection 1121. The communications network 1120 may be a wide-area network (WAN), such as the Internet, a cellular telecommunications network, or a private WAN. Where the connection 1121 is a telephone line, the modem 1116 may be a traditional "dial-up" modem. Alternatively, where the connection 1121 is a high capacity (e.g., cable) connection, the modem 1116 may be a broadband modem. A wireless modem may also be used for wireless connection to the communications network 1120.
[0115] The input and output devices may be used by an operator who is interacting with the coordination server 108. For example, the printer 1115 may be used to print reports relating to the status of the coordination server 108.
[0116] The coordination server 108 uses the communications network 1120 to communicate with the provider device 104, the requestor device 102, the supply signal processing server 111 and the database 109 to receive commands and data. The coordination server 108 also uses the communications network 1120 to communicate with the provider device 104, the requestor device 102, the supply signal processing server 111 and the database 113 to send notification messages or data and information associated with order requests.
[0117] The computer module 1101 typically includes at least one processor unit 1105, and at least one memory unit 1106. For example, the memory unit 1106 may have semiconductor random access memory (RAM) and semiconductor read only memory (ROM). The computer module 1101 also includes a number of input / output (I / O) interfaces including: an audio-video interface 1107 that couples to the video display 1114, loudspeakers 1117 and microphone 1180; an I / O interface 1113 that couples to the keyboard 1102, mouse 1103, scanner 1126, camera 1127 and optionally a joystick or other human interface device (not illustrated); and an interface 1108 for the external modem 1116 and printer 1115. In some implementations, the modem 1116 may be incorporated within the computer module 1101, for example within the interface 1108. The computer module 1101 also has a local network interface 1111 , which permits coupling of the computer system 1100 via a connection 1123 to a local-area communications network 1122, known as a Local Area Network (LAN). As illustrated in Figure 10, the local communications network 1122 may also couple to the wide network 1120 via a connection 1124, which would typically include a so-called "firewall" device or device of similar functionality. The local network interface 1111 may comprise an Ethernet circuit card,a Bluetooth® wireless arrangement or an IEEE 802.11 wireless arrangement; however, numerous other types of interfaces may be practiced for the interface 1111.
[0118] The I / O interfaces 1108 and 1113 may afford either or both of serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 1109 are provided and typically include a hard disk drive (HDD) 1110. Other storage devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical disk drive 1112 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks (e.g., CD-ROM, DVD, Blu-ray DiscTM), USB-RAM, portable, external hard drives, and floppy disks, for example, may be used as appropriate sources of data to the coordination server 108.
[0119] The components 1105 to 1113 of the computer module 1101 typically communicate via an interconnected bus 1104 and in a manner that results in a conventional mode of operation of a computer system known to those in the relevant art. For example, the processor 1105 is coupled to the system bus 1104 using a connection 1118. Likewise, the memory 1106 and optical disk drive 1112 are coupled to the system bus 1104 by connections 1119. Examples of computers on which the described arrangements can be practised include IBM- PC's and compatibles, Sun Sparcstations, Apple Mac™ or like computer systems.
[0120] The method of operating the coordination server 108, as shown in the processes of Figures 5 and 7, may be implemented as one or more software application programs 1113 executable within the coordination server 108. In particular, the steps of the processes shown in Figures 5 and 7 are effected by instructions 1131 (see Figure 11) in the software (i.e., computer program codes) 1133 that are carried out within the coordination server 108. The software instructions 1131 may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the operation of the coordination server 108 and a second part and the corresponding code modules manages the API and corresponding user interfaces in the provider device 104, the requestor device 102, and on the display 1114. In other words, the second part of the software manages the interaction between (a) the first part and (b) any one of the provider device 104, the requestor device 102, and the operator of the server 108.
[0121] The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the coordination server 108from the computer readable medium, and then executed by the computer system 1100. A computer readable medium having such software or computer program recorded on the computer readable medium is a computer program product. The use of the computer program product in the coordination server 108 preferably effects an advantageous apparatus for receiving / transmitting data and information associated with order requests that may be used for the calculation of level of supply by the supply signal processing server 111.
[0122] The software (i.e., computer program codes) 1133 is typically stored in the HDD 1110 or the memory 1106. The software 1133 is loaded into the computer system 1100 from a computer readable medium (e.g., the memory 1106), and executed by the processor 1105. Thus, for example, the software 1133 may be stored on an optically readable disk storage medium (e.g., CD-ROM) 1125 that is read by the optical disk drive 1112. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the coordination server 108 preferably effects an apparatus for receiving / transmitting data and information associated with order requests that may be used for the calculating level of supply by the supply signal processing server 111.
[0123] In some instances, the application programs 1133 may be supplied to the user encoded on one or more CD-ROMs 1125 and read via the corresponding drive 1112, or alternatively may be read by the user from the networks 1120 or 1122. Still further, the software can also be loaded into the coordination server 108 from other computer readable media. Computer readable storage media refers to any non-transitory tangible storage medium that provides recorded instructions and / or data to the coordination server 108 for execution and / or processing by the processor 1105. Examples of such storage media include floppy disks, magnetic tape, CD-ROM, DVD, Blu-ray™ Disc, a hard disk drive, a ROM or integrated circuit, USB memory, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 1101. Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and / or data to the computer module 1101 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.
[0124] The second part of the application programs 1133 and the corresponding code modules mentioned above may be executed to implement one or more API of the coordination server 108 with associated graphical user interfaces (GUIs) to be rendered or otherwiserepresented upon the display 1114 or the display of the provider device 104 and the requestor device 102. Through manipulation of typically the keyboard 1102 and the mouse 1103, an operator of the server 108 and the application may manipulate the interface in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Similarly, on the provider device 104 and the requestor device 102, a user of those devices 102, 104 manipulate the input devices (e.g., touch screen, keyboard, mouse, etc.) of those devices 102, 104 in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilising speech prompts output via the loudspeakers 1117 and user voice commands input via the microphone 1180. These other forms of functionally adaptable user interfaces may also be implemented on the provider device 104 and the requestor device 102.
[0125] Figure 11 is a detailed schematic block diagram of the processor 1105 and a "memory" 1134. The memory 1134 represents a logical aggregation of all the memory modules (including the HDD 1109 and semiconductor memory 1106) that can be accessed by the computer module 1101 in Figure 10.
[0126] When the computer module 1101 is initially powered up, a power-on self-test (POST) program 1150 executes. The POST program 1150 is typically stored in a ROM 1149 of the semiconductor memory 1106 of Figure 10. A hardware device such as the ROM 1149 storing software is sometimes referred to as firmware. The POST program 1150 examines hardware within the computer module 1101 to ensure proper functioning and typically checks the processor 1105, the memory 1134, and a basic input-output systems software (BIOS) module 1151 , also typically stored in the ROM 1149, for correct operation. Once the POST program 1150 has run successfully, the BIOS 1151 activates the hard disk drive 1110 of Figure 10. Activation of the hard disk drive 1110 causes a bootstrap loader program 1152 that is resident on the hard disk drive 1110 to execute via the processor 1105. This loads an operating system 1153 into the RAM memory 1106, upon which the operating system 1153 commences operation. The operating system 1153 is a system level application, executable by the processor 1105, to fulfil various high level functions, including processor management, memory management, device management, storage management, software application interface, and generic user interface.
[0127] The operating system 1153 manages the memory 1134 to ensure that each process or application running on the computer module 1101 has sufficient memory in which to execute without colliding with memory allocated to another process. Furthermore, the different typesof memory available in the server 108 of Figure 10 must be used properly so that each process can run effectively. Accordingly, the aggregated memory 1134 is not intended to illustrate how particular segments of memory are allocated (unless otherwise stated), but rather to provide a general view of the memory accessible by the server 108 and how such is used.
[0128] As shown in Figure 11, the processor 1105 includes a number of functional modules including a control unit 1139, an arithmetic logic unit (ALU) 1140, and a local or internal memory 1148, sometimes called a cache memory. The cache memory 1148 typically includes a number of storage registers 1144-1146 in a register section. One or more internal busses 1141 functionally interconnect these functional modules. The processor 1105 typically also has one or more interfaces 1142 for communicating with external devices via the system bus 1104, using a connection 1118. The memory 1134 is coupled to the bus 1104 using a connection 1119.
[0129] The application program 1133 includes a sequence of instructions 1131 that may include conditional branch and loop instructions. The program 1133 may also include data 1132 which is used in execution of the program 1133. The instructions 1531 and the data 1132 are stored in memory locations 1128, 1129, 1130 and 1135, 1136, 1137, respectively. Depending upon the relative size of the instructions 1131 and the memory locations 1128- 1130, a particular instruction may be stored in a single memory location as depicted by the instruction shown in the memory location 1130. Alternately, an instruction may be segmented into a number of parts each of which is stored in a separate memory location, as depicted by the instruction segments shown in the memory locations 1128 and 1129.
[0130] In general, the processor 1105 is given a set of instructions which are executed therein. The processor 1105 waits for a subsequent input, to which the processor 1105 reacts to by executing another set of instructions. Each input may be provided from one or more of a number of sources, including data generated by one or more of the input devices 1102, 1103, data received from an external source across one of the networks 1120, 1122, data retrieved from one of the storage devices 1106, 1109 or data retrieved from a storage medium 1125 inserted into the corresponding reader 1112, all depicted in Figure 10. The execution of a set of the instructions may in some cases result in output of data. Execution may also involve storing data or variables to the memory 1134.
[0131] The disclosed association management and payment initiation arrangements use input variables 1154, which are stored in the memory 1134 in corresponding memory locations 1155, 1156, 1157. The association management and payment initiation arrangementsproduce output variables 1161 , which are stored in the memory 1134 in corresponding memory locations 1162, 1163, 1164. Intermediate variables 1158 may be stored in memory locations 1159, 1160, 1166 and 1167.
[0132] Referring to the processor 1105 of Figure 10, the registers 1144, 1145, 1146, the arithmetic logic unit (ALU) 1140, and the control unit 1139 work together to perform sequences of micro-operations needed to perform "fetch, decode, and execute" cycles for every instruction in the instruction set making up the program 1133. Each fetch, decode, and execute cycle comprises: a fetch operation, which fetches or reads an instruction 1131 from a memory location 1128, 1129, 1130; a decode operation in which the control unit 1139 determines which instruction has been fetched; and an execute operation in which the control unit 1139 and / or the ALU 1140 execute the instruction.
[0133] Thereafter, a further fetch, decode, and execute cycle for the next instruction may be executed. Similarly, a store cycle may be performed by which the control unit 1139 stores or writes a value to a memory location 1132.
[0134] Each step or sub-process in the processes of Figures 5 and 7 is associated with one or more segments of the program 1133 and is performed by the register section 1144, 1145, 1147, the ALU 1140, and the control unit 1139 in the processor 1105 working together to perform the fetch, decode, and execute cycles for every instruction in the instruction set for the noted segments of the program 1133.
[0135] It is to be understood that the structural context of the coordination server 108 is presented merely by way of example. Therefore, in some arrangements, one or more features of the coordination server 108 may be omitted. Also, in some arrangements, one or more features of the coordination server 108 may be combined. Additionally, in some arrangements, one or more features of the coordination server 108 may be split into one or more component parts.
[0136] Figure 12 shows an alternative computer device to implement the coordination server 108 of Figure 1 (i.e., the computer system 1300). In the alternative implementation, the coordination server 108 may be generally described as a physical device comprising at least one processor 1302 and at least one memory 1304 including computer program codes. The at least one memory 1304 and the computer program codes are configured to, with the at least one processor 1302, cause the coordination server 108 to facilitate the operations described in the processes of Figures 5 and 7. The coordination server 108 may also include acoordination module 1306. The memory 1304 stores computer program code that the processor 1302 compiles to have each of the modules performs their respective functions.
[0137] With reference to Figures 5 and 7, the coordination module 1306 performs the function of communicating with the requestor device 102 and the provider device 104; and the acquirer server 106 and the issuer server 110 to respectively receive and transmit a transaction and data. Further, the coordination module 1306 may provide data and information associated with order requests that may be used for calculating level of supply by the supply signal processing server 111.
[0138] Figures 13 shows a schematic diagram of a general purpose computer system 1400 upon which the supply signal processing server 111 of Figure 1 can be practiced. The computer system 1400 includes: a computer module 1401 , input devices such as a keyboard 1402, a mouse pointer device 1403, a scanner 1426, a camera 1427, and a microphone 1480; and output devices including a printer 1415, a display device 1414 and loudspeakers 1417. An external Modulator-Demodulator (Modem) transceiver device 1416 may be used by the computer module 1401 for communicating to and from a communications network 1420 via a connection 1421. The communications network 1420 may be a wide-area network (WAN), such as the Internet, a cellular telecommunications network, or a private WAN. Where the connection 1421 is a telephone line, the modem 1416 may be a traditional "dial-up" modem. Alternatively, where the connection 1421 is a high capacity (e.g., cable) connection, the modem 1416 may be a broadband modem. A wireless modem may also be used for wireless connection to the communications network 1420.
[0139] The input and output devices may be used by an operator who is interacting with the supply signal processing server 111. For example, the printer 1415 may be used to print reports relating to the status of the supply signal processing server 111.
[0140] The supply signal processing server 111 uses the communications network 1420 to communicate with the provider device 104, the requestor device 102, the coordination server 108 and the database 113 to receive commands and data. The supply signal processing server 111 also uses the communications network 1420 to communicate with the provider device 104, the requestor device 102, the coordination server 108 and the database 113 to send notification messages or data and information associated with order requests.
[0141] The computer module 1401 typically includes at least one processor unit 1405, and at least one memory unit 1406. For example, the memory unit 1406 may have semiconductorrandom access memory (RAM) and semiconductor read only memory (ROM). The computer module 1401 also includes a number of input / output (I / O) interfaces including: an audio-video interface 1407 that couples to the video display 1414, loudspeakers 1417 and microphone 1480; an I / O interface 1413 that couples to the keyboard 1402, mouse 1403, scanner 1426, camera 1427 and optionally a joystick or other human interface device (not illustrated); and an interface 1408 for the external modem 1416 and printer 1415. In some implementations, the modem 1416 may be incorporated within the computer module 1401, for example within the interface 1408. The computer module 1401 also has a local network interface 1411 , which permits coupling of the computer system 1400 via a connection 1423 to a local-area communications network 1422, known as a Local Area Network (LAN). As illustrated in Figure 13, the local communications network 1422 may also couple to the wide network 1420 via a connection 1424, which would typically include a so-called "firewall" device or device of similar functionality. The local network interface 1411 may comprise an Ethernet circuit card, a Bluetooth® wireless arrangement or an IEEE 802.11 wireless arrangement; however, numerous other types of interfaces may be practiced for the interface 1411.
[0142] The I / O interfaces 1408 and 1413 may afford either or both of serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 1809 are provided and typically include a hard disk drive (HDD) 1410. Other storage devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical disk drive 1412 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks (e g., CD-ROM, DVD, Blu-ray DiscTM), USB-RAM, portable, external hard drives, and floppy disks, for example, may be used as appropriate sources of data to the supply signal processing server 111.
[0143] The components 1405 to 1413 of the computer module 1401 typically communicate via an interconnected bus 1404 and in a manner that results in a conventional mode of operation of a computer system known to those in the relevant art. For example, the processor 1405 is coupled to the system bus 1404 using a connection 1418. Likewise, the memory 1406 and optical disk drive 1412 are coupled to the system bus 1404 by connections 1419. Examples of computers on which the described arrangements can be practised include IBM- PC's and compatibles, Sun Sparcstations, Apple Mac™ or like computer systems.
[0144] The methods of operating the supply signal processing server 111 , as shown in the processes of Figures 5 and 7, may be implemented as one or more software application programs 1433 executable within the supply signal processing server 111. In particular, thesteps of the processes shown in Figures 5 and 7 effected by instructions (see corresponding component 1131 in Figure 11) in the software (i.e., computer program codes) 1433 that are carried out within the supply signal processing server 111. The software instructions 1131 may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the operation of the supply signal processing server 111 and a second part and the corresponding code modules manages the API and corresponding user interfaces in the provider device 104, the requestor device 102, and on the display 1414. In other words, the second part of the software manages the interaction between (a) the first part and (b) any one of the provider device 104, the requestor device 102, and the operator of the supply signal processing server 111.
[0145] The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the supply signal processing server 111 from the computer readable medium, and then executed by the computer system 1400. A computer readable medium having such software or computer program recorded on the computer readable medium is a computer program product. The use of the computer program product in the supply signal processing server 111 preferably effects an advantageous apparatus for calculating a level of supply as well as for receiving / transmitting data and information associated with order requests that may be used for the calculation by the supply signal processing server 111.
[0146] The software (i.e., computer program codes) 1433 is typically stored in the HDD 1410 or the memory 1406. The software 1433 is loaded into the computer system 1400 from a computer readable medium (e.g., the memory 1406), and executed by the processor 1405. Thus, for example, the software 1433 may be stored on an optically readable disk storage medium (e.g., CD-ROM) 1425 that is read by the optical disk drive 1412. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the supply signal processing server 111 preferably effects an apparatus for calculating a level of supply as well as for receiving / transmitting data and information associated with order requests that may be used for the calculation by the supply signal processing server 111.
[0147] In some instances, the application programs 1433 may be supplied to the user encoded on one or more CD-ROMs 1425 and read via the corresponding drive 1412, or alternatively may be read by the user from the networks 1420 or 1422. Still further, the software can also be loaded into the supply signal processing server 111 from other computer readablemedia. Computer readable storage media refers to any non-transitory tangible storage medium that provides recorded instructions and / or data to the supply signal processing server 111 for execution and / or processing by the processor 1405. Examples of such storage media include floppy disks, magnetic tape, CD-ROM, DVD, Blu-ray™ Disc, a hard disk drive, a ROM or integrated circuit, USB memory, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 1401. Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and / or data to the computer module 1401 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.
[0148] The second part of the application programs 1433 and the corresponding code modules mentioned above may be executed to implement one or more API of the supply signal processing server 111 with associated graphical user interfaces (GUIs) to be rendered or otherwise represented upon the display 1814 or the display of the provider device 104 and the requestor device 102. Through manipulation of typically the keyboard 1402 and the mouse 1403, an operator of the supply signal processing server 111 and the application may manipulate the interface in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Similarly, on the provider device 104 and the requestor device 102, a user of those devices 102, 104 manipulate the input devices (e.g., touch screen, keyboard, mouse, etc.) of those devices 102, 104 in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilising speech prompts output via the loudspeakers 1417 and user voice commands input via the microphone 1480. These other forms of functionally adaptable user interfaces may also be implemented on the provider device 104 and the requestor device 102.
[0149] It is to be understood that the structural context of the coordination server 108 is presented merely by way of example. Therefore, in some arrangements, one or more features of the coordination server 108 may be omitted. Also, in some arrangements, one or more features of the supply signal processing server 111 may be combined. Additionally, in some arrangements, one or more features of the supply signal processing server 111 may be split into one or more component parts.
[0150] Figure 14 shows an alternative computer device to implement the supply signal processing server 111 of Figure 1. In the alternative implementation, the supply signal processing server 111 may be generally described as a physical device comprising at least one processor 1502 and at least one memory 1504 including computer program codes. The at least one memory 1504 and the computer program codes are configured to, with the at least one processor 1502, cause the supply signal processing server 111 of Figure 1 to perform the operations described in the processes of Figures 5 and 7. The supply signal processing server 111 may include various modules 402-412 of the apparatus 400 described in Figure 4. The memory 1504 stores computer program code that the processor 1502 compiles to have each of the modules 402-412 performs their respective functions as described in Figure 4 and its accompanying description.
[0151] The supply signal processing server 111 may also include a data module 1506 configured to perform the functions of receiving data and information associated with order requests from the requestor device 102, provider device 104, coordination server 108, a cloud and other sources of information to facilitate the processes of Figures 5 and 7. For example, the data module 1506 may be configured to receive from one user device (such as the requestor device 102 or the provider device 104) data and information associated with a request that may be used for calculating a level of supply by the supply signal processing server 111 and provide the data and information to the supply signal processing server 111 for use in the calculation.
[0152] Figure 15 shows a schematic diagram of a general purpose computer system upon which a combined coordination and supply signal processing server 108, 111 of Figure 1 can be practiced. The computer system 1600 includes: a computer module 1601 , input devices such as a keyboard 1602, a mouse pointer device 1603, a scanner 1626, a camera 1627, and a microphone 1680; and output devices including a printer 1615, a display device 1614 and loudspeakers 1617. An external Modulator-Demodulator (Modem) transceiver device 1616 may be used by the computer module 1601 for communicating to and from a communications network 1620 via a connection 1621. The communications network 1620 may be a wide-area network (WAN), such as the Internet, a cellular telecommunications network, or a private WAN. Where the connection 1621 is a telephone line, the modem 1616 may be a traditional "dial-up" modem. Alternatively, where the connection 1621 is a high capacity (e.g., cable) connection, the modem 1616 may be a broadband modem. A wireless modem may also be used for wireless connection to the communications network 1620.
[0153] The input and output devices may be used by an operator who is interacting with the combined coordination and supply signal processing server 108, 111. For example, the printer 1615 may be used to print reports relating to the status of the combined coordination and supply signal processing server 108, 111.
[0154] The combined coordination and supply signal processing server 108, 111 uses the communications network 1620 to communicate with the provider device 104, the requestor device 102, and the databases 109, 113 to receive commands and data. In one example, the databases 109, 113 may be combined, as shown in Figure 15. The combined coordination and supply signal processing server 108, 111 also uses the communications network 1620 to communicate with the provider device 104, the requestor device 102 and the databases 109, 113 to send notification messages or data and information associated with order requests.
[0155] The computer module 1601 typically includes at least one processor unit 1605, and at least one memory unit 1606. For example, the memory unit 1606 may have semiconductor random access memory (RAM) and semiconductor read only memory (ROM). The computer module 1601 also includes a number of input / output (I / O) interfaces including: an audio-video interface 1607 that couples to the video display 1614, loudspeakers 1617 and microphone 1680; an I / O interface 1613 that couples to the keyboard 1602, mouse 1603, scanner 1626, camera 1627 and optionally a joystick or other human interface device (not illustrated); and an interface 1608 for the external modem 1616 and printer 1615. In some implementations, the modem 1616 may be incorporated within the computer module 1601 , for example within the interface 1608. The computer module 1601 also has a local network interface 1611 , which permits coupling of the computer system 1600 via a connection 1623 to a local-area communications network 1622, known as a Local Area Network (LAN). As illustrated in Figure 15, the local communications network 1622 may also couple to the wide network 1620 via a connection 1624, which would typically include a so-called "firewall" device or device of similar functionality. The local network interface 1611 may comprise an Ethernet circuit card, a Bluetooth® wireless arrangement or an IEEE 802.11 wireless arrangement; however, numerous other types of interfaces may be practiced for the interface 1611.
[0156] The I / O interfaces 1608 and 1613 may afford either or both of serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 1609 are provided and typically include a hard disk drive (HDD) 1610. Other storage devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical disk drive 1612 is typically provided to act as a non-volatile source of data. Portablememory devices, such optical disks (e g., CD-ROM, DVD, Blu-ray DiscTM), USB-RAM, portable, external hard drives, and floppy disks, for example, may be used as appropriate sources of data to the combined coordination and supply signal processing server 108, 111.
[0157] The components 1605 to 1613 of the computer module 1601 typically communicate via an interconnected bus 1604 and in a manner that results in a conventional mode of operation of a computer system known to those in the relevant art. For example, the processor 1605 is coupled to the system bus 1604 using a connection 1618. Likewise, the memory 1606 and optical disk drive 1612 are coupled to the system bus 1604 by connections 1619. Examples of computers on which the described arrangements can be practised include IBM- PC's and compatibles, Sun Sparcstations, Apple MacTM or like computer systems.
[0158] The methods of operating the combined coordination and supply signal processing server 108, 111 , as shown in the processes of Figures 5 and 7, may be implemented as one or more software application programs 1633 executable within the combined coordination and supply signal processing server 108, 111. In particular, the steps of the processes shown in Figures 5 and 7 are effected by instructions (see corresponding component 1131 in Figure 11) in the software (i.e., computer program codes) 1633 that are carried out within the combined coordination and supply signal processing server 108, 111. The software instructions 1131 may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the operation of the combined coordination and supply signal processing server 108, 111 and a second part and the corresponding code modules manages the API and corresponding user interfaces in the provider device 104, the requestor device 102, and on the display 1614. In other words, the second part of the software manages the interaction between (a) the first part and (b) any one of the provider device 104, the requestor device 102, and the operator of the server 108, 111.
[0159] The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the combined coordination and supply signal processing server 108, 111 from the computer readable medium, and then executed by the computer system 1600. A computer readable medium having such software or computer program recorded on the computer readable medium is a computer program product. The use of the computer program product in the combined coordination and supply signal processing server 108, 111 preferably effects an advantageous apparatus for calculating a level of supply as well as for receiving / transmitting data and informationassociated with order requests that may be used for the calculation by the combined coordination and supply signal processing server 108, 111.
[0160] The software (i.e., computer program codes) 1633 is typically stored in the HDD 1610 or the memory 1606. The software 1633 is loaded into the computer system 1600 from computer readable medium (e.g., the memory 1606), and executed by the processor 1605. Thus, for example, the software 1633 may be stored on an optically readable disk storage medium (e.g., CD-ROM) 1625 that is read by the optical disk drive 1612. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the combined coordination and supply signal processing server 108, 111 preferably effects an apparatus for calculating a level of supply as well as for receiving / transmitting data and information associated with order requests that may be used for calculating level of supply by the combined coordination and supply signal processing server 108, 111.
[0161] In some instances, the application programs 1633 may be supplied to the user encoded on one or more CD-ROMs 1625 and read via the corresponding drive 1612, or alternatively may be read by the user from the networks 1620 or 1622. Still further, the software can also be loaded into the combined coordination and supply signal processing server 108, 111 from other computer readable media. Computer readable storage media refers to any non-transitory tangible storage medium that provides recorded instructions and / or data to the combined coordination and supply signal processing server 108, 111 for execution and / or processing by the processor 1605. Examples of such storage media include floppy disks, magnetic tape, CD-ROM, DVD, Blu-ray™ Disc, a hard disk drive, a ROM or integrated circuit, USB memory, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 1601. Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and / or data to the computer module 1601 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.
[0162] The second part of the application programs 1633 and the corresponding code modules mentioned above may be executed to implement one or more API of the combined coordination and supply signal processing server 108, 111 with associated graphical user interfaces (GUIs) to be rendered or otherwise represented upon the display 1614 or the display of the provider device 104 and the requestor device 102. Through manipulation of typically thekeyboard 1602 and the mouse 1603, an operator of the server 108, 111 and the application may manipulate the interface in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Similarly, on the provider device 104 and the requestor device 102, a user of those devices 102, 104 manipulate the input devices (e.g., touch screen, keyboard, mouse, etc.) of those devices 102, 104 in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilising speech prompts output via the loudspeakers 1617 and user voice commands input via the microphone 1680. These other forms of functionally adaptable user interfaces may also be implemented on the provider device 104 and the requestor device 102.
[0163] It is to be understood that the structural context of the coordination server 108 is presented merely by way of example. Therefore, in some arrangements, one or more features of the coordination server 108 may be omitted. Also, in some arrangements, one or more features of the combined coordination and supply signal processing server 108, 111 may be combined. Additionally, in some arrangements, one or more features of the combined coordination and supply signal processing server 108, 111 may be split into one or more component parts.
[0164] Figure 16 shows an alternative computer device to implement a combined coordination and supply signal processing server 108, 111 of Figure 1. In the alternative implementation, the combined coordination and supply signal processing server 108, 111 may be generally described as a physical device comprising at least one processor 1702 and at least one memory 1704 including computer program codes. The at least one memory 1704 and the computer program codes are configured to, with the at least one processor 1702, cause the combined coordination and supply signal processing server 108, 111 to perform the operations described in the processes of Figures 5 and 7. The combined coordination and supply signal processing server 108, 111 may include various modules 402-412 of the apparatus 400 described in Figure 4. The memory 1704 stores computer program code that the processor 1702 compiles to have each of the modules 402-412 performs their respective functions as described in Figure 4 and its accompanying description.
[0165] The combined coordination and supply signal processing server 108, 111 may also include a coordination module 1708 configured to perform the function of communicating with the requestor device 102 and the provider device 104; and the acquirer server 106 and theissuer server 110 to respectively receive and transmit data and information associated with order requests that may be used for calculating a level of supply.
[0166] The combined coordination and supply signal processing server 108, 111 may also include a data module 1706 configured to perform the functions of receiving data and information associated with order requests from the requestor device 102, provider device 104, coordination server 108, a cloud and other sources of information to facilitate the processes of Figures 5 and 7. For example, the data module 1706 may be configured to receive from one user device (such as the requestor device 102 or the provider device 104) data and information associated with a request that may be used for calculating level of supply by the combined coordination and supply signal processing server 108, 111 and provide the data and information to the combined coordination and supply signal processing server 108, 111 for use in calculating a level of supply.
[0167] The foregoing describes only some embodiments of the present disclosure, and modifications and / or changes can be made thereto without departing from the scope and spirit of the invention, the embodiments being illustrative and not restrictive.
Claims
CLAIMS1 . A method for calculating a level of supply of a location, comprising: calculating, by a processor, a ratio of a first area within a second area to the second area, the first area overlapping a third area extending from the location at a distance; calculating, by the processor, a first level of supply of the first area based on the ratio and a second level of supply of the second area; and calculating, by the processor, the level of supply of the location based on the first level of supply.
2. The method of claim 1, further comprises: receiving the distance; and determining a third area extending from the location at the distance.
3. The method according to any one of claims 1 or 2, wherein determining the third area extending from the location at the distance comprises: receiving a geographical area identifier representing the location, the geographical area identifier corresponding to a fourth area; and determining an area extending radially at the distance from a centre point of the fourth area as the third area.
4. The method according to any one of claim 1 - 3, wherein calculating the level of the supply of the location based on the first level of supply, further comprises: determining if a distance between the location and a second location is shorter than a threshold distance; and calculating the level of the supply of the location based on that of the second location based on a result of the determination.
5. The method according to any one of claim 1 - 4, wherein the second area comprises a plurality of fifth areas of a same size, and wherein calculating the ratio further comprises: calculating the ratio of the first area to the second area based on a number of the plurality of the fifth areas forming the first area within the second area and a number of the plurality of the fifth areas forming the second area.
6. The method according to any one of claim 1 - 5, wherein prior to calculating the ratio, the method further comprises: receiving the size of the plurality of fifth areas.
7. The method according to any one of claims 1 - 6, wherein prior to calculating the ratio, the method further comprises: receiving a geographical area identifier corresponding to the second area; and determining the location of the second area based on the geographical area identifier corresponding to the second area.
8. The method according to any one of claims 1 - 7, wherein calculating the level of supply of the location based on the first level of supply further comprises: multiplying the second level of supply with the ratio.
9. The method according to any one of claims 1 - 7, wherein the third area comprises the first area and a separate sixth area, and wherein calculating the level of supply of the location based on the first level of supply, further comprises: adding the first level of supply of the first area to a third level of supply of the separate sixth area within the third area.
10. The method according to any one of claims 1 - 7, wherein calculating the level of the supply of the location based on the first level of supply further comprises: multiplying the ratio with a fourth level of supply of the plurality of fifth areas.11 . An apparatus for calculating a level of supply of a location, comprising: at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: calculate a ratio of a first area within a second area to the second area, the first area overlapping a third area extending from the location at a distance; calculate a first level of supply of the first area based on the ratio and a second level of supply of the second area; and calculate the level of supply of the location based on the first level of supply.
12. The apparatus of claim 11 , wherein the at least one memory and the computer program code is configured to, with the at least one processor, cause the apparatus at least to, further: receive the distance; and determine a third area extending from the location at the distance.
13. The apparatus according to any one of claims 11 or 12, wherein the at least one memory and the computer program code is configured to, with the at least one processor, cause the apparatus at least to, further: receive a geographical area identifier representing the location, the geographical area identifier corresponding to a fourth area; and determining an area extending radially at the distance from a centre point of the fourth area as the third area.
14. The apparatus according to any one of claim 11 - 13, wherein the at least one memory and the computer program code is configured to, with the at least one processor, cause the apparatus at least to, further: determine if a distance between the location and a second location is shorter than a threshold distance; and calculate the level of the supply of the location based on that of the second location based on a result of the determination.
15. The apparatus according to any one of claim 11 - 14, wherein the at least one memory and the computer program code is configured to, with the at least one processor, cause the apparatus at least to, further: determine the second area comprises a plurality of fifth areas of a same size; and calculate the ratio of the first area to the second area based on a number of the plurality of the fifth areas forming the first area within the second area and a number of the plurality of the fifth areas forming the second area.
16. The apparatus according to any one of claim 11 - 15, wherein the at least one memory and the computer program code is configured to, with the at least one processor, cause the apparatus at least to, further: receive the size of the plurality of fifth area.
17. The apparatus according to any one of claim 11 - 16, wherein the at least one memory and the computer program code is configured to, with the at least one processor, cause the apparatus at least to, further: receive a geographical area identifier corresponding to the second area; and determine the location of the second area based on the geographical area identifier corresponding to the second area.
18. The apparatus according to any one of claim 11 - 17, wherein the at least one memory and the computer program code is configured to, with the at least one processor, cause the apparatus at least to, further: multiply the second level of supply with the ratio.
19. The apparatus according to any one of claim 11 - 17, wherein the at least one memory and the computer program code is configured to, with the at least one processor, cause the apparatus at least to, further: determine the third area comprises the first area and a separate sixth area; and add the first level of supply of the first area to a third level of supply of the separate sixth area within the third area.
20. The apparatus according to any one of claim 11 - 17, wherein the at least one memory and the computer program code is configured to, with the at least one processor, cause the apparatus at least to, further: multiply the ratio with a fourth level of supply of the plurality of fifth areas.
Citation Information
Patent Citations
Number of terminal estimation device and number of terminal estimation method
US20130090132A1
Terminal number estimation device and terminal number estimation method
US20130184008A1