ONLINE SOCIAL NETWORKING SYSTEM FOR CONDUCTING COMMERCE
An online social networking system for conducting commerce utilizes a grid environment, a widget architecture including a widget operating system, and semantic integration technologies to provide personalized bundling of products and services tied to an individual's life, emergent marketplaces that support collaboratively-based product and service development, merchandising, and recommendations, emergent user experiences, emergent gaming, emergent behavior predictions, collaborative discover, i.e., social searching, and content and/or people voyeurism. These features are achieved through the use of various techniques including emergent programming, emergent widget processing, emergent computations, emergent applications, widget composition, data integration and exchange, complex system management, security graphs, trust/reputation management, intersecting graphs, database sharding, use of fractal graphs (which may be thinned and expanded), and content mashups.
This application is a continuation of U.S. application Ser. No. 12/755,702, filed Apr. 7, 2010, issued as U.S. Pat. No. 10,410,223, which claims the benefit of and priority to U.S. Provisional Application No. 61/212,171, filed on Apr. 8, 2009. The above-identified applications are hereby incorporated by reference herein in their entirety.
SUMMARYThe subject invention is directed to an online social networking system for conducting commerce which utilizes a grid environment, a widget architecture including a widget operating system, and semantic integration technologies to provide, among other features, personalized bundling of products and services tied to an individual's life, emergent marketplaces that support collaboratively-based product and service development, merchandising, and recommendations, emergent user experiences, emergent gaming, emergent behavior predictions, collaborative discovery, i.e., social searching, content and/or people voyeurism, and the like. As will become apparent from the descriptions that follow, these various features are achieved through the use of various techniques including, but not limited to, emergent programming, emergent widget processing, emergent computations, emergent applications, widget composition, data integration and exchange, complex system management, security graphs, trust/reputation management, intersecting graphs, database sharding, use of fractal graphs (which may be thinned and expanded), and content mashups.
More particularly, the subject invention seeks to overcome several trends that are currently seen as disrupting Internet based commerce models. These trends include the way: 1) the increased role of online social networks and social media affects consumer thinking and behavior making it more difficult for a retailer to control communication with consumers; 2) the increased fragmentation of the Internet through the use of micro-sites and widget architectures making it more difficult for a retailer to provide centralized control and access; 3) the increased number of online identities that a consumer manages and the pressure on profile holders to allow consumers to integrate and control their own data making it more difficult for retailers to control consumer data; 4) the increased use of open standards, data stores and services which pushes expectation for openness and free data exchange making it more difficult for retailers to maintain exclusivity; and 5) the increase of new technologies that allow consumer's opportunities to gain personalized intelligence and insight, and build customized compositions of services, increasing demands on retailers to provide customized bundles of products and services based on an individual's lifestyle. These trends are each discussed below.
First, the increased role of social network and social media is affecting how consumers obtain and use commerce related information. Through various social network and social media applications consumers now have options to create and consume media that is shared across a network of other consumers. This information distribution model provides limited opportunities for a brand owner to control brand-related information. In the future, a user's social network will be less of a formalized, explicitly defined set of relationships but will instead be a dynamic connection to people that are relevant to that user in a specific context (e.g., coffee shop, at home, at church). A contextually defined network of relationships will therefore become increasingly ubiquitous. The dynamism of the contextual networks will create even greater difficulty for brand owners in controlling their message.
Second, the increased fragmentation and specialization of the Internet will make finding these dynamically configured networks more and more difficult. While dominant applications (e.g., Google, Facebook, etc.) will prevail, users will interact with more and more specialized applications and services that connect them to other users as part of specific life tasks or need states. These context specific applications will be shared across specialized networks. For example, a baby sitting scheduling service may be shared throughout a specific community based on geography. The increased fragmentation will mean that consumers will look to have commercial operations pushed into these relationships rather than have consumers seek out commerce web sites. Businesses will need to create services that support meaningful relationships in these specialized networks.
Third, consumer's multiple online identifies will create problems for consumers and for marketers. Consumers will suffer from managing multiple online identities and profiles and will seek applications that allow them to easily interoperate across services and that carry their personal data with them. Consumer ownership of data will be resolved in favor of consumers and consumers will use tools to actively manage their data, doling out data when and if they determine value and relevance.
Fourth, open standards, data, and services will continue to push an expectation for openness and free data exchange. More and more, businesses and service providers will provide access to data stores through open application programming interfaces (“APIs”), creating data clouds of information that is personally relevant. Integration of personal data, whether data describing social relationships or personal behavior, will become a key technical challenge. The ability to integrate data across multiple data stores and services in order to provide relevant services to a specific consumer will be a significant challenge. The future marketplace will mirror this trend with requirements for complete openness and transparency. In order to maintain trust, businesses will need to push transparency, allowing users to access information over which they have little control primarily because it will be impossible for the business to control access to alternative points of view and data sources. Adoption of openness will become a key requirement for commerce operations. Retailers will differentiate themselves by their ability to mesh information from multiple sources into customized compositions based on an individual's personal preferences.
Finally, consumers will come to expect greater relevance, convenience and service through more intelligent and personalized insight. Fragmented profile data, the importance of social media, dynamic social networks that emerge based on specific contexts, expectations of openness and transparency will not reduce the consumer's expectation that they are able to get products, services, and information the way they want it and in a way that they trust.
Because these trends pose significant problems for ecommerce retailers, for retailers to be relevant in a consumer's life, a need exists for retailers to integrate successfully into the online services and personal data stores that encapsulate a user's digital life. For retailers to be relevant, retailers must deliver value in helping consumer personalize the management of life events. The present invention thus provides technologies for managing consumer life events. These technologies are dynamically configurable based on the specific consumer's context. These technologies consist of tools that allow consumers to co-create with retailers semantic mashups which bundle information and application services together tied to an individual's life and that assists them in management their life in the context of their social network by organizing information based on social network characteristics and behaviors, and organizing and invoking services based on individual functional requirements.
It is generally assumed that a consumer's information will be broadly distributed across what some call the “data cloud.” The data cloud consists of personal and 3<rd>party data stores that are accessible across the Internet using freely available application or service interfaces. Managing these distributed sources of content will require a highly flexible and distributable set of functions which are, within the subject technology, architected as personalized agents. Agents operate proactively, and organize and push information and services based on individuals.
As a consumer's information is captured and integrated, it will also be organized within a specific context. For example, the capture and organization of information for the purposes of selecting a cell phone plan for text messaging is a different context from international dialing. The organization of this information, how it is captured and then mashed-up into an integrated presentation or sequence is affected by the behavior of those individual's discerned to be like the user in the specific context. In the present invention, information capture and organization is managed by the collective behavior of the latent network of users that is most closely associated to the user in a given context. For example, information and application services relevant to purchasing tires is organized for individual's based on those networks of individuals who share certain characteristics, e.g., people who are in the market to purchase tires, people who drive mini-vans, and people for whom the greatest value is paramount.
The ability to capture and organize the information based on social behavior requires the ability to capture and connect user behaviors. Retailers must be able to capture user behaviors and through tools enable the tagging, sharing, linking, and rating of information. The ability to tie this information to social networks and create networks of like minded consumers will be critical. Once identified, these groups can be communicated with using a variety of experiences that are designed to provide appropriate management of life events. Tagging, sharing, linking, and rating also provide clear behavioral data that helps organize content into meaningful bundles. Retailers can therefore tie together products tagged “best value” and connect those product bundles with social networks seeking “best value.”
The complexity of these relationships between context, individual, and life event or task, likely overwhelms simple rule-based systems. This is especially true if the system is open and allows 3<rd>parties to provide application services (i.e., “Widgets”) and unique data stores without centralized control and management.
The present technology thus leverages principles of complex systems and emergence to establish connections between an individual, and his/her context, and the specific task that is being tackled. The technology creates highly customized experiences and deliver those experiences interactively to the user (a process termed ‘category experiences’).
This highly dynamic, contextual, and bundled collection of information and application services creates new challenges and opportunities for pricing. For example, several catalogs of information may be inked together and therefore mashed up. When this collection of catalogs contributes to the sale of a product then each participant may potentially receive a portion of the transaction. The greater the value may be tied to the greater the contribution. Managing the graphic of connections leading to a commercial transaction creates new affiliate models and algorithms for the distribution of revenues.
This network based commerce model, i.e., one in which everyone contributes information, application services, and organizational structures, allows retailers to reward specific user behaviors. This pay for performance model allows the retailer to directly target users and target specific behaviors that enable commerce. Retailers can present users with highly targeted opportunities or pay for desired network behavior. Network behaviors may include such things as rating a product, creating a bundle of products and information, or collaboratively participating in an online experience.
Therefore, to address these and other needs, the present invention is designed to allow customers to: 1) organize and syndicate content related to their life to others in the consumer's online network and/or services that consumers use to help them personalize the management of life events; 2) share and collaborate with others in creating, organizing, and gaining insight from online content; 3) buy and sell products, services, and information based on dynamically created pricing which is tied to relevance and personal value; 4) integrate personal data stores in order to allow greater relevance of commercial opportunities and bundles of products, services, and information tied to life events; 5) participate in dynamically created online social networks containing friends/family, experts, community members, brands, and retailers organized around life events; and 6) allow consumers to create and manage multiple contexts and allow for dynamic rather than static organization and management of information and application services.
More particularly, the present invention is designed to have the ability to: 1) create specialized commercial operations or “Widgets” that can be easily re-composed to support these unique, context specific processes that are personalized to the user; 2) deploy specialized commercial operations based on a individual consumer's preference across multiple distributed touchpoints; 3) integrate understandings of the consumer across multiple data stores in order to provide high relevance; 4) create dynamic networks that allows the retailer and the retailer's agents to provide value by enabling consumer preferred problem solving and preferences; 5) integrate 3<rd>party services that comply with open standards to interoperate without prejudice; 6) personalize the bundling and pricing of information and application services into what are referred to hereinafter as “catalogs”; and 7) integrate 3<rd>party data stores on the fly in relationship to ever-changing set of lie events.
Thus, the present invention specifies three areas: 1) how information is dynamically integrated to support customized bundling of information and application services tied to together for the purposes of managing life events; 2) how services are dynamically composed to support customized commercial operations; and 3) how a dynamic marketplace is created to allow uncontrolled and open connections to catalogs of products, services, and information whereby marketplace transactions may emerge through the dynamic mapping of buyer, seller, bundle, and price.
While the foregoing generally describes the inventive online social networking system for conducting commerce, a better understanding of the objects, advantages, features, properties and relationships of the subject system will be obtained from the following detailed description and accompanying drawings which set forth illustrative embodiments which are indicative of the various ways in which the principles of the invention may be employed.
As illustrated in
As will be further appreciated by those of skill in the art, the computing devices, as well as the computing devices within the online environment, will include computer executable instructions stored on computer-readable media such as hard drives, magnetic cassettes, flash memory cards, digital videodisks, Bernoulli cartridges, nano-drives, memory sticks, and/or other read/write and/or read-only memories. These executable instructions will typically reside in program modules which may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Accordingly, those of skilled in the art will appreciate that the computing devices may be embodied in any device having the ability to execute instructions such as, by way of example, a personal computer, mainframe computer, personal-digital assistant (“PDA”), cellular telephone, gaming system, personal appliance such as television, refrigerator or the like. Furthermore, while various of the computing devices within the network illustrated in
As further illustrated in
Considering now
More particularly, as illustrated in
To handle communications with external services, including file and network access, the Widget OS provides a bottom layer which is the Service Controller. File management duties are funneled through a Platform Proxy, which is an abstraction layer between the different platforms. In this manner, for example, when a Widget requests to upload a file, the Platform Proxy will handle the distinction between a browser upload dialog versus a drag-n-drop message from the local file system. In addition, a Workspace API is used to communicate with external network services based on open APIs. Above these Proxies sits the Auth Proxy, which will be responsible for any authentication and authorization functions that should be performed prior to or immediately following service calls, permitting a higher level of control over Widget behavior, for example restricting video class Widgets to only video file formats.
The next layer in the Widget OS is the Workspace Controller, which is responsible for creating and launching Widgets. The Widget Factory takes XML from the Service Controller to build the collection of Widgets that should be started, and will register Messages with the Message Registry. The XML defines the attributes and behaviors of the Widget, including references to the (remote or embedded) HTML/JS and/or SWF code that will be used to render the Widget. The Widget Factory may also include behaviors/attributes that are defined in the Template, Adapter, and Behavior Libraries, to generate the final Widget definition. This definition will then be stored into the Widget Data Object for later reference. The Widget Data Object is thus a consolidated model of user data, widget behaviors and content and network link data that should be available to a Widget without having to go back to the Workspace. This may include, for example, a User Object, which is the local data store for information specific to a current user such as profile information (e.g., name, email, etc.), social network information (including cached credentials, if required), and other data as may be stored by and managed within the Workspace, and a Preferences Object, which is a local data store initialized for non-user-specific attributes, such as size and position attributes for a Workspace and state information for previously launched Widgets.
A Message Controller then serves as the interface layer between Widgets and the rest of the Workspace while a Message Router talks to the Communication Module within each instantiated Widget, passing Messages back and forth with other Widgets or services. In addition, a Message Registry is provides to serve as the local data store that contains a list of all currently available Messages, with associated dependencies while a Message Queue represents a transient list of Messages to be processed. In this manner, when the Message Router receives a Message, it checks the Message Registry for any related Messages that should be fired, which are then added to the Queue. The Message Router then processes each Message on the Queue that needs to be run.
Considering
By way of example only, considering a case where a user logs into a workspace to interact with a Widget, the above-described Widget OS would function as follows:
1) Login to Workspace
User inputs credentials into a Login Widget and clicks a Login/Submit button.
The data is passed from the Login Widget through the Core to the online environment server.
If valid, the server returns an XML message containing the user's profile information, the list of Widgets to display to the user, and any other data relevant to the session.
The Workspace Controller will setup the Workspace with the specified Widgets
2) Open a Widget from the Widget Toolbar
User clicks on or drags a Widget from the Widget Toolbar.
The Widget Toolbar sends a Message to the Communication Module.
The Communication Module sends a Message to the Message Router.
The Message Router passes the Message to the Workspace Controller.
The Workspace Controller sends a Message to the Widget Factory.
A Widget Shell is launched by the Widget Factory onto the Workspace.
The Widget Shell is injected with the associated XML for the Widget.
The Widget is rendered in the Workspace.
3) User Interacts with Widget
User enters text and selects a Widget control creating a publishable event.
The Widget sends a state Message to the Widget Shell.
The Widget Shell's Communication Module sends an Message through the Message Router to the Workspace Controller.
The Workspace Controller sends the Widget's state message to any Widgets that have subscribed to listen for that Message.
4) Close a Widget
User clicks the close control on a Widget.
A Message is sent to the Widget Shell Communication Module.
The Communication Module sends a Message to the Message Router.
The Message Router passes the Message to the Workspace Controller.
The Workspace Controller scans the Message registry to determine what other Widgets have subscribed to the Widget's close Message.
The Workspace Controller sends a notification to the subscribing Widgets.
The Message Router sends the close confirmation to the originating Widget Shell.
The Widget Shell runs the Widget's close function, then removes the Widget instance.
5) Close the Workspace
The user closes the Workspace via a UI button or File->Close menu action.
The Workspace controller scans the Message Registry to determine the sequence in which to send the close Messages.
All open Widgets are sent the close Message.
Each Widget runs its function to execute the close Message.
The Workspace then runs its own close function, which should save any state information to the local system and/or send to the server.
The user is logged out of the online environment.
iii) Graphs
In the present invention, the needs of the system are met by the ability to create (e.g., as illustrated in
Links between people and products, and the bundling of products and services occurs by managing a number of intersecting graphs which are maintained in a shard DB. First, there is the graph of the user which defines the user. Second, there is the context graph which describes the user's context. Third, there is the extended social graph which comprises the fused graph of all users that match the specific user within the specific context. Fourth, there is the product/service graph which is created so the context matches the context graph and the products/services connected to the fused social graph. For example, if the user's context is bass fishing, then the product/service graph also matches, to the extent possible, the bass fishing context. To manage and use these multiple graphs, the system employs fractal graphing techniques to discern data objects or schemas that overlap considering multiple variables, e.g., variables that define a given context. In this manner, the system may index and consider discerned contiguous graphs to thereby reduce the complexity of locating relevant information.
iv) Emergent Applications, Programming, and WidgetsIn the present invention the ability to create, compose and execute sets of distributed services occurs by manipulating widgets. Widgets are discrete application services that can be deployed as self-contained capabilities and integrated on 3<rd>party platforms. The ability for a retailer to provide technical services in the form of customized software applications will be paramount. By using the widget operating system, it is possible to create compositions of services as widgets and build these compositions based on specific user characteristics such as their profile, online behavior, and personal services and data requirements (e.g., my Calendar, Addressbook, etc.). Customized applications can be created by creating graphical representations of the individual widgets, the intended function or process for the application and the characteristics of the users such as illustrated in
In the present invention the ability to create an open emergent marketplace occurs by allowing uncontrolled and open connections to bundles (“catalogs”) of products, services, and information to be created and marketplace transactions to emerge through the dynamic mapping of buyer, seller, bundle and price. By way of example, as seen in
The open, emergent marketplace will support 3rd party services that perform commercial operations such as catalog presentation, product selection, product purchase and support. The open marketplace will need to allow these 3rd party services to interoperate seamlessly to support commerce. The open marketplace will support an open API to allow any 3rd party services. To insure that 3rd party services can operate fully decoupled and without interdependencies, the widget operating system allows 3rd party services to be composed into integrated composed services can be created and form a customized applications.
vi) Advertising and MerchandisingA marketplace requires the ability for products, services, and information to be offered, merchandised, and transacted. Catalogs, as noted above, are collections of products, services, and information that are dynamically created through user behavior or system recommendation. Because things can be added to a catalog by a user, a catalog creates explicit and highly weighted connections which can be leveraged to provide recommendations, social discovery, etc. The user's network can also add things to a catalog of the user if the catalogs are linked. This also creates an explicit link but less highly weighted connection. The system can thus recommend items based on graph matching in which the graph contains the weighted characteristics of other similar people and their behavioral and profile data as shown in
Each touchpoint (i.e., browser, mobile, television remote, refrigerator, Xbox) can be defined graphically as well. Each life event or life task, can be similarly graphically represented. Each individual has a similar integrated profile and context. Delivering the right product/service/information, based on the specific life event or task, to the right individual in the right context becomes a matter of fusing graphs together. Using the standard architectural approach, the system leverages processed artifacts to seed how these graphs can be fused as well as group behavior to solidify how the right touchpoint is selected for delivering the products, services, and information based on the individual context.
Each vendor's catalogs, like a user's, catalogs contain items. But since vendors do not share a common vocabulary or description logic for products it is incredibly difficult to fuse catalogs together without being able to understand the meaning of a specific product. Nevertheless, the items are related to various themes and these themes exist within a specific graph and are therefore graphically defined. Therefore, in order to merge catalogs, both catalog context graphs and individual product context graphs are processed as shown in
A group of products and services can also be cataloged together with a life event as noted above. This catalog bundles products and services to a life event by discovering a thematic connection. For example, the theme “wedding” will have an associated set of products and services. A Life Process consists of a set or sequence of themes that are actions. These actions are linked graphically together through weights. Products and services can be tied to each theme and there is strength of association for each thematic relationship.
Creating and conveying relevant opportunities to purchase to a buyer is typically seen as “advertising.” An open, emergent marketplace must allow advertisers to build new types of advertisements which consist of exciting and custom experiences that engage their brand and marketing strategies. The ability to create personal experiences or narratives that are tied to an individual's characteristics will be the ultimate custom experience. Customized experiences are created by integrating disparate elements (e.g., individual videos) using the underlying semantic graphs. Because the graphs describe the elements, provide a narrative structure, and provide the characteristics of the users, from the graphs custom experiences can be created.
Merchandising is based on the premise that by associating a product to other products and services that the likelihood of purchase increases. Thus, by fusing together graphical representations of products from multiple vendors, and by then identifying strong associations between products based on the thematic strength of relationships, the system functions to identify all things that are connected, e.g., connected to “tires,” to thereby identify vendors of these connected items.
More particularly, the system is able to deliver opportunities to more finely targeted individuals because the system is able to create a more comprehensive profile of the individual by integrating their profiles from multiple sources and understand those profiles and what those profiles say about the individual. Part of the understanding comes from the ability of understanding the individual within his or her social context. The system can also create a similar understanding of the individual products in a catalog, and across multiple vendors' catalogs by fusing together latent collections of products/services from across multiple vendor catalogs in ways that can then be tied to the integrated profile of the individual. Opportunities are leveraged to create connections between products/service bundles and groups of individuals. They can be used in two ways: 1) opportunities can represent collections of products and services and be delivered to the right individuals; or 2) groups of individuals can be identified and corresponding opportunities created. These individuals can be informed about these collections of relevant products that are tied to them through these targeted opportunities. Or, a brand manager can create an opportunity based on a specific individual's profile and then find products and services that correspond to the opportunities.
vii) Emergent Behavioral Predictions, Content and People Voyeurism, Emergent Gaming
Recommendations and connections are created by determining the individual and the individual's context, and extending the individual's graph by identifying a matching network of people who share the user and context characteristics. Based on the matched graph that establishes a broader social network that is similar to the user, connections can be made from the user to relevant products and services. For example, after matching users based upon multi-dimensional graph analysis as illustrated in
To have maximum relevance it is critical that a buyer and seller are understood within context as shown in
More particularly, recommendations and connections between individuals, products, catalogs, etc. are created by determining the individual and the individual's context, and extending the individual's graph by identifying a matching network of people who share the user and context characteristics considering explicit, implicit and/or latent networks of a particular user as shown in
Within the system trust and reputation based weights may be utilized when providing recommendations. In this regard, as illustrated in
To provide voyeurism, the system may also provide for a user to step into the shoes of another user to see what products, content, catalogs, etc. would be of interest to that user. To this end, the system may allow a user to assume the graph of a particular user and thereby be treated as the user within the system, i.e., be presented with the opportunities that person would be presented with. For example, as illustrated in
It is similarly contemplated that social network behaviors could also be used to provide emergent gaming. For example, based upon the behaviors of discerned similar users within the network, weights may be assigned to various rules, environments, etc. that are to be used during game play. Using such weights, a user can thus be provided with a gaming experience that utilizes the rules, environment, etc. that are most likely to be appealing to that user as indicated by those users having similar graphs as illustrated in
viii) Dynamic Pricing of Products, Services, and Information
As noted above, the strength of relationships between products and the individual, and the strength of products to each other, based on context, provides a weight. The weight can be used as a factor in determining pricing of products, services, and information that will be provided to a user. Thus, a graph consisting of a fishing pole, reel, and fishing line, would suggest a higher price for the bundle or a higher price for an individual item if the other two items have been purchased. A product/service that is less strongly related may require a lower price.
viv) Example of System as Used to Conduct Commerce
Generally speaking, in use the system provides technology with which vendors may bundle product and service offerings together, i.e., as mash-ups, to present commercial opportunities to consumers in an unobtrusive and targeted manner. A fundamental concept underlying various embodiments is the idea of applying a social mash-up to the commercial context, and relying upon links and relationships between people, products, services and content in general, as opposed to the traditional two-party, consumer-vendor relationship we have grown accustomed to seeing.
As discussed above, the subject system serves as a platform for exchanging information and transacting business between a plurality of consumers and a plurality of vendors. In particular, this is achieved, as illustrated in
The database 280 functions to store a plurality of data items. Data items are extracted during a pre-processing of artifacts from the data store. By way of example,
As additionally illustrated in
Database 280 not only stores the artifacts themselves, but also stores the data items structural relationship with the artifacts, the semantic relationships between data items, associations between the data items and user characteristics, associations between data items and contextual data defined by user behavior and session specific user provided data, and links, associations, and/or relationships between the artifacts. Furthermore, rather than simply storing and accessing these artifacts individually, the system 200 works with sets computed based on similarity or interrelatedness (i.e., by using fractals) and stores these sets as indexes in a multidimensional format in the database. Thus, by way of example only, the database may store data such as:
1. Node (1/2)—contains the following tables and is oriented around the main aspects of recording the nodes of the graph, or related tables that must be replicated.
-
- a. Artifact
- b. Control
- c. NodeMaster
- d. SimilarTo
- e. Stemming
2. Concept (1/2)—contains all Concept tables and ArcTheme and is oriented around returning the base concept node data.
3. Context (1)—contains ConceptBehavior
4. Context (2)—contains CatConcept
5. Arc (1/2)—contains Instance and TagInstance and is oriented around the Arcs from Widgets, which are, unlike standard TEC arcs, explicitly stated.
6. Widget (1/2)—contains all the widget Generic DB tables
7. ComCtl—contains all supporting tables that are not replicated, including: Parse, NodeInstance, Globals, CacheTables, User Seeding.
8. Batch—contains all batch server tables, and is not replicated. Note that the API Log table does have a file system backup generated.
Moreover, database 280 is not restricted to any specific type of data, but rather is operable to store a number of diverse types of artifacts.
Within the present system, the catalogs 305 are of particular significance, because they are one primary vehicle by which consumers 210 and vendors 220 are able to customize their experience within the system 200. In essence, a catalog 305 is a collection of one or more other artifacts, which may include other catalogs. For example, one user may have created a cooking catalog that includes some of the user's favorite foods, recipes, and cooking appliances. However, the catalog may also include people 335, such as famous chefs of whom the user is a fan. The catalog may also include another catalog, such as one created by one of the celebrity chefs. The catalog may also include a widget 310, such as a “purchase” widget that allows other consumers 210 to purchase one or more of the items in the user's catalog.
The inclusion of selected artifacts into a catalog 305 may be implemented by way of links from the catalog 305 to the selected artifacts. In situations where a dynamic item, such as a group 325, a user profile 350, 355, or another catalog 305 is included in a user's catalog, a change made in the dynamic item may thus be reflected through to the user's catalog. In some situations, however, a user may not be interested in changes to dynamic items, but rather the user may prefer to preserve the present state of such item. Thus, in one embodiment, a user also has the option of “pinning” a dynamic item into the user's catalog, such that a static “snapshot” of the dynamic item is placed into the catalog, rather than a link to the dynamic data.
As discussed above, system 200 organizes the artifacts based on relationships and links. For example, users can link to each other and form groups 325. Users can also links to other artifacts by way of catalogs 305. In addition, some links between artifacts may be contextual. For example, a product artifact 340, such as one corresponding to a particular model of car may in turn be linked to information artifacts 315 including product reviews and information about the manufacturer, media artifacts 320 such as demonstrative videos, vendor profiles 355 of car dealers selling the subject car, commercial opportunities 330 involving the subject car, etc. Indeed, as discussed below, various embodiments present artifacts to the user in a manner that highlights such connections.
a) Exemplary Consumer ExperienceAs an initial matter, in order to gain access to many of the components of the consumer module 210, as well as to fully benefit from the features of system 200, a user may establish a user account and corresponding user profile. To that end, consumer module 210 includes a profile manager 430, which allows the user to create and manage the user's profile. A user profile may include, but is not limited to, information such as the user's contact information, users demographic information, as well as other information unique to the user, such as the user's interests, hobbies, education, languages spoken, etc. The information in the users profile may then be used to help define the users context—a concept which is discussed in greater detail below.
The consumer module 210 also includes a message center 410, through which a user is able to send and receive e-mails and instant messages to and from other consumers 10 and vendors 20. The consumer module 210 also includes a catalog manager 440 for creating, organizing and managing the user's catalogs.
The consumer module 210 further includes a virtual funds manager 450 for managing virtual funds associated with the user's account (discussed in greater detail below), and a connections manager 470 for managing the user's connections, separate and apart from catalogs, to other artifacts in the database 280. In addition to the various data items already present in the database 280, users are able to provide their own content, such as products or services they wish to sell, digital media they wish to share, or commercial opportunities they wish to present. To this end, the consumer module 210 also includes a content manager 460, which allows users to add their own personal content to the database 280 and subsequently manage it.
In addition to accessing the other components of the consumer module 210, a user is also able to access information contained in the database 280 through the consumer interface 420.
In various embodiments, artifacts that are considered more relevant to the current context are displayed more prominently than those artifacts that are considered less relevant. In the illustrated embodiment, the “Sears Wish Book 2008” (a catalog) is considered most relevant to the context therein and is thus displayed in a prominent position (e.g., the center of the screen), in a relative size that is larger than the surrounding other artifacts. Among other options, the user may choose to “View details,” in which case the consumer interface 420 may invoke a viewer widget (specifically, a catalog viewer widget) by way of the widget server 240 and display the Sears Wish Book 2008 catalog, in one embodiment, as shown in
Another important feature of various embodiments of the present invention is an intelligent search engine 230. Search engine 230 is considered intelligent in that, in one embodiment, it does not simply take a search term in isolation and return the most applicable result. Rather, when conducting a search, the search engine 230 also considers the context in which the search is made. In various embodiments, the “context” may include information specific to the user conducting the search, such as certain information obtained from the user's profile. For example, if a user indicates in his profile that he is an avid flyfisherman, and the user searches for “fishing,” data items specifically relating to flyfishing, as determined using graph fusing techniques, are more likely to be relevant to the user and data items relating to ice fishing. The context may also include the user's browsing habits, such as recent browsing history or past searches. For instance, if a user has been viewing several data items relating specifically to flyfishing, and then the user searches for “fishing,” data items relating to flyfishing are again determined to be more likely relevant to the user. Similarly, if the user had conducted similar searches in the past and tended to choose search results that related to flyfishing, even though the user may have only searched for “fishing,” then the search engine 230, considering the context and graphs, will determine that data items relating to flyfishing have greater relevance to the current search. The “context,” as discussed above, may be implemented as user-specific heuristics. The context may also include external factors, which may include, but are not limited to, time of day, time of year, market conditions, location, weather, etc. For example, if a user searches for “fishing” in the month of December, data items relating to ice fishing are likely to be more relevant than those relating to flyfishing.
In the present example, notwithstanding the fact that the search engine 230 considered the Electronics GURU to be the most relevant search results, the user may nonetheless be looking for a particular digital camera, as illustrated in
While traversing search results or artifacts in general, the user is provided with the ability to quickly add any artifact to a current or new catalog. As shown in
As with the consumer side of the system 200, a vendor may establish a vendor account. The vendor can then access the other components of the vendor module 220. The vendor module 220 includes a message center 510, similar to the consumer's message center 410, through which a vendor is able to send and receive e-mails and instant messages to and from consumers 10 and other vendors 20.
The vendor module 220 also includes an opportunity manager 550, which allows the vendor 20 to create and manage commercial opportunities, e.g., advertisements, as discussed above. Opportunities may range in purpose from offering a sale price to a consumer 10 on a particular product or service to offering an incentive for a consumer 10 to participate in a survey, provide a product review, or the like. Additionally provided is a group manager 530, such as the one illustrated in
The vendor module 220 also includes a campaign manager 540, which allows the vendor 20 to define and manage a number of promotional campaigns. Campaigns describe what the vendor 20 wants to accomplish with the opportunities it has created. One important benefit of the campaigns and the campaign manager 540 of the present system is that the vendor 20 does not need to conduct substantial market research in order to be able to spell out how and when opportunities that are part of the campaign should be presented. Consider the example of a consumer 10 who needs to buy a new car. In many cases, the consumer 10 may first settle on a budget for the car, in which case the consumer 10 will likely want to seek preapproval for an auto loan. The consumer may then consult a number of consumer reports and product reviews to narrow down the car models from which to choose. The consumer 10 may then want to find out which nearby car dealerships have one or more of these models in stock to test drive and ultimately purchase. After the purchase, the consumer may also need to take out a new car insurance policy.
At every step of the process just described, one or more vendors 20 may want to present one or more opportunities. However, it will be appreciated that certain opportunities are more appropriate in certain contexts than they are in others. While the above car purchase example is somewhat simplistic, it will also be appreciated that other campaigns are far more complex and would ordinarily require far more market research in order to appropriately present an opportunity. In various embodiments of the present invention, however, such extensive market research and specification of campaign details is not necessary. This is because system 200 is already equipped to analyze and consider the consumer graph, including the context in which a given consumer 10 is browsing, and can therefore deliver opportunities accordingly. Additionally system 200 can track how consumers 10 react to certain opportunities presented in certain contexts and adjust, through use of one or more agents, its implementation of a vendor's campaign accordingly.
The vendor module 220 also includes a virtual funds manager 560 for managing virtual funds associated with the user's account. The virtual funds manager 560 is discussed in greater detail in the following section.
c) Example of MonetizationA host of a system according to an embodiment may collect, and occasionally even redistribute, royalties in response to certain events. These events may be, for example, a user purchasing a good or service through the system, a user viewing an opportunity, or the like. While the following discussion may at times only refer to the purchase of a good or service, it will be appreciated that any other royalty-triggering event is equally applicable. For the purposes of this discussion, the party being charged the royalty shall be considered the vendor. In order to facilitate the charging and distribution of royalties without having to be constantly crediting and debiting actual bank accounts, user accounts may include virtual funds accounts which can be accessed and managed via virtual funds managers 450 and 560. Virtual funds may be purchased, transferred from user to user, and ultimately redeemed for goods, services, and/or cash equivalents. The dollar-to-virtual-fund exchange rate need not necessarily be 1:1. Instead, it may be desirable to have an exchange rate of, for example, 10 virtual dollars for every one actual dollar (10 virtual cents for each actual sent). Such an exchange rate thereby allows for the transfer of “micro payments” (i.e., payments of less than a penny), which may be insignificant in and of themselves, but which may add up significantly in the aggregate.
Upon the occurrence of a royalty-triggering event, the royalty module 270 of system 200 determines a corresponding base royalty for the event. This base royalty may then be increased or reduced based on a number of factors. As discussed above, various embodiments may provide a graphical representation of a plurality of artifacts, where the artifacts are organized within the graphical representation based on relevance. To that end, each of the artifacts displayed at any one time may be assigned a corresponding relevance score or weight, as noted above, to the current context. If the royalty-triggering event relates to one of the displayed artifacts, the royalty may be weighted based on the relevance score. For example, if a user searches for “football,” the search results may include a football, which may have a relevance score of 99%, and a football jersey, which may only have a relevance score of 80%. In this example, the royalty for a purchase of the football may be reduced by a factor of 0.99, while a purchase of the Jersey may be reduced by a factor of 0.80.
Another factor based upon which royalties may be adjusted is the number of “hops” or “degrees of separation” between the royalty-triggering artifact or node and the original context. This concept is illustrated in
In addition to charging a vendor a royalty, a portion of the royalty charged may in turn be paid to various users of the system, thereby encouraging full participation in the system by the users. Referring again to
Another factor by which royalties paid may be adjusted is the link strength between the user and the royalty-triggering artifact. In one embodiment, each link between two artifacts has an associated link strength as described an illustrated previously. As shown in
With reference to
Blocks 610-630 illustrate steps for a creating a user profile. It should be appreciated that these operations need only be performed once. At block 610, a request to create a new user profile is received, and a new user profile is then created in response to the request (block 615). Once a user profile is created, additional details relating to the user may be requested (block 620). These additional details may include, but are not limited to, additional contact information of the user, the user's demographic information, and the user's interests. Once such additional details are received (block 625), the new user profile is subsequently populated with the details (block 630).
At block 635, a graphical representation of a plurality of data items is provided. In one embodiment, this may be achieved substantially in the manner shown in
In addition to traversing and viewing the data items, the user is also able to perform a search 650. It should be appreciated that the search 650 may be achieved in a number of ways. For example,
A user also has the ability to purchase a good or service (block 655). As discussed above, a purchase of a good or service, in addition to other types of events, may be a royalty-triggering event, where a vendor is charged a royalty and, in some cases, other users are given portions of the royalty.
With reference again to
Some data items, such as products or other general information data items, may be relatively static in that their content changes little, if at all. On the other hand, some data items such as catalogs and users, which may include one or more other nested items therein, have a much more dynamic content. Thus, if a user indicates that a first catalog should be included in a second catalog, the user has the option of “pinning” (block 1150) the first catalog into the second catalog so as to fix the contents of the first catalog from the perspective of the second catalog. Thus, if the first catalog is pinned, a static copy of its contents are made in the second catalog (block 1155). If the first catalog is not pinned, a dynamic link to the first catalog is created in the second catalog so that any subsequent changes to the first catalog are reflected in the second catalog (1160). Similar operations may be performed relative to the inclusion of a user in a catalog, depending on whether the user is pinned (blocks 1135-1145). Otherwise, data items added to a catalog are typically added by linking the indicated data item to the catalog (block 1165).
Thus, various embodiments provide a social commerce network that is able to analyze a user's behavior and profile so as to provide a more contextually relevant browsing experience. The more a particular user accesses a system according to an embodiment, the more the system is able to learn about how the user approaches browsing. The net result is that the system is able to predict with increasing accuracy what data the user will likely find relevant, and the system is able to do this on a user-by-user basis.
In addition to the built-in intelligence, embodiments provide a mechanism for substantially all users of the system—not just traditional vendors—to receive “monetary” benefits for their participation in the system and more particularly for their participation in the community and social networking aspects of the system.
While specific embodiments of the invention have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of this disclosure. Accordingly, the particular embodiments disclosed are meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.
Claims
1. A computer-implemented method for allocating royalties to vendors, comprising:
- providing a database of data items including a first data item and a second data item, the second data item having a particular vendor and a particular product or service associated therewith, and the first and second data items being connected to each other through a number of links;
- providing a graphical representation of a plurality of the data items including the first data item but not including the second data item;
- enabling access to the second data item via the first data item and the links;
- facilitating a purchase of the particular good or service; and
- charging the particular vendor a royalty that is based at least in part on the number of links connecting the first data item to the second data item.
2. The method as recited in claim 1 wherein the particular vendor is a second vendor and the first data item has a first vendor associated therewith, the method further comprising:
- paying the first vendor a portion of the royalty charged to the second vendor based at least in part on the number of links separating the first data item and the second data item.
3. The method as recited in claim 2 wherein each of the links have associated link strengths, and wherein further the royalty is also based at least in part of the associated link strengths of the links between the first data item and the second data item.
4. A computer-readable medium having computer-executable instructions stored thereon for causing a computer to perform a method for allocating royalties to vendors, the method comprising:
- providing a database of data items including a first data item and a second data item, second data item having a particular vendor and a particular product or service associated therewith, and the first and second data items being connected to each other through a number links;
- providing a graphical representation of a plurality of the data items including the first data item but not including the second data item;
- enabling access to the second data item via the first data item and the links;
- facilitating a purchase of the particular good or service; and
- charging the particular vendor a royalty that is based at least in part on the number of links connecting the first data item to the second data item.
5. The computer readable medium as recited in claim 4 wherein the particular vendor is a second vendor and the first data item has a first vendor associated therewith, and wherein the method further comprises:
- paying the first vendor a portion of the royalty charged to the second vendor based at least in part on the number of links separating the first data item and the second data item.
6. The computer readable medium as recited in claim 5 wherein each of the links have associated link strengths, and wherein further the royalty is also based at least in part of the associated link strengths of the links between the first data item and the second data item.
7-13. (canceled)
Type: Application
Filed: Sep 10, 2019
Publication Date: Feb 20, 2020
Inventors: Eric Thomas Hillerbrand (Wilmette, IL), Kelly Joseph Wical (Arlington Heights, IL)
Application Number: 16/566,424