The present invention is directed generally to cellular networks and more particularly to facilitating the purchase of data transfer service using cellular network in real time.
Many users of devices attaching to and accessing cellular networks enter into service contracts with cellular service providers that permit use during a given time period of a specified quantity of voice minutes, messages and/or data for a set fee. Subscribers to cellular networks often are in a position where either they expect that they will not use some of the purchased capacity within the given time period, resulting in wasted money, or they will go over the permitted amounts and need to purchase excess plan capacity at high overage rates charged by cellular service providers. Accordingly, there is a need for a method and system that would allow a subscriber to either sell its excess capacity or selectively buy additional capacity on a real time basis. The method and system should be cost effective, efficient and adaptable to existing environments. The present invention addresses such a need.
A computer-implemented method and system for buying and selling real time priced cellular service is disclosed. The computer-implemented method and system comprise storing at least one offer for a specified amount of capacity for cellular service available from a specified cellular service provider at a specified price (a capacity offer) initiated by at least one seller, and processing at least one request to discover such capacity offers (a capacity discovery request) initiated by at least one buyer for a quantity of cellular service available from a specified cellular service provider.
The processing of the capacity discovery requests further comprises matching at least one of the capacity discovery requests with one of the stored capacity offers; wherein when a match occurs the buyer is notified of the match and price and is given the opportunity to purchase the quantity of cellular service offered by the seller. The computer-implemented method and system further comprises deducting the purchased quantity of cellular service from a service profile of the seller and adding the purchased quantity of cellular service to a service profile of the buyer.
In one or more embodiments, a computer-implemented method, system and computer program product for buying and selling service to transfer a quantity of data using cellular network are disclosed.
In an embodiment, the computer-implemented method for buying and selling service for transferring a quantity of data using cellular network includes receiving and storing one or more offers to transfer a quantity of data using cellular service; receiving and processing one or more discovery requests to transfer a quantity of data using cellular service; matching at least one of the one or more discovery requests with at least one of the one or more stored offers; and facilitating buying and selling of the service to transfer a quantity of data.
In an embodiment, the system for buying and selling service for transferring a quantity of data using cellular network, having at least one server comprising a processor, and a memory in communication with the processor wherein the memory including program instructions which when executed by the processor, perform the following operations including receiving and storing one or more offers to transfer a quantity of data using cellular service; receiving and processing one or more discovery requests to transfer a quantity of data using cellular service; matching at least one of the one or more discovery requests with at least one of the one or more stored offers; and facilitating buying and selling of the service to transfer a quantity of data.
In an embodiment, the computer program product stored on a computer readable medium for buying and selling service for transferring a quantity of data using cellular network, having computer readable programming for causing a computer to control an execution of an application for buying and selling service for transferring a quantity of data using cellular network, including the steps of: receiving and storing one or more offers to transfer a quantity of data using cellular service; receiving and processing one or more discovery requests to transfer a quantity of data using cellular service; matching at least one of the one or more discovery requests with at least one of the one or more stored offers; and facilitating buying and selling of the service to transfer a quantity of data.
In an embodiment, the one or more offers for transferring a quantity of data using cellular service comprise an offer to sell the service of transferring a quantity of data using cellular service initiated by a seller or an offer to buy the service of transferring a quantity of data using cellular service initiated by a buyer.
In an embodiment, the method, system and computer program product for buying and selling service to transfer a quantity of data using cellular network includes transferring the data to be transferred by the buyer to the seller of the data quantity transfer via exchange, where the timing and process of actual data transfer is controlled by the seller of the service to transfer a quantity of data, and where the transfer of data may take place in multiple segments and may involve multiple sellers of data quantity transfer. The multiple sellers may include sellers based on geographical location as well as data transfer capacity of each seller etc.
In another embodiment, the method, system and computer program product for buying and selling service to transfer a quantity of data using cellular network includes transferring the data to be transferred by the buyer to the one or more sellers of the data transfer capacity via exchange, where the timing and process of actual data transfer is controlled by the seller of the cellular service for transferring a quantity of data, and where the transfer of data may take place in a single shot and involve one or more sellers.
In yet another embodiment, the method, system and computer program product for buying and selling service to transfer a quantity of data includes transferring the data to be transferred by the buyer to the seller, and where the timing and process of actual data transfer is controlled by the seller of the service to transfer a quantity of data, and where the transfer of data may take place in a single shot and involve single seller.
The present invention is directed generally to cellular networks and more particularly to facilitating the purchase of data transfer service using cellular network in real time. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiments and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.
Given the proliferation of devices using cellular services, in the consumer, M2M and other markets, and the loss of resources both by users who spend money for unused capacity and by users who must pay for overage at high rates, it would be advantageous to provide a system and method for enabling the transfer of excess capacity. A system and method in accordance with the present invention utilize an exchange market operated by cellular service providers or other authorized parties (an exchange) that allows subscribers who have excess plan voice minutes, messages and bytes of data etc. to sell such excess to the subscribers who need them without either having to change their service contracts with their cellular service providers. An exchange is defined as a system that allows subscribers to buy and sell cellular service. The system, for example, can be operated by a cellular service provider or other authorized party. The subscribers, for example, can be any of network service providers, enterprises and consumers.
In one or more embodiments, a computer-implemented method and system are disclosed. The computer-implemented method and system allow subscribers whose contracts with a cellular service provider permit use of a specified quantity of voice minutes, messages and/or data for a set fee to use an exchange to sell excess plan voice minutes, messages, bytes of data, etc., giving rise to real-time priced cellular service for cellular subscribers, without any change to the subscribers' contracts and price plans with their cellular service providers. The computer-implemented method and system describe a network control scheme to support a real-time market for service offered at then-current real-time prices.
In an embodiment, a buyer and a seller with active subscriptions and cellular service profiles from the same cellular service provider are eligible for selling and purchasing the excess plan voice minutes, messages, bytes of data, etc. offered by the seller. The seller's subscription and service profile may be identified by an international mobile subscriber identifier (IMSI) or mobile identification number (MIN). Using the method enabled, the seller submits an offer to the exchange for sale at a given price of a quantity of excess voice minutes, short messages (SMS) or data valid for use within a specified time period. In one or more embodiments, the specified time period during which the cellular service offered is valid for use can be in multiples of one hour.
As part of an offer process, the seller also specifies cellular service profile identifiers associated with the offer. The exchange then publishes all offers in a continuous 24 hour window. A buyer enters the market through submitting a request specifying the quantity of voice minutes, messages and/or data required and a price range for this service that the buyer is willing to pay. As part of a request process, the buyer also specifies its service provider identifiers for the service profile that would use the purchased capacity. The computer-implemented method and system enables the exchange to find the lowest-priced offer that matches the buyer's requirements.
Once a matching offer is found, the exchange uses the computer-implemented method and system to complete the transaction and store any desired information, which may include the parties' respective service provider identifiers, quantity of service purchased, price and so on. In a method and system in accordance with an embodiment, the exchange then adjusts the service profiles of both the seller (deducting the quantity of service sold from available amounts) and the buyer (adding the purchased capacity to the available amounts). Accordingly, in an embodiment, an offer is allowed either to be taken off the market if quantities in the offer have been matched with at least one buyer or adjusted so that purchased amounts are removed. At the end of the purchased service period, the exchange removes the unused portion of the purchased service quantity from the buyer's service profile, without any further change to the seller's service profile. Payment settlement between the seller and buyer can be performed via a mechanism chosen and implemented by the exchange.
Additionally or alternatively, many users of devices attaching to and accessing cellular networks enter into service contracts with cellular service providers that permit use during a given time period of a specified quantity of messages and/or data for a set fee, for example, rate plans. Users with a need to transfer certain quantity of data but have the flexibility regarding time of data transfer and/or process of data transfer, may still have to purchase additional cellular service capacity from a service provider. These subscribers may face two challenges—1) They may not be able to utilize the entire purchased capacity, resulting in underutilized capacity and overspending; 2) Potential data transfer to the destination device when there is no native cellular coverage but utilizing a roaming partner cellular coverage at the device location, resulting in expensive roaming charges.
Accordingly, there is a need for a method and system that would allow a subscriber with excess capacity provide services such as data transfer on a real time basis and perform the data transfer in a cost effective, and efficient way. The present invention addresses such a need.
In one or more embodiments, a computer-implemented method, system and computer program product for buying and selling service to transfer a quantity of data using cellular network are disclosed.
In an embodiment, the computer-implemented method for buying and selling service for transferring a quantity of data using cellular network includes receiving and storing one or more offers to transfer a quantity of data using cellular service; receiving and processing one or more discovery requests to transfer a quantity of data using cellular service; matching at least one of the one or more discovery requests with at least one of the one or more stored offers; and facilitating buying and selling of the service to transfer a quantity of data.
In an embodiment, the system for buying and selling service for transferring a quantity of data using cellular network, having at least one server comprising a processor, and a memory in communication with the processor wherein the memory including program instructions which when executed by the processor, perform the following operations including receiving and storing one or more offers to transfer a quantity of data using cellular service; receiving and processing one or more discovery requests to transfer a quantity of data using cellular service; matching at least one of the one or more discovery requests with at least one of the one or more stored offers; and facilitating buying and selling of the service to transfer a quantity of data.
In an embodiment, the computer program product stored on a computer readable medium for buying and selling service for transferring a quantity of data using cellular network, having computer readable programming for causing a computer to control an execution of an application for buying and selling service for transferring a quantity of data using cellular network, including the steps of: receiving and storing one or more offers to transfer a quantity of data using cellular service; receiving and processing one or more discovery requests to transfer a quantity of data using cellular service; matching at least one of the one or more discovery requests with at least one of the one or more stored offers; and facilitating buying and selling of the service to transfer a quantity of data.
In an embodiment, the one or more offers for transferring a quantity of data using cellular service comprise an offer to sell the service of transferring a quantity of data using cellular service initiated by a seller or an offer to buy the service of transferring a quantity of data using cellular service initiated by a buyer.
In an embodiment, the method, system and computer program product for buying and selling service to transfer a quantity of data using cellular network includes transferring the data to be transferred by the buyer to the seller of the data quantity transfer via exchange, where the timing and process of actual data transfer is controlled by the seller of the service to transfer a quantity of data, and may involve multiple sellers of service for a data quantity transfer, where the transfer of data to each of the one or more sellers may take place in multiple segments. The multiple sellers may include sellers based on geographical location as well as data transfer capacity of each seller etc.
In another embodiment, the method, system and computer program product for buying and selling service to transfer a quantity of data using cellular network includes transferring the data to be transferred by the buyer to the one or more sellers of the data transfer capacity via exchange, where the timing and process of actual data transfer is controlled by the seller of the service for transferring a quantity of data, and may involve one or more sellers of service for a data quantity transfer, where the transfer of data to each of the one or more sellers may take place in multiple segments.
In yet another embodiment, the method, system and computer program product for buying and selling service to transfer a quantity of data includes transferring the data to be transferred by the buyer to the seller, and where the timing and process of actual data transfer is controlled by the seller of the service to transfer a quantity of data, and may involve single seller, where the transfer of data to the seller may take place in a single shot.
In yet another embodiment, the method, system and computer program product for buying and selling service to transfer a quantity of data includes transferring the data to be transferred by the buyer to the seller, and where the timing and process of actual data transfer is controlled by the seller of the service to transfer a quantity of data, and may involve single seller, where the transfer of data to the seller may take place in multiple segments.
In yet another embodiment, the method, system and computer program product for buying and selling service to transfer a quantity of data using cellular network includes transferring the data to be transferred by the buyer to the one or more sellers of the data transfer capacity via exchange, where the timing is controlled by the seller of the service but the process of actual data transfer is controlled by the buyer, for transferring a quantity of data, and may involve one or more sellers of service for a data quantity transfer, where the transfer of data to each of the one or more sellers may take place in a single shot.
The SIM card on the receiving device has to be configured to receive data from the cellular service profile of the particular seller of the data transfer capacity. For example, if the SIM is configured to receive data using a cellular service provider, and if the seller will use a different cellular service provider, the SIM has to be configured to receive data using the cellular service provider of the seller.
If necessary, the SIM on the receiving device needs to be reconfigured to receive data over the cellular service of the seller. And reconfigure the device back to the original cellular network used by the buyer. The exchange will provide this service, based on the cellular service used by the buyer and by the one or more sellers used for the transfer of data. This reconfiguration can be performed by the exchange, buyer or seller as appropriate.
In an embodiment, buying and selling service to transfer a quantity of data includes may also include allowing real-time pricing.
To describe the features of a system and method in accordance with the present invention in more detail, refer now to the following description in conjunction with the accompanying figures.
A buyer 108 initiates a capacity discovery request, for example, for any of quantity of voice minutes, messages and data required and the maximum price the buyer 108 is willing to pay, via step 114. The buyer 108 also specifies its service profile identifiers for the service profile that would use the purchased capacity. In an embodiment, the lowest priced offer that matches the requirements of the buyer 108 is determined. If a matching offer is determined, exchange 106 notifies the buyer 108 of the matching offer by sending a capacity discovery response to the buyer 108, via step 118. The buyer 108 accepts the offer by sending a capacity bid request, via step 120 to the exchange 106, which then sends a service transfer request, via step 122 to HLR 104. The HLR 104 then sends a service transfer confirmation, via step 124 to the exchange 106 which in turn sends a capacity purchase confirmation to the buyer 108, via step 126. The offer is taken off the market after expiration of the offer or sooner if quantities in the offer have been matched with at least one buyer 108.
In an embodiment, the purchased service quantity will be deducted from the service profile of the seller 102, and that the purchased service quantity will be added to the service profile of the buyer 108. The purchased service quantity is associated with duration of time for which it is available for use. At the end of the duration of the purchased service quantity, the HLR 104 removes the unused portion of the purchased service quantity from the service profile of the buyer 108, without any further change to the service profile of the seller 102.
First, a seller 102 initiates an offer to sell a quantity of service available for use during a specified period of time, within a specified geographic location for a specified price, a capacity offer, in HLR 104 via step 110, as shown in
The exchange then retrieves all capacity offers from the database via step 304 and through a method checks if the capacity bid request matches any capacity offers via step 306. Each capacity offer that does not match the capacity bid request in one or more parameters is rejected via step 308. If a capacity offer matches the capacity bid request, it then deducts the requested capacity from the offer and stores the modified offer into the database via step 310. The exchange then sends a service modification request to the home location register (HLR) via step 312.
The request may include seller and buyer's service profile identifiers and other information about the offer and bid, such as service type and quantity and the time period during which the purchased capacity is valid. The HLR then deducts the quantity of requested service from the seller's service profile via step 314; and adds the quantity of requested service to the buyer's service profile, and records the starting time and duration of the period during which the requested service is valid via step 316. HLR then sends service modification confirmation message to the exchange via step 318, which in turn sends the buyer a capacity bid confirmation message via step 320.
Selection Algorithm:
Select offers that match the condition below:
EndingTimeDiscovery>StartingTimeoffer>StartingTimeDiscovery
The exchange then publishes matching offers in the capacity discovery response, via step 406. An example of a publishing algorithm is shown below.
Selection Algorithm:
Select offers that match both conditions below:
EndingTimeDiscovery>=StartingTimeOffer>=StartingTimeDiscovery (1)
Distance between OfferLocation and DiscoveryLocation<=DistanceDiscovery (2)
However, if the offer does not include a location, or a discovery request does not specify a location or distance, the second condition in the algorithm as shown will always be true.
The exchange then publishes matching offers in the capacity discovery response, via step 416. An example of a publishing algorithm for location along with duration of time of service is shown below.
Offer Publishing Algorithm:
Selection Algorithm:
Select offers that match both conditions below:
EndingTimeDiscovery>=StartingTimeOffer>=StartingTimeDiscovery (1)
Distance between OfferLocation and DiscoveryLocation<=DistanceDiscovery (2)
QoSOffer is equal to QoSDiscovery (3)
However, if the offer does not include a location, or a discovery request does not specify a location or distance, the second condition in the algorithm as shown will always be true. Similarly, if the offer does not include QoS, or a discovery request does not specify QoS, the third condition in the algorithm as shown will always be true.
The exchange then publishes matching offers in the capacity discovery response, via step 426. An example of a publishing algorithm for QoS along with duration of time and location of service is shown below.
Offer Publishing Algorithm:
It may be desirable for the seller to change the capacity offer parameters of the offer or the portion of the offer before the purchase of the service quantity by the buyer.
The exchange then uses an item ID included in the request to retrieve the offer from the database, via step 632. The exchange then cancels the offer via step 634, and replaces the content of the offer with the new offer from the request via step 636. Exchange then checks for the change in starting time via step 638. If the starting time has changed the exchange updates starting time index in the database via step 640. The Exchange also checks for the change in location via step 642. If the location has changed the exchange updates location index in the database via step 644. Exchange then updates the offer via step 646 using the item ID in the database and restarts the offer time, step 648.
It may be desirable for a seller or a buyer to know historical data related to price based on parameters such as quantity, duration, location and quality of service before initiating either a capacity offer or a capacity request. A seller may also desire to request such history before initiating a request for change.
History Report Algorithm:
In one or more embodiments, the method, system and computer program product for buying and selling service to transfer a quantity of data using cellular network are disclosed as illustrated in
For example, a digital billboard may display the same data for a specified duration, after which it will get refreshed. The billboard company may choose to leverage someone else's data plan that has excess data to sell or a service to transfer data to sell. The billboard company may have a set date and time when it expects to refresh its data and may automatically send a request to buy the service for transferring data to replace its content.
In another example, a 3rd-party company may decide to lease some time on the billboard to display their content. The purchase may then be initiated as illustrated in the figures, by a user or by a computer system. The billboard company then knows that on a certain date/time, it needs to replace its content with data from the 3rd-party company. Thus, the billboard company has a set date and time when it expects to refresh its data and may automatically send a request to buy the service for transferring data to replace its content.
In yet another example, Customer A is collecting water meter samples from a vineyard. The amount of data need is small. Customer B has purchased large amounts of data in their monthly recurring charges, and it is not using all of it. If Customer A needs a small amount of data, instead of buying it from a service provider, which may not provide data plans or better rate plans for small amount of data, Customer A may buy it from Customer B, where Customer B provides a service to transfer data for Customer A.
Although, the examples above are used to explain the parameter “amount of data to be transferred”, they may also include parameters such as but not limited to prioritizing data transfer, better rate for data transfer if the seller has excess capacity and wants to offer service at a discounted rate, better rate for data transfer at a particular location and/or time etc. as described in detail in the description accompanying
The sell-purchase of a service to transfer data may be initiated by a user or by a computerized system automatically and may be based on pre-defined criteria.
Although the examples above are provided to give an idea as to how the invention may be used, a person skilled in the art may readily recognize that examples other those described above are also possible and are within the spirit and scope of the invention.
The offer to provide service to ‘transfer a quantity of data using cellular network’ provided by the seller may include parameters such as but not limited to type, e.g., data; peak/off-peak quantity, e.g., 50/50 (in MB); service ID, e.g., 555-123456789012; duration, e.g., 7 days; starting time, e.g., YYYY-MM-DD-HH; offer price, e.g., peak/off-peak $0.20/$0.1 per MB, etc. In addition, in an embodiment, the seller 802 may be allowed to change the offer parameters, for example, more/less data, time of transfer, duration of offer etc. after it is submitted. Exchange 806 stores the request via step 812 and may send the offer creation response to the seller 802 via step 814 and may publish all offers over a specified time period, for example, 24 hours, via step 816. The publishing of an offer may mean responding to the buyer's request when the offer is matched with the buyer's request as illustrated by step 822 below or storing and publishing offer before receiving and/or matching with buyer's request as illustrated by step 812. In an embodiment, a buyer's request may include a request generated by a user or generated by a computer system that is looking to transfer data.
A buyer 808 may independently (proactively) or based on the published offer initiate a discovery request for purchasing ‘service to transfer a quantity of data using cellular network’, for example, for any of quantity of data required and the maximum price the buyer 808 is willing to pay, via step 816. The buyer 808 may also specify parameters such as but not limited to type, e.g., data; starting time, e.g., YYYY-MM-DD-HH; duration; quantity, e.g., 40 MB etc.
In an embodiment, the lowest priced offer that matches the requirements of the buyer 808 is determined via step 822 and the exchange 806 notifies the buyer 808 of the matching offer by sending a discovery response to the buyer 808, also known as publishing the matched offer, via step 824 including the details such as but not limited to type, e.g., data; offers, e.g., hour: HH1, item ID: 12345abcde, price: $0.10 per KB; hour: HH2, item ID: 987654321, price: $0.20 per KB etc.
The buyer 808 may then accept the offer by sending a bid request to purchase service to ‘transfer a quantity of data using cellular network’, including parameters such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; price, e.g., $0.10; service ID, e.g., 999-098765432112; starting time, e.g., YYYY-MM-DD-HH; duration, e.g., 7 days etc. via step 826 to the exchange 806, which then sends a confirmation request to the seller 802 via step 828. Once the confirmation is received by the exchange 804, via step 830, it sends a purchase confirmation for service to transfer a quantity of data to the buyer 808 including details of the purchase such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; price, e.g., $0.10; service ID, e.g., 999-098765432112; starting time, e.g., YYYY-MM-DD-HH; duration, e.g., 7 days etc., via step 832. The offer is taken off the market after expiration of the offer or sooner if the entire quantities in the offer have been matched with at least one buyer 808 or one or more buyers.
Additionally or alternatively, the buyer may approach the exchange and inform that it needs more capacity and/or parameters other than the ones described in the available offers, or that if there is no offer available at the exchange, the exchange may then contact one or more sellers and proceed with steps 818 and 820 as shown in
Additionally or alternatively, the offer may be broadcast to one or more buyers via step 815, and the buyer may respond via step 816 as illustrated in
In any of the embodiments described throughout the specification, a buyer and/or a seller may be proactive or reactive, for example, the buyer or the seller may initiate a request for services or an offer to provide services. Further, a buyer and/or a seller may be defined as an entity including a human or a computerized system. Similarly, the exchange may be computerized platform to carry out the steps described throughout the specification.
Alternatively, in an embodiment, instead of seller initiating an offer to provide service to ‘transfer a quantity of data using cellular network’, a buyer may initiate an offer to purchase ‘service to transfer a quantity of data using cellular network’ also referred to herein as ‘a request’ for ‘service to transfer a quantity of data using cellular network’ to check availability of such service as illustrated in
In addition, in an embodiment, the buyer 808 may be allowed to change the offer parameters, for example, more/less data, time of transfer, duration of offer etc. after it is submitted. Exchange 806 stores the request via step 812′ and may send the offer creation response to the buyer 808 via step 814′ and may publish all offers over a specified time period, for example, 24 hours, via step 815′. The seller may initiate a discovery request for service to transfer a quantity of data using cellular network via step 816′. The publishing of an offer may mean responding to the seller's request when the offer is matched with the seller's request as illustrated by step 822′ below or storing and publishing offer before receiving and/or matching with seller's request as illustrated by step 812′.
In an embodiment, a seller's offer and/or a buyer's request may include a request generated by a user or generated by a computer system. Similarly, in an embodiment, a buyer's offer for requesting service to transfer data and/or a seller's request to provide service to transfer data may include an offer and/or a request generated by a user or generated by a computer system.
A seller 802 may initiate a discovery request for selling ‘service to transfer a quantity of data using cellular network’, for example, for any of quantity of data required and the maximum price the seller 802 is willing to accept, via step 816′. The seller 802 may also specify parameters such as but not limited to type, e.g., data; starting time, e.g., YYYY-MM-DD-HH; duration; quantity, e.g., 40 MB etc.
Additionally or alternatively, in an embodiment, the seller may approach the exchange and inform it that there may be lesser capacity and/or different parameters other than the ones described in the available request 815′ from the buyer, the exchange may then contact one or more buyers via steps 818′ and the buyer 808 may respond via step 820′ as shown in
In an embodiment, the buyer's request for service may be divided into more than one segments based on availability of data transfer services by the seller/s and may be purchased from one or more sellers based on availability.
In an embodiment, the lowest priced offer that matches the requirements of the seller 802 is determined via step 822′ and the exchange 806 notifies the seller 802 of the matching offer by sending a discovery response to the seller 802, also known as publishing the matched offer, via step 824′ including the details such as but not limited to type, e.g., data; offers, e.g., hour: HH1, item ID: 12345abcde, price: $0.10 per KB; hour: HH2, item ID: 987654321, price: $0.20 per KB etc.
The seller 802 may then accept the offer by sending a bid request to purchase service to ‘transfer a quantity of data using cellular network’, including parameters such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; price, e.g., $0.10; service ID, e.g., 999-098765432112; starting time, e.g., YYYY-MM-DD-HH; duration, e.g., 7 days etc. via step 826′ to the exchange 806, which then sends a confirmation request to the buyer 808 via step 828′. Once the confirmation is received by the exchange 804, via step 830′, it sends a purchase confirmation for service to transfer a quantity of data to the seller 802 including details of the purchase such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; price, e.g., $0.10; service ID, e.g., 999-098765432112; starting time, e.g., YYYY-MM-DD-HH; duration, e.g., 7 days etc., via step 832′. The offer is taken off the market after expiration of the offer or sooner if the entire quantities in the offer have been matched with at least one seller 802 or one or more sellers. Once the purchase is completed, the actual process of transferring the data continues as follows.
In an embodiment, the seller 802 may send a request to send the data to be transferred including the purchase details of the service to transfer a quantity of data such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; data quantity, e.g., 10 MB; service ID, e.g., 999-098765432112 etc.to the exchange 806 via step 834, which is then forwarded to the buyer 808 via step 836. The amount of data specified in the purchase contract is then transferred from the buyer 808 to the exchange 806 via step 838 and is forwarded to the seller 802 via step 840.
As illustrated in the above example, the data to be transferred may be divided into in multiple segments and may involve multiple sellers, each with same or different quantity of data transfer service available to transfer the data. Steps 834 to 840 are repeated until the entire quantity of data to be transferred is transferred to the one or more sellers involved in the transfer. For example, when some portion of the total data to be transferred is transferred to the seller, remaining data, for example, as shown 10 MB of data is transferred and 30 MB data is remaining, until total quantity of data is transferred. As the remaining data may be transferred in one or more segments, each request will include the amount of data to be transferred along with details of the purchase agreement, for example, type, e.g., data; item ID, e.g., 12345abcde; data quantity, e.g., 30 MB; service ID, e.g., 999-098765432112 etc.
The steps 840 and 848 may be feasible when the seller owns/manages connectivity infrastructure (e.g., MNO/MVNOs). For individual sellers who don't own the connectivity infrastructure, sellers (e.g., MNO/MVNO subscribers), the exchange may store the data to be transferred and then transmit/transfer the data using its local infrastructure on behalf of the seller using for example, seller's data transfer capacity and deducting it from the seller's account.
Once the entire quantity of data to be transferred is transferred, total data transfer confirmation is sent to the exchange 806 with details of the transfer including but not limited to type, e.g., data; item ID, e.g., 12345abcde; data quantity, e.g., 40 MB; service ID, e.g., 999-098765432112; starting time, e.g., YYYY-MM-DD-HH; ending time, e.g., YYYY-MM-DD-HH etc. via step 850. The exchange 806 then adjusts the seller's available quantity of data transfer service in exchange store via step 852 and sends total data transfer confirmation to the buyer 808 via step 854.
The exchange 806 may then generate and send bill to the buyer for the pre-agreed price with details such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; data quantity, e.g., 40 MB; service ID, e.g., 999-098765432112; and bill amount etc. via step 856. The buyer and seller may complete the transaction including payment via exchange as illustrated by steps 860-866.
A buyer 908 may independently (proactively) or based on the published offer initiate a discovery request for purchasing service to ‘transfer a quantity of data using cellular network’, for example, for any of quantity of data required and the maximum price the buyer 908 is willing to pay, via step 916. The buyer 908 may also specify parameters such as but not limited to type, e.g., data; starting time, e.g., YYYY-MM-DD-HH; duration; quantity, e.g., 40 MB etc.
In an embodiment, the lowest priced offer that matches the requirements of the buyer 908 is determined via step 922 and the exchange 906 notifies the buyer 908 of the matching offer by sending a discovery response to the buyer 908, also known as publishing the matched offer, via step 924 including the details such as but not limited to type, e.g., data; offers, e.g., hour: HH1, item ID: 12345abcde, price: $0.10 per KB; hour: HH2, item ID: 987654321, price: $0.20 per KB etc.
The buyer 908 may then accept the offer by sending a bid request to purchase service to ‘transfer a quantity of data using cellular network’, including parameters such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; price, e.g., $0.10; service ID, e.g., 999-098765432112; starting time, e.g., YYYY-MM-DD-HH; duration, e.g., 7 days etc. via step 926 to the exchange 906, which then sends a confirmation request to the seller 902 via step 928. Once the confirmation is received by the exchange 904, via step 930, it sends a purchase confirmation for service to transfer a quantity of data to the buyer 908 including details of the purchase such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; price, e.g., $0.10; service ID, e.g., 999-098765432112; starting time, e.g., YYYY-MM-DD-HH; duration, e.g., 7 days etc., via step 932. The offer is taken off the market after expiration of the offer or sooner if the entire quantities in the offer have been matched with at least one buyer 908 or one or more buyers.
Additionally or alternatively, the buyer may approach the exchange and inform it that it needs more capacity and/or parameters other than the ones described in the available offers, or that there is no offer available at the exchange, the exchange may then contact one or more sellers and proceed with steps 918 and 920 as shown in
Additionally or alternatively, the offer may be broadcast to one or more buyers via step 915, and the buyer may respond via step 916 as illustrated in
In any of the embodiments described throughout the specification, a buyer and/or a seller may be proactive or reactive, for example, the buyer or the seller may initiate a request for services or an offer to provide services. Further, a buyer and/or a seller may be defined as an entity including a human or a computerized system. Similarly, the exchange may be computerized platform to carry out the steps described throughout the specification.
Alternatively, in an embodiment, instead of seller initiating an offer to provide service to ‘transfer a quantity of data using cellular network’, a buyer may initiate an offer to purchase ‘service to transfer a quantity of data using cellular network’ also referred to herein as ‘a request’ for ‘service to transfer a quantity of data using cellular network’ to check availability of such service as illustrated in
In addition, in an embodiment, the buyer 808 may be allowed to change the offer parameters, for example, more/less data, time of transfer, duration of offer etc. after it is submitted. Exchange 906 stores the request via step 912′ and may send the offer creation response to the buyer 908 via step 914′ and may publish all offers over a specified time period, for example, 24 hours, via step 916′. The publishing of an offer may mean responding to the seller's request when the offer is matched with the seller's request as illustrated by step 922′ below or storing and publishing offer before receiving and/or matching with seller's request as illustrated by step 912′.
In an embodiment, a seller's offer and/or a buyer's request may include a request generated by a user or generated by a computer system. Similarly, in an embodiment, a buyer's offer for requesting service to transfer data and/or a seller's request to provide service to transfer data may include an offer and/or a request generated by a user or generated by a computer system.
A seller 902 may initiate a discovery request for selling ‘service to transfer a quantity of data using cellular network’, for example, for any of quantity of data required and the maximum price the seller 902 is willing to accept, via step 916′. The seller 902 may also specify parameters such as but not limited to type, e.g., data; starting time, e.g., YYYY-MM-DD-HH; duration; quantity, e.g., 40 MB etc.
Additionally or alternatively, in an embodiment, the seller may approach the exchange and inform it that there may be lesser capacity and/or different parameters other than the ones described in the available request 915′ from the buyer, the exchange may then contact one or more buyers via steps 918′ and the buyer 808 may respond via step 920′ as shown in
In an embodiment, the buyer's request for service may be divided into more than one segments based on availability of data transfer services by the seller/s and may be purchased from one or more sellers based on availability.
In an embodiment, the lowest priced offer that matches the requirements of the seller 902 is determined via step 922′ and the exchange 906 notifies the seller 902 of the matching offer by sending a discovery response to the seller 902, also known as publishing the matched offer, via step 924′ including the details such as but not limited to type, e.g., data; offers, e.g., hour: HH1, item ID: 12345abcde, price: $0.10 per KB; hour: HH2, item ID: 987654321, price: $0.20 per KB etc.
The seller 902 may then accept the offer by sending a bid request to purchase service to ‘transfer a quantity of data using cellular network’, including parameters such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; price, e.g., $0.10; service ID, e.g., 999-098765432112; starting time, e.g., YYYY-MM-DD-HH; duration, e.g., 7 days etc. via step 926′ to the exchange 806, which then sends a confirmation request to the buyer 908 via step 928′. Once the confirmation is received by the exchange 904, via step 930′, it sends a purchase confirmation for service to transfer a quantity of data to the seller 902 including details of the purchase such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; price, e.g., $0.10; service ID, e.g., 999-098765432112; starting time, e.g., YYYY-MM-DD-HH; duration, e.g., 7 days etc., via step 932′. The offer is taken off the market after expiration of the offer or sooner if the entire quantities in the offer have been matched with at least one seller 902 or one or more sellers. Once the purchase is completed, the actual process of transferring the data continues as follows.
In an embodiment, the seller 902 may send a request to send the entire quantity of data to be transferred including the purchase details of the service to transfer a quantity of data such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; data quantity, e.g., 40 MB; service ID, e.g., 999-098765432112 etc.to the exchange 906 via step 934, which is then forwarded to the buyer 908 via step 936. The entire quantity of data specified in the purchase contract is then transferred from the buyer 908 to the exchange 906 via step 938 and is forwarded to the seller 902 via step 940. This step may be feasible when the seller of the service owns/manages connectivity infrastructure (e.g., MNO/MVNOs). For individual sellers who don't own the connectivity infrastructure, sellers (e.g., MNO/MVNO subscribers), the exchange may store the data to be transferred and then transmit/transfer the data using its local infrastructure on behalf of the seller using for example, seller's data transfer capacity and deducting it from the seller's account.
Once the entire quantity of data to be transferred is transferred, total data transfer confirmation is sent to the exchange 906 with details of the transfer including but not limited to type, e.g., data; item ID, e.g., 12345abcde; data quantity, e.g., 40 MB; service ID, e.g. 999-098765432112; starting time, e.g., YYYY-MM-DD-HH; ending time, e.g., YYYY-MM-DD-HH etc. via step 950. The exchange 906 then adjusts the seller's available quantity of data transfer service in exchange store via step 952 and sends total data transfer confirmation to the buyer 908 via step 954.
The exchange 906 may then generate and send bill to the buyer for the pre-agreed price with details such as but not limited to type, e.g., data; item ID, e.g., 12345abcde; data quantity, e.g., 40 MB; service ID, e.g., 999-098765432112; and bill amount etc. via step 956. The buyer and seller may complete the transaction including payment via exchange as illustrated by steps 960-966.
Creation of an offer starts when an exchange receives a data transfer offer creation request to create a new offer initiated by a seller via step 1002 as illustrated in
The exchange may start a timer with the duration specified on the offer via step 1008 as illustrated in
Processing of data transfer discovery requests and data transfer offers begins by matching and publishing offers via step 822 and/or step 922 as shown in
The exchange then retrieves all data transfer offers from the database via step 1104 and through a method checks if the data transfer bid request matches any data transfer offers via step 1106, for example, if the offer matches the requested period and data transfer quantity in the bid request, etc. Each data transfer offer that does not match the data transfer bid request in one or more parameters is rejected via step 1108. If a data transfer offer matches the data transfer bid request, it then deducts the requested quantity of data transfer from the offer and stores the modified offer into the database via step 1110. The exchange then sends a service modification request to the local register of the exchange via step 1112.
The request may include seller and buyer's service profile identifiers and other information about the offer and bid, such as service type and quantity and the time period during which the purchased data transfer service is valid. The exchange register then adds the quantity of requested data transfer service to the buyer's service profile, and records the starting time, quantity, and duration of the addition via step 1116. The exchange register then sends service modification confirmation message to the exchange via step 1118, which in turn sends the buyer a data transfer bid confirmation message via step 1120.
a-c are flow diagrams illustrating exemplary methods of matching and publishing an offer to transfer a quantity of data using cellular network in response to a discovery request to transfer a quantity of data using cellular network initiated by a buyer according to one or more embodiments of the invention. Processing of data transfer discovery requests and data transfer offers begins by matching and publishing capacity offers via step 822 or step 922 as shown in
Although the following description uses an offer to sell ‘service to transfer a quantity of data using cellular network’, a person skilled in the art may easily understand that the process flow illustrated in
The exchange then retrieves all data transfer offers from the database and using a selection algorithm checks if the capacity bid request matches any data transfer offers via step 1204/1214/1224 as illustrated in
For example, once an exchange receives a capacity discovery request initiated by a buyer step 1202, it retrieves offers from the database using a selection algorithm which matches the requested parameters, such as period during which the offered service is valid for use, via step 1204. An example of a selection algorithm is shown below.
Selection Algorithm:
Select offers that match the condition below:
EndingTimeDiscovery>StartingTimeOffer>StartingTimeDiscovery
The exchange then publishes matching offers in the capacity discovery response, via step 1206. An example of a publishing algorithm is shown below.
Selection Algorithm:
Select offers that match both conditions below:
EndingTimeDiscovery>=StartingTimeOffer>=StartingTimeDiscovery (1)
Distance between OfferLocation and DiscoveryLocation<=DistanceDiscovery (2)
However, if the offer does not include a location, or a discovery request does not specify a location or distance, the second condition in the algorithm as shown will always be true.
The exchange then publishes matching offers in the capacity discovery response, via step 1216. An example of a publishing algorithm for location along with duration of time of service is shown below.
Offer Publishing Algorithm:
Selection Algorithm:
Select offers that match both conditions below:
EndingTimeDiscovery>=StartingTimeOffer>=StartingTimeDiscovery (1)
Distance between OfferLocation and DiscoveryLocation<=DistanceDiscovery (2)
QoSOffer is equal to QoSDiscovery (3)
However, if the offer does not include a location, or a discovery request does not specify a location or distance, the second condition in the algorithm as shown will always be true. Similarly, if the offer does not include QoS, or a discovery request does not specify QoS, the third condition in the algorithm as shown will always be true.
The exchange then publishes matching offers in the capacity discovery response, via step 1226. An example of a publishing algorithm for QoS along with duration of time and location of service is shown below.
Offer Publishing Algorithm:
For example, the exchange receives a data transfer offer change request to change an existing offer via step 1410. The exchange uses the item ID included in the request for retrieve the offer from the database via step 1412. The exchange cancels the offer time via step 1414. The exchange replaces the content of the offer with the new offer from the request via step 1416. The exchange updates the offer using the item ID in the database via step 1418. The exchange restarts the offer time and loads the byte counter with data transfer quantity via step 1420.
History Report Algorithm:
Further, a buyer 1608 and/or a seller 1602 may be defined as an entity including a human or a computerized system. Similarly, the exchange 1606 may be defined as a computerized platform to carry out the steps described throughout the specification and include at least one storage database and at least one server including a processor and a memory.
The platform or exchange 1606 described throughout the specification may be located at a physical location or may be located in cloud.
Memory elements 1704a-b can include local memory employed during actual execution of the program code, bulk storage, and cache memories that provide temporary storage of at least some program code in order to reduce the number of times the code must be retrieved from bulk storage during execution. As shown, input/output or I/O devices 1708a-b (including, but not limited to, keyboards, displays, pointing devices, etc.) are coupled to the data processing system 1700. I/O devices 1708a-b may be coupled to the data processing system 1700 directly or indirectly through intervening I/O controllers (not shown).
In
Embodiments described herein can take the form of an entirely hardware implementation, an entirely software implementation, or an implementation containing both hardware and software elements. Embodiments may be implemented in software, which includes, but is not limited to, application software, firmware, resident software, microcode, etc.
The steps described herein may be implemented using any suitable controller or processor, and software application, which may be stored on any suitable storage location or computer-readable medium. The software application provides instructions that enable the processor to cause the receiver to perform the functions described herein.
Furthermore, embodiments may take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The medium may be an electronic, magnetic, optical, electromagnetic, infrared, semiconductor system (or apparatus or device), or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and an optical disk. Current examples of optical disks include DVD, compact disk-read-only memory (CD-ROM), and compact disk-read/write (CD-R/W). To describe the features of the present disclosure in more detail refer now to the following description in conjunction with the accompanying Figures.
Any theory, mechanism of operation, proof, or finding stated herein is meant to further enhance understanding of the present invention and is not intended to make the present invention in any way dependent upon such theory, mechanism of operation, proof, or finding. It should be understood that while the use of the word preferable, preferably or preferred in the description above indicates that the feature so described may be more desirable, it nonetheless may not be necessary and embodiments lacking the same may be contemplated as within the scope of the invention, that scope being defined by the claims that follow.
Similarly, it is envisioned by the present invention that the term communications network includes communications across a network (such as that of a M2M but not limited thereto) using one or more communication architectures, methods, and networks, including but not limited to: Code division multiple access (CDMA), Global System for Mobile Communications (GSM) (“GSM” is a trademark of the GSM Association), Universal Mobile Telecommunications System (UMTS), Long Term Evolution (LTE), 4G LTE, 5G LTE, wireless local area network (WIFI), and one or more wired networks.
A system and method in accordance with the present invention utilizes an exchange market operated by cellular service providers or other authorized party. The system and method allow subscribers who have excess plan voice minutes, messages and bytes of data etc. to sell such excess to the subscribers who need them without either the seller or buyer having to change their service contracts, thereby preventing loss of resources both by users who spend money for unused capacity and by users who must pay for overage at high rates. Payment settlement between the seller and buyer can be performed via a mechanism chosen and implemented by the exchange.
A system and method in accordance with the present invention further utilizes an exchange market operated by cellular service providers or other authorized party. The system and method allow subscribers who have excess bytes of data to sell such excess as data transfer service to the subscribers who need them without either the seller or buyer having to change their service contracts, thereby preventing loss of resources both by users who spend money for unused capacity and by users who must pay for overage at high rates. Payment settlement between the seller and buyer can be performed via a mechanism chosen and implemented by the exchange.
A system method and computer program product in accordance with the present invention further utilizes an exchange market operated by cellular service providers or other authorized party. The system and method allow subscribers who have excess data transfer capacity to sell services to transfer data to the subscribers who need them without either the seller or buyer having to change their service contracts, thereby preventing loss of resources both by users who spend money for unused capacity and by users who must pay for overage at high rates. Payment settlement between the seller and buyer can be performed via a mechanism chosen and implemented by the exchange.
Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims. Many other embodiments of the present invention are also envisioned.
This application is a Continuation-In-Part of U.S. application Ser. No. 17/090,190, filed Nov. 5, 2020, which is a Continuation of U.S. application Ser. No. 16/003,136, filed Jun. 8, 2018, which is a Continuation of U.S. application Ser. No. 14/207,209, filed Mar. 12, 2014, which claims the benefit of priority to U.S. Provisional Application Ser. No. 61/780,211, filed on Mar. 13, 2013, all of which are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61780211 | Mar 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16003136 | Jun 2018 | US |
Child | 17090190 | US | |
Parent | 14207209 | Mar 2014 | US |
Child | 16003136 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17090190 | Nov 2020 | US |
Child | 17939249 | US |