Camera based information exchange mechanism

Mechanisms, in a portable computing device comprising a camera, for exchanging information between a user and a provider are provided. With these mechanisms, an image is captured using the camera of the portable computing device and an identifier of a physical object associated with the captured image is determined. The portable computing device transmits the identifier of the physical object, and user information describing a user of the portable computing device, to a separate computing device associated with a provider of the physical object. The portable computing device receives information associated with the physical object from the separate computing device associated with the provider of the physical object. A storage device of the portable computing device stores the physical object information in association with at least one of the captured image or the identifier of the physical object.

BACKGROUND

The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for exchanging information using a camera based system and method.

Recently, providers of services and products have begun using mechanisms that allow a user of a camera device to obtain information about their products by using the camera device to take a picture of a unique tag associated with their product or service. One example of such a mechanism is the use of Quick Response (QR) tags and QR reader applications executed on a mobile communication device equipped with a camera. With QR tags and QR readers, the QR tag has a unique configuration of blocks that identifies a particular service or product. When the user of a mobile device executes the QR reader application on the user's mobile communication device, the camera on the mobile communication device is activated and the user may place the QR tag within a detection area of the camera. In response to the user holding the mobile communication device in a position where the QR tag is detectable by the camera and the QR reader application, the QR reader application processes the pattern of blocks from the QR tag, contacts a remote server computing device via wireless communication, such as by using a Uniform Resource Locator (URL) or the like, and retrieves information about the service or product which may then be displayed on a display of the mobile communication device.

A similar mechanism is provided with bar code reader applications. With such applications, the bar code on a product may be placed within a detection area of a camera's view so that the bar code reader application detects the bar code. The bar code reader application then correlates the bar code with product/service information by contacting a server computing device, such as via the Internet or the like, and retrieves the product/service information for display on the display of the mobile communication device.

SUMMARY

In one illustrative embodiment, a method, in a portable computing device comprising a camera, for exchanging information between a user and a provider. The method comprises capturing an image using the camera of the portable computing device and determining an identifier of a physical object associated with the captured image. The method further comprises transmitting, by the portable computing device, the identifier of the physical object, and user information describing a user of the portable computing device, to a separate computing device associated with a provider of the physical object. Moreover, the method comprises receiving, by the portable computing device, information associated with the physical object from the separate computing device associated with the provider of the physical object. The method also comprises storing, in a storage device of the portable computing device, the physical object information in association with at least one of the captured image or the identifier of the physical object.

DETAILED DESCRIPTION

While Quick Response (QR) readers, bar code readers, and the like, provide a mechanism by which a user of a mobile communication device equipped with a camera can easily obtain further information about a product or service, the exchange of information with such mechanisms is a one-way exchange. That is, the user of the mobile communication device is able to obtain information about the product/service associated with the particular QR tag or bar code, however there is no automated mechanism for the provider of the product/service to obtain information about the user of the mobile communication device. As a result, an opportunity for providers of products/services to obtain information about their potential customers, persons showing an interest in the products/services, and the like, is lost.

The illustrative embodiments provide a mechanism for a two-way exchange of information using a camera based system to detect identifiers of products/services. With the mechanisms of the illustrative embodiments, a user of a camera enabled computing device establishes a set of information that the user is willing to exchange with providers of products/services in a profile of the user on the camera enabled computing device. The information selected is information about the user that the user is willing to transmit to an external computing device in exchange for information about products/services that the user may wish to acquire. The selected information about the user may be compiled into a cookie-type data object, or other small size data object, that is stored on the camera enabled computing device.

In response to a user utilizing the camera of the computing device to take a photograph or otherwise detect an identifier of a product/service, e.g., a QR tag, a bar code, or the like, the camera enabled computing device transmits the cookie-type data object to an external computing device associated with the QR tag, bar code, or the like. This external computing device may be local to the user's current position, such as in the case of a server computing device within a store or business establishment, or may be a remotely located computing device, such as a server computing device accessible by way of a wired and/or wireless communication network, such as the Internet. In response to receiving the cookie-type data object, the external computing device may transmit to the user's computing device information about the product/service that the identifier of the product/service is associated with. This information may be an advertisement, a description, a coupon, a special discount code, a multi-media output to be generated on the user's computing device (such as a video and/or audio commercial), or any other type of information that the product/service provider wishes to distribute to users via the mechanisms of the illustrative embodiments.

In one illustrative embodiment, the communication of the cookie-type data object is performed using a near field communication mechanism, such as a Bluetooth communication connection, infrared (IR) beam communication connection, a peer-2-peer communication connection, or the like. For example, the identifier of the product/service may be placed in close proximity to a transceiver mechanism with which a transceiver in the user's computing device may communicate using a small range communication medium and protocol. Thus, when the user focuses the camera of the user's computing device on the identifier of the product/service, the user is also targeting the small range communication transceiver to communicate with the transceiver associated with the identifier of the product/service. This is especially useful with directed communication media such as infrared (IR) beams and the like.

In some illustrative embodiments, a visual indicator of the directed communication connection is shown in the display of the camera view so that the user is able to target the directed communication connection towards a particular identifier of a product/service. For example, with an IR beam enabled communication computing device, the user may see a visual representation of the IR beam in the display of the camera's detection field which allows the user to orient the IR beam such that it is directed to the identifier of the product/service that the user is interested in.

In one illustrative embodiment, the identifiers of the products/services are separate from the computing device with which the user's computing device communicates. For example, a user may detect the identifier of a product/service using the camera of the user's computing device. This provides an identifier which may be transmitted along with the user's cookie-type data object to a separate computing device which correlates the cookie-type data object with the identifier of the product/service and stores this information for later use. This cookie-type data object preferably includes, or has transmitted with it, an identifier of the user's computing device which is used to transmit back to the user's computing device the information that is associated with the identifier of the product/service.

In some illustrative embodiments, a mechanism is provided to allow a user to select an identifier of a product/service from a plurality of identifiers of products/services within a detection field of the camera of the user's computing device. Thus, the user's computing device may detect and receive identifier information from a plurality of identifiers of products/services and the user may select one or more of these for which the user wishes to obtain the corresponding product/service information. The selection may be done by selecting highlighted portions of the camera view displayed on the display of the computing device, selecting identifiers from a listing of identifiers displayed on the display of the computing device, or the like.

In some illustrative embodiments, the identifier of the product/services may be passive and may not itself perform any active communication with the user's camera enabled computing device. For example, the passive identifier may be a tag, such as a QR tag, a bar code, or the like. In some illustrative embodiments an image recognition algorithm executed in the user's camera enabled computing device may identify the identifier of the product/service from an image of the identifier or an image of the product. With passive identifiers, the identification is performed either in the user's camera enabled computing device based on an image obtained by the camera, or in an external computing device with which the user's camera enabled computing device is in communication, based on an image obtained by the camera. Thus, the identifier of the product/service need not actively transmit a communication to the user's camera enabled computing device.

In other illustrative embodiments, the identifier of the product/service may actively communicate information with the user's camera enabled communication device. For example, the user's camera enabled communication device may direct an interrogation signal towards the identifier of the product/service which may then respond to that interrogation signal with product/service information, such as an identifier value, a description, a URL, or the like. The amount of information communicated between the identifier of the product/service and the user's camera enabled computing device is preferably kept relatively small so as to facilitate quick communication and minimize the size of the computing and memory logic required to be part of the identifier of the product/service. Hence, with an active identifier of products/services, the identifier of the product/services may actively transmit information to the user's camera enabled computing device which may then be used in the manner described above and detailed hereafter.

Thus, with the mechanisms of the illustrative embodiments, a two-way information exchange is facilitated in response to a user detecting an identifier of a product/service using a camera of the user's camera enabled computing device. As a result, not only does the user obtain further information about the product/services in which they are interested, but the provider of such products/services is provided information about the users that are interested in their products/services and which products/services those users are interested in. This information may be used by the provider in many different ways including using the information for targeted marketing of products/services, emphasizing different product/service lines within the provider's business based on identified interest, providing future contact capabilities between the service/product provider and the user (such as for providing promotions, contacting the provider at a later date regarding the product, or the like), etc.

With regard to the example distributed data processing system ofFIG. 1, a user of a camera enabled computing device (not shown) may detect the presence of an identifier of a product/service and may communicate the identifier as well as a user's cookie-type data object to a computing device, such as a client110-114, for example. The client110-114may be a computing device present in a store, business location, or the like. The client110-114may be an actual server computing device or the like which is a client to the servers104,106, for example. The identifier and cookie-type data object may be received in the client110-114and stored locally for later processing and/or transmitted to a remote server104,106via one or more data networks102. The remote server104,106may host a product/service provider's content which may be used to provide information regarding products/services to users of camera enabled computing devices that request such information via the clients110-114. In some illustrative embodiments, portions of this product/service information may be cached at the clients110-114for quicker response to the camera enabled computing devices. In addition, the cookie-type data object that comprises user information may be provided to the server104,106for further processing by the business systems of the provider of the products/services. More details regarding the interaction of the various computing devices used with the illustrative embodiments will be provided hereafter in the following description.

As a server, data processing system200may be, for example, an IBM® eServer™ System P® computer system, running the Advanced Interactive Executive (AIX®) operating system or the LINUX® operating system. Data processing system200may be a symmetric multiprocessor (SMP) system including a plurality of processors in processing unit206. Alternatively, a single processor system may be employed.

The mechanisms of the illustrative embodiments may be implemented using computing systems and data processing systems as shown inFIGS. 1 and 2, or other alternative computing systems or data processing systems having different architectures and/or configurations that may be programmed or otherwise enabled to implement the operations and/or functionality of the illustrative embodiments described herein. For example, the computing device shown inFIG. 2may be used to implement a user's camera enabled computing device, a client computing device inFIG. 1, and/or a server computing device inFIG. 1.FIGS. 1 and 2are only examples of possible environments in which the aspects of the illustrative embodiments may be implemented.

To better understand the underlying operation and principle operational elements of the illustrative embodiments, reference is now made toFIG. 3.FIG. 3is an example diagram illustrating an operation of the primary operational elements of one illustrative embodiment.FIG. 3is only intended to be an example and many modifications to the devices, configurations, and functionality of these operational elements may be made without departing from the spirit and scope of the illustrative embodiments.

As shown inFIG. 3, the primary operational elements of a system for two-way exchange of information using a camera based computing device comprises a portable computing device310having a camera312, a display314, a user information storage device316, and a user input device/user interface318. The system further comprises an object320configured with an identifier tag/device322, an establishment's local computing system330, and an object provider's server computing device380which may be in communication with the establishment's local computing system330by way of one or more data networks. It should be appreciated that, unless otherwise indicated in the following description, communication connections between these various operational elements shown inFIG. 3may be performed using wired, wireless, or any combination of wired and/or wireless communication connections.

As shown inFIG. 3, a user of a portable computing device310makes use of the camera312provided in, or in association with, the portable computing device310to take a picture, scan, or otherwise obtain an image of the object320. The portable computing device310may take many different forms depending upon the particular implementation chosen. For example, the portable computing device310may be a mobile telephone or other portable communication device, a portable computer, such as a tablet computer, personal digital assistant (PDA), laptop computer, or the like, or any other portable device that has computing hardware and/or software and is capable of performing computations based on image data obtained via a camera312built into or otherwise coupled to the portable computing device310. For purposes of the present description, it will be assumed that the portable computing device310is a mobile telephone or tablet computer having a built-in digital camera312, display314(which may be a touch panel display, LCD display, or the like) and a user input device/user interface318, e.g., a keyboard, touch screen, or the like, for receiving user input. The user input device/user interface318may be integrated with the display314in some illustrative embodiments.

The object320may be any type of physical object whose image is able to be obtained using the camera312of the portable computing device310. For example, the physical object320may be an product for sale, a sign, the packaging on a product for sale, a building, a vehicle, or the like. In one illustrative embodiment, the characteristics of the object320are used to perform object identification, such as by way of a visual recognition application executed on the portable computing device310, or the like. In other illustrative embodiments, the object320may be associated with an identifier tag/device322which may be either a passive or an active identifier tag/device322. When the camera312is used to obtain an image of the object320, the image of the object may further include an image of the identifier tag/device322or the camera312may be used to specifically obtain an image of the identifier tag/device322itself without necessarily obtaining an image of the object320.

With a passive identifier tag/device322, the camera312obtains an image of the identifier tag/device322and an application executed on the portable computing device310may convert the image to an identifier value corresponding to the identifier tag/device322, e.g., a URL, alphanumeric value, or the like. For example, the identifier tag/device322may comprise a QR tag, a bar code, an alphanumeric textual identifier, or the like, which may then be converted to an identifier corresponding to the identifier tag/device322which further identifies the object320or a service/establishment/product/etc. associated with the object320.

With an active identifier tag/device322, in response to a signal being transmitted from the portable computing device310to the identifier tag/device322, the identifier, and possibly other information stored in the identifier tag/device322, may be actively transmitted from the identifier tag/device322to the portable computing device310. For example, when the user of the portable computing device310focuses the camera312on the object320and/or the identifier tag/device322, an interrogation signal may be transmitted using a near field communication technology, e.g., infrared beam, Bluetooth, WiFi, radio frequency signal, or the like, from the portable computing device310to the identifier tag/device322. In response to receiving this interrogation signal, the identifier tag/device322transmits a response signal back to the portable computing device310having the identifier data and possibly other data stored in the identifier tag/device322, e.g., object description, URL, or the like.

Whether the identifier tag/device322is passive or active, the portable computing device310obtains an identifier value that corresponds to the identifier tag/device322. The identifier is obtained either from the identifier tag/device322or through processing of the image information obtained via the camera312of the portable computing device310. This identifier345is transmitted to an establishment local computing system330associated with the establishment that is local to the current location of the object320and its corresponding identifier tag/device322. The identifier is transmitted along with cookie data340stored in the user information storage device316of the portable computing device310.

The user of the portable computing device310selects personal user information that the user is willing to release to providers of products/services or the like, associated with detected objects320. For example, this personal information may be selected from a user profile stored in the user information storage device316and may be a sub-set of the personal information stored in this user profile. The personal information may be any personal information that the user deems appropriate for exchange but may conform to a set of standardized user information that providers of products/services are interested in. The user may not provide all of the information that a provider is interested in but, as long as the user provides some of the user information that a provider is interested in, the provider may provide the service/product information requested by the user. For example, the user profile may store the user's name, address, email address, telephone number, demographic information, etc. From this set of user information, the user may select that the user's demographic information and a portion of the address, e.g., city and state, may be exchanged in order to obtain access to service/product information using the mechanisms of the illustrative embodiments, but that other user information that can be used to specifically identify the user may not be exchanged.

The sub-set of personal information for the user that is selected by the user for exchange may be packaged into a cookie-type data structure or other small sized data structure that may be stored in the storage device316and transmitted along with the identifier345to the establishment local computing system330. Thus, in response to receiving the identifier from the identifier tag/device322, or otherwise calculating/determining the identifier corresponding to the identifier tag/device322based on processing of image information obtained via the camera312, the identifier345and the cookie data340are transmitted to the establishment local computing system330, which may be a server computing device or the like present in the establishment where the object320and associated identifier tag/device322are located. The cookie data340may store information identifying the portable computing device310. This portable computing device identification information may be used to route a response back to the portable computing device310. This information may be stored by the establishment local computing system330for creating a session between the establishment local computing system330and the portable computing device310.

The establishment local computing system330correlates the identifier345with stored information corresponding to the identifier345that identifies a provider of a service/product corresponding to the object320. For example, the identifier345may be correlated with a URL or other communication identifier for communicating with a provider computing system380, such as a server or other computing system380that provides information corresponding to the object320. The establishment local computing system330generates a request based on the identified URL or communication identifier, the identifier345, and the cookie data340, and transmits the request (which includes the identifier345) and cookie data360to the provider computing system380using the communication identifier/URL to route the request and cookie data360to the provider computing system380via the network370.

In response to the cookie and request360being received by the provider computing system380, the provider computing system380retrieves object information350corresponding to the identifier345in the request360from the storage system385and generates a response message with the object information350. The response message may further comprise the portable computing device identifier310and other routing information from the request360that may be needed to route the response message back to the establishment local computing system330and ultimately the portable computing device310. The response message with the object information350is transmitted back to the establishment local computing system330via the network370which then, based on the portable computing device identifier310in the response message, transmits the object information350to the portable computing device310.

The portable computing device310may then output the object information350via the display314, an audio device, or any other type of output mechanism associated with the portable computing device310. For example, the object information350may comprise a graphical and/or textual content that is output via the display314, a video or other multi-media content that may be output via a display314, an audio device, and the like, audio data alone which may be output by the audio device, or the like. In one illustrative embodiment, the object information350may comprise commercials, discount codes, electronic coupons, further product/service information, web page content, or the like, which may be rendered on the portable computing device310.

It should be appreciated that many modifications to the configuration and interactions depicted inFIG. 3may be made without departing from the spirit and scope of the illustrative embodiments. For example, the establishment local computing system330may have a local storage system, cache, or the like, for storing at least a portion of the object information for objects320and/or associated identifier tags/devices322present at the establishment. In such an embodiment, rather than having to contact the provider computing system380for the object information350, the object information350may be retrieved from the local storage system, cache, or the like, associated with the establishment local computing system330. The establishment local computing system330may store the cookie data340for later processing and/or transmission to the provider computing system380. Such cookie data340may be compiled from a plurality of portable computing devices310and transmitted to the provider computing system380as a batch. The object information stored in the local storage system, cache, or the like, may be periodically updated using a push or pull operation.

In still another illustrative embodiment, the identifier tag/device322may comprise a small computing device capable of communicating with the provider computing system380via the network370directly without having to go through the establishment local computing system330. Alternatively, the identifier tag/device322may store the object information350for transmission in response to an interrogation signal from a portable computing device310. The identifier tag/device322may further comprise a storage device for storing cookie data340and periodically transmit the compiled cookie data to the provider computing system380.

The provider computing system380may perform processing of the cookie data340received with requests360which is stored in the storage system385. This processing may take many different forms depending upon the priorities and interests of the provider with regard to users that are interested in the provider's services/products. For example, a provider may be interested in the geographical location of greatest user interest in their products/services and may process the collected cookie data340to determining a ranking of geographical locations based on numbers of users whose cookie data340is received that have geographical indicators in these various geographical locations. Processing may also be done with regard to various ones, or combinations of, demographic information from the compiled cookie data340. Other processing of cookie data340may be performed without departing from the spirit and scope of the illustrative embodiments.

As an example to provide a further example context in which to understand the mechanisms of the illustrative embodiments, consider a situation in which a user enters a retail store (the establishment) and sees a pair of shoes that the user is interested in. The user may then use their mobile telephone device, which is equipped with a camera and the software/hardware of the illustrative embodiments, to take a picture of the pair of shoes and/or a tag associated with the pair of shoes (assuming a passive identifier tag/device is being used). The image of the pair of shoes and/or of the tag, e.g., a QR tag, bar code, or other type of tag, may be used within the software/hardware of the mobile telephone device to determine an identifier corresponding to the pair of shoes. The identifier is sent along with a cookie data object to the retail store's computing system which may then store the cookie data in association with the identifier of the pair of shoes, a timestamp associated with the transmission, and other information of interest to the retailer and/or provider of the pair of shoes.

If the retail store's computing system stores information about the products offered by the retailer that is to be sent to the mobile telephone device in response to receiving identifiers of products in the retailer's store, then the information stored in the retailer's computing system corresponding to the identifier of the pair of shoes is retrieved and transmitted back to the mobile telephone device. If the retail store's computing system does not store such information about the products offered, the retail store's computing system may formulate and transmit a request message with the identifier of the pair of shoes, an identifier of the retail store's computing system, an identifier of the mobile telephone device, and the cookie data, which is sent to a computer system associated with a provider of the pair of shoes. The provider's computer system may then store the cookie data, retrieve the requested product information from its storage system, and formulate and transmit a response message back to the retail store's computing system that has the requested product information. The retailer's computing system may then receive the requested product information and transmit it to the mobile telephone of the user, thereby providing more information about the pair of shoes to the user in exchange for information about the user which is received by the retailer and the provider of the pair of shoes.

As touched upon above, it may be the case that a plurality of objects320and/or identifier tags/devices322may be present within the detection field of the camera312of the portable computing device310at the same time. In such a situation, a mechanism may be provided in the portable computing device310for allowing the user to select which object320and/or identifier tag/device322the user is interested in. The selection mechanism may take many different forms including a touch screen display allowing a user to select a portion of an image corresponding to the object320and/or identifier tag/device322, a listing of identifiers of objects320and/or identifier tags/devices322from which a user may select, or the like.

In one illustrative embodiment, all of the identifiable objects320and/or identifier tags/devices322within a detection field of the camera312may be highlighted on the display314of the portable computing device310such that they may be easily discernable from the remainder of the image and made selectable by the user of the portable computing device310. Such highlighting may be performed in various ways including placing a box or other identifying structure around the object320or identifier tag/device322in the image picked up by the camera312and displayed on the display314, changing a color of the object320or identifier tag/device322in the displayed image, or the like.

In one illustrative embodiment, having identified the detected objects320and/or identifier tags/devices322within a detection field of the camera312, the user of the portable computing device310may select a particular object320and/or identifier tag/device322from the identified ones by using the zoom function of the camera312to zoom in the image on the particular object320and/or identifier tag/device322of interest. When the zoom function is utilized, the portable computing device310may determine when only a single detected object320and/or identifier tag/device322is present in the displayed image and thereby identify which object320and/or identifier tag/device322is of interest to the user.

FIG. 4is an example diagram illustrating the selection of a product from amongst a plurality of detected products in accordance with one illustrative embodiment. As shown inFIG. 4, a user of a portable computing device405aims or focuses the detection field of the camera of the portable computing device405towards a window display410of a retail establishment. The window display410may comprise a plurality of objects420-440along with their associated identifier tags/devices (not shown). These objects420-440are identified by their images or by the identifiers transmitted to the portable computing device405by their associated identifier tags/devices and highlighted in an image on a display450of the portable computing device405with appropriate highlighting (the circles around each of the images of the objects in the display450. A user may then select a portion of the image, such as by way of interacting with a touch screen of the display450, to thereby select the object420-440of interest to the user. Thereafter, the other functions and operations described above with regard to transmitting cookie data, receiving object information, and the like, are performed in order to facilitate the two-way exchange of information between the user of the portable computing device and the retail establishment and/or provider of the selected object420-440.

It should be appreciated that many modifications to the illustrative embodiments described above may be made. For example, in one illustrative embodiment, such as an illustrative embodiment in which active identifier tags/devices322are utilized with objects320, in order to assist the user in focusing the camera312of the portable computing device310on an object320and its associated identifier tag/device322that is of interest to the user, the image displayed by the display314of the image picked up by the camera312may be further enhanced to show the path or field of the communication beam or signal transmitted by the portable computing device310. In addition, the fields or paths of communication beams or signals transmitted by the identifier tags/devices322may likewise be displayed on the display314to further highlight these elements in the image of the display314. The depiction of the communication beams or signals on the image of the display314allows the user of the portable computing device310to better orient the camera312such that the communication beam or signal is directed to the identifier tag/device322of interest to the user. Many other types of modifications as will become apparent to those of ordinary skill in the art in view of the present description, may be made without departing from the spirit and scope of the illustrative embodiments.

FIG. 5is a flowchart outlining an example operation for exchanging information using a camera based device in accordance with one illustrative embodiment. As shown inFIG. 5, the operation starts by a user initiating a camera operation, on a portable computing device, to take a photograph or otherwise capturing an image of an object and/or identifier tag/device associated with the object (step510). Optionally, the operation for capturing the image may initiate the transmission of an interrogation signal in the direction in which the camera is pointed, or broadcasting an interrogation signal in a near field area around the device housing the camera (step520). Either from processing of the captured image by the portable computing device, or from a response message received, in the portable computing device, from the object and/or identifier tag/device associated with the object, an identifier associated with the object is generated in the portable computing device (step530).

The identifier of the object and stored user information (such as in the form of cookie data) are transmitted by the portable computing device to a separate computing device, which may be an establishment's local computing device, for example (step540). The separate computing device correlates the identifier of the object with provider information of a provider that provides the object or a service/product associated with the object (step550). Optionally, the separate computing device, if configured to cache or store a local copy of object information associated with the object, determines if the object information is present in a local storage system of the separate computing device (step560) and returns that object information to the portable computing device if the object information is present (step565). If the object information is not present, or if the separate computing device is not configured to store a local copy of the object information, the separate computing device generates a request to be sent to a provider computing device of the identified provider, where the request comprises the user information and the identifier of the object, as well as any necessary routing information to enable routing a response message back from the provider computing device to the separate computing device and ultimately the portable computing device associated with the user (step570).

The request is transmitted by the separate computing device to the provider computing device via one or more networks (step580). At the provider computing device, in response to receiving the request, the user information is stored in association with the identifier of the object for further processing (step590). In addition, the provider computing device retrieves object information corresponding to the identifier of the object and uses it to generate a response message, which also has the necessary routing information from the request message for routing the response message back to the separate computing device and ultimately the portable computing device (step600). The provider computing device transmits the response message back to the separate computing device (step610) which then processes the response message and transmits the object information to the portable computing device (step620). The object information is then rendered on the portable computing device (step630). It should be noted that the stored user information at the provider computing device may be later processed to obtain information about users' interests in products/services offered by the provider so that the provider can obtain greater insight into what products/services to provide, where to provide them, the manner by which to provide them, and the like.

Thus, the illustrative embodiments provide mechanisms for facilitating a two-way exchange of information between a user and a provider of products/services by using a camera enabled portable computing device. The illustrative embodiments improve upon known mechanisms, such as QR readers, bar code readers, and the like, in that not only does the user obtain information about the products/services, but the provider of the products/services obtains information about the user which may be of importance in assisting the provider in tailoring the types, locations, and manner by which the provider provides their products/services.