US20150199437A1 - Systems and methods for matching a user to social data - Google Patents
Systems and methods for matching a user to social data Download PDFInfo
- Publication number
- US20150199437A1 US20150199437A1 US14/155,032 US201414155032A US2015199437A1 US 20150199437 A1 US20150199437 A1 US 20150199437A1 US 201414155032 A US201414155032 A US 201414155032A US 2015199437 A1 US2015199437 A1 US 2015199437A1
- Authority
- US
- United States
- Prior art keywords
- social network
- access
- social
- user
- entry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000000694 effects Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 description 18
- 230000015654 memory Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G06F17/30867—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
Definitions
- This application relates to data processing.
- example embodiments may relate to systems and methods for matching social data to a user of a network-based content publisher.
- Websites often provide a social sharing feature in the form of a share widget for content hosted by the website. These share widgets enable users to quickly share content with members of their social network using multiple social network services (e.g., Facebook®, Twitter®, Pinterest®, or the like). Although such functionality may provide users with a link between the website's services and the social network services, the websites themselves are often unable to ascertain which of their users correspond to the social network profiles used to publish content from the websites.
- social network services e.g., Facebook®, Twitter®, Pinterest®, or the like.
- FIG. 1 is a network diagram depicting a network system having a client-server architecture configured for exchanging data over a network with a content publisher, according to an example embodiment.
- FIG. 2 is an interaction diagram depicting example exchanges between a client device, an application server, and a third party server, consistent with some embodiments.
- FIG. 3A is an interface diagram illustrating a portion of a web page hosted by the content publisher, consistent with some embodiments.
- FIG. 3B is an interface diagram illustrating a set of social network entries published on a social network, which may be hosted by the third party server of FIG. 2 , consistent with some embodiments.
- FIG. 4 is a flowchart illustrating a method for matching a user of the content publisher with social data, consistent with some embodiments.
- FIG. 5 is a flowchart illustrating a method for determining that a social network profile that corresponds to a user of the content publisher, consistent with some embodiments.
- FIG. 6 is a flowchart illustrating another method for determining that a social network profile that corresponds to a user of the content publisher, consistent with some other embodiments.
- FIG. 7 is a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
- the method may include scanning social network entries (e.g., posts, status updates, tweets, pins, etc.) to identify social network entries that include a uniform resource locator (URL) referencing content hosted by the network-based content publisher.
- a social network profile corresponding to each entry e.g., an author or original poster
- the method may further include matching the identified social network profiles to users of the network-based content publisher based on information included in the URL shared in each social network entry.
- the network-based content publisher may then provide each matched user with personalization services (e.g., personalized recommendations or search results) using information retrieved from each user's corresponding social network profile.
- FIG. 1 is a network diagram depicting a network system 100 , according to one embodiment, having a client-server architecture configured for exchanging data over a network.
- the network system 100 may include a network-based content publisher 102 in communication with a client device 106 and third party server 114 .
- the network-based content publisher 102 may be a network-based marketplace.
- the network-based content publisher 102 may communicate and exchange data within the network system 100 that may pertain to various functions and aspects associated with the network system 100 and its users.
- the network-based content publisher 102 may provide server-side functionality, via a network 104 (e.g., the Internet), to one or more client devices (e.g., client device 106 ).
- the one or more client devices may be operated by users that use the network system 100 to exchange data over a network 104 . These transactions may include transmitting, receiving (communicating), and processing data to, from, and regarding content and users of the network system 100 .
- the data may include, but are not limited to: images; video or audio content; user preferences; product and service feedback, advice, and reviews; product, service, manufacturer, and vendor recommendations and identifiers; product and service listings associated with buyers and sellers; product and service advertisements; auction bids; transaction data; and social data, among other things.
- the data exchanged within the network system 100 may be dependent upon user-selected functions available through one or more client or user interfaces (UIs).
- the UIs may be associated with a client device, such as the client device 106 using web client 108 .
- the web client 108 may be in communication with the network-based content publisher 102 via a web server 118 .
- the UIs may also be associated with one or more applications 110 executing on the client device 106 , such as a client application designed for interacting with the network-based content publisher 102 , or a third party server 114 (e.g., one or more servers or client devices) hosting a third party application 116 .
- a third party server 114 e.g., one or more servers or client devices
- the client device 106 may be any of a variety of types of devices.
- the client device 106 may a mobile device such as an iPhone® or other mobile device running the iOS® operating system, the Android® operating system, a BlackBerry® operating system, the Microsoft® Windows® Phone operating system, Symbian® OS, or webOS®.
- the client device 106 may alternatively be a tablet computer, such as an iPad® or other tablet computer, running one of the aforementioned operating systems.
- the client device 106 may also be a personal digital assistant (PDA), a personal navigation device (PND), a handheld computer, a desktop computer, a laptop or netbook, a set-top box (STB) such as provided by cable or satellite content providers, a wearable computing device such as glasses or a wristwatch, a multimedia device embedded in an automobile, a Global Positioning System (GPS) device, a data enabled book reader, or a video game system console such as the Nintendo WHO, the Microsoft Xbox 360®, the Sony PlayStation 3®, or other video game system consoles.
- PDA personal digital assistant
- PND personal navigation device
- STB set-top box
- STB set-top box
- STB set-top box
- a wearable computing device such as glasses or a wristwatch
- a multimedia device embedded in an automobile such as a Global Positioning System (GPS) device, a data enabled book reader, or a video game system console
- GPS Global Positioning System
- video game system console such as the Nintendo WHO, the Microsoft Xbox 360
- the client device 106 may interface via a connection 112 with the communication network 104 (e.g., the Internet or wide area network (WAN)).
- the communication network 104 e.g., the Internet or wide area network (WAN)
- the connection 112 may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile communications (GSM) connection, or other type of cellular connection.
- CDMA Code Division Multiple Access
- GSM Global System for Mobile communications
- connection 112 may implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (1xRTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, or other data transfer technology (e.g., fourth generation wireless, 4G networks).
- the communication network 104 may include a cellular network that has a plurality of cell sites of overlapping geographic coverage interconnected by cellular telephone exchanges. These cellular telephone exchanges may be coupled to a network backbone (e.g., the public switched telephone network (PSTN), a packet-switched data network, or other types of networks).
- PSTN public switched telephone network
- packet-switched data network or other types of networks.
- connection 112 may be Wireless Fidelity (Wi-Fi, IEEE 802.11x type) connection, a Worldwide Interoperability for Microwave Access (WiMAX) connection, or another type of wireless data connection.
- the communication network 104 may include one or more wireless access points coupled to a local area network (LAN), a WAN, the Internet, or other packet-switched data network.
- the connection 112 may be a wired connection, for example an Ethernet link, and the communication network 104 may be a LAN, a WAN, the Internet, or other packet-switched data network. Accordingly, a variety of different configurations are expressly contemplated.
- FIG. 1 also illustrates the third party application 116 executing on the third party server 114 that may offer one or more services to users of the client device 106 .
- the third party application 116 may have programmatic access to the network-based content publisher 102 via the programmatic interface provided by an application program interface (API) server 120 .
- API application program interface
- the third party application 116 may be associated with any organization that may conduct transactions with or provide services to the users of the client device 106 .
- the third party application 116 may be associated with a network based social network service (e.g., Facebook®, Twitter®, Google +®, Pinterest®, LinkedIn®, or the like) that may provide a platform for members to build and maintain social networks and relations among other members.
- the social network service may allow members to share ideas, pictures, posts, activities, events, and interests with other members of the social network.
- a social network service may provide a representation of each member in the form of a social network profile.
- the social network profile of each member may contain information about the member (hereinafter referred to as “social data”) such as demographic information (e.g., gender, age, etc.), geographic information (e.g., a user's hometown, a user's current location, etc.), interests, and social network connections of the members.
- social data information about the member
- a social network “connection,” also referred to as being “connected” on a social network may include situations in which there is a reciprocal agreement between members of the social network to be linked on the social network, as well as situations in which there is only a singular acknowledgement of the “connection” without further action being taken by the other member.
- both members of the “connection” acknowledge the establishment of the connection (e.g., friends).
- a member may elect to “follow” or “watch” another member.
- the concept of “following” another member typically is a unilateral operation because it may not call for acknowledgement or approval by the member that is being followed.
- the API server 120 and the web server 118 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 122 .
- the application server 122 may, for example, host one or more applications, which may provide a number of content publishing and viewing functions and services to users that access the network-based content publisher 102 .
- the application server 122 may further host a plurality of user accounts for users of the network-based content publisher 102 , which may be stored in the database 132 . Users of the network-based content publisher 102 without a user account may be assigned a globally unique identifier (GUID) so that such users may, nonetheless, be uniquely identified by the network-based content publisher 102 .
- GUID globally unique identifier
- the application server 122 may host a social data matching applications 124 , which may match social data from one or more social networks with a plurality of users of the network-based content publisher 102 .
- the social data matching applications 124 may include a social media analysis module 126 and a data matching module 128 .
- the modules of the social data matching application 124 may be hosted on dedicated or shared server machines that are communicatively coupled to enable communications between server machines.
- the social media analysis module 126 and the data matching module 128 are communicatively coupled (e.g., via appropriate interfaces) to each other and to various data sources, so as to allow information to be passed between each of the modules 126 and 128 or so as to allow the modules 126 and 128 to share and access common data.
- the social media analysis modules 126 may be configured to monitor, retrieve, and analyze social network activity published on one or more social networks.
- social network activity collectively refers to entries (e.g., text and image posts, links, messages, notes, invitations, etc.) created and shared by members of a social network with other members of the social network.
- Such social network activity may include entries that are intended for the public at large as well as entries intended for a particular social network connection or group of social network connections.
- the social network activity may include entries such as an activity feed post, a wall post, a status update, a tweet, a pinup, a like, a content share (e.g., content shared from a source such as the network-based content publisher 102 ), or a check-in.
- a “check-in” refers to a service provided by a social network that allows users to “check-in” to a physical or virtual space and share their location or activity with other users of the social network. Check-ins may be active (e.g., a user may actively check-in at a location) or passive (the social network service may detect that a user is at a location and automatically check the user in).
- users may actively check-in to a specific physical or virtual location by using a mobile application provided by the social network on a client device (e.g., client device 106 ).
- the social network mobile application may use the GPS functionality of the client device to find the current location of the user and allow the user to share this information with other users of the social network.
- the social media analysis module 126 may obtain social network activity via publically accessible APIs provided by each social network service.
- the social media analysis modules 126 may be configured to scan one or more social networks to identify social network entries that include content originating from the network-based content publisher 102 .
- the social media analysis modules 126 may identify social network entries that include a URL referencing content (e.g., a web page) hosted by the network-based content publisher 102 .
- the social media analysis module 126 may identify a social network profile from which the entry originated (e.g., an author or original poster).
- the social media analysis module 126 may further identify a timestamp corresponding to a time at which the social network entry was posted (hereinafter referred to as “posting time”).
- the data matching module 128 may be configured to match the social network profile of each social network entry identified by the social media analysis module 126 as including content from the network-based content publisher 102 with a user of the network-based content publisher 102 .
- the users of the network based content publisher 102 may include users having a user account provided by the network-based content publisher 102 as well as users without a user account (e.g., users identified solely by a corresponding GUID).
- the data matching module 128 may retrieve social data from the social network profile determined to correspond to the user, and the data matching module 128 may further associate such social data with the user (e.g., the social data may be stored as part of the user account or stored as a record linked to a corresponding GUID).
- the retrieved social data may be used by the network based content publisher 102 to provide personalized services to the user such as personalized search results, recommendations, and advertising.
- the application servers 122 may be coupled via the API server 120 and the web server 118 to the communication network 104 , for example, via wired or wireless interfaces.
- the application servers 122 are, in turn, shown to be coupled to a database server 130 that facilitates access to the database 132 .
- the application servers 122 can access the database 132 directly without the need for a database server 130 .
- the database 132 may include multiple databases that may be internal or external to the network-based content publisher 102 .
- the database 132 may store data pertaining to various functions and aspects associated with the network system 100 and its users. For example, user accounts for users of the network based content publisher 102 may be stored and maintained in the database 132 . Each user account may comprise user data that describes aspects of a particular user.
- the user data may include demographic data, user preferences, and financial information.
- the demographic data may, for example, include information describing one or more characteristics of a user. Demographic data may, for example, include gender, age, location information, employment history, education history, contact information, familial relations, or user interests.
- the financial information may, for example, include private financial information of the user such as account number, credential, password, device identifier, user name, phone number, credit card information, bank information, transaction history, or other financial information that may be used to facilitate online transactions by the user.
- the transaction history may include information related to transactions for items or services (collectively referred to as “products”) that may be offered for sale by merchants using marketplace services provided by the network based content publisher 102 .
- the transaction history information may, for example, include a description of a product purchased by the user, an identifier of the product, a category to which the product belongs, a purchase price, a quantity, or a number of bids.
- the user data may also include a record of user activity, consistent with some embodiments.
- the network-based content publisher 102 may monitor, track, and record the activities and interactions of a user, using one or more devices (e.g., client device 106 ), with the various modules of the network system 100 .
- Each user session may be stored in the database 132 as part of an activity log, and each user session may also be maintained as part of the user data.
- the user data may include past keyword searches that users have performed, web pages viewed by each user, products added to a user wish list or watch list, products added to an electronic shopping cart, and products that the users own. User preferences may be inferred from the user activity.
- the database 132 may further include an access log that may include a record of accesses to particular resources (e.g., a web page or other content) of the network-based content publisher 102 .
- the access log may include an access time for each respective access of a resource and may further include a record of the user that accessed each resource at each respective access time.
- Users may be identified by a corresponding user account or by other unique numerical identifiers (e.g., a GUID).
- the social data matching application 124 is shown in FIG. 1 to form part of the network-based content publisher 102 , it will be appreciated that, in alternative embodiments, the social data matching application 124 may form part of a service that is separate and distinct from the network-based content publisher 102 .
- the system 100 shown in FIG. 1 employs client-server architecture, the present inventive subject matter is, of course, not limited to such an architecture, and could equally well find application in an event-driven, distributed, or peer-to-peer architecture system, for example.
- the various functional components of the application servers 122 may also be implemented as standalone systems or software programs, which do not necessarily have networking capabilities. It shall be appreciated that although the various functional components of the system 100 are discussed in the singular sense, multiple instances of one of more of the various functional components may be employed.
- FIG. 2 is an interaction diagram depicting example exchanges between a client device, an application server, and a third party server, consistent with some embodiments.
- FIG. 2 depicts example exchanges between the client device 106 , the application server 122 of the network-based content publisher 102 , and the third party server 114 corresponding to a social network service.
- the application server 122 may receive a user request to share content from the client device 106 .
- the request may be generated in response to a user selection of a particular social network icon provided as part of a share widget embedded in a web page hosted by the network based content publisher.
- FIG. 1 is an interaction diagram depicting example exchanges between a client device, an application server, and a third party server, consistent with some embodiments.
- FIG. 2 depicts example exchanges between the client device 106 , the application server 122 of the network-based content publisher 102 , and the third party server 114 corresponding to a social network service.
- the application server 122 may receive a user request to
- FIG. 3A is an interface diagram illustrating a portion of a web page 300 hosted by the network-based content publisher 102 , consistent with some embodiments.
- the web page 300 includes content related to a marketplace listing.
- the web page 300 includes a share widget 302 comprising icons 304 - 310 , each of which corresponds to a particular social network service (e.g., Google +®, Facebook®, Twitter®, and Pinterest®).
- the share widget 302 may be used by a user of the network-based content publisher 102 to share the web page 300 with members of a social network.
- the particular social network service to be utilized in sharing the web page 300 depends on the selection of the icons 304 - 310 . Selection of one of the icons 304 - 310 results in the generation of the user request to share content, which is transmitted to the application server 122 .
- the application server 122 may generate a URL referencing the location of the web page 300 .
- the URL generated by the application server 122 may include additional information such as an identifier of a user operating the client device 106 .
- the network-based content publisher 102 may provide services to users that have a user account as well as users that do not. Upon initiating an interaction with the network-based content publisher 102 , users may be prompted to log in to an existing user accounts.
- the application server 122 may generate a specialized URL (e.g., a “roverized” or “universal” URL) that includes an identifier of the user account of the user.
- the URL may include an identifier of an item (e.g., product or service) offered for sale in a listing hosted by the network-based content publisher 102 .
- the URL generated by the application server 122 may include a reference to the GUID identifying the user that may have been previously assigned to the user during a previous data exchange session.
- a record of each generated URL may be maintained in an activity log stored in the database 132 and may include a time at which the URL was generated.
- Each record may be linked to a user account or GUID corresponding to the user requesting the sharing of the content.
- the application server 122 may, subsequent to the generation of the URL, facilitate the sharing of the content (e.g., the web page 300 ).
- the facilitating of the sharing of the content may include automatically generating at least a portion of a social network entry that includes the URL (referred to as the “subject entry”).
- the application server 122 may then communicate with the social network service hosted by the third party server 114 to provide an interface to the user of the client device 106 , which enables the user to sign in to a social network profile provided by the social network service.
- the user may be able to edit the subject entry or provide additional comments before the subject entry is ultimately published by the social network service. Once the user indicates approval of the subject entry, the subject entry is published by the social network service.
- the application server 122 may scan social network entries on the social network service and retrieve entries with URLs referencing content (e.g., web pages) of the network based content publisher 102 . Such operations may be performed routinely by the application server 122 and not necessarily in connection with the publishing of the subject entry discussed above.
- An example of social network entries retrieved by the application server are illustrated in FIG. 3B .
- the application server 122 may identify the subject entry from the retrieved social network entries.
- FIG. 3B is an interface diagram illustrating a set of social network entries 300 published on the social network, which may be hosted by the third party server 114 , consistent with some embodiments.
- the set of social network entries 300 may include subject entry 322 published on behalf of a social network profile 324 as well as social network entries 326 and 328 corresponding to various other social network profiles.
- the subject entry 322 may include a link 330 referencing the location of the web page 300 (e.g., the URL generated by the application server 122 in response to the user request to share the web page 300 ). Consistent with some embodiments, the subject entry 322 may include multiple instances of the link 330 .
- the link 330 when activated, may cause a browser executing on the client device 106 to be redirected to the web page 300 .
- the subject entry 322 may also include a timestamp 332 , which indicates the posting time of the subject entry 322 .
- the application server 122 may identify the social network profile 324 as the social network profile corresponding to the subject entry 322 .
- the application server 122 may then determine that the social network profile 324 corresponds to the user for which the URL included in the subject entry 322 was generated. In some embodiments, this determination is based on information contained in the URL (e.g., an identifier of user account of the user). In some other embodiments, the determination may be based on a comparison of the timestamp 332 with the access time of the web page 300 by the user. In still other embodiments, the determination may be based on a comparison of the timestamp 322 with the generation time of the URL.
- the application server may retrieve social data included as part of the social network profile 322 and associate such social data with the user.
- the associating of the social data may comprise linking the social data to a record of the user (e.g., the user account or a GUID identifying the user).
- the application server 122 may then use the retrieved social data to provide personalized services (e.g., search results, recommendations, etc.) to the user upon subsequent interactions with the client device 106 or other devices operated by the user.
- FIG. 4 is a flowchart illustrating a method 400 for matching a user of the content publisher with social data, consistent with some embodiments.
- the method 400 may be embodied in computer-readable instructions for execution by one or more processors such that the steps of the method 400 may be performed in part or in whole by the application server 122 , and in particular, the modules comprising the social data matching application 124 .
- the social media analysis module 126 may access a plurality of social network entries that have been published to one or more social networks using one or more social network services (e.g., hosted by third party server 114 ).
- the social media analysis module 126 may obtain the plurality of social network entries directly from the social network services via a publically accessible API provided by the one or more social network services.
- the social media analysis module 126 may retrieve the plurality of social network entries from a repository of previously retrieved social network entries (e.g., database 132 ).
- the social network entries may be periodically (e.g., daily) retrieved and stored (e.g., in database 132 ) for subsequent analysis by the social media analysis module 126 .
- the social media analysis module 126 may identify a set of social network entries from the plurality of social network entries that each include a URL referencing content published by the network-based content publisher 102 .
- the identifying of the set of social network entries including a URL referencing content published by the network-based content publisher 102 may comprise analyzing text included in the social network entries to identify URLs having a host (e.g., domain name or literal internet protocol (IP) address) corresponding to the network-based content publisher 102 (e.g., all URLs from ebay.com).
- IP internet protocol
- the social media analysis module 126 may invoke functionality of a third party service to identify the set of social network entries including a URL referencing content published by the network-based content publisher 102 .
- the social media analysis module 126 may identify a social network profile corresponding to a first social network entry (e.g., social network entry 322 ) of the set of social network entries.
- the social network profile corresponding to the first social network entry may be the social network profile of a member who initiated the publishing of the first social network entry (e.g., an author).
- the social media analysis module 126 may analyze the first social network to determine that the identified social network profile is the original poster of the content. More specifically, the social media analysis module 126 may ensure that the first social network entry is not a re-post of content posted by another user.
- the data matching module 128 may determine that the social network profile identified in operation 415 corresponds to a particular user of the network-based content publisher 102 .
- the determination that the social network profile corresponds to the particular user may be based on information embedded in the URL included in the first social network entry.
- the URL may include an identifier of a user account of the particular user (e.g., an account number or other numerical identifier) or identifier of the user (e.g., a GUID). Further details of the operation 420 are discussed in FIGS. 5 and 6 , consistent with various embodiments.
- the data matching module 128 may associate social data, maintained as part of the social network profile, with the particular user.
- the social data may, for example, include demographic information (e.g., gender, age, etc.), geographic information (e.g., a user's hometown, a user's current location, etc.), interests, and social network connections of the members.
- the associating of the social data with the particular user may comprise storing a record of the social data in conjunction with a record of the user.
- the social data may be stored and maintained as part of the user account of the particular user. In other examples, the social data may be stored in conjunction with the pertinent GUID of the particular user.
- the network-based content publisher 102 may use the social data to provide personalization services to the user.
- the personalization services may, for example, include providing personalized search results, recommendations, or advertising.
- FIG. 5 is a flowchart illustrating a method 500 for determining that a social network profile corresponds to a user of the content publisher, consistent with some embodiments.
- the method 500 may correspond to various steps comprising the operation 420 from method 400 , consistent with some embodiments.
- the method 500 may be embodied in computer-readable instructions for execution by one or more processors such that the steps of the method 500 may be performed in part or in whole by the application server 122 , and in particular, the modules comprising the social data matching application 124 .
- the data matching module 128 may determine a posting time corresponding to the publishing of the subject social network entry (e.g., the first social network entry of the set of social network entries identified at operation 415 ).
- the determining of the posting time of the subject social network entry may comprise accessing a timestamp (e.g., timestamp 332 ) corresponding to the publishing of the subject social network entry.
- a timestamp may be obtained from the social network service from which the subject social network entry was retrieved.
- the data matching module 128 may identify a resource (e.g., content published by the network-based content publisher 102 ) referenced by the URL included in the subject social network entry. For example, the data matching module 128 may identify a specific web page referenced by the URL.
- the data matching module 128 may access an access log maintained by the network-based content publisher 102 .
- the access log may include an entry for each web page or other resource hosted by the network-based content publisher 102 , and may further include a record of each time a particular web page or other resource was accessed.
- the access log may further include an identifier (e.g., a GUID) of the user who accessed the particular web page or other resource at a particular time.
- the data matching module 128 may compare the posting time of the subject social network entry with the access time information of the referenced resource from the access log to identify an access of the resource that is within a predetermined time range of the posting time of the social network entry. For example, the data matching module 128 may identify an access of the reference occurring one minute prior to the posting time of the subject social network entry. Consistent with some embodiments, the predetermined time range may correspond to an average amount of time taken to share a resource hosted by the network-based content publisher 102 with the one or more social networks.
- the data matching module 128 may determine the access time identified in operation 520 corresponds to an access of the resource by the particular user. The determination that the particular user corresponds to the access may be based on the access information maintained as part of the access log of the network-based content publisher 102 .
- FIG. 6 is a flowchart illustrating a method 600 for determining a social network profile corresponds to a user of the content publisher, consistent with some other embodiments.
- the method 600 may correspond to various steps comprising the operation 420 from method 400 , consistent with some embodiments.
- the method 600 may be embodied in computer-readable instructions for execution by one or more processors such that the steps of the method 600 may be performed in part or in whole by the application server 122 , and, in particular, the modules comprising the social data matching application 124 .
- the data matching module 128 may determine a posting time corresponding to the publishing of the subject social network entry (e.g., the first social network entry of the set of social network entries identified at operation 415 ).
- the determining of the posting time of the subject social network entry may comprise accessing a timestamp (e.g., timestamp 332 ) corresponding to the publishing of the subject social network entry.
- a timestamp may be obtained from the social network service from which the subject social network entry was retrieved.
- the data matching module 128 may access an activity log maintained by the network-based content publisher 102 .
- the activity log may include an entry for each URL generated by the network-based content publisher 102 in response to a request to share a web page (e.g., via selection of the share widget 302 ), or other resource hosted by the network-based content publisher 102 , and may further include a record of each time a particular URL was generated.
- the access log may further include an identifier (e.g., a GUID) of the user who requested the generation of the URL.
- the data matching module 128 may identify a generation time of the URL included in the subject social network entry.
- the data matching module 128 may determine that the generation time is within a predetermined time range of the posting time of the social network entry. For example, the data matching module 128 may determine that the generation time of the URL occurred 30 seconds prior to the posting time of the subject social network entry. Consistent with some embodiments, the predetermined time range may correspond to the average amount of time taken to share a generated URL with the one or more social networks.
- the data matching module 128 may determine the generation time identified in operation 615 corresponds to the generation of the URL in response to a request submitted by the particular user. Such a determination may be based on the information maintained as part of the activity log of the network-based content publisher 102 .
- Modules may constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules.
- a hardware module is a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner.
- one or more computer systems e.g., a standalone, client, or server computer system
- one or more hardware modules of a computer system e.g., a processor or a group of processors
- software e.g., an application or application portion
- a hardware module may be implemented mechanically or electronically.
- a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a FPGA or an ASIC) to perform certain operations.
- a hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
- the term “hardware module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein.
- hardware modules are temporarily configured (e.g., programmed)
- each of the hardware modules need not be configured or instantiated at any one instance in time.
- the hardware modules comprise a general-purpose processor configured using software
- the general-purpose processor may be configured as respective different hardware modules at different times.
- Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
- Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple of such hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses that connect the hardware modules). In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
- a resource e.g., a collection of information
- processors may be temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions.
- the modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
- the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment, or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
- the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., APIs).
- SaaS software as a service
- Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
- Example embodiments may be implemented using a computer program product, for example, a computer program tangibly embodied in an information carrier, for example, in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, for example, a programmable processor, a computer, or multiple computers.
- a computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment.
- a computer program can be deployed to be executed on one computer or on multiple computers at one site, or distributed across multiple sites and interconnected by a communication network.
- operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output.
- Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry (e.g., a FPGA or an ASIC).
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network.
- the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- both hardware and software architectures merit consideration.
- the choice of whether to implement certain functionality in permanently configured hardware e.g., an ASIC
- temporarily configured hardware e.g., a combination of software and a programmable processor
- a combination of permanently and temporarily configured hardware may be a design choice.
- hardware e.g., machine
- software architectures that may be deployed, in various example embodiments.
- FIG. 7 is a diagrammatic representation of a machine in the example form of a computer system 700 within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
- the computer system 700 may correspond to client device 106 , third party server 114 , or application server 122 , consistent with some embodiments.
- the computer system 700 may include instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
- the machine operates as a standalone device or may be connected (e.g., networked) to other machines.
- the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
- the machine may be a personal computer (PC), a tablet PC, a STB, a PDA, a cellular telephone, a smart phone (e.g., iPhone®), a tablet computer, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine.
- PC personal computer
- PDA personal area network
- a smart phone e.g., iPhone®
- a tablet computer e.g., a web appliance
- network router switch or bridge
- machine any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine.
- the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of
- the example computer system 700 includes a processor 702 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 704 and a static memory 706 , which communicate with each other via a bus 708 .
- the computer system 700 may further include a video display unit 710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)).
- the computer system 700 also includes one or more input/output (I/O) devices 712 , a location component 714 , a drive unit 716 , a signal generation device 718 (e.g., a speaker), and a network interface device 720 .
- the I/O devices 712 may, for example, include a keyboard, a mouse, a keypad, a multi-touch surface (e.g., a touchscreen or track pad), a microphone, a camera, and the like.
- the location component 714 may be used for determining a location of the computer system 700 .
- the location component 714 may correspond to a GPS transceiver that may make use of the network interface device 720 to communicate GPS signals with a GPS satellite.
- the location component 714 may also be configured to determine a location of the computer system 700 by using an IP address lookup or by triangulating a position based on nearby mobile communications towers.
- the location component 714 may be further configured to store a user-defined location in main memory 704 or static memory 706 .
- a mobile location enabled application may work in conjunction with the location component 714 and the network interface device 720 to transmit the location of the computer system 700 to an application server or third party server for the purpose of identifying the location of a user operating the computer system 700 .
- the network interface device 720 may correspond to a transceiver and antenna.
- the transceiver may be configured to both transmit and receive cellular network signals, wireless data signals, or other types of signals via the antenna, depending on the nature of the computer system 700 .
- the drive unit 716 includes a machine-readable medium 722 on which is stored one or more sets of data structures and instructions 724 (e.g., software) embodying or used by any one or more of the methodologies or functions described herein.
- the instructions 724 may also reside, completely or at least partially, within the main memory 704 , static memory 706 , and/or within the processor 702 during execution thereof by the computer system 700 , with the main memory 704 and the processor 702 also constituting machine-readable media.
- the instructions 724 may relate to the operations of an operating system.
- the operating system may, for example, be the iOS® operating system, the Android® operating system, a BlackBerry® operating system, the Microsoft® Windows® Phone operating system, Symbian® OS, or webOS®.
- the instructions 724 may relate to operations performed by applications (commonly known as “apps”), consistent with some embodiments.
- apps commonly known as “apps”.
- One example of such an application is a mobile browser application that displays content, such as a web page or a user interface using a browser.
- machine-readable medium 722 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more data structures or instructions 724 .
- the term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding, or carrying instructions (e.g., instructions 724 ) for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions.
- machine-readable medium shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.
- Specific examples of machine-readable media include non-volatile memory, including by way of example, semiconductor memory devices (e.g., erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- semiconductor memory devices e.g., erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)
- flash memory devices e.g., erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)
- flash memory devices e.g., erasable programmable read-only memory (EPROM), electrically erasable programmable read-
- the tangible machine-readable medium is non-transitory in that it does not embody a propagating signal.
- labeling the tangible machine-readable medium as “non-transitory” should not be construed to mean that the medium is incapable of movement—the medium should be considered as being transportable from one real-world location to another.
- the machine-readable medium since the machine-readable medium is tangible, the medium may be considered to be a machine-readable device.
- the instructions 724 may further be transmitted or received over a communications network 726 using a transmission medium.
- the instructions 724 may be transmitted using the network interface device 720 and any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a LAN, a WAN, the Internet, mobile telephone networks, POTS networks, and wireless data networks (e.g., WiFi and WiMax networks).
- the term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions 724 for execution by the machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
- inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed.
- inventive concept merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed.
- the terms “a” or “an” are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of “at least one” or “one or more.”
- the term “or” is used to refer to a nonexclusive or, such that “A or B” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- This application relates to data processing. In particular, example embodiments may relate to systems and methods for matching social data to a user of a network-based content publisher.
- Websites often provide a social sharing feature in the form of a share widget for content hosted by the website. These share widgets enable users to quickly share content with members of their social network using multiple social network services (e.g., Facebook®, Twitter®, Pinterest®, or the like). Although such functionality may provide users with a link between the website's services and the social network services, the websites themselves are often unable to ascertain which of their users correspond to the social network profiles used to publish content from the websites.
- Various ones of the appended drawings merely illustrate example embodiments of the present invention and cannot be considered as limiting its scope.
-
FIG. 1 is a network diagram depicting a network system having a client-server architecture configured for exchanging data over a network with a content publisher, according to an example embodiment. -
FIG. 2 is an interaction diagram depicting example exchanges between a client device, an application server, and a third party server, consistent with some embodiments. -
FIG. 3A is an interface diagram illustrating a portion of a web page hosted by the content publisher, consistent with some embodiments. -
FIG. 3B is an interface diagram illustrating a set of social network entries published on a social network, which may be hosted by the third party server ofFIG. 2 , consistent with some embodiments. -
FIG. 4 is a flowchart illustrating a method for matching a user of the content publisher with social data, consistent with some embodiments. -
FIG. 5 is a flowchart illustrating a method for determining that a social network profile that corresponds to a user of the content publisher, consistent with some embodiments. -
FIG. 6 is a flowchart illustrating another method for determining that a social network profile that corresponds to a user of the content publisher, consistent with some other embodiments. -
FIG. 7 is a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. - Reference will now be made in detail to specific example embodiments for carrying out the inventive subject matter. Examples of these specific embodiments are illustrated in the accompanying drawings. It will be understood that the examples are not intended to limit the scope of the claims to the described embodiments. On the contrary, the examples are intended to cover alternatives, modifications, and equivalents as may be included within the scope of the disclosure. In the following description, specific details are set forth in order to provide a thorough understanding of the subject matter. Embodiments may be practiced without some or all of these specific details. In accordance with the present disclosure, components, process steps, and data structures may be implemented using various types of operating systems, programming languages, computing platforms, computer programs, and/or general purpose machines.
- Aspects of the present disclosure include systems and methods for matching social data to users of a network-based content publisher. Consistent with some embodiments, the method may include scanning social network entries (e.g., posts, status updates, tweets, pins, etc.) to identify social network entries that include a uniform resource locator (URL) referencing content hosted by the network-based content publisher. A social network profile corresponding to each entry (e.g., an author or original poster) may be identified. The method may further include matching the identified social network profiles to users of the network-based content publisher based on information included in the URL shared in each social network entry. The network-based content publisher may then provide each matched user with personalization services (e.g., personalized recommendations or search results) using information retrieved from each user's corresponding social network profile.
-
FIG. 1 is a network diagram depicting anetwork system 100, according to one embodiment, having a client-server architecture configured for exchanging data over a network. Thenetwork system 100 may include a network-basedcontent publisher 102 in communication with aclient device 106 andthird party server 114. In some example embodiments, the network-basedcontent publisher 102 may be a network-based marketplace. - The network-based
content publisher 102 may communicate and exchange data within thenetwork system 100 that may pertain to various functions and aspects associated with thenetwork system 100 and its users. The network-basedcontent publisher 102 may provide server-side functionality, via a network 104 (e.g., the Internet), to one or more client devices (e.g., client device 106). The one or more client devices may be operated by users that use thenetwork system 100 to exchange data over anetwork 104. These transactions may include transmitting, receiving (communicating), and processing data to, from, and regarding content and users of thenetwork system 100. The data may include, but are not limited to: images; video or audio content; user preferences; product and service feedback, advice, and reviews; product, service, manufacturer, and vendor recommendations and identifiers; product and service listings associated with buyers and sellers; product and service advertisements; auction bids; transaction data; and social data, among other things. - In various embodiments, the data exchanged within the
network system 100 may be dependent upon user-selected functions available through one or more client or user interfaces (UIs). The UIs may be associated with a client device, such as theclient device 106 usingweb client 108. Theweb client 108 may be in communication with the network-basedcontent publisher 102 via aweb server 118. The UIs may also be associated with one ormore applications 110 executing on theclient device 106, such as a client application designed for interacting with the network-basedcontent publisher 102, or a third party server 114 (e.g., one or more servers or client devices) hosting athird party application 116. - The
client device 106 may be any of a variety of types of devices. For example, theclient device 106 may a mobile device such as an iPhone® or other mobile device running the iOS® operating system, the Android® operating system, a BlackBerry® operating system, the Microsoft® Windows® Phone operating system, Symbian® OS, or webOS®. Consistent with some embodiments, theclient device 106 may alternatively be a tablet computer, such as an iPad® or other tablet computer, running one of the aforementioned operating systems. In some embodiments, theclient device 106 may also be a personal digital assistant (PDA), a personal navigation device (PND), a handheld computer, a desktop computer, a laptop or netbook, a set-top box (STB) such as provided by cable or satellite content providers, a wearable computing device such as glasses or a wristwatch, a multimedia device embedded in an automobile, a Global Positioning System (GPS) device, a data enabled book reader, or a video game system console such as the Nintendo WHO, the Microsoft Xbox 360®, the Sony PlayStation 3®, or other video game system consoles. - The
client device 106 may interface via aconnection 112 with the communication network 104 (e.g., the Internet or wide area network (WAN)). Depending on the form of theclient device 106, any of a variety of types ofconnections 112 andcommunication networks 104 may be used. For example, theconnection 112 may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile communications (GSM) connection, or other type of cellular connection. Such aconnection 112 may implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (1xRTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, or other data transfer technology (e.g., fourth generation wireless, 4G networks). When such technology is employed, thecommunication network 104 may include a cellular network that has a plurality of cell sites of overlapping geographic coverage interconnected by cellular telephone exchanges. These cellular telephone exchanges may be coupled to a network backbone (e.g., the public switched telephone network (PSTN), a packet-switched data network, or other types of networks). - In another example, the
connection 112 may be Wireless Fidelity (Wi-Fi, IEEE 802.11x type) connection, a Worldwide Interoperability for Microwave Access (WiMAX) connection, or another type of wireless data connection. In such an embodiment, thecommunication network 104 may include one or more wireless access points coupled to a local area network (LAN), a WAN, the Internet, or other packet-switched data network. In yet another example, theconnection 112 may be a wired connection, for example an Ethernet link, and thecommunication network 104 may be a LAN, a WAN, the Internet, or other packet-switched data network. Accordingly, a variety of different configurations are expressly contemplated. -
FIG. 1 also illustrates thethird party application 116 executing on thethird party server 114 that may offer one or more services to users of theclient device 106. Thethird party application 116 may have programmatic access to the network-basedcontent publisher 102 via the programmatic interface provided by an application program interface (API)server 120. In some embodiments, thethird party application 116 may be associated with any organization that may conduct transactions with or provide services to the users of theclient device 106. For example, thethird party application 116 may be associated with a network based social network service (e.g., Facebook®, Twitter®, Google +®, Pinterest®, LinkedIn®, or the like) that may provide a platform for members to build and maintain social networks and relations among other members. To this end, the social network service may allow members to share ideas, pictures, posts, activities, events, and interests with other members of the social network. - A social network service may provide a representation of each member in the form of a social network profile. The social network profile of each member may contain information about the member (hereinafter referred to as “social data”) such as demographic information (e.g., gender, age, etc.), geographic information (e.g., a user's hometown, a user's current location, etc.), interests, and social network connections of the members. For purposes of the present disclosure, a social network “connection,” also referred to as being “connected” on a social network, may include situations in which there is a reciprocal agreement between members of the social network to be linked on the social network, as well as situations in which there is only a singular acknowledgement of the “connection” without further action being taken by the other member. In the reciprocal agreement situation, both members of the “connection” acknowledge the establishment of the connection (e.g., friends). Similarly, in the singular acknowledgement situation, a member may elect to “follow” or “watch” another member. In contrast to reciprocal agreement, the concept of “following” another member typically is a unilateral operation because it may not call for acknowledgement or approval by the member that is being followed.
- Turning specifically to the network-based
content publisher 102, theAPI server 120 and theweb server 118 are coupled to, and provide programmatic and web interfaces respectively to, one ormore application servers 122. Theapplication server 122 may, for example, host one or more applications, which may provide a number of content publishing and viewing functions and services to users that access the network-basedcontent publisher 102. Theapplication server 122 may further host a plurality of user accounts for users of the network-basedcontent publisher 102, which may be stored in thedatabase 132. Users of the network-basedcontent publisher 102 without a user account may be assigned a globally unique identifier (GUID) so that such users may, nonetheless, be uniquely identified by the network-basedcontent publisher 102. - As illustrated in
FIG. 1 , theapplication server 122 may host a socialdata matching applications 124, which may match social data from one or more social networks with a plurality of users of the network-basedcontent publisher 102. The socialdata matching applications 124 may include a socialmedia analysis module 126 and adata matching module 128. The modules of the socialdata matching application 124 may be hosted on dedicated or shared server machines that are communicatively coupled to enable communications between server machines. The socialmedia analysis module 126 and thedata matching module 128 are communicatively coupled (e.g., via appropriate interfaces) to each other and to various data sources, so as to allow information to be passed between each of themodules modules - The social
media analysis modules 126 may be configured to monitor, retrieve, and analyze social network activity published on one or more social networks. For purposes of the present disclosure, “social network activity” collectively refers to entries (e.g., text and image posts, links, messages, notes, invitations, etc.) created and shared by members of a social network with other members of the social network. Such social network activity may include entries that are intended for the public at large as well as entries intended for a particular social network connection or group of social network connections. Depending on the social network, the social network activity may include entries such as an activity feed post, a wall post, a status update, a tweet, a pinup, a like, a content share (e.g., content shared from a source such as the network-based content publisher 102), or a check-in. For purposes of the present disclosure, a “check-in” refers to a service provided by a social network that allows users to “check-in” to a physical or virtual space and share their location or activity with other users of the social network. Check-ins may be active (e.g., a user may actively check-in at a location) or passive (the social network service may detect that a user is at a location and automatically check the user in). Consistent with some embodiments, users may actively check-in to a specific physical or virtual location by using a mobile application provided by the social network on a client device (e.g., client device 106). The social network mobile application may use the GPS functionality of the client device to find the current location of the user and allow the user to share this information with other users of the social network. - The social
media analysis module 126 may obtain social network activity via publically accessible APIs provided by each social network service. In some embodiments, the socialmedia analysis modules 126 may be configured to scan one or more social networks to identify social network entries that include content originating from the network-basedcontent publisher 102. In particular, the socialmedia analysis modules 126 may identify social network entries that include a URL referencing content (e.g., a web page) hosted by the network-basedcontent publisher 102. For each such social network entry, the socialmedia analysis module 126 may identify a social network profile from which the entry originated (e.g., an author or original poster). The socialmedia analysis module 126 may further identify a timestamp corresponding to a time at which the social network entry was posted (hereinafter referred to as “posting time”). - The
data matching module 128 may be configured to match the social network profile of each social network entry identified by the socialmedia analysis module 126 as including content from the network-basedcontent publisher 102 with a user of the network-basedcontent publisher 102. The users of the network basedcontent publisher 102 may include users having a user account provided by the network-basedcontent publisher 102 as well as users without a user account (e.g., users identified solely by a corresponding GUID). Thedata matching module 128 may retrieve social data from the social network profile determined to correspond to the user, and thedata matching module 128 may further associate such social data with the user (e.g., the social data may be stored as part of the user account or stored as a record linked to a corresponding GUID). The retrieved social data may be used by the network basedcontent publisher 102 to provide personalized services to the user such as personalized search results, recommendations, and advertising. - As illustrated in
FIG. 1 , theapplication servers 122 may be coupled via theAPI server 120 and theweb server 118 to thecommunication network 104, for example, via wired or wireless interfaces. Theapplication servers 122 are, in turn, shown to be coupled to adatabase server 130 that facilitates access to thedatabase 132. In some examples, theapplication servers 122 can access thedatabase 132 directly without the need for adatabase server 130. In some embodiments, thedatabase 132 may include multiple databases that may be internal or external to the network-basedcontent publisher 102. - The
database 132 may store data pertaining to various functions and aspects associated with thenetwork system 100 and its users. For example, user accounts for users of the network basedcontent publisher 102 may be stored and maintained in thedatabase 132. Each user account may comprise user data that describes aspects of a particular user. The user data may include demographic data, user preferences, and financial information. The demographic data may, for example, include information describing one or more characteristics of a user. Demographic data may, for example, include gender, age, location information, employment history, education history, contact information, familial relations, or user interests. The financial information may, for example, include private financial information of the user such as account number, credential, password, device identifier, user name, phone number, credit card information, bank information, transaction history, or other financial information that may be used to facilitate online transactions by the user. Consistent with some embodiments, the transaction history may include information related to transactions for items or services (collectively referred to as “products”) that may be offered for sale by merchants using marketplace services provided by the network basedcontent publisher 102. The transaction history information may, for example, include a description of a product purchased by the user, an identifier of the product, a category to which the product belongs, a purchase price, a quantity, or a number of bids. - The user data may also include a record of user activity, consistent with some embodiments. Accordingly, the network-based
content publisher 102 may monitor, track, and record the activities and interactions of a user, using one or more devices (e.g., client device 106), with the various modules of thenetwork system 100. Each user session may be stored in thedatabase 132 as part of an activity log, and each user session may also be maintained as part of the user data. Accordingly, in some embodiments, the user data may include past keyword searches that users have performed, web pages viewed by each user, products added to a user wish list or watch list, products added to an electronic shopping cart, and products that the users own. User preferences may be inferred from the user activity. - Consistent with some embodiments, the
database 132 may further include an access log that may include a record of accesses to particular resources (e.g., a web page or other content) of the network-basedcontent publisher 102. The access log may include an access time for each respective access of a resource and may further include a record of the user that accessed each resource at each respective access time. Users may be identified by a corresponding user account or by other unique numerical identifiers (e.g., a GUID). - While the social
data matching application 124 is shown inFIG. 1 to form part of the network-basedcontent publisher 102, it will be appreciated that, in alternative embodiments, the socialdata matching application 124 may form part of a service that is separate and distinct from the network-basedcontent publisher 102. Further, while thesystem 100 shown inFIG. 1 employs client-server architecture, the present inventive subject matter is, of course, not limited to such an architecture, and could equally well find application in an event-driven, distributed, or peer-to-peer architecture system, for example. The various functional components of theapplication servers 122 may also be implemented as standalone systems or software programs, which do not necessarily have networking capabilities. It shall be appreciated that although the various functional components of thesystem 100 are discussed in the singular sense, multiple instances of one of more of the various functional components may be employed. -
FIG. 2 is an interaction diagram depicting example exchanges between a client device, an application server, and a third party server, consistent with some embodiments. In particular,FIG. 2 depicts example exchanges between theclient device 106, theapplication server 122 of the network-basedcontent publisher 102, and thethird party server 114 corresponding to a social network service. As shown, theapplication server 122 may receive a user request to share content from theclient device 106. The request may be generated in response to a user selection of a particular social network icon provided as part of a share widget embedded in a web page hosted by the network based content publisher. For example,FIG. 3A is an interface diagram illustrating a portion of aweb page 300 hosted by the network-basedcontent publisher 102, consistent with some embodiments. As shown, theweb page 300 includes content related to a marketplace listing. In addition, theweb page 300 includes ashare widget 302 comprising icons 304-310, each of which corresponds to a particular social network service (e.g., Google +®, Facebook®, Twitter®, and Pinterest®). Theshare widget 302 may be used by a user of the network-basedcontent publisher 102 to share theweb page 300 with members of a social network. The particular social network service to be utilized in sharing theweb page 300 depends on the selection of the icons 304-310. Selection of one of the icons 304-310 results in the generation of the user request to share content, which is transmitted to theapplication server 122. - Returning back to
FIG. 2 , upon receipt of the user request, theapplication server 122 may generate a URL referencing the location of theweb page 300. In addition to referencing the location of theweb page 300, the URL generated by theapplication server 122 may include additional information such as an identifier of a user operating theclient device 106. As discussed above, the network-basedcontent publisher 102 may provide services to users that have a user account as well as users that do not. Upon initiating an interaction with the network-basedcontent publisher 102, users may be prompted to log in to an existing user accounts. In instances in which the user operating theclient device 106 has signed in prior to requesting to share theweb page 300, theapplication server 122 may generate a specialized URL (e.g., a “roverized” or “universal” URL) that includes an identifier of the user account of the user. In some embodiments, the URL may include an identifier of an item (e.g., product or service) offered for sale in a listing hosted by the network-basedcontent publisher 102. - In instances in which the user operating the
client device 106 has not signed in or does not have a user account with the network-basedcontent publisher 102, the URL generated by theapplication server 122 may include a reference to the GUID identifying the user that may have been previously assigned to the user during a previous data exchange session. A record of each generated URL may be maintained in an activity log stored in thedatabase 132 and may include a time at which the URL was generated. Each record may be linked to a user account or GUID corresponding to the user requesting the sharing of the content. - As shown in
FIG. 2 , theapplication server 122 may, subsequent to the generation of the URL, facilitate the sharing of the content (e.g., the web page 300). The facilitating of the sharing of the content may include automatically generating at least a portion of a social network entry that includes the URL (referred to as the “subject entry”). Theapplication server 122 may then communicate with the social network service hosted by thethird party server 114 to provide an interface to the user of theclient device 106, which enables the user to sign in to a social network profile provided by the social network service. The user may be able to edit the subject entry or provide additional comments before the subject entry is ultimately published by the social network service. Once the user indicates approval of the subject entry, the subject entry is published by the social network service. - As shown in
FIG. 2 , theapplication server 122 may scan social network entries on the social network service and retrieve entries with URLs referencing content (e.g., web pages) of the network basedcontent publisher 102. Such operations may be performed routinely by theapplication server 122 and not necessarily in connection with the publishing of the subject entry discussed above. An example of social network entries retrieved by the application server are illustrated inFIG. 3B . As shown inFIG. 2 , theapplication server 122 may identify the subject entry from the retrieved social network entries. -
FIG. 3B is an interface diagram illustrating a set ofsocial network entries 300 published on the social network, which may be hosted by thethird party server 114, consistent with some embodiments. As shown, the set ofsocial network entries 300 may includesubject entry 322 published on behalf of asocial network profile 324 as well associal network entries subject entry 322 may include alink 330 referencing the location of the web page 300 (e.g., the URL generated by theapplication server 122 in response to the user request to share the web page 300). Consistent with some embodiments, thesubject entry 322 may include multiple instances of thelink 330. Thelink 330, when activated, may cause a browser executing on theclient device 106 to be redirected to theweb page 300. As illustrated inFIG. 3B , thesubject entry 322 may also include atimestamp 332, which indicates the posting time of thesubject entry 322. - Returning again to
FIG. 2 , theapplication server 122 may identify thesocial network profile 324 as the social network profile corresponding to thesubject entry 322. Theapplication server 122 may then determine that thesocial network profile 324 corresponds to the user for which the URL included in thesubject entry 322 was generated. In some embodiments, this determination is based on information contained in the URL (e.g., an identifier of user account of the user). In some other embodiments, the determination may be based on a comparison of thetimestamp 332 with the access time of theweb page 300 by the user. In still other embodiments, the determination may be based on a comparison of thetimestamp 322 with the generation time of the URL. - Upon determining that the
social network profile 322 corresponds to the user, the application server may retrieve social data included as part of thesocial network profile 322 and associate such social data with the user. The associating of the social data may comprise linking the social data to a record of the user (e.g., the user account or a GUID identifying the user). Theapplication server 122 may then use the retrieved social data to provide personalized services (e.g., search results, recommendations, etc.) to the user upon subsequent interactions with theclient device 106 or other devices operated by the user. -
FIG. 4 is a flowchart illustrating amethod 400 for matching a user of the content publisher with social data, consistent with some embodiments. Themethod 400 may be embodied in computer-readable instructions for execution by one or more processors such that the steps of themethod 400 may be performed in part or in whole by theapplication server 122, and in particular, the modules comprising the socialdata matching application 124. - At
operation 405, the socialmedia analysis module 126 may access a plurality of social network entries that have been published to one or more social networks using one or more social network services (e.g., hosted by third party server 114). In some embodiments, the socialmedia analysis module 126 may obtain the plurality of social network entries directly from the social network services via a publically accessible API provided by the one or more social network services. In some other embodiments, the socialmedia analysis module 126 may retrieve the plurality of social network entries from a repository of previously retrieved social network entries (e.g., database 132). The social network entries may be periodically (e.g., daily) retrieved and stored (e.g., in database 132) for subsequent analysis by the socialmedia analysis module 126. - At
operation 410, the socialmedia analysis module 126 may identify a set of social network entries from the plurality of social network entries that each include a URL referencing content published by the network-basedcontent publisher 102. In some embodiments, the identifying of the set of social network entries including a URL referencing content published by the network-basedcontent publisher 102 may comprise analyzing text included in the social network entries to identify URLs having a host (e.g., domain name or literal internet protocol (IP) address) corresponding to the network-based content publisher 102 (e.g., all URLs from ebay.com). In some embodiments, the socialmedia analysis module 126 may invoke functionality of a third party service to identify the set of social network entries including a URL referencing content published by the network-basedcontent publisher 102. - At
operation 415, the socialmedia analysis module 126 may identify a social network profile corresponding to a first social network entry (e.g., social network entry 322) of the set of social network entries. The social network profile corresponding to the first social network entry may be the social network profile of a member who initiated the publishing of the first social network entry (e.g., an author). In some embodiments, the socialmedia analysis module 126 may analyze the first social network to determine that the identified social network profile is the original poster of the content. More specifically, the socialmedia analysis module 126 may ensure that the first social network entry is not a re-post of content posted by another user. - At
operation 420, thedata matching module 128 may determine that the social network profile identified inoperation 415 corresponds to a particular user of the network-basedcontent publisher 102. In some embodiments, the determination that the social network profile corresponds to the particular user may be based on information embedded in the URL included in the first social network entry. For example, the URL may include an identifier of a user account of the particular user (e.g., an account number or other numerical identifier) or identifier of the user (e.g., a GUID). Further details of theoperation 420 are discussed inFIGS. 5 and 6 , consistent with various embodiments. - At
operation 425, thedata matching module 128 may associate social data, maintained as part of the social network profile, with the particular user. The social data may, for example, include demographic information (e.g., gender, age, etc.), geographic information (e.g., a user's hometown, a user's current location, etc.), interests, and social network connections of the members. The associating of the social data with the particular user may comprise storing a record of the social data in conjunction with a record of the user. For example, the social data may be stored and maintained as part of the user account of the particular user. In other examples, the social data may be stored in conjunction with the pertinent GUID of the particular user. - At
operation 430, the network-basedcontent publisher 102 may use the social data to provide personalization services to the user. The personalization services may, for example, include providing personalized search results, recommendations, or advertising. -
FIG. 5 is a flowchart illustrating amethod 500 for determining that a social network profile corresponds to a user of the content publisher, consistent with some embodiments. Themethod 500 may correspond to various steps comprising theoperation 420 frommethod 400, consistent with some embodiments. Themethod 500 may be embodied in computer-readable instructions for execution by one or more processors such that the steps of themethod 500 may be performed in part or in whole by theapplication server 122, and in particular, the modules comprising the socialdata matching application 124. - At
operation 505, thedata matching module 128 may determine a posting time corresponding to the publishing of the subject social network entry (e.g., the first social network entry of the set of social network entries identified at operation 415). The determining of the posting time of the subject social network entry may comprise accessing a timestamp (e.g., timestamp 332) corresponding to the publishing of the subject social network entry. Such a timestamp may be obtained from the social network service from which the subject social network entry was retrieved. - At
operation 510, thedata matching module 128 may identify a resource (e.g., content published by the network-based content publisher 102) referenced by the URL included in the subject social network entry. For example, thedata matching module 128 may identify a specific web page referenced by the URL. Atoperation 515, thedata matching module 128 may access an access log maintained by the network-basedcontent publisher 102. The access log may include an entry for each web page or other resource hosted by the network-basedcontent publisher 102, and may further include a record of each time a particular web page or other resource was accessed. The access log may further include an identifier (e.g., a GUID) of the user who accessed the particular web page or other resource at a particular time. - At
operation 520, thedata matching module 128 may compare the posting time of the subject social network entry with the access time information of the referenced resource from the access log to identify an access of the resource that is within a predetermined time range of the posting time of the social network entry. For example, thedata matching module 128 may identify an access of the reference occurring one minute prior to the posting time of the subject social network entry. Consistent with some embodiments, the predetermined time range may correspond to an average amount of time taken to share a resource hosted by the network-basedcontent publisher 102 with the one or more social networks. Atoperation 525, thedata matching module 128 may determine the access time identified inoperation 520 corresponds to an access of the resource by the particular user. The determination that the particular user corresponds to the access may be based on the access information maintained as part of the access log of the network-basedcontent publisher 102. -
FIG. 6 is a flowchart illustrating amethod 600 for determining a social network profile corresponds to a user of the content publisher, consistent with some other embodiments. Themethod 600 may correspond to various steps comprising theoperation 420 frommethod 400, consistent with some embodiments. Themethod 600 may be embodied in computer-readable instructions for execution by one or more processors such that the steps of themethod 600 may be performed in part or in whole by theapplication server 122, and, in particular, the modules comprising the socialdata matching application 124. - At
operation 605, thedata matching module 128 may determine a posting time corresponding to the publishing of the subject social network entry (e.g., the first social network entry of the set of social network entries identified at operation 415). The determining of the posting time of the subject social network entry may comprise accessing a timestamp (e.g., timestamp 332) corresponding to the publishing of the subject social network entry. Such a timestamp may be obtained from the social network service from which the subject social network entry was retrieved. - At
operation 610, thedata matching module 128 may access an activity log maintained by the network-basedcontent publisher 102. The activity log may include an entry for each URL generated by the network-basedcontent publisher 102 in response to a request to share a web page (e.g., via selection of the share widget 302), or other resource hosted by the network-basedcontent publisher 102, and may further include a record of each time a particular URL was generated. The access log may further include an identifier (e.g., a GUID) of the user who requested the generation of the URL. - At
operation 615, thedata matching module 128 may identify a generation time of the URL included in the subject social network entry. Atoperation 620, thedata matching module 128 may determine that the generation time is within a predetermined time range of the posting time of the social network entry. For example, thedata matching module 128 may determine that the generation time of the URL occurred 30 seconds prior to the posting time of the subject social network entry. Consistent with some embodiments, the predetermined time range may correspond to the average amount of time taken to share a generated URL with the one or more social networks. Atoperation 625, thedata matching module 128 may determine the generation time identified inoperation 615 corresponds to the generation of the URL in response to a request submitted by the particular user. Such a determination may be based on the information maintained as part of the activity log of the network-basedcontent publisher 102. - Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules. A hardware module is a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client, or server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
- In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a FPGA or an ASIC) to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
- Accordingly, the term “hardware module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
- Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple of such hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses that connect the hardware modules). In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
- The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
- Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment, or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
- The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., APIs).
- Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, for example, a computer program tangibly embodied in an information carrier, for example, in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, for example, a programmable processor, a computer, or multiple computers.
- A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site, or distributed across multiple sites and interconnected by a communication network.
- In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry (e.g., a FPGA or an ASIC).
- The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that both hardware and software architectures merit consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.
-
FIG. 7 is a diagrammatic representation of a machine in the example form of acomputer system 700 within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. Thecomputer system 700 may correspond toclient device 106,third party server 114, orapplication server 122, consistent with some embodiments. Thecomputer system 700 may include instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a STB, a PDA, a cellular telephone, a smart phone (e.g., iPhone®), a tablet computer, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. - The
example computer system 700 includes a processor 702 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), amain memory 704 and astatic memory 706, which communicate with each other via abus 708. Thecomputer system 700 may further include a video display unit 710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). Thecomputer system 700 also includes one or more input/output (I/O)devices 712, alocation component 714, adrive unit 716, a signal generation device 718 (e.g., a speaker), and anetwork interface device 720. The I/O devices 712 may, for example, include a keyboard, a mouse, a keypad, a multi-touch surface (e.g., a touchscreen or track pad), a microphone, a camera, and the like. - The
location component 714 may be used for determining a location of thecomputer system 700. In some embodiments, thelocation component 714 may correspond to a GPS transceiver that may make use of thenetwork interface device 720 to communicate GPS signals with a GPS satellite. Thelocation component 714 may also be configured to determine a location of thecomputer system 700 by using an IP address lookup or by triangulating a position based on nearby mobile communications towers. Thelocation component 714 may be further configured to store a user-defined location inmain memory 704 orstatic memory 706. In some embodiments, a mobile location enabled application may work in conjunction with thelocation component 714 and thenetwork interface device 720 to transmit the location of thecomputer system 700 to an application server or third party server for the purpose of identifying the location of a user operating thecomputer system 700. - In some embodiments, the
network interface device 720 may correspond to a transceiver and antenna. The transceiver may be configured to both transmit and receive cellular network signals, wireless data signals, or other types of signals via the antenna, depending on the nature of thecomputer system 700. - The
drive unit 716 includes a machine-readable medium 722 on which is stored one or more sets of data structures and instructions 724 (e.g., software) embodying or used by any one or more of the methodologies or functions described herein. Theinstructions 724 may also reside, completely or at least partially, within themain memory 704,static memory 706, and/or within theprocessor 702 during execution thereof by thecomputer system 700, with themain memory 704 and theprocessor 702 also constituting machine-readable media. - Consistent with some embodiments, the
instructions 724 may relate to the operations of an operating system. Depending on the particular type of thecomputer system 700, the operating system may, for example, be the iOS® operating system, the Android® operating system, a BlackBerry® operating system, the Microsoft® Windows® Phone operating system, Symbian® OS, or webOS®. Further, theinstructions 724 may relate to operations performed by applications (commonly known as “apps”), consistent with some embodiments. One example of such an application is a mobile browser application that displays content, such as a web page or a user interface using a browser. - While the machine-
readable medium 722 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more data structures orinstructions 724. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding, or carrying instructions (e.g., instructions 724) for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example, semiconductor memory devices (e.g., erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. - Furthermore, the tangible machine-readable medium is non-transitory in that it does not embody a propagating signal. However, labeling the tangible machine-readable medium as “non-transitory” should not be construed to mean that the medium is incapable of movement—the medium should be considered as being transportable from one real-world location to another. Additionally, since the machine-readable medium is tangible, the medium may be considered to be a machine-readable device.
- The
instructions 724 may further be transmitted or received over acommunications network 726 using a transmission medium. Theinstructions 724 may be transmitted using thenetwork interface device 720 and any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a LAN, a WAN, the Internet, mobile telephone networks, POTS networks, and wireless data networks (e.g., WiFi and WiMax networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carryinginstructions 724 for execution by the machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such software. - Although the embodiments of the present invention have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader scope of the inventive subject matter. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be used and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
- Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
- All publications, patents, and patent documents referred to in this document are incorporated by reference herein in their entirety, as though individually incorporated by reference. In the event of inconsistent usages between this document and those documents so incorporated by reference, the usage in the incorporated references should be considered supplementary to that of this document; for irreconcilable inconsistencies, the usage in this document controls.
- In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of “at least one” or “one or more.” In this document, the term “or” is used to refer to a nonexclusive or, such that “A or B” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Also, in the following claims, the terms “including” and “comprising” are open-ended; that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms “first,” “second,” and “third,” and so forth are used merely as labels, and are not intended to impose numerical requirements on their objects.
Claims (20)
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/155,032 US9542692B2 (en) | 2014-01-14 | 2014-01-14 | Systems and methods for matching a user to social data |
KR1020187012732A KR101986758B1 (en) | 2014-01-14 | 2014-12-30 | System and method for matching a user to social data |
KR1020167021671A KR20160106706A (en) | 2014-01-14 | 2014-12-30 | System and method for matching a user to social data |
PCT/US2014/072690 WO2015108698A1 (en) | 2014-01-14 | 2014-12-30 | System and method for matching a user to social data |
KR1020197015746A KR102127601B1 (en) | 2014-01-14 | 2014-12-30 | System and method for matching a user to social data |
CN202010798455.8A CN112001747B (en) | 2014-01-14 | 2014-12-30 | System and method for matching users with social data |
CN201480076555.2A CN106170814B (en) | 2014-01-14 | 2014-12-30 | System and method for matching users with social data |
US15/401,200 US10303803B2 (en) | 2014-01-14 | 2017-01-09 | Systems and methods for matching a user to social data |
US16/366,548 US11321405B2 (en) | 2014-01-14 | 2019-03-27 | Systems and methods for matching a user to social data |
US17/666,991 US11803601B2 (en) | 2014-01-14 | 2022-02-08 | Systems and methods for matching a user to social data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/155,032 US9542692B2 (en) | 2014-01-14 | 2014-01-14 | Systems and methods for matching a user to social data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/401,200 Continuation US10303803B2 (en) | 2014-01-14 | 2017-01-09 | Systems and methods for matching a user to social data |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150199437A1 true US20150199437A1 (en) | 2015-07-16 |
US9542692B2 US9542692B2 (en) | 2017-01-10 |
Family
ID=53521585
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/155,032 Active 2035-01-11 US9542692B2 (en) | 2014-01-14 | 2014-01-14 | Systems and methods for matching a user to social data |
US15/401,200 Active 2034-05-31 US10303803B2 (en) | 2014-01-14 | 2017-01-09 | Systems and methods for matching a user to social data |
US16/366,548 Active 2035-06-24 US11321405B2 (en) | 2014-01-14 | 2019-03-27 | Systems and methods for matching a user to social data |
US17/666,991 Active US11803601B2 (en) | 2014-01-14 | 2022-02-08 | Systems and methods for matching a user to social data |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/401,200 Active 2034-05-31 US10303803B2 (en) | 2014-01-14 | 2017-01-09 | Systems and methods for matching a user to social data |
US16/366,548 Active 2035-06-24 US11321405B2 (en) | 2014-01-14 | 2019-03-27 | Systems and methods for matching a user to social data |
US17/666,991 Active US11803601B2 (en) | 2014-01-14 | 2022-02-08 | Systems and methods for matching a user to social data |
Country Status (4)
Country | Link |
---|---|
US (4) | US9542692B2 (en) |
KR (3) | KR101986758B1 (en) |
CN (2) | CN112001747B (en) |
WO (1) | WO2015108698A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150229736A1 (en) * | 2014-02-13 | 2015-08-13 | Adobe Systems Incorporated | Associating social data with user profiles |
US9542692B2 (en) * | 2014-01-14 | 2017-01-10 | Ebay Inc. | Systems and methods for matching a user to social data |
US20170061016A1 (en) * | 2015-08-31 | 2017-03-02 | Linkedin Corporation | Discovery of network based data sources for ingestion and recommendations |
US20180204133A1 (en) * | 2017-01-18 | 2018-07-19 | Facebook, Inc. | Demographic prediction for users in an online system with unidirectional connection |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109195096B (en) * | 2018-10-15 | 2020-04-10 | 北京创鑫旅程网络技术有限公司 | Method and device for determining travel state |
KR102027937B1 (en) | 2019-03-13 | 2019-10-04 | (주)어메이징이앤엠 | Social contents matching channel system |
US11573995B2 (en) | 2019-09-10 | 2023-02-07 | International Business Machines Corporation | Analyzing the tone of textual data |
CN113609362B (en) * | 2021-07-14 | 2024-04-12 | 上海德衡数据科技有限公司 | Data management method and system based on 5G |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100023506A1 (en) * | 2008-07-22 | 2010-01-28 | Yahoo! Inc. | Augmenting online content with additional content relevant to user interests |
US20130159885A1 (en) * | 2011-09-12 | 2013-06-20 | Gface Gmbh | Selectively displaying content to a user of a social network |
US20150120386A1 (en) * | 2013-10-28 | 2015-04-30 | Corinne Elizabeth Sherman | System and method for identifying purchase intent |
US9195632B2 (en) * | 2012-09-26 | 2015-11-24 | Facebook, Inc. | Customizing content delivery from a brand page to a user in a social networking environment |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233538A (en) * | 2005-05-31 | 2008-07-30 | 电子湾有限公司 | User created social networks |
AU2008261648B2 (en) * | 2007-06-12 | 2013-10-03 | Facebook, Inc. | Personalized social networking application content |
JP2009017298A (en) | 2007-07-05 | 2009-01-22 | Alaxala Networks Corp | Data analysis apparatus |
US20090138328A1 (en) * | 2007-11-26 | 2009-05-28 | Yahoo! Inc. | Targeted distribution of commercial incentives |
US8595058B2 (en) * | 2009-10-15 | 2013-11-26 | Visa U.S.A. | Systems and methods to match identifiers |
US8572238B2 (en) * | 2009-10-22 | 2013-10-29 | Sony Corporation | Automated social networking television profile configuration and processing |
US20110225170A1 (en) * | 2010-03-11 | 2011-09-15 | Microsoft Corporation | Adaptable relevance techniques for social activity streams |
JP2011198170A (en) | 2010-03-23 | 2011-10-06 | Oki Software Co Ltd | System and server for identifying user, mobile device, user identifying program, and program of mobile device |
US20110258050A1 (en) | 2010-04-16 | 2011-10-20 | Bread Labs Inc. A Delaware Corporation | Social advertising platform |
US20110313996A1 (en) | 2010-05-04 | 2011-12-22 | SNOWBALL FACTORY, INC. A Delaware Corporation | Campaign tracking platform for social media marketing |
US20110288913A1 (en) * | 2010-05-20 | 2011-11-24 | Google Inc. | Interactive Ads |
US20140067702A1 (en) * | 2011-03-29 | 2014-03-06 | Yogesh Chunilal Rathod | Method and System for Dynamically Publishing, Sharing, Communication and Subscribing |
US9112926B2 (en) * | 2011-04-04 | 2015-08-18 | Qualcomm, Incorporated | Recommending mobile content by matching similar users |
US8949232B2 (en) * | 2011-10-04 | 2015-02-03 | Microsoft Corporation | Social network recommended content and recommending members for personalized search results |
WO2013132136A1 (en) * | 2012-03-05 | 2013-09-12 | Nexstim Oy | Bi-phasic paired pulse transcranial magnetic stimulation |
US8762607B2 (en) * | 2012-06-29 | 2014-06-24 | Intel Corporation | Mechanism for facilitating dynamic multi-mode memory packages in memory systems |
US9406071B2 (en) * | 2012-09-26 | 2016-08-02 | Facebook, Inc. | Calculating unique social networking system users performing an action on a social networking system object |
US20140279232A1 (en) * | 2013-03-14 | 2014-09-18 | Andrew Man-Hon Lau | System and method for an affinity capture, user feedback and affinity analysis |
US9191422B2 (en) * | 2013-03-15 | 2015-11-17 | Arris Technology, Inc. | Processing of social media for selected time-shifted multimedia content |
US20140337089A1 (en) * | 2013-05-08 | 2014-11-13 | Visa International Service Association | Systems and methods to connect information |
US9560157B1 (en) * | 2013-08-19 | 2017-01-31 | Google Inc. | Managing shareable content in a social network |
US20150066948A1 (en) * | 2013-08-27 | 2015-03-05 | Adobe Systems Incorporated | Influence Scoring for Social Media Authors |
US9972015B2 (en) * | 2013-09-13 | 2018-05-15 | Salesforce.Com, Inc. | Methods and systems for facilitating customer support using a social post case feed and publisher |
US20150186945A1 (en) * | 2013-12-30 | 2015-07-02 | Qwasi, Inc. | Systems and methods for a platform to manage and execute marketing campaigns |
US9542692B2 (en) | 2014-01-14 | 2017-01-10 | Ebay Inc. | Systems and methods for matching a user to social data |
CA2864694C (en) * | 2014-08-14 | 2017-06-27 | Electronics And Telecommunications Research Institute | Low density parity check encoder having length of 16200 and code rate of 5/15, and low density parity check encoding method using the same |
-
2014
- 2014-01-14 US US14/155,032 patent/US9542692B2/en active Active
- 2014-12-30 KR KR1020187012732A patent/KR101986758B1/en active IP Right Grant
- 2014-12-30 CN CN202010798455.8A patent/CN112001747B/en active Active
- 2014-12-30 KR KR1020197015746A patent/KR102127601B1/en active IP Right Grant
- 2014-12-30 WO PCT/US2014/072690 patent/WO2015108698A1/en active Application Filing
- 2014-12-30 KR KR1020167021671A patent/KR20160106706A/en active Application Filing
- 2014-12-30 CN CN201480076555.2A patent/CN106170814B/en active Active
-
2017
- 2017-01-09 US US15/401,200 patent/US10303803B2/en active Active
-
2019
- 2019-03-27 US US16/366,548 patent/US11321405B2/en active Active
-
2022
- 2022-02-08 US US17/666,991 patent/US11803601B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100023506A1 (en) * | 2008-07-22 | 2010-01-28 | Yahoo! Inc. | Augmenting online content with additional content relevant to user interests |
US20130159885A1 (en) * | 2011-09-12 | 2013-06-20 | Gface Gmbh | Selectively displaying content to a user of a social network |
US9195632B2 (en) * | 2012-09-26 | 2015-11-24 | Facebook, Inc. | Customizing content delivery from a brand page to a user in a social networking environment |
US20150120386A1 (en) * | 2013-10-28 | 2015-04-30 | Corinne Elizabeth Sherman | System and method for identifying purchase intent |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542692B2 (en) * | 2014-01-14 | 2017-01-10 | Ebay Inc. | Systems and methods for matching a user to social data |
US10303803B2 (en) | 2014-01-14 | 2019-05-28 | Ebay Inc. | Systems and methods for matching a user to social data |
US11321405B2 (en) | 2014-01-14 | 2022-05-03 | Ebay Inc. | Systems and methods for matching a user to social data |
US11803601B2 (en) | 2014-01-14 | 2023-10-31 | Ebay Inc. | Systems and methods for matching a user to social data |
US20150229736A1 (en) * | 2014-02-13 | 2015-08-13 | Adobe Systems Incorporated | Associating social data with user profiles |
US10033828B2 (en) * | 2014-02-13 | 2018-07-24 | Adobe Systems Incorporated | Associating social data with user profiles |
US20170061016A1 (en) * | 2015-08-31 | 2017-03-02 | Linkedin Corporation | Discovery of network based data sources for ingestion and recommendations |
US10496716B2 (en) * | 2015-08-31 | 2019-12-03 | Microsoft Technology Licensing, Llc | Discovery of network based data sources for ingestion and recommendations |
US20180204133A1 (en) * | 2017-01-18 | 2018-07-19 | Facebook, Inc. | Demographic prediction for users in an online system with unidirectional connection |
Also Published As
Publication number | Publication date |
---|---|
US10303803B2 (en) | 2019-05-28 |
US20190220493A1 (en) | 2019-07-18 |
CN112001747B (en) | 2024-06-18 |
US20170116346A1 (en) | 2017-04-27 |
US9542692B2 (en) | 2017-01-10 |
CN106170814B (en) | 2020-09-04 |
US11321405B2 (en) | 2022-05-03 |
KR20180049268A (en) | 2018-05-10 |
KR101986758B1 (en) | 2019-06-07 |
KR102127601B1 (en) | 2020-06-26 |
WO2015108698A1 (en) | 2015-07-23 |
KR20190065467A (en) | 2019-06-11 |
CN106170814A (en) | 2016-11-30 |
KR20160106706A (en) | 2016-09-12 |
US11803601B2 (en) | 2023-10-31 |
CN112001747A (en) | 2020-11-27 |
US20220164404A1 (en) | 2022-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220255972A1 (en) | Personalized content sharing platform | |
US11803601B2 (en) | Systems and methods for matching a user to social data | |
US10601929B2 (en) | Systems and methods for presenting a state of a communication session | |
US20190124075A1 (en) | Delivering Personalized Content to Authenticated User Devices | |
US9880714B2 (en) | Dynamic loading of contextual ontologies for predictive touch screen typing | |
AU2013329102B2 (en) | Connecting buyers and sellers | |
US20150120386A1 (en) | System and method for identifying purchase intent | |
KR102030953B1 (en) | Generating and provisioning a personalized geo-fence | |
US20150341304A1 (en) | Personalized sharing at the user level | |
US10650104B2 (en) | Generative grammar models for effective promotion and advertising | |
US10108732B2 (en) | Social wallet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: EBAY INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SHERMAN, CORINNE ELIZABETH;REEL/FRAME:031966/0720 Effective date: 20140109 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |