This invention relates to deals in social networking systems and in particular to following a deal to receive information related to the deal.
Providers of services and/or products offer deals to potential or current customers to entice them to make purchases. A deal is an offer to sell a product or service to a customer, oftentimes including a particular benefit available to customers who buy the product or service through the deal. For example, a deal may offer a product or service at a discounted price, such as a fixed percent of the original price or a fixed amount below the original price. A deal may offer a discount on a future purchase of a product/service upon a purchase of a similar or a different product/service. A deal may also offer access to inventory not open to the general population. For example, a deal may provide discount on a second product upon purchase of a first product. Deals are often offered by providers who are different from the actual seller of the product or service. The deal provider manages the deal purchase transaction and gives a voucher for the transaction to the customer, who can then redeem the voucher for the purchased product or service.
Providers offer deals for various reasons. Sometimes providers offer deals on products that they are trying to dispose of quickly to make room for a new line of products. Sometimes providers offer deals since they realize that users are interested in making a purchase only if there is a deal available. Conversely, consumers often closely monitor deals. Therefore, deals draw attention of users to particular products and bring the product on the radar of potential customers.
Providers are always coming up with creative ways to offer deals to get user's attention. However, if a user is not interested in a deal for a product or service, the efforts of the provider in directing these deals to the user are wasted. Therefore, providers prefer to direct their deals to users who are most likely to be interested in the deals offered in order to maximize sales of their products/services. Nevertheless, providers have not leveraged the power of social networking to make deals more effective to achieve their goals.
Embodiments of the invention allow users of social networking systems to track deals. A user sends a request to the social networking system indicating the user's interest in following a deal. The social networking system provides social information related to the deal to the user. In an embodiment, the social networking system receives information describing interactions between users of the social networking system and objects associated with the deal. Examples of objects associated with the deal include a profile of a business associated with the deal, an image of a location associated with the deal. Examples of interactions performed by users with these objects include users checking in to a location of the deal and liking or commenting on the profile of a business associated with the deal. The social networking system selects interactions with these objects that are performed by other users with whom the user is connected via the social networking system and sends information describing these interactions to the user. In an embodiment, the information is sent via a channel of the social networking system used for reporting information to users of the social networking system, for example, newsfeed channel.
In an embodiment, the social networking system receives information describing interactions between the users of the social networking system and a representation of the deal in the social networking system. Examples of these interactions include commenting on the deal, liking the deal, recommending the deal to a connection, purchasing the deal, participating in the deal, and the like. The social networking system selects interactions with the deal that are performed by other users with whom the user is connected via the social networking system and send information describing these interactions to the user.
The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter.
The figures depict various embodiments of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
Embodiments use social networking systems to incorporate social information of users to improve user interactions with deals. Incorporation of social information provides better experience for the users interacting with the deals which in turn results in more users getting interested in deals. This furthers the goals of the providers since the providers are attempting to increase the number of potential customers by offering deals. Besides, deals provide a social experience to the users and a valuable interaction with the social networking system. Users that find the social networking system valuable are more likely to be loyal to the social networking system. Increased loyalty of the users to the social networking system is likely to attract more providers offering advertisements and deals via the social networking system. Since social networking systems derive revenue from advertisements, this provides increased revenues for the social networking systems.
One way embodiments incorporate social information in deals is by allowing users to follow a deal. A user indicates to the social networking system using a user interface that the user is interested in following a deal. The social networking system reports information relevant to the deal to the user. The information reported to the user includes interactions of the connections of the user with the deal and with other objects related to the deal. The social networking system propagates the information to the user via communication channels including newsfeed and notifications. Since the user gets an opportunity to see how the user's friends interacted with, used, and benefitted from the social deal, the user is more likely to be interested in the deal. As a result, the user is more likely to participate in the deal. This provides benefits to the deal provider since their deals are likely to be more effectively utilized. Furthermore, the social networking system also benefits since users derive value from the infrastructure and information available in the social networking system.
A deal is associated with an offer made to a user that provides certain benefits to the user upon acceptance. The benefit offered by a deal corresponds to a value of the deal or a price of the deal. For example, a deal that offers higher benefits provides higher value compared to a deal that offers lower benefits. In an embodiment, a user can purchase a deal by paying a price for the deal. The user can subsequently redeem the deal by making a purchase or a transaction. Providers often present a deal to the users along with their advertisements. Typically, the benefits offered by a deal are associated with a transaction, for example, a purchase of a product or service offered by the provider. A transaction between a customer and a provider involves an exchange between a user and a provider, wherein the customer provides money to the provider and the provider provides one or more products and/or services to the customer. However a transaction involving a deal provides additional benefits to the user.
Benefits offered by a deal can include a reduction in the price of the product and/or service. Alternatively, the benefits provided by a deal may include advantages including free shipping, a coupon for a subsequent purchase, a reduction in price of a different item bought in the same transaction, no sales tax, and the like. The benefits associated with a deal are referred to as the value of the deal or the price of the deal.
A deal may be associated with a time period. For example, a deal can only be used after a start date and before an end date. The deal may be associated with other limits on the purchases. For example, the deal may apply to all items purchased in a transaction, the deal may apply to all purchases made on a particular day, or the deal may apply to a single item. These limits on the purchases applicable to a deal are called the maximum redemption of the deal.
The deal may also be associated with a location. For example, one location of a store may offer a deal but other locations may not. A deal may also be associated with an event. A deal may be applicable to in-store purchases as opposed to online purchases, or the deal may be for online purchases only. The deal may also have a specific redemption method. For example, the deal may require a user to present a coupon or a coupon code, the deal may be automatically offered upon making a purchase, the deal may require use of a particular type of payment mechanism including a specific type or credit or debit card, or the deal may require presentation of proof of membership in a club.
A deal may be associated with other conditions, for example, the number of purchases made by the user must exceed a threshold value or the total value of the purchases must exceed an amount. When the required conditions associated with a deal are satisfied, the deal is considered activated. Activating a deal comprises marking the deal as ready for use by a user. For example, a deal that is activated can be presented to the user as a coupon that can be redeemed by the user. An activation of a deal may require certain actions to be performed by multiple users. For example, the activation of a deal may require multiple users to be present at a location associated with the provider. If more than a threshold number of user's friends' check-in to a location along with the user, the deal is activated. Each user who participates in the activation of the deal is called a participant of the deal.
The deal may offer benefits to one user or to all the participants of the deal. For example, a restaurant deal activated by a number of friends present at the location may offer a price reduction upon payment by a single user or it may offer price reduction to each participant making a separate payment. In an embodiment, activation of the deal comprises redemption of the deal. For example, if more than a threshold number of connections of a user purchase tickets for an event (for example, a concert) via the social networking system, a social deal provides the tickets at a discounted price. In this case, the activation of the deal happens when the deal is redeemed.
A reference to a deal in this disclosure may refer to an instance of deal associated with a particular user or a type of a deal offered by a provider. The context of the disclosure clarifies whether a deal refers to an instance of a deal or deals of a particular type. For example, a deal may refer to an offer by a particular provider that gives 20% discount on a product if purchased before a given date. A deal may also refer to an instance of a social deal that is specific to a user and requires participation by connections of the user. There may be multiple instances of the deal created for different user. Each instance of the deal stores information specific to the deal, for example, users participating in that instance.
A provider system 120 comprises a provider application programming interface (API) module 125 that allows the social networking system 100 to interact with the provider system. In an embodiment, the provider APIs 125 may be implemented as a web service. The provider APIs 125 allow the social networking system 100 to send requests for information to the provider system 120 and receive information associated with the deals from the provider system 120. For example, the social networking system 100 may send a request to the provider system 120 to determine whether a user of the social networking system 100 is an existing customer of the provider system 120.
In one embodiment, the client device 105 used by a user 135 for interacting with the social networking system 100 can be a personal computer (PC), a desktop computer, a laptop computer, a notebook, a tablet PC executing an operating system, for example, a Microsoft Windows-compatible operating system (OS), Apple OS X, and/or a Linux distribution. In another embodiment, the client device 105 can be any device having computer functionality, such as a personal digital assistant (PDA), mobile telephone, smartphone, etc.
The client device 105 executes a user interface called dashboard 130 to allow the user 135 to interact with the social networking system 100. The dashboard 130 allows the user 135 to perform various actions related to deals. These actions include retrieving information describing deals that are likely to be of interest to the user, following a deal, recommending deals to connections of the user, participating in a social deal, checking in to a location associated with a deal provider, and making a purchase using the deal. In an embodiment, the dashboard 130 is presented to the user via a browser application that allows a user to retrieve and present information from the internet or from a private network.
The social networking system 100 offers its users the ability to communicate and interact with other users of the social networking system 100. Users join the social networking system 100 and then add connections to a number of other users of the social networking system 100 to whom they desire to be connected. As used herein, the term “friend” refers to any other user to whom a user has formed a connection, association, or relationship via the social networking system 100.
The social networking system 100 maintains different types of objects representing entities, for example, user profile objects 175, connection objects 195, event objects 190, deal objects 180, and provider objects 185. An object may be stored for each instance of the associated entity. A user profile object 175 stores information describing a user of the social networking system 100. A connection object 195 stores information describing relations between two users of the social networking system or in general any two entities represented in the social networking system 100. The event objects 190 store representations of real-world events in the social networking system 100. The deal objects 180 represent deals and the provider objects represent providers in the social networking system 100. These objects are further described in detail herein.
The social networking system 100 comprises a dashboard manager 115 and various modules described in
The dashboard manager 115 allows a user 135 to perform various actions associated with the deal. These actions include purchasing the deal, recommending the deal to a connection, commenting on the deal, following the deal, liking the deal, participating in a social deal, uploading an image associated with the deal, for example, uploading an image taken at a location associated with the deal for display as part of the user's profile.
The dashboard manager 115 receives requests from the user 135 for performing actions related to deals. A user 135 sends requests to the dashboard manager 115 via the dashboard 130. For example, a user 135a may send a request to recommend a deal to a connection of the user 135a (say, user 135b). The dashboard manager 115 may invoke other modules of the social networking system 100 shown in
The social networking system 100 comprises modules other than those shown in
The social networking system 100 allows users to communicate or otherwise interact with each other and access content, as described herein. The social networking system 100 stores user profile objects 175 in the user profile store 265. The information stored in user profile store 265 describes the users of the social networking system 100, including biographic, demographic, and other types of descriptive information, such as work experience, educational history, gender, sexual preferences, hobbies or preferences, location, and the like. The user profile store 265 may also store information provided by the user, for example, images, videos, comments, and status updates. Images of users may be tagged with the identification information of the appropriate users displayed in an image.
Any action that a particular user takes using the social networking system 100 is associated with the user's profile 175, through information maintained in a database or other data repository. Such actions may include, for example, adding a connection to the other user, sending a message to the other user, reading a message from the other user, viewing content associated with the other user, seeing what deals another user likes or is following, attending an event posted by another user, among others.
The connection store 230 stores data describing the connections between different users of the social networking system 100, for example, as represented in a connection object 195. The connections are defined by users, allowing users to specify their relationships with other users. For example, the connections allow users to generate relationships with other users that parallel the users' real-life relationships, such as friends, co-workers, partners, and so forth. In some embodiment, the connection specifies a connection type based on the type of relationship, for example, family, or friend, or colleague. Users may select from predefined types of connections, or define their own connection types as needed.
Connections may be added explicitly by a user, for example, the user selecting a particular other user to be a friend, or automatically created by the social networking site based on common characteristics of the users (e.g., users who are alumni of the same educational institution). The connection between users may be a direct connection; however, some embodiments of a social networking system 100 allow the connection to be indirect via one or more levels of connections. Connections may also be established between different types of entities for example, the social networking system 100 can have an object representing a school and users of the social networking system 100 that study in the school or who are alumni of the school can connect with the school in the social networking system 100.
The deal store 225 stores information describing deals, for example, deals represented as deal objects 180. The deal object 180 is associated with metadata describing the deal and comprises data specific to an instance of the deal. An instance of a deal may be created for each user that performs certain actions associated with the deal. For example, if the activation of a deal requires participation by connections of a user, the deal object 180 stores information describing the participants in the deal. As other connections of the user perform actions that contribute towards activation of the deal, the social networking system 100 updates the information stored in the deal object 180. A deal store 225 also stores a category associated with each deal that describes the type of product or services associated with the deal. Examples of categories of deals include “dining,” “shopping,” “professional services,” “beauty and spas,” “health and fitness,” “automotive,” “pet care,” “financial services,” “travel,” and “arts and entertainment.”
The information stored in a deal object 180 comprises a description of the deal, one or more deadlines associated with the deal, for example, a start date and end date during which the deal can be used, a location associated with the deal, a type of the deal, a redemption method for the deal, maximum redemption associated with the deal, a description of the benefit offered by the deal, for example, a percent reduction in price, any conditions or rules associated with the deal, a profile page associated with the deal on the social networking system 100, and other information. The deal object also stores information identifying the deal provider 120, a user associated with the deal, and connections of the user associated with the deal, for example, if the deal activation requires participation by connections of the user.
A deal object may be associated with different types of social information including users of the social networking system 100, events represented in the social networking system 100, actions performed by users that are associated with the deal, images associated with the deal, for example, images of locations of the provider of the deal, profile of a business associated with the deal and the like. This information may be stored in various data stores in the social networking system 100. Associations between the deal objects 180 and the relevant social information associated with the deal may be either stored explicitly in the social networking system 100 or determined as needed. The deal object 180 may be associated with actions of users associated with the deal, for example, users that liked the deal or are following the deal, users who subscribed to the deal, users who purchased the deal, users who shared or gifted the deal, users who checked-in to locations associated with the deal, comments made by users on the deal etc.
The event store 260 stores information describing events associated with the social networking system 100. An event object 190 may be defined for a real-world event, such as a birthday party. A user interested in attending the event may establish a connection with the event object. A user may create the event object 190 by defining information about the event such as the time and place and a list of invitees. Other users may send a reply to the invitation (an RSVP message) i.e., accept or reject the invitation, comment on the event, post their own content (e.g., pictures from the event), and perform any other actions enabled by the social networking system 100 for the event 185. Accordingly, the creator of the event object 190 as well as the invitees for the event may perform various actions that are associated with that event object 190. Events may be associated with deals, for example, an event object representing a concert may be associated with a deal providing a discounted price for the concert. The event store 260 stores the associations between events and deals.
The provider store 275 stores the provider objects 185 that store information describing the providers 120. The information describing a provider 120 includes categories associated with products/services offered by the provider, locations associated with the provider, and information needed for interacting with the provider APIs 125. The social networking system 100 stores associations between the provider objects 185 and the deals provided by the provider 120.
The web server 220 links the social networking system 100 via the network 210 to one or more client devices 105; the web server 220 serves web pages, as well as other web-related content, such as Flash, XML, and so forth. The web server 220 provides the functionality of receiving and routing messages between the social networking system 100 and the client devices 105 as well as other external systems, for example, the provider systems 120.
The newsfeed generator 235 reports information of interest to user of social networking system 100 by generating stories and sending to them. The stories generated by the newsfeed generator 235 typically comprise information describing actions performed by connections of the user. Examples of stories reported to a user may include a connection of a user commenting on an entity represented in the social networking system 100 including an image, a social group, or a profile of a business. Other examples of stories include a connection of the user uploading an image, adding a connection, changing a profile photo, checking in to a location of a business, and the like. In an embodiment, the newsfeed generator 235 generates stories associated with deals including interactions of connections of the user with the deals and interactions of connections of the user with objects associated with the deals including events, images, user profiles etc.
The action logger 240 is capable of receiving communications from the web server 220 about user actions on and/or off the social networking system 100. The action logger 240 populates the action log 245 with information about user actions to track them. Any action that a particular user takes with respect to another user is associated with each user's profile, through information maintained in a database or other data repository, such as the action log 245. Such actions may include, for example, adding a connection to the other user, sending a message to the other user, reading a message from the other user, viewing content associated with the other user, attending an event posted by another user, commenting on a deal, liking a deal, checking into a location, among others.
The deal following module 270 processes request from users for following deals. If the web server 220 receives a request from a user to follow a deal, the web server 220 invokes the deal following module 270 to process the requests. The deal following module 270 stores the information indicating that the deal is being followed by the user in the user profile store 265 and/or the deal store 225. The deal following module 270 selects information related to the deal determined to be of interest to the user and provides the information to the news feed generator 235. The news feed generator 235 provides the information to the user in the form of news feed stories. In an embodiment, the deal following module 270 continues to provide information related to the deal to the user until the deal expires.
The interactions between the client devices 105 and the social networking system 100 as well as the interactions between the provider 120 and the social networking system 100 are typically performed via a network 210, for example, via the internet. The network 210 enables communications between the client device 220 and the social networking system 100. In one embodiment, the network 210 uses standard communications technologies and/or protocols. In another embodiment, the entities can use custom and/or dedicated data communications technologies instead of, or in addition to, the ones described above. Depending upon the embodiment, the network 210 can also include links to other networks such as the Internet.
The dashboard 130 provides a user interface for allowing a user of a social networking system 100 to view and interact with deals.
When a user requests deals information, the dashboard manager 115 receives deals relevant to the user. A user can select a particular deal 310 presented to the user and request more information describing the deal.
The social networking system 100 receives 520 requests for interaction with the deal as well as requests for interactions with objects associated with the deal. Examples of interactions of users of the social networking system 100 with the deal include purchasing the deal, participating in the deal, liking the deal, commenting on the deal, checking in to a location associated with the deal, or recommending the deal to a connection. An example of an object associated with the deal includes a profile of a business associated with the deal for example, the deal provider. Examples of interactions with the business profile include making a purchase from the business, liking the business profile, commenting on the business profile, recommending the business profile to a connection, and checking in to a location of the business. Another example of an object associated with the deal is an image of a location associated with the deal and the interaction comprises the other user being tagged in the image, commenting on the image, liking the image, or uploading the image.
The deal following module 270 selects interactions performed by the users that are connected via the social networking system 100 to the user requesting to follow the deal. In general, if the deal following module 270 determines that the interaction is performed by a user that is not connected to the user via the social networking system, the deal following module 270 excludes the interaction from information reported to the user. Actions performed by users connected to the user are determined to be of greater interest to the user compared to actions of other users not connected to the user. For example, a user is likely to be more interested in knowing that a connection of the user purchased the deal or commented on the deal rather than an unknown person performed the corresponding action. In an embodiment the deal following module 270 also selects actions performed by other users that are connections of connections of the user. These actions may be selected if there is other information indicating that the action is significant. For example, a comment from a connection of a connection may be determined significant if several other users retrieved it or further commented on it.
The deal following module 270 provides the information regarding the selected interactions to the news feed generator 235 for reporting to the user. In other embodiments, information regarding the interaction may be reported by other channels or mechanisms used by the social networking system 100 for providing information to the user, for example, by email, by texting, as messages, or by providing as web page comprising the information. The news feed generator 235 generates stories based on these selected interactions and sends 540 the stories to the user. The news feed generator 235 may rank the stories based on various criteria. Accordingly, the news feed generator 235 may not send some stories related to interactions with the deal or objects associated with the deal whereas the news feed generator 235 may send other stories to the user. In an embodiment, the news feed generator 235 prefers a story related to a deal over another story associated with a deal if the first deal is known to expire earlier than the second deal. A user may be more interested in knowing about a deal that is imminently going to expire rather than a deal that has a long time left before expiry.
The deal following module 270 verifies whether the deal has expired or not. If the deal following module 270 determines that the deal is not yet expired, the deal following module 270 continues monitoring actions associated with the deal and providing information describing selected actions to the user as described in steps 520, 530, 540 of the process illustrated in
In an embodiment, the deal following module 270 determines a significance score for determining the relevance of an interaction for purposes of reporting the interaction to the user. A newsfeed story based on an interaction with higher significance score is more likely to be reported to the user compared to another story that is ranked lower. In general the likelihood of a story being reported also depends on other stories available at the same time. For example, if there are very few stories unrelated to deals are available for reporting at a time, any story related to deals has a higher likelihood of being reported. On the other hand, if several other stories unrelated to deals are available and determined to be relevant for reporting to the user, stories related to deals may have a lower likelihood of being reported. The significance of a particular story related to a deal being followed by the user also depends on the other deals being followed by the user. For example, if a user is following a large number of deals, the likelihood of stories of a particular deal being reported are lower than the situation where the user is following only a small number of deals.
In an embodiment, the deal following module 270 assigns higher significance score to an interaction performed by a connection of the user with whom the user has high affinity. An affinity between a user and the user's connections can be determined based on various factors including frequency and types of past interactions between the users, a type of connection between the users, a length of time that the two users have been connected, and the like.
A higher significance score may be assigned to an interaction performed by a connection of the user if the user and the connection have interacted with each other for other deals. Two users that have interacted in the past for various deals are more likely to be interested in activities performed by the other user related to deals. Interactions of two users for various deals include the two users participating in a deal together. For example, a deal may provide benefits to users if more than a threshold number of users participate in the deal. Users connected to each other via the social networking system 100 that participate in a deal are more likely to be interested in learning about activities of the other user related to deals.
Other examples of interactions of users for deals include both two users checking in to a location associated with a deal. For example, if a deal is offered by a business and both the users are determined to have visited a store associated with the business, the users are likely to be interested in learning about each other's activities related to deals in general and in particular for deals offered by this business of other similar businesses (e.g., belonging to a category of this business.) In an embodiment, the significance score is determined based whether the two users checked into the location within a threshold time interval of each other.
In an embodiment, the significance score for an interaction is determined based on the type of interaction. For example, a story describing a user purchasing a deal is determined to be more relevant for reporting than to a story describing a user liking a deal or a user recommending the deal. As another example, a story describing a user recommending a deal or commenting on a deal is determined to be more relevant for reporting than a story describing a user liking a deal. Similarly, a story describing a user being tagged in an image associated with a deal or a user uploading an image associated with a deal is determined to be more relevant for reporting to a user compared to a story describing a user liking the image or commenting on the image.
Certain types of actions associated with a deal may not be considered significant enough to be reported, for example, a user retrieving information describing a deal may not be significant enough to be reported. In an embodiment, the user can provide information indicating the level of importance attached by the user to a deal. Accordingly, the user can mark certain deals being followed and more important than other deals being followed. For example, the user may want to follow a large number of deals, but may be currently more interested in deals for furniture compared to deals for dining The level of importance indicated by the user is considered as a factor in determining the significance score. For example, more actions associated with deals considered important by the user may be reported to the user compared to deals indicated less important by the user even though all these deals are being followed by the user.
In an embodiment, the significance score for actions associated with deal being followed by a user depends on the deal price or the value offered by the deal. In general, actions associated with deals with higher value are determined to be more significant than deals with lesser values. For example, actions associated with a deal that provides 20% discount for a product worth several hundred dollars are considered more significant than actions associated with a deal that offers 5% discount for products valued below a hundred dollars. Another factor considered for determining a significance score for a deal is the time period associated with a deal determining when the deal can be activated. Actions associated with deals that are currently active may be given higher significance score compared to deals that are going to be active in future. Furthermore, the significance score of actions associated with deals that are going to be active in future may depend on the length of time in future when the deal becomes active. Actions associated with deals that are going to become active after a very long time in future may be assigned lower significance score compared to deals that are going to become active very soon.
Actions associated social deals may be determined based on the number of users that are currently participating in the deal. If the number of users currently participating in the social deal is high, the social deal is closer to being activated. Accordingly actions associated with that deal are assigned higher significance score compared to actions associated with a social deal that requires a larger number of participants before it is activated. The significance score of actions associated with a social deal may depend on a ratio of the number of participants required for activation compared to the number of current participants of the social deal. A lower ratio of number of participants required for activation compared to the number of current participants of the social deal indicates that the deal is closer to activation and actions associated with the deal can be assigned higher significance score.
In an embodiment, significance score for actions associated with deals belonging to a category may be determined based on actions performed by the user, for example, recent activity associated with the user. Recent activity of the user may indicate an increase in the interest of the user on a particular topic. For example, a user that suddenly starts retrieving more information on baby products may be expecting an event associated with babies, for example, a connection or the user may be expecting birth of a baby. Accordingly, the significance score of actions associated with deals belonging to these categories is increased. The significance score of these categories may be reverted to previous values if after a period of time, the user interest is determined to have subsided, for example, after an associated event has occurred.
The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter.
The foregoing description of the embodiments of the invention has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.
Some portions of this description describe the embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof.
Any of the steps, operations, or processes described herein may be performed or implemented with one or more hardware or software modules, alone or in combination with other devices. In one embodiment, a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.
Embodiments of the invention may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, and/or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a tangible computer readable storage medium or any type of media suitable for storing electronic instructions, and coupled to a computer system bus. Furthermore, any computing systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
This application claims the benefit of U.S. Provisional Patent Application No. 61/452,577 filed Mar. 14, 2011, which is incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61452577 | Mar 2011 | US |