Online marketplaces have emerged as a means to connect buyers and sellers. Internet web sites, intranet bulletin boards, and other such marketplaces enable sellers to offer products for sale while inviting buyers to browse and purchase the products. Purchased products are delivered to the buyers physically (e.g., shipped) or electronically (e.g., downloaded) depending on the type of purchased product. Because of the available delivery options, with existing systems, the location of the seller or the products is largely irrelevant, and often unknown, to the buyer. Accordingly, the existing systems are product-focused. For example, most web site retailers organize the products for sale by the category or type of the products, rather than the locations of the products. While some existing systems may organize some of the products based on country of origin, such existing systems are narrowly tailored to the particular products being offered. Further, the buyers are limited to selecting from the products made available for sale by the sellers.
Embodiments of the disclosure broker locations for task performance. Location information is maintained for a plurality of sellers. The location information identifies locations corresponding to the plurality of sellers. Tasks to be performed by the sellers are stored in a memory area. The tasks are received from one or more buyers. The stored tasks are assigned to one or more of the sellers based at least on the location information. The sellers perform the assigned tasks to produce output. The performance of the assigned tasks by the sellers at the locations corresponding thereto is verified. Responsive to the verification, the produced output is provided to the buyers.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Corresponding reference characters indicate corresponding parts throughout the drawings.
Referring to the figures, embodiments of the disclosure enable, at least, the brokering of locations for performing tasks 310 or jobs. In some embodiments, a real-time location brokering system 106 maintains locations of sellers 104. Location-specific tasks 310 received by the brokering system 106 are provided to the sellers 104 based on the locations of the sellers 104. The location-specific tasks 310 are defined by one or more buyers 102. The brokering system 106 verifies performance of the tasks 310, and arranges the transfer of compensation (e.g., monetary or non-monetary) between the buyers 102 and sellers 104.
In some embodiments, the brokering system 106 is hidden from the end user via one or more application programs built on top of the brokering system 106. For example, users 202 interact with the application program, which interacts with the brokering system 106 to manage performance of the desired tasks 310. For example, such an application program enables the users 202 to receive a live video feed from anywhere in the world. The application program presents a map user interface to the user 202. The user 202 requests a live video feed from anywhere by specifying a location on the map user interface. The application program uses the underlying location-based brokering system 106 to request sellers 104 in that location (or vicinity) to capture a live video feed. The captured live video feed is returned to the user 202 through the application program. In some embodiments, the entire brokering process is completely hidden from the user 202.
Embodiments of the disclosure enable buyers 102 to have tasks 310 performed by sellers 104 in particular locations. For example, the brokering system 106 enables video or image capture at a particular physical location, the identification of a ride-sharing partner at a particular physical location, obtaining an autograph from a celebrity at a concert, the purchase of event tickets from a ticket vendor at a particular physical location, and more. Furthermore, embodiments of the disclosure enable location-based applications to be built on top of the location-based brokering system 106.
Referring again to
In some embodiments, the buyers 102 and sellers 104 communicate with the location-based brokering system 106 via one or more networks (not shown). For example, the network includes any wired or wireless network including, but not limited to, the Internet, cellular networks, and BLUETOOTH brand wireless networks.
The location-based brokering system 106 is implemented by one or more computing devices arranged to provide the functionality described herein. For example, the brokering system 106 may be implemented by multiple server machines. In some embodiments, the location-based brokering system 106 is implemented as a cloud service.
Referring next to
In
The buyer 102 (e.g., application program) receives at least one task 310 from at least one of the users 202. The task 310 may be a free-form task defined by the user 202, or may be one of a plurality of pre-defined tasks the brokering system 106 is capable of handling. The brokering system 106 may be programmed with the pre-defined tasks, or may create and update the pre-defined tasks based on previous task requests. The received task 310 is associated with a particular location. In some embodiments, the particular location represents the location at which the task 310 is to be performed. In the example of
In some embodiments, the brokering system 106 filters the tasks 310 or identified sellers 104 to refine the eligible sellers 104. For example, the task 310 may identify one of a plurality of pre-defined task categories, and the sellers 104 may specify which task categories are of interest. Example categories include video services, photo services, audio services, ride sharing, event advertising, searching for lost items, etc. The brokering system 106 filters the identified sellers 104 based on the identified task category to refine the set of eligible sellers 104. The sellers 104 may specify which task categories are of interest by, for example, advertising their availability or services to the brokering system 106. For example, one of the sellers 104 advertises availability for a task in Seattle on weekdays, or advertises a future location or event attendance (e.g., the seller 104 will be in the front row at an upcoming rock concert). In these examples, the transactions begin with the seller 104 rather than the buyer 102.
The brokering system 106 selects at least one of the sellers 104 from the identified or otherwise eligible sellers 104. Depending on the task 310, a plurality of the sellers 104 may be selected to complete the task 310. If none of the sellers 104 meets the criteria of the buyer 102 for completing the task 310, the task 310 is queued by the system 106 until a suitable seller 104 is available. In some embodiments, the selected seller 104 is referred to as the “winning seller.” Various means for selecting the winning seller are contemplated. For example, the brokering system 106 may include an auction system, a lottery system, a randomized selection system, a preferred selection system, or any other method for selecting the winning seller. In the example of
The winning seller completes at least a portion of the task 310 and notifies the brokering system 106 of the completion. For example, the winning seller may notify the brokering system 106 of task acceptance, task initiation, and/or task completion. In some embodiments, the task 310 has multiple portions that may be performed concurrently or in sequence. In such embodiments, the brokering system 106 selects multiple winning sellers who each complete the respective portions and notify the brokering system 106.
The brokering system 106 receives the notification from the winning seller and verifies task completion or progression (e.g., depending on the notification received). For example, the verification performed by the brokering system 106 may include confirming that the task 310 has been fully completed, partially completed, or merely initiated. Additionally, the verification may include confirming that the winning seller is located at the location associated with the task 310 (e.g., using global positioning system receipts). The notification sent by the winning seller and the corresponding verification performed by the brokering system 106 is dependent on the task 310 being performed, the buyer 102 (e.g., application program), and/or other criteria.
After verification, the brokering system 106 arranges the transfer of compensation from the buyer 102 to the winning seller. For example, the brokering system 106 may transfer a payment amount from the buyer 102 to the winning seller, pay the winning seller and then charge or debit the buyer 102, connect the buyer 102 with the winning seller to complete payment independent from the brokering system 106, or otherwise facilitate payment to the winning seller. In some embodiments, the brokering system 106 maintains an account associated with the winning seller and credits the account with the payment amount. In other embodiments, the payment is non-monetary (e.g., a good, service, or other non-monetary compensation). In an example in which the buyer 102 sends the winning seller a camera to use broadcast video to the buyer 102, the winning seller gets to keep the camera as the compensation. In another example, the winning seller receives a coupon or discount from the buyer 102 as compensation if the winning seller agrees to location-targeted advertising. In still another example, the compensation includes a trade or exchange, such as the buyer 102 trading the winning seller a week at an apartment in New York for a week at an apartment in London.
In an example based on
In the streaming video data example, one of the users 202 interacts with the application program to select a geographic region on a map displayed in a user interface. Alternatively, the user 202 identifies a landmark, city, state, zip code, address, or other criteria for selecting the geographic region. The buyer 102 (e.g., application program) receives the selection of the geographic region via the user interface. The buyer 102 forms a task request including one or more of the following: the selected geographic area in which to obtain the video data, an identity associated with the requesting user 202, a maximum price for obtaining the video data of the selected geographic region, a time value representing a time to capture the video data, and a duration for capturing the video data. For example, the task request is a tuple of the following form: <user, task location, task description, task time, maximum price>. The buyer 102 may also specify a quantity of the sellers 104 desired to complete the task 310. The buyer 102 submits the task 310 to the brokering system 106.
The brokering system 106 identifies one or more of the sellers 104 located in the selected geographic region. For example, the brokering system 106 may maintain a current location of each of the sellers 104 (e.g., by receiving location updates from the sellers 104). The brokering system 106 may also maintain a past history of the locations of the sellers 104 to enable an application program to, for example, find the sellers 104 that visited a particular location at a particular time or time period. In some embodiments, the sellers 104 subscribe to provide video data from their particular location, and the brokering system 106 maintains a list of the subscribed sellers 104 per location (e.g., per metropolitan area or landmark).
The brokering system 106 provides at least a portion of the task 310 to the identified sellers 104. Using any means for selecting one of the sellers 104, the brokering system 106 selects the winning seller from the identified sellers 104. The winning seller accepts the task 310 and begins streaming the video data to the user 202 at the requested time. The streaming video data represents the output of performance of the task 310. The winning seller notifies the brokering system 106 of task acceptance, start of streaming, or other indication of performance of the task 310. The brokering system 106 verifies the streaming by, for example, sampling some of the streaming or receiving a positive indication from the user 202 (e.g., the user 202 acknowledges receipt of the video data). The brokering system 106 may also verify task performance by confirming that the winning seller is located at the location specified in the task request. For example, the brokering system 106 may request position receipts from the winning seller or otherwise confirm the location of the winning seller. The position receipts represent proof of location from a location determination system or location-providing system such as a global positioning system (GPS). The position receipts include a timestamp proving that the winning seller is at the location at the desired time.
Alternatively or in addition, the video data is routed through the brokering system 106 to the user 202. In such embodiments, the streaming video data acts as a notification from the winning seller of performance of the task 310. The brokering system 106 verifies the streaming by examining the received video data or by examining location receipts (e.g., as proof of being at the location).
After verification of task performance, the brokering system 106 arranges compensation for the streaming video data by, for example, making a payment to the winning seller, crediting a financial account associated with the winning seller, making a non-monetary payment to the winning seller, or connecting the user 202 with the winning seller to complete payment.
Referring next to
The computing device 302 includes at least a memory area 306 and a processor 304. The memory area 306, or other computer-readable media, stores location information 308 associated with the sellers 104. The location information 308 identifies the locations of the sellers 104. In some embodiments, the location information 308 includes time values corresponding to the locations. For example, the location information 308 identifies current locations, past locations, and/or future locations. The memory area 306 further stores a list of other identification of one or more of the tasks 310 to be performed.
The memory area 306, or one or more computer-readable media, further stores computer-executable components for implementing aspects of the disclosure. For example, the components and other data may be stored in a database. Exemplary components include a memory component 312, a subscription component 314, a tracking component 316, a match component 318, and a proof component 320. These components are described below with reference to
In general, the memory area 306 is associated with the computing device 302. For example, in
The processor 304 includes any quantity of processing units, and is programmed to execute computer-executable instructions for implementing aspects of the disclosure. The instructions may be performed by the processor 304 or by multiple processors executing within the computing device 302, or performed by a processor external to the computing device 302 (e.g., by a cloud service). In some embodiments, the processor 304 is programmed to execute instructions such as those illustrated in the figures (e.g.,
Referring next to
The brokering system 106 checks for receipt of a task request at 406. The task request is received from at least one of the buyers 102. The task request includes, among other data, a description of the task 310 to be performed, a task location associated with the task 310, a task time at which to perform the task 310, and compensation (e.g., a monetary payment amount or non-monetary compensation) associated with performance of the task 310. In some embodiments, the brokering system 106 compares or matches the location from the task request with the location information 308 for the sellers 104. The brokering system 106 selects at least one of the sellers 104 at 408 based on the comparison.
In other embodiments, the brokering system 106 selects the seller 104 at 408 using an auction. In such embodiments, the brokering system 106 sends at least a portion of the task request to a plurality of the sellers 104 as a notification. For example, the notification identifies the task 310, the task location, and the task time. The brokering system 106 receives one or more bids for performing the task 310 from the plurality of sellers 104 during a predefined time limit. The brokering system 106 selects the seller 104 based on the received bids. For example, the brokering system 106 may select the seller 104 submitting the lowest bid, or select the first seller 104 to submit a bid.
In still other embodiments, the brokering system 106 selects the seller 104 at 408 based at least in part on a feedback score, confidence factor, or other reliability or capability metric associated with the sellers 104. For example, the brokering system 106 may select the seller 104 with the greatest feedback score, or allow sellers 104 with a pre-defined threshold feedback score to bid on a task request. The feedback score represents a measure of confidence that the brokering system 106 has in the seller 104. The feedback score may be compiled based on feedback from previous buyers 102, sellers 104, or other entities. The brokering system 106 calculates or determines the feedback score for each of the sellers 104 after each transaction involving the sellers 104.
In some embodiments, the brokering system 106 broadcasts the task request to the sellers 104 who are in or near the task location and meet any criteria specified by the buyer 102 in the task request. The brokering system 106 may also receive notification of a willingness or acceptance by one or more of the sellers 104 to perform the task 310 in the task request. The brokering system 106 selects one of the willing sellers 104. If the brokering system 106 confirms at 409 that the selected seller 104 has expressed a willingness to perform the task 310, the brokering system 106 assigns the task request to the selected seller 104 at 410. The selected seller 104 performs the task 310 at the task location and task time identified in the task request. In some embodiments, the seller 104 produces output as a result of performing the task 310. For example, the produced output may include digital merchandise.
The brokering system 106 verifies performance of the assigned task 310 by the selected seller 104 at 412. In some embodiments, the brokering system 106 receives proof of performance of the task 310 from the selected seller 104. The proof of performance includes any data verifying that the task 310 was performed at the task location and at the task time. For example, the proof of performance includes one or more of the following: time stamped position receipts from the selected seller 104 (e.g., GPS receipts), a copy of the output produced by the seller 104 when performing the task 310, and a shipping receipt from shipping a physical good (e.g., part of the produced output) to the buyer 102. The brokering system 106 may verify performance of the task 310 by comparing the time stamped position receipts with the data from the task request, examining the produced output, or confirming the authenticity of the shipping receipt.
After verifying performance of the task 310 at 412, the output from performing the task 310 is provided to the buyer 102 at 414. For example, the output may be provided from the seller 104 to the buyer 102 without passing through the brokering system 106, or the output may be provided from the seller 104 through the brokering system 106 to the buyer 102 (e.g., the output is posted to a web site or other accessible area associated with the brokering system 106).
Further in response to verifying performance of the task 310 at 412, the compensation is provided to the seller 104 at 416. In some embodiments, the compensation includes a payment amount corresponding to a maximum amount the buyer 102 is willing to pay. In other embodiments, the payment amount is less than the maximum amount.
In some embodiments, one or more computer-executable components, such as the components illustrated in
Various implementations of the brokering system 106 are contemplated. For example, the location information 308 maintained by the brokering system 106 includes not only the location of the sellers 104, but other information as well. In some embodiments, one of the tasks 310 to be performed includes obtaining a merchandise item associated with a requested time and a requested location. For example, the merchandise item is a t-shirt, and the requested time and the requested location correspond to an upcoming concert. In such an embodiment, the brokering system 106 identifies the sellers 104 that have offered to provide merchandise, or might be willing to provide such merchandise, based on the location information 308 from the sellers 104.
In a further example, the location information 308 provided by the sellers 104 may also include a description of merchandise the sellers 104 have acquired at a particular time and location. The brokering system 106 thus maintains a virtual inventory of time stamped goods. One of the tasks 310 from the buyers 102 may include a request to obtain a particular merchandise item associated with a requested time and a requested location. For example, after a concert, one of the buyers 102 wants to obtain a t-shirt from someone who actually attended the concert and bought a t-shirt. In this example, the brokering system 106 identifies the appropriate sellers 104 based on the stored location information 308 (e.g., by searching the location information 308 based on the merchandise item, request time, and request location).
In other embodiments, the brokering system 106 provides one or more targeted advertisements to the buyer 102 after selecting the seller 104 to perform the task 310 from the buyer 102. The advertisements are selected based on one or more of the following: the seller 104 performing the task 310, the task description, the task location, the task time, the compensation associated with performance of the task 310, and the buyer 102 requesting the task 310. The targeted advertisements are provided to the buyer 102 during or after performance of the task 310. For example, if the task 310 results in a digital deliverable such as streaming video data, the targeted advertisements may be inserted into the streamed video data for display before, after, or simultaneously with the video data. In another example, if the task 310 results in a physical deliverable (e.g., a shipped merchandise item), the targeted advertisements may be included with the physical deliverable (e.g., in a box containing the merchandise item).
The brokering system 106 may receive a plurality of similar task requests from the buyers 102. For example, the brokering system 106 may receive a plurality of requests from the buyers 102 for a rare merchandise item. Because of the limited pool of sellers 104 offering the rare merchandise item, the brokering system 106 may implement an auction or other bidding process to select the buyer 102 to receive the rare merchandise item. In such embodiments, the task request from the buyers 102 includes the payment amount representing the maximum amount (e.g., a bid) each buyer 102 is willing to pay for the rare merchandise item. The brokering system 106 selects the buyer 102 based on, for example, the highest bid received within a time limit. The selected buyer 102 is able to complete the transaction with the seller 104 to obtain the merchandise item.
In another example, an application program uses the brokering system 106 to connect rideshare partners based on location. In this example, the buyer 102 forms a task request including a task to find a rideshare partner at a particular start location at a particular time with a particular destination location. The brokering system 106 identifies one or more of the sellers 104 based on the data from the task request. For example, the brokering system 106 uses a location history of the sellers 104 to identify a set of the sellers 104 who will likely be traveling from the particular start location to the particular destination location at the particular time. The brokering system 106 enables the buyer 102 to select one of the identified sellers 104. The selected seller 104 notifies the brokering system 106 of task acceptance or initiation by providing pickup details to the buyer 102 through the brokering system 106. The brokering system 106 verifies task completion by receiving position receipts from the selected seller 104 indicating that the selected seller 104 is at the particular location at the particular time. Responsive to verifying task completion, the brokering system 106 arranges for the transfer of compensation between the buyer 102 and the seller 104. In other embodiments, the brokering system 106 is notified or task acceptance or completion in different ways, and verifies task performance in different ways, within the scope of the disclosure.
Other examples of the brokering system 106 enable a company (e.g., buyer 102) to pay someone (e.g., seller 104) to wear a logo t-shirt at an event for advertising purposes, a news company (e.g., buyer 102) to request video footage of an event from someone (e.g., seller 104) who was at the event, a person (e.g., buyer 102) in a first country to request someone (e.g., seller 104) in a second country to buy merchandise not available in the first country, or a person (e.g., buyer 102) to pay someone (e.g., a seller 104) to place a bet on a roulette table in a casino remote from the buyer 102.
By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media store information such as computer readable instructions, data structures, program modules or other data. Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Combinations of any of the above are also included within the scope of computer readable media.
Although described in connection with an exemplary computing system environment, embodiments of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include, but are not limited to, mobile computing devices, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, gaming consoles, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. The computer-executable instructions may be organized into one or more computer-executable components or modules. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks 310 or implement particular abstract data types. Aspects of the invention may be implemented with any number and organization of such components or modules. For example, aspects of the invention are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the invention may include different computer-executable instructions or components having more or less functionality than illustrated and described herein.
Aspects of the invention transform a general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.
The embodiments illustrated and described herein as well as embodiments not specifically described herein but within the scope of aspects of the invention constitute exemplary means for defining the task requests, exemplary means for selecting the plurality of sellers 104, exemplary means for assigning the received task request to the selected sellers 104, exemplary means for receiving the proof of performance of the task 310 by the selected sellers 104, and exemplary means for providing the compensation to the selected sellers 104.
The order of execution or performance of the operations in embodiments of the invention illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments of the invention may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the invention.
When introducing elements of aspects of the invention or the embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
Having described aspects of the invention in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects of the invention as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of aspects of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.