Authentication of service requests initiated from a social networking site

Information

  • Patent Grant
  • 11050687
  • Patent Number
    11,050,687
  • Date Filed
    Monday, September 10, 2018
    6 years ago
  • Date Issued
    Tuesday, June 29, 2021
    3 years ago
Abstract
Described are computer-based methods and apparatuses, including computer program products, for authenticating user service requests from a social networking site. Data representing a selected message and an originator of the selected message is stored. Data representing a reply to the originator of the selected message is transmitted for posting at the social networking server, the reply including data that causes transmission of a service request to the server when actuated. Data representing the service request and a sender of the service request is received. Data representing a user profile of the sender of the service request is retrieved from the social networking server. One or more attributes of the user profile of the sender are compared against one or more attributes of the stored data representing the originator of the selected message in order to verify the one or more attributes of the user profile.
Description
FIELD OF THE INVENTION

The present invention relates generally to computer-based methods and apparatuses, including computer program products, for authentication of service requests initiated from a social networking site.


BACKGROUND

With the advent of social networking sites (e.g., Facebook, Twitter, MySpace, LinkedIn, and other social networking sites), it has become increasingly common for people to publicly share information. Social networking sites typically allow a user to create and maintain their own unique user profile that contains personal information about themselves (e.g., their name, residence, hobbies, etc.). Once a user becomes a member of a social networking site, the user can communicate with other users of the social networking site (e.g., with a specific individual, with a group of individuals, or with all users of the social networking site).


A user can send messages or post updates to one or more other users (for example, at their own volition, or in response to a previous message or update from themselves or another user). These updates can include any type of information, often being limited only by the user's imagination. Some messages include status updates that describe what the user is currently doing at the time of the status update, or what the user intends to do in the near future. Some updates express a user's satisfaction (or dissatisfaction) with a product or experience. Some updates ask questions to other users of the social networking site. Depending on the context, it is desirable to monitor the content of the messages or updates and to allow the user or people (e.g., associated with the user in some way, such as a friend of the user, a contact of the user, members of the same group of the user) to initiate service requests.


SUMMARY OF THE INVENTION

The techniques described herein provide computerized methods, apparatuses, and computer program products for authentication of service requests initiated from a social networking site. Such authentication facilitates, for example, provisioning service requests to users of the social networking site only upon authorization of the requesting users.


In one embodiment, the invention features a computerized method for authenticating user service requests from a social networking site. The method includes monitoring, at a server, data representing messages posted at a social networking server. The method includes storing, by the server, data representing a selected message and an originator of the selected message. The method includes transmitting, from the server, data representing a reply to the originator of the selected message for posting at the social networking server, the reply including data that causes transmission of a service request to the server when actuated. The method includes receiving, at the server, data representing the service request and a sender of the service request. The method includes retrieving, by the server, data representing a user profile of the sender of the service request from the social networking server. The method includes comparing, by the server, one or more attributes of the user profile of the sender against one or more attributes of the stored data representing the originator of the selected message in order to verify the one or more attributes of the user profile. The method includes processing, by the server, the service request from the sender if the one or more attributes of the user profile of the sender match the one or more attributes of the stored data representing the originator of the selected message.


In another embodiment, the invention features a computer program product, tangibly embodied in a non-transitory computer readable medium. The computer program product includes instructions being configured to cause a data processing apparatus to monitor data representing messages posted at a social networking server. The computer program product includes instructions being configured to cause a data processing apparatus to store data representing a selected message and an originator of the selected message. The computer program product includes instructions being configured to cause a data processing apparatus to transmit data representing a reply to the originator of the selected message for posting at the social networking server, the reply including data that causes transmission of a service request to the server when actuated. The computer program product includes instructions being configured to cause a data processing apparatus to receive data representing the service request and a sender of the service request. The computer program product includes instructions being configured to cause a data processing apparatus to retrieve data representing a user profile of the sender of the service request from the social networking server. The computer program product includes instructions being configured to cause a data processing apparatus to compare one or more attributes of the user profile of the sender against one or more attributes of the stored data representing the originator of the selected message in order to verify the one or more attributes of the user profile. The computer program product includes instructions being configured to cause a data processing apparatus to process the service request from the sender if the one or more attributes of the user profile of the sender match the one or more attributes of the stored data representing the originator of the selected message.


In another embodiment, the invention features an apparatus for authenticating user service requests from a social networking site. The apparatus includes a database configured to store data representing a selected message and an originator of the selected message. The apparatus includes a server in communication with the database with a processor and memory configured to monitor data representing messages posted at a social networking server. The server is configured to transmit data representing a reply to the originator of the selected message for posting at the social networking server, the reply including data that causes transmission of a service request to the server when actuated. The server is configured to receive data representing the service request and a sender of the service request. The server is configured to retrieve data representing a user profile of the sender of the service request from the social networking server. The server is configured to compare one or more attributes of the user profile of the sender against one or more attributes of the stored data representing the originator of the selected message in order to verify the one or more attributes of the user profile. The server is configured to process the service request from the sender if the one or more attributes of the user profile of the sender match the one or more attributes of the stored data representing the originator of the selected message.


In other examples, any of the aspects above can include one or more of the following features. The service request can be a request to initiate a chat session. Comparing can include comparing a person attribute in the user profile to a person attribute in the stored data representing the originator to determine whether the sender is the originator of the selected message. Comparing can include comparing a follower attribute in the user profile to a follower attribute in the stored data representing the originator to determine whether the sender is a follower of the originator of the selected message.


In some examples, comparing includes comparing a location attribute in the user profile to a location attribute in the stored data representing the originator to determine whether the sender is in a same location as the originator of the selected message. Retrieving the data representing a user profile can include transmitting data representing an access authorization to the sender of the service request for authorization to retrieve the data representing the user profile, and receiving data representing a response to the access authorization, the response including data indicative of the sender providing access authorization.


In other examples, processing the service request includes transmitting a request to a chat server to establish a chat between the sender of the service request and a third party. Data representing a second user profile of the originator of the selected message can be retrieved from a second social networking server. Data representing the reply can be transmitted to the originator at the second social networking server. An aggregated social media profile for the originator including the second user profile and the data representing the selected message and the originator of the selected message can be stored.


In some examples, the social networking server provides a social networking service to users, the social networking service including a social networking service provided by a social networking site selected from the group consisting of twitter.com, facebook.com, myspace.com, or any combination thereof. The service request can be an advertisement request, a support request, a voice call request, or any combination thereof.


In other examples, the social networking server provides a social networking service to users, the social networking service including a social networking service provided by a social networking site selected from the group consisting of twitter.com, facebook.com, myspace.com, or any combination thereof. The server can include a user interface configured to display the data representing messages posted at the social networking server.


The techniques, which include both methods and apparatuses, described herein can provide one or more of the following advantages. Information can be retrieved from social networking sites based on keywords and reacted to as desired (e.g., by a predefined set of rules). If, for example, a message posted by an originating user includes one or more keywords of interest, a response (e.g., posted reply message) can be sent to the originator of the message that includes invocable data to initiate a service request by a user of the social networking site (e.g., by the originator or other users of the social networking site). Once initiated, the system can authenticate the initiator of the service request (e.g., based on a user profile of the initiator) to verify that, for example, the service request is only granted to a desired audience of the social networking site (e.g., to verify that the initiator profile matches the originator profile, or the initiator profile is related to the originator profile). Advantageously, services such as advertisements, chat services, live help, and other services can be provided to a targeted group of users of social networking sites.


Social media profiles can be created for users of the social networking site that includes account information for the users aggregated across a plurality of social networking sites to which the user belongs (e.g., for users that post messages that are responded to by the system described herein). The aggregated social media profile can be used to respond to an originator of a message at any one of the originator's many social media services. Advantageously, the targeted group of users for the services is spread across multiple social networking sites.


Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating the principles of the invention by way of example only.





BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other aspects, features, and advantages of the present invention, as well as the invention itself, will be more fully understood from the following description of various embodiments, when read together with the accompanying drawings.



FIG. 1 is a diagram showing an exemplary system for implementing service requests for a social networking site;



FIGS. 2A and 2B are diagrams of an exemplary social networking page for a social networking site according to the present invention;



FIG. 3 is a flow chart showing an exemplary method for processing a service request; and



FIG. 4 is a flow chart showing an exemplary method for authenticating a service request.





DETAILED DESCRIPTION

In general overview, computerized systems and methods are provided for provisioning services to authenticated users of social networking services provided by social networking sites. Social networking sites (or social media) can be monitored so that messages of interest (e.g., posted by users of the social networking sites) are responded to and provided with invocable data to initiate a service request. The actuator of the service request (which can be the originator of the identified message or another user of the social networking site) is authenticated before providing the actuator with the service associated with the service request. In some examples, the user profile (or data profile, e.g., which is requested from the social networking site) associated with the actuator of the service request is compared against the stored data for the associated identified message (e.g., a user profile for the user that initiated the associated identified message) to authenticate one or more attributes between the originator of the identified message and the actuator of the service request.



FIG. 1 is an exemplary diagram showing an exemplary system 100 for implementing service requests for a social networking site. The system 100 includes a social networking server 102. The social networking server 102 is in communication with a plurality of user devices 104A through 104N (collectively referred to herein as user devices 104). The social networking server 102 is also in communication with a monitoring server 106, which includes a database 108. The monitoring server 106 is also in communication with user devices 104. Application server 110 is in communication with user devices 104 and the monitoring server 106. The computerized elements of system 100 can be in communication using, for example, the internet, cellular links, and/or any other type of data or voice communication.


The social networking server 102 can be, for example, a single web server with a processor and memory, or a plurality of web servers configured to provide a social networking service to the user devices 104. The social networking services can include, for example, providing computerized services for the user to maintain or update their profile with the social networking site, providing computerized services that facilitate communication with other users of the social networking site, providing computerized services for posting communications or messages, and other services offered through social networking sites. The social networking services can include those service provided by, for example, twitter.com, facebook.com, myspace.com, or linkedin.com. The social networking site provides an application programming interface (API) that facilitates monitoring keywords in messages or other data used within the social networking service (e.g., which can be viewed by user devices 104). Although the following description is directed to an embodiment involving the social networking site twitter.com, the described computerized systems and methods are not so limited and can be applied to other social networking sites, such as facebook.com, myspace.com, or linkedin.com.


The API is an interface implemented by the social networking site that enables other software programs (e.g., a program executed by the monitoring server 106) to interact with the social networking site. The social networking site provides services through the API, and the API allows the other software programs to access the services. For example, the API services can include services to monitor keywords contained within user communications posted in the social networking site, services to post communications (e.g., messages) to users of the social networking site, or services to obtain information about users of the social networking site (e.g., user profile information).


The user devices 104 are computing devices with a processor and memory that can interact with the social networking site. For example, the user devices 104 can include desktop computers, laptop computers, tablet PCs, and/or smart phones. A user of a social networking site can use a user device 104 to log into the social networking site and to use the provided social networking services. A user can use any user device 104; they profile information for a user can be determined independently for a user from the actual user device 104.


The monitoring server 106 is a computing device having a processor and memory that uses the API for the social networking site to monitor one or more configurable keywords. For example, a computer hardware company that specializes in selling computer hard drives may want to automatically monitor user posts (or messages) to the social networking server 102 to identify posts that includes keywords or phrases related to their business. Advantageously, the monitoring server 106 can receive information based on the keywords and react to the keywords as desired (e.g., if a question is posted from a user device 104 about “hard drives,” the monitoring server can transmit a link to the user device 104 that, when invoked, establishes a chat connection with a person who is knowledgeable about hard drives and who can answer the question transmitted from the user device 104).


For example, the Twitter social networking site provides an API that allows the monitoring server 106 to monitor keywords contained within tweets. A tweet is a posted message that is viewable by users of the twitter.com site. The monitoring server 106 can interface with the twitter social networking site using the API (e.g., by subscribing to a service through the API, such a notification service that pushes information to programs that implement certain functions of the API) with one or more keywords to receive notifications that the keyword is being tweeted, the number of tweets that include the keyword, the number of followers that can see the tweet, and/or other pertinent information. When the monitoring server 106 identifies a keyword, the monitoring server 106 can send a reply tweet to the user that posted the tweet containing the keyword. The database 108 is configured to store data representing selected messages or tweets (e.g., those that contain the monitored keyword) and an originator of the selected message (e.g., which user device 104 transmitted the selected message to the social networking server 102).


The monitoring server 106 can be in communication with an operator terminal (not shown) that includes a graphical user interface configured to display the data representing messages posted at the social networking server 102. For example, the monitoring server 106 can display information about the identified messages that include the one or more monitored keywords. The information about the messages can include, for example, the date of the message, the number of followers of the user that posted the message (e.g., people who are subscribed to see the particular message and any related messages), the number of friends of the posting user (e.g., the number of people the posting user has established a relationship with in the social networking site), the geographical location of the posting user (e.g., to the country level, state level, city level, etc.), an identifier for the message, a token for the message (e.g., an Open Authorization (OAuth) token), the source of the message (e.g., the user posted the message via the web, via a mobile device, etc.), the content of the message, the number of messages related to the posted message (e.g., the number of messages in the message string that contained the posted message, such as the count of tweets), the user image associated with the posting user (e.g., a picture of the user), the name of the posting user, a user name associated with the posting user in the social networking site (e.g., a screen name for the user), and/or other information gleaned from the message (e.g., based on the posted message itself, a user profile associated with the posting user, or other information from the social networking site).


An operator can view the graphical user interface provided by the operator terminal to decide how to respond to the identified message/post. For example, the operator may decide not to respond to the identified message based on one or more criteria associated with the identified message (e.g., geographical area, message content, etc.). Or the operator can decide to send a response to the identified message. This process is described in further detail with respect to FIG. 3.


The application server 110 provides one or more services to the user devices 104. The service can include, for example, a chat service (e.g., between the user device 104 and a third party, such as a person knowledgeable about a question posed from the user device 104), an advertisement service (e.g., advertisements related to the keywords of the user's message), a support service (e.g., documents or links to documents related to the user's message), and/or a voice service (e.g., the service facilitates a call between the user and a third party, such as a person knowledgeable about a question posted from the user device 104). For example, as will be further described below, the monitoring server 106 can, through the API, post a message in reply to a posted message, the posted message containing a link (e.g., a URL). The link, once invoked by a user device 104, initiates a service with the application server 110. The monitoring server 106 can authenticate the user device 104 before providing the service to the user (e.g., as described with reference to FIG. 4 below based on a data/user profile associated with the user device 104).



FIGS. 2A and 2B are diagrams of exemplary social networking pages 200A and 200B, respectively, for a social networking site according to the present invention. Social networking page 200A includes posted messages 202A through 202N (collectively posted messages 202). Posted message 202A includes a logo 204, username user_one 206, content 208 (i.e., “My computer has been very slow lately”), and posting information 210 (i.e., “8 minutes ago via web”). The username user_one 206 indicates which user posted the message 202A (e.g., a user of a user device 104). This is advantageous, for example, to tell users apart when multiple user devices 104 are posting messages for a particular message thread or message board. The content 208 is the text that the posting user user_one 206 entered for the posted message 202A. The posting information 210 indicates how long ago user_one 206 posted the message 202A (i.e., 8 minutes ago) and how user_one 206 posted the message (i.e., via the web).


Posted message 202N includes a logo 212, username user_one 206, content 214 (i.e., “What is the best kind of computer hard drive to buy?”), and posting information 216 (i.e., “7 minutes ago via web”). Posted messages 202 are used for illustrative purposes only and are not intended to be limiting. One skilled in the art can appreciate that the information contained within the posted messages 202 can be modified without departing from the spirit of the techniques described herein.


Referring to FIG. 1, user_one 206 (where “user_one” is a screen name representative of user device 104 or of an operator of the user device 104) posted message 202A to the social networking server 102. One minute later user_one 206 posted the posted (using a user device 104) message 202N to the social networking server 102. User_one 206 can configure his account with the social networking site to control which other users can see posted messages 202A and 202N. There can be posted messages by other users between posted messages 202A and 202N (e.g., a different user device 104 can post a message in response to posted message 202A). For example, all people following the posts on social networking page 200A can see posted message 202A and can choose to post a message in response. Similarly, for example, any person that user_one 206 has established a relationship within the social networking site (e.g., friends) can view the posted message 202A, and/or any user device 104 can view posted message 202A.


The social networking page 200B in FIG. 2B includes posted messages 202A and 202N from FIG. 2A and also includes posted message 202N+1. Posted message 202N+1 includes a logo 218, username auto_reply 220, content 222 (i.e., “What do you want to know about hard drives?”), a link 224 that causes transmission of a service request to the monitoring server 106, and posting information 226 (i.e., “5 minutes ago via API in response to user_one”). The posting information 226 indicates that posted message 202N+1 was posted by auto_reply 220 (e.g., a user with the screen name “auto_reply,” which may correspond to an individual user or a company) five minutes ago via an API (e.g., an API to the social networking site provided by social networking server 102, which allows messages to be posted in response to a user's message) in response to the posted message 202N by user_one 206. Message 202N+1 will be discussed in further detail with respect to FIG. 3 below. The posted message 202N+1 can be transmitted automatically (e.g., by the monitoring server 106 based on rules stored in the database 108) or manually (e.g., by an operator of the monitoring server 106).



FIG. 3 is an exemplary flow chart showing an exemplary method 300 for processing a service request. Referring to FIG. 1, at step 302 the monitoring server 106 monitors data representing messages posted at the social networking server 102. At step 304, the monitoring server 106 stores data representing a selected message and an originator of the selected message. At step 306, the monitoring server 106 transmits data representing a reply to the originator of the selected message (e.g., to the originating user device 104) for posting at the social networking server 102. The reply includes data that causes transmission of a service request to the monitoring server 106 when actuated. At step 308, the monitoring server 106 receives data representing the service request and a sender of the service request (e.g., which user device 104 actuated the data that causes transmission of the service request).


At step 310, the monitoring sever 106 determines whether to verify one or more attributes of the sender of the service request. For example, the monitoring server 106 can determine whether or not to verify attributes of the sender based on the data of the sender (e.g., the attributes in the data). In some examples, the monitoring server 106 can be configured (e.g., via a stored variable) to automatically verify, or not verify, the attributes of the sender. If the monitoring server 106 is configured to verify one or more attributes, the method 300 proceeds to step 400 of FIG. 4. If the monitoring server is not configured to verify the attributes of the sender, the method 300 proceeds to step 312 and the monitoring server processes the service request.


Referring to step 302, the monitoring server 106 monitors data representing messages posted at the social networking server 102. For example, users of the social networking site Twitter post tweets to the social networking server 102. The monitoring server 106 accesses information about these posted tweets (messages) from the social networking server 102 using, for example, an API provided by Twitter. The monitoring server 106 can be configured to store particular information (or attributes) from the social networking sever 102 using the API. The monitoring server 106 can use the acquired information to determine whether to engage the user that posted the message. In some examples, the monitoring server 106 presents a graphical user interface that displays the acquired information to an operator that decides how to respond to the message (e.g., not to respond or to respond).


For example, referring to FIG. 2A, a computer company that sells hard drives can configure the monitoring server 106 to monitor messages posted to social networking server 102 for particular keywords related to hard drives. For example, the monitoring server 106 can be configured to monitor the content of messages posted at social networking server 102 for the keywords “hard drive” and “buy.” Advantageously, if a message includes these keywords, the monitoring server 106 can take appropriate action such that a message is transmitted in response to the posted message (e.g., to provide a link that, once clicked, facilitates setting up a chat session between the user and a third party to help the user with purchasing a hard drive, or to provide an advertisement for hard drives that are provided by the computer company). An exemplary social media monitoring tool is the tracx platform provided by tracx of Hoboken, N.J.


Referring to step 304, the monitoring server 106 can store data for a selected message if the selected message includes data (e.g., keywords in the message content, a particular user name, a posting time of the message, etc.) that the monitoring server 106 is configured to identify in the posted messages. For example, continuing with the computer company example described above with respect to step 302, if the monitoring server 106 identifies a message that includes one or more of the keywords “hard drive” and/or “buy,” the monitoring server 106 can store data indicative of the message and/or the originator of the message in database 108. Advantageously, the stored data for the message and/or the originating user can be used to authenticate the requestor of a service request associated with the message.


Referring to step 306, the monitoring server 106 transmits a reply to the originator of the selected message. For example, referring to FIG. 2B, the monitoring server 106 transmits message 202N+1 to user_one 206, using the social networking server 102, in response to message 202N posted by user_one 206. Message 202N+1 includes content 222 and link 224 that causes transmission of a service request to the monitoring server 106. For example, link 224 can be a chat invitation (e.g., an invitation to a two-way chat between the user device 104 and a second device). If a user of a user device 104 clicks the link 224, the user device 104 can be redirected to the application server 110 to open up a chat (which is described in further detail with respect to step 312 below).


Referring further to step 306, some social networking sites provide constraints on who can respond to a posted message. The monitoring server 106 can transmit the reply (e.g., using the API for the social networking site) in such a way that it complies with the social networking site constraints and still responds to the user's posted message. For example, when using Twitter there may not be a way to send a twitter message to a user device 104 if the posting party (e.g., the monitoring server 106) is not following the tweets that included the identified message. Continuing with the computer company example, if the monitoring server 106 is not following the account of user_one 206 (e.g., not following the tweets of user_one 206), then the monitoring server 106 can not send user_one 206 a direct message. To comply with these social networking site constraints, the monitoring server 106 can, for example, send a public tweet and/or send a comment (e.g., a single message to tweeter or a broadcast message to everyone following the tweet).


Referring to step 308, the monitoring server 106 receives data representing the service request. For example, the monitoring server 106 receives data indicative of a user of a user device 104 clicking on the link 224. Depending on the social networking site (and/or how a user configures their account with the social networking site), there may not be any guarantee that the user to whom the monitoring server 106 transmitted message 202N+1 is also the same user that clicked on the link 224. For example, if one or more users are following the message chain of user_one 206 that includes messages 202A, 202N and 202N+1, then not only can user_one 206 click the link 224, but so can any of the other users that are viewing the social networking page 200B. In some examples, any user of the social networking site can view the social networking page 200B (and therefore any user can click the link 224). Therefore, in some embodiments it may be desirable to verify attributes of the sender (e.g., to verify the attributes of the user profile for the user that clicked link 224) to determine whether that the monitoring server 106 will provide the service to the sender. The verification process is described in further detail with respect to FIG. 4.


Referring to step 312, the monitoring server 106 processes the service request. For example, the service request can be a request to initiate a service provided by application server 110. For example, the application server 110 can be a chat server, and the service request can be a request to initiate a chat session between the user that initiated the service request and a second user (e.g., through the application server). The monitoring server 106 can process the service request to chat by transmitting a request to application server 110 to establish a chat between the sender of the service request and a third party. Returning to the computer company example, if user_one 206 clicks on link 224, the monitoring server 106 can instruct the application server 110 to set up a chat session between the initiating user and an expert from the computer company. The expert can be, for example, an expert in the field of computer hard drives. Advantageously, this allows the initiating user to have a chat with the expert about hard drives. Such chat conversations allow the initiating user to have live-time discussions to learn information and/or answer any questions they have about a particular topic.


In some examples, the expert is matched up with the initiating user based on one or more criteria. For example, the application server 110 can select the expert based on one or more skills (e.g., technology advisors, social media agents, etc.). Advantageously, the monitoring server (and/or the application server 110) can direct the initiating user to the person who will help the most. In some examples, the expert is selected based on the content of the messages (e.g., messages that contain certain keywords related to the company, keywords indicative of questions (e.g., “why” or “?”), etc.). While the monitoring server 106 can select the expert based on the content of the messages, the monitoring server 106 can also select the user based on other criteria (e.g., the initiating user's social media profile). For example, as described above, the monitoring server 106 can select the expert based on other information known about the messages such as, for example, the date of the message, the number of followers or friends, geographical location, etc.


While the term “expert” is used to describe the second person of the chat conversation, this term is used to not only to represent a person with particular knowledge about a field (e.g., a person knowledgeable about computer hard drives), but can also be used to refer to any person who can help the initiating user (e.g., by answering questions, directing them to other websites, providing information, etc.).


In some examples, the service request is an advertisement request. For example, the content of message 202N+1 can direct a viewer to click the link 224 for a coupon. In some examples, the service request is a support request. In some examples, the service request is a voice call request. For example, the service request can include data indicative of a phone number for the requesting user and a request that the requesting user be called at the phone number. In some examples, the user is presented with a dialog box (e.g., as a web page or as an applet) that allows the user to provide their contact information.



FIG. 4 is a flow chart showing an exemplary method 400 for authenticating a service request. Method 400 provides for Open Authorization (OAuth), where the monitoring server 106 can authenticate the sender of the service request without the sender providing additional information (e.g., a username and/or password). At step 402, the monitoring server 106 retrieves data representing a user profile of the sender of the service request from the social networking server 102 (e.g., retrieves the profile of the sender identified in the data obtained in step 308 of FIG. 3). At step 404, the monitoring server 106 compares one or more attributes of the user profile of the sender against one or more attributes of the stored data representing the originator of the selected message in order to verify the one or more attributes of the user profile. At step 406, the monitoring server 106 determines whether the compared attributes match. If the one or more attributes match, the method proceeds to step 408 and the monitoring server 106 processes the service request. If the one or more attributes do not match, the monitoring server 106 proceeds to step 410 and does not process the service request and optionally can provide a default response (e.g., presentation of a company home web page).


Referring to step 402, the monitoring server 106 can retrieve data representing the sender from the social networking server 102 using, for example, an API provided by the social networking site that is being provided by the social networking server. The monitoring server 106 may request authorization from the sender of the service request before retrieving data about the sender. For example, the monitoring server 106 can transmit an authorization request to the sender (e.g., via a pop-up dialog box, a web page, etc.). The authorization request can be, for example, data representing an access authorization to retrieve the data representing the requesting user's profile from the social networking server 102. The authorization request has a mechanism (e.g., graphical interface buttons, check boxes, etc.) for the sender to indicate either that they do or do not authorize the monitoring server 106 to retrieve data from the social networking sever 102 about them. When the user operates the mechanism, the monitoring server 106 receives data representing a response to the access authorization. If the monitoring server 106 receives data indicative of a denial from the sender, then the monitoring server 106 can terminate method 400 and not retrieve data representing the user from the social networking server 102. If the monitoring server 106 receives data indicative of the sender providing access authorization, then the monitoring server 106 is authorized to request information from the social networking server 102 (e.g., the sender's user profile).


In some examples, the authorization request is embedded in the social networking site. In some examples, when the requesting user clicks link 224, the link 224 can redirect the user to a servlet that prompts the user with the authorization request (e.g., a Java servlet, or some other protocol by which the monitoring server 106 can respond to the HTTP request). This request can be a request to begin the OAuth stage of method 400. If the monitoring server 106 receives authorization, the monitoring server can request any appropriate information from the social networking server 102 (e.g., the user profile). The monitoring server 106 can retrieve stored information for the originator of the selected message from database 108 (e.g., which was stored in step 304 of method 300). The information retrieved from the social networking server 102 can include, for example, any information that the monitoring server 106 can use to verify the user profile against the originator of the selected message. For example, the information retrieved from the social networking server 102 can include the date of the message, the number of followers of the user, the number of friends of the user, the user's geographical location, an identifier for the message, a token for the message, the source of the message, the content of the message, the number of messages related to the posted message, the user's image, the name of the user, a user name associated with the user, and/or other information gleaned from the message.


Referring to steps 404 and 406, the monitoring server 106 can verify one or more attributes of the user profile and the originator of the selected message. In some examples, the monitoring server 106 can verify that the originator of the message is the sender of the service request. For example, the monitoring server 106 can compare a person attribute in the user profile to a person attribute in the stored data representing the originator to determine whether the sender is the originator of the selected message. If the person attributes match, then the monitoring server 106 successfully validated that the sender is the originator of the selected message. For example, referring to FIG. 2B, user_one 206 posted message 202N, and this information is stored in the database 108. The stored information includes a person attribute indicative of user_one 206. If the user_one 206 clicked the link 224 in message 202N+1, then the monitoring server 106 will receive a person attribute indicative of user_one 206 in response to its request for information about the sender of the service request. Since the person attribute for the originator of message 202N is the same as the person attribute for the sender of the service request, the monitoring server 106 can identify that the same user clicked the link 224.


Advantageously, the monitoring server 106 can process the service request (e.g., step 408) since the service request was effected by an intended recipient of the service request.


In some examples, the monitoring server 106 can verify one or more attributes between the user profile and the originator of the selected message that are not unique to the originator of the selected message. For example, the one or more attributes can be shared by a group of people (e.g., and the monitoring server 106 can be configured to engage with members of the particular group). Advantageously, the monitoring server 106 need not verify that the service request was effected by the same user that posted the message, but can verify other characteristics, such as characteristics of user profiles. For example, the monitoring server can verify whether there is any relationship between the originator of the message and the sender of the service request (e.g., if they are friends in the social networking site), whether they are located within a same geographical area, whether they share one or more common interests or hobbies, and/or other attributes. For example, the monitoring server 106 can verify the sender of the service request is a follower of the originator of the selected message. The monitoring server 106 can compare a follower attribute in the user profile to a follower attribute in the stored data representing the originator to determine whether the sender is a follower of the originator of the selected message. Advantageously, by performing such comparisons, the monitoring server 106 can determine that the sender of the service request is likely to share one or more attributes or characteristics with the originator of the message, and therefore is likely to be a proper audience for the service request.


In some examples, the monitoring server 106 verifies the sender of the service request is in the same geographical location as the originator of the message. For example, the monitoring server 106 can compare a location attribute in the user profile to a location attribute in the stored data representing the originator to determine whether the sender is in a same location as the originator of the selected message. Advantageously, by comparing the location information, the monitoring server 106 can verify that, for example, targeted advertisements are provided to appropriate recipients.


Advantageously, the monitoring server 106 can determine if the sender of the service request is the same person as the originator of the selected message based on, for example, a user ID, date, time, location (e.g., the location of the message, based on packet information and geographical location information), and any other attributes relevant to identifying the sender of the service request. Advantageously, because the monitoring server 106 has stored data for the selected message, the monitoring server 106 is not limited to matching the identity of the sender and the originator. As another example, the monitoring server 106 can determine whether the sender of the service request is a “friend” of the selected message. For example, the monitoring server 106 can determine whether the sender has some relationship in the social network to the originator of the selected message (e.g., as indicated between their user profiles). As an illustrative example, the monitoring server 106 can use an identification field in the originator's profile and use the identification field to get all the followers of the originator (e.g., via the social networking site's API). The monitoring server 106 can perform a basic search of the retrieved list of followers to determine whether the sender of the service request is a follower of the originator of the stored message.


Referring to step 408, after the sender of the service request is authenticated, the sender can be redirected based on their user profile. For example, the sender can be redirected to a chat session with an expert. The application server 110 can select the expert based on one or more skills of the expert (e.g., technology advisors, social media agents, etc.) based on the sender's user profile. For example, as described above, the monitoring server 106 can select the expert based on the number of followers or friends in the sender's user profile, the geographical location in the user's profile, etc.


Referring to step 410, the monitoring server 106 can perform other actions even though the monitoring server 106 does not process the service request. For example, the sender of the service request can be directed to a particular web page (e.g., a landing page). For example, the sender can be directed to a default advertisement, a web page that explains the authentication process, a web page that explains why the sender was not provided with the service request, and/or the like.


In some examples, the monitoring server 106 can monitor a first social networking site and respond to messages posted at the first social networking site through a second social networking site. For example, referring to method 300 in FIG. 3, the monitoring server 106 can monitor data indicative of messages posted at social networking server 102. The monitoring server 106 can retrieve data representing a second user profile of the originator of the selected message from a second social networking server (e.g., from a different social networking server than social networking server 102, which is not shown in FIG. 1). Referring to step 306, the monitoring server 106 can transmit data representing the reply to the originator at the second social networking server (e.g., and not through the social networking server 102).


For example, the monitoring server 106 can monitor tweets posted to Twitter (e.g., via the Twitter API). If the monitoring server 106 desires to respond to a tweet (e.g., the tweet includes one or more keywords of interest), the monitoring server 106 can identify one or more additional social networking sites that the originator of the selected message belongs to (e.g., other social networking sites where the originator has an account). For example, the monitoring server 106 can determine that the originator has a Facebook account. The monitoring server 106 can transmit a reply (based on the originator's tweet) to the originator via Facebook instead of through Twitter.


In some examples, the monitoring server 106 stores an aggregated social media profile for the originator comprising any other user profiles (or information) for the originator at other social media services. The monitoring server 106 can also store the data representing the selected message and the originator of the selected message in the aggregated social media profile. Advantageously, the monitoring server 106 can use the aggregated social media profile to respond to the originator at any one of its many social media services. The social media server 102 can provide multiple social networking sites, a single social media server 102 can provide a single social networking site, or any combination thereof. The social networking site can include Twitter, Facebook, Myspace, LinkedIn, and/or any other social networking service.


The above-described computerized methods and apparatuses can be implemented in digital and/or analog electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The implementation can be as a computer program product, i.e., a computer program tangibly embodied in a machine-readable storage device, for execution by, or to control the operation of, a data processing apparatus, e.g., a programmable processor, a computer, and/or multiple computers. A computer program can be written in any form of computer or programming language, including source code, compiled code, interpreted code and/or machine code, and the computer program can be deployed in any form, including as a stand-alone program or as a subroutine, element, 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 or more sites.


The computerized method steps can be performed by one or more processors executing a computer program to perform functions of the invention by operating on input data and/or generating output data. Method steps can also be performed by, and an apparatus can be implemented as, special purpose logic circuitry, e.g., a FPGA (field programmable gate array), a FPAA (field-programmable analog array), a CPLD (complex programmable logic device), a PSoC (Programmable System-on-Chip), ASIP (application-specific instruction-set processor), or an ASIC (application-specific integrated circuit). Subroutines can refer to portions of the computer program and/or the processor/special circuitry that implement one or more functions.


Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital or analog computer. Generally, a processor receives instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and/or data. Memory devices, such as a cache, can be used to temporarily store data. Memory devices can also be used for long-term data storage. Generally, a computer also includes, or is operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. A computer can also be operatively coupled to a communications network in order to receive instructions and/or data from the network and/or to transfer instructions and/or data to the network. Computer-readable storage devices suitable for embodying computer program instructions and data include all forms of volatile and non-volatile memory, including by way of example semiconductor memory devices, e.g., DRAM, SRAM, EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and optical disks, e.g., CD, DVD, HD-DVD, and Blu-ray disks. The processor and the memory can be supplemented by and/or incorporated in special purpose logic circuitry.


To provide for interaction with a user, the above described techniques can be implemented on a computer in communication with a display device, e.g., a CRT (cathode ray tube), plasma, or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse, a trackball, a touchpad, or a motion sensor, by which the user can provide input to the computer (e.g., interact with a user interface element). Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, and/or tactile input.


The above described techniques can be implemented in a distributed computing system that includes a back-end component. The back-end component can, for example, be a data server, a middleware component, and/or an application server. The above described techniques can be implemented in a distributed computing system that includes a front-end component. The front-end component can, for example, be a client computer having a graphical user interface, a Web browser through which a user can interact with an example implementation, and/or other graphical user interfaces for a transmitting device. The above described techniques can be implemented in a distributed computing system that includes any combination of such back-end, middleware, or front-end components.


The computing system can include clients and servers. A client and a 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.


The components of the computing system can be interconnected by any form or medium of digital or analog data communication (e.g., a communication network). Examples of communication networks include circuit-based and packet-based networks. Packet-based networks can include, for example, the Internet, a carrier internet protocol (IP) network (e.g., local area network (LAN), wide area network (WAN), campus area network (CAN), metropolitan area network (MAN), home area network (HAN)), a private IP network, an IP private branch exchange (IPBX), a wireless network (e.g., radio access network (RAN), 802.11 network, 802.16 network, general packet radio service (GPRS) network, HiperLAN), and/or other packet-based networks. Circuit-based networks can include, for example, the public switched telephone network (PSTN), a private branch exchange (PBX), a wireless network (e.g., RAN, bluetooth, code-division multiple access (CDMA) network, time division multiple access (TDMA) network, global system for mobile communications (GSM) network), and/or other circuit-based networks.


Devices of the computing system and/or computing devices can include, for example, a computer, a computer with a browser device, a telephone, an IP phone, a mobile device (e.g., cellular phone, personal digital assistant (PDA) device, laptop computer, electronic mail device), a server, a rack with one or more processing cards, special purpose circuitry, and/or other communication devices. The browser device includes, for example, a computer (e.g., desktop computer, laptop computer) with a world wide web browser (e.g., Microsoft® Internet Explorer® available from Microsoft Corporation, Mozilla® Firefox available from Mozilla Corporation). A mobile computing device includes, for example, a Blackberry®. IP phones include, for example, a Cisco® Unified IP Phone 7985G available from Cisco System, Inc, and/or a Cisco® Unified Wireless Phone 7920 available from Cisco System, Inc.


One skilled in the art will realize the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The foregoing embodiments are therefore to be considered in all respects illustrative rather than limiting of the invention described herein. Scope of the invention is thus indicated by the appended claims, rather than by the foregoing description, and all changes that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.

Claims
  • 1. A computer-implemented method, comprising: monitoring one or more posted messages made by an originating device on a social networking web site;identifying one or more keywords including a configurable keyword within the one or more posted messages associated with a first user profile of a first user;selecting a posted message of the one or more posted messages that includes the configurable keyword;determining an action corresponding to the configurable keyword;generating a response message based on the selected message and the determined action, wherein the response message facilitates a selection of the determined action;transmitting the response message, wherein the response message is transmitted using the social networking website;receiving input corresponding to a selection of the determined action, the input associated with a second user profile of a second user;comparing the first user profile to the second user profile to verify one or more shared attributes and one or more attributes likely to be shared by the first user profile and the second user profile; andfacilitating the determined action for the second user profile based on the configurable keyword identified within the selected message and the verified attributes, wherein facilitating includes matching the one or more keywords identified within the one or more posted messages and the verified attributes to a destination device corresponding to an agent associated with the determined action, wherein matching includes identifying the agent associated with the determined action based on a criterion that associates the agent with one or more types of the keywords identified within the selected message.
  • 2. The computer-implemented method of claim 1, further comprising: authenticating the originating device.
  • 3. The computer-implemented method of claim 1, further comprising: storing the one or more posted messages and data indicative of the originating device in a database.
  • 4. The computer-implemented method of claim 1, wherein when the response message is received by the initiator device, the initiator device can select the determined action.
  • 5. The computer-implemented method of claim 1, wherein the determined action is a request for a chat session.
  • 6. A system comprising: one or more data processors; anda non-transitory computer-readable storage medium containing instructions which when executed on the one or more data processors cause the one or more data processors to perform operations including: monitoring one or more posted messages made by an originating device on a social networking website;identifying one or more keywords including a configurable keyword within the one or more posted messages associated with an originator profile of a first user;selecting a posted message of the one or more posted messages that includes the configurable keyword;determining an action corresponding to the configurable keyword;generating a response message based on the selected message and the determined action, wherein the response message facilitates a selection of the determined action;transmitting the response message, wherein the response message is transmitted using the social networking website;receiving input entered at an initiator device corresponding to a selection of the determined action, the input associated with an initiator profile of a second user;comparing the originator profile to the initiator profile to verify one or more shared attributes and one or more attributes likely to be shared by the first user and the second user; andfacilitating the determined action for the second user based on the configurable keyword associated with the selected message and the verified attributes, wherein facilitating includes matching the one or more keywords identified within the one or more posted messages and the verified attributes to a destination device corresponding to an agent associated with the determined action, wherein matching includes identifying the agent associated with the determined action based on a criterion that associates the agent with one or more types of the keywords identified within the selected message.
  • 7. The system of claim 6, wherein the operations further include: authenticating the originating device.
  • 8. The system of claim 6, wherein the operations further include: storing the one or more posted messages and data indicative of the originating device in a database.
  • 9. The system of claim 6, wherein when the response message is received by the initiator device, the initiator device can select the determined action.
  • 10. The system of claim 6, wherein the determined action is a request for a chat session.
  • 11. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions to cause a data processing apparatus to perform operations including: monitoring one or more posted messages made by an originating device on a social networking website;identifying one or more keywords including a configurable keyword within the one or more posted messages associated with an originator profile of a first user;selecting a posted message of the one or more posted messages that includes the configurable keyword;determining an action corresponding to the configurable keyword;generating a response message based on the selected message and the determined action, wherein the response message facilitates a selection of the determined action;transmitting the response message, wherein the response message is transmitted using the social networking website;receiving input entered at an initiator device corresponding to a selection of the determined action, the input associated with an initiator profile of a second user;comparing the originator profile to the initiator profile to verify one or more shared attributes and one or more attributes likely to be shared by the first user and the second user; andfacilitating the determined action for the second user based on the configurable keyword associated with the selected message and the verified attributes, wherein facilitating includes matching the one or more keywords identified within the one or more posted messages and the verified attributes to a destination device corresponding to an agent associated with the determined action, wherein matching includes identifying the agent associated with the determined action based on a criterion that associates the agent with one or more types of the keywords identified within the selected message.
  • 12. The computer-program product of claim 11, wherein the operations further include: authenticating the originating device.
  • 13. The computer-program product of claim 11, wherein the operations further include: storing the one or more posted messages and data indicative of the originating device in a database.
  • 14. The computer-program product of claim 11, wherein when the response message is received by an initiator device, the initiator device can select the determined action.
  • 15. The computer-program product of claim 11, wherein the determined action is a request for a chat session.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 14/543,397, filed on Nov. 17, 2014, which claims the benefit of U.S. application Ser. No. 12/967,782, filed on Dec. 14, 2010, both of which are incorporated herein by reference in their entirety for all purpose.

US Referenced Citations (674)
Number Name Date Kind
5450537 Hirai et al. Sep 1995 A
5517405 McAndrew et al. May 1996 A
5563805 Arbuckle et al. Oct 1996 A
5572643 Judson Nov 1996 A
5581702 McArdle et al. Dec 1996 A
5583763 Atcheson et al. Dec 1996 A
5590038 Pitroda Dec 1996 A
5592378 Cameron et al. Jan 1997 A
5596493 Tone Jan 1997 A
5611052 Dykstra et al. Mar 1997 A
5636346 Saxe Jun 1997 A
5664115 Fraser Sep 1997 A
5668953 Sloo Sep 1997 A
5678002 Fawcett et al. Oct 1997 A
5694163 Harrison Dec 1997 A
5696907 Tom Dec 1997 A
5699526 Siefert Dec 1997 A
5704029 Wright Dec 1997 A
5710887 Chelliah et al. Jan 1998 A
5715402 Popolo Feb 1998 A
5724155 Saito Mar 1998 A
5724522 Kagami et al. Mar 1998 A
5727048 Hiroshima et al. Mar 1998 A
5727163 Bezos Mar 1998 A
5732400 Mandler et al. Mar 1998 A
5745654 Titan Apr 1998 A
5748755 Johnson et al. May 1998 A
5758328 Giovannoli May 1998 A
5760771 Blonder et al. Jun 1998 A
5761640 Kalyanswamy et al. Jun 1998 A
5761649 Hill Jun 1998 A
5764916 Busey et al. Jun 1998 A
5765142 Allred et al. Jun 1998 A
5774869 Toader Jun 1998 A
5774870 Storey Jun 1998 A
5774882 Keen et al. Jun 1998 A
5774883 Andersen et al. Jun 1998 A
5778164 Watkins et al. Jul 1998 A
5784568 Needham Jul 1998 A
5793365 Tang et al. Aug 1998 A
5794207 Walker et al. Aug 1998 A
5796393 MacNaughton et al. Aug 1998 A
5796952 Davis Aug 1998 A
5797133 Jones et al. Aug 1998 A
5799151 Hoffer Aug 1998 A
5805159 Bertram et al. Sep 1998 A
5806043 Toader Sep 1998 A
5812769 Graber et al. Sep 1998 A
5815663 Uomini Sep 1998 A
5818907 Mahoney et al. Oct 1998 A
5819029 Edwards et al. Oct 1998 A
5819235 Tamai et al. Oct 1998 A
5819236 Josephson Oct 1998 A
5819291 Haimowitz et al. Oct 1998 A
5825869 Brooks et al. Oct 1998 A
5826241 Stein et al. Oct 1998 A
5826244 Huberman Oct 1998 A
5828839 Moncreiff Oct 1998 A
5832465 Tom Nov 1998 A
5835087 Herz et al. Nov 1998 A
5838682 Dekelbaum et al. Nov 1998 A
5838910 Domenikos et al. Nov 1998 A
5839117 Cameron et al. Nov 1998 A
5850517 Verkler et al. Dec 1998 A
5852809 Abel et al. Dec 1998 A
5857079 Claus et al. Jan 1999 A
5859974 McArdle et al. Jan 1999 A
5862330 Anupam et al. Jan 1999 A
5866889 Weiss et al. Feb 1999 A
5870721 Norris Feb 1999 A
5878403 DeFrancesco et al. Mar 1999 A
5895454 Harrington Apr 1999 A
5903641 Tonisson May 1999 A
5907677 Glenn et al. May 1999 A
5911135 Atkins Jun 1999 A
5916302 Dunn et al. Jun 1999 A
5918014 Robinson Jun 1999 A
5924082 Silverman et al. Jul 1999 A
5930776 Dykstra et al. Jul 1999 A
5940811 Norris Aug 1999 A
5940812 Tengel et al. Aug 1999 A
5943416 Gisby et al. Aug 1999 A
5943478 Aggarwal et al. Aug 1999 A
5945989 Freishtat et al. Aug 1999 A
5948061 Merriman et al. Sep 1999 A
5950179 Buchanan et al. Sep 1999 A
5956693 Geerlings Sep 1999 A
5958014 Cave Sep 1999 A
5960411 Hartman et al. Sep 1999 A
5963625 Kawecki et al. Oct 1999 A
5963635 Szlam Oct 1999 A
5966699 Zandi Oct 1999 A
5970475 Barnes et al. Oct 1999 A
5970478 Walker et al. Oct 1999 A
5974396 Anderson Oct 1999 A
5974446 Sonnenrich et al. Oct 1999 A
5987434 Libman Nov 1999 A
5991740 Messer Nov 1999 A
5995947 Fraser et al. Nov 1999 A
6000832 Franklin et al. Dec 1999 A
6003013 Boushy Dec 1999 A
6009410 LeMole et al. Dec 1999 A
6014644 Erickson Jan 2000 A
6014645 Cunningham Jan 2000 A
6014647 Nizzari Jan 2000 A
6016504 Arnold et al. Jan 2000 A
6026370 Jermyn Feb 2000 A
6028601 Machiraju et al. Feb 2000 A
6029141 Bezos et al. Feb 2000 A
6029149 Dykstra et al. Feb 2000 A
6029890 Austin et al. Feb 2000 A
6044146 Gisby et al. Mar 2000 A
6044360 Picciallo Mar 2000 A
6049784 Weatherly et al. Apr 2000 A
6052447 Golden Apr 2000 A
6052730 Felciano Apr 2000 A
6055573 Gardenswartz et al. Apr 2000 A
6058375 Park et al. May 2000 A
6058428 Wang et al. May 2000 A
6061658 Chou et al. May 2000 A
6064731 Flockhart May 2000 A
6064987 Walker et al. May 2000 A
6067525 Jonhson et al. May 2000 A
6070149 Tavor et al. May 2000 A
6073112 Geerlings Jun 2000 A
6076100 Cottrille et al. Jun 2000 A
6078892 Anderson et al. Jun 2000 A
6084585 Kraft et al. Jul 2000 A
6085126 Mellgren, III et al. Jul 2000 A
6085195 Hoyt et al. Jul 2000 A
6088686 Walker et al. Jul 2000 A
6105007 Norris Aug 2000 A
6112190 Fletcher et al. Aug 2000 A
6119101 Peckover Sep 2000 A
6119103 Basch et al. Sep 2000 A
6131087 Luke et al. Oct 2000 A
6131095 Low et al. Oct 2000 A
6134318 O'Neil Oct 2000 A
6134530 Bunting et al. Oct 2000 A
6134532 Lazarus et al. Oct 2000 A
6134533 Shell Oct 2000 A
6134548 Gottsman et al. Oct 2000 A
6138139 Beck et al. Oct 2000 A
6141653 Conklin et al. Oct 2000 A
6144991 England Nov 2000 A
6163607 Bogart et al. Dec 2000 A
6167395 Beck et al. Dec 2000 A
6170011 Macleod Beck et al. Jan 2001 B1
6173053 Bogart et al. Jan 2001 B1
6182050 Ballard Jan 2001 B1
6182124 Lau et al. Jan 2001 B1
6185543 Galperin et al. Feb 2001 B1
6189003 Leal Feb 2001 B1
6192319 Simonson Feb 2001 B1
6192380 Light et al. Feb 2001 B1
6195426 Bolduc et al. Feb 2001 B1
6199079 Gupta et al. Mar 2001 B1
6202053 Christiansen et al. Mar 2001 B1
6202155 Tushie et al. Mar 2001 B1
6208979 Sinclair Mar 2001 B1
6222919 Hollatz et al. Apr 2001 B1
6230121 Weber May 2001 B1
6236975 Boe et al. May 2001 B1
6240396 Walker et al. May 2001 B1
6249795 Douglis Jun 2001 B1
6262730 Horvitz Jul 2001 B1
6267292 Walker et al. Jul 2001 B1
6272506 Bell Aug 2001 B1
6282284 Dezonno et al. Aug 2001 B1
6285983 Jenkins Sep 2001 B1
6289319 Lockwood Sep 2001 B1
6292786 Deaton Sep 2001 B1
6295061 Park et al. Sep 2001 B1
6298348 Eldering Oct 2001 B1
6311169 Duhon Oct 2001 B2
6311178 Bi et al. Oct 2001 B1
6324524 Lent et al. Nov 2001 B1
6327574 Kramer et al. Dec 2001 B1
6330546 Gopinathan et al. Dec 2001 B1
6334110 Walter Dec 2001 B1
6338066 Martin Jan 2002 B1
6346952 Shtivelman Feb 2002 B1
6349290 Horowitz et al. Feb 2002 B1
6356909 Spencer Mar 2002 B1
6374230 Walker et al. Apr 2002 B1
6377936 Henrick et al. Apr 2002 B1
6381640 Beck Apr 2002 B1
6385594 Lebda et al. May 2002 B1
6393479 Glommen et al. May 2002 B1
6405181 Lent et al. Jun 2002 B2
6438526 Dykes et al. Aug 2002 B1
6449358 Anisimov Sep 2002 B1
6449646 Sikora et al. Sep 2002 B1
6463149 Jolissaint et al. Oct 2002 B1
6466970 Lee Oct 2002 B1
6477533 Schiff et al. Nov 2002 B2
6507851 Fujiwara et al. Jan 2003 B1
6510418 Case et al. Jan 2003 B1
6510427 Bossemeyer, Jr. et al. Jan 2003 B1
6516421 Peters Feb 2003 B1
6519628 Locascio Feb 2003 B1
6526404 Slater Feb 2003 B1
6535492 Shtivelman Mar 2003 B2
6542936 Mayle et al. Apr 2003 B1
6546372 Lauffer Apr 2003 B2
6549919 Lambert et al. Apr 2003 B2
6567791 Lent et al. May 2003 B2
6571236 Ruppelt May 2003 B1
6597377 MacPhai Jul 2003 B1
6606744 Mikurak Aug 2003 B1
6618746 Desai et al. Sep 2003 B2
6622131 Brown et al. Sep 2003 B1
6622138 Bellamkonda Sep 2003 B1
6654815 Goss Nov 2003 B1
6662215 Moskowitz et al. Dec 2003 B1
6665395 Busey et al. Dec 2003 B1
6671818 Mikurak Dec 2003 B1
6691151 Cheyer et al. Feb 2004 B1
6691159 Grewal et al. Feb 2004 B1
6701441 Balasubramaniam et al. Mar 2004 B1
6718313 Lent et al. Apr 2004 B1
6721713 Guheen et al. Apr 2004 B1
6725210 Key Apr 2004 B1
6741995 Chen May 2004 B1
6760429 Hung et al. Jul 2004 B1
6766302 Bach Jul 2004 B2
6771766 Shaflee et al. Aug 2004 B1
6778982 Knight Aug 2004 B1
6795812 Lent et al. Sep 2004 B1
6804659 Graham et al. Oct 2004 B1
6826594 Pettersen Nov 2004 B1
6829585 Grewal et al. Dec 2004 B1
6836768 Hirsh Dec 2004 B1
6839680 Liu Jan 2005 B1
6839682 Blume Jan 2005 B1
6850896 Kelman et al. Feb 2005 B1
6865267 Dezono Mar 2005 B2
6892226 Tso et al. May 2005 B1
6892347 Williams May 2005 B1
6904408 McCarthy et al. Jun 2005 B1
6920434 Cossette Jul 2005 B1
6922705 Northrup Jul 2005 B1
6925441 Jones Aug 2005 B1
6925442 Shapira et al. Aug 2005 B1
6950983 Snavely Sep 2005 B1
6965868 Bednarek Nov 2005 B1
6981028 Rawat et al. Dec 2005 B1
6993557 Yen Jan 2006 B1
7003476 Samra et al. Feb 2006 B1
7013329 Paul et al. Mar 2006 B1
7039599 Merriman et al. May 2006 B2
7051273 Holt et al. May 2006 B1
7076443 Emens et al. Jul 2006 B1
7085682 Heller et al. Aug 2006 B1
7092959 Chen Aug 2006 B2
7106850 Campbell et al. Sep 2006 B2
7123974 Hamilton Oct 2006 B1
7143063 Lent et al. Nov 2006 B2
7181492 Wen et al. Feb 2007 B2
7200614 Reid et al. Apr 2007 B2
7242760 Shires Jul 2007 B2
7243109 Omega et al. Jul 2007 B2
7251648 Chaudhuri et al. Jul 2007 B2
7266510 Cofino Sep 2007 B1
7287000 Boyd et al. Oct 2007 B2
7313575 Carr et al. Dec 2007 B2
7337127 Smith et al. Feb 2008 B1
7346576 Lent et al. Mar 2008 B2
7346604 Bharat et al. Mar 2008 B1
7346606 Bharat Mar 2008 B2
7370002 Heckerman et al. May 2008 B2
7376603 Mayr et al. May 2008 B1
7403973 Wilsher et al. Jul 2008 B2
7424363 Cheng Sep 2008 B2
7467349 Bryar et al. Dec 2008 B1
7523191 Thomas et al. Apr 2009 B1
7526439 Freishtat et al. Apr 2009 B2
7536320 McQueen et al. May 2009 B2
7552080 Willard et al. Jun 2009 B1
7552365 Marsh Jun 2009 B1
7562058 Pinto Jul 2009 B2
7590550 Schoenberg Sep 2009 B2
7630986 Herz et al. Dec 2009 B1
7650381 Peters Jan 2010 B2
7657465 Freishtat et al. Feb 2010 B2
7660815 Scofield Feb 2010 B1
7689924 Schneider et al. Mar 2010 B1
7702635 Horvitz et al. Apr 2010 B2
7716322 Benedikt et al. May 2010 B2
7730010 Kishore Jun 2010 B2
7734503 Agarwal et al. Jun 2010 B2
7734632 Wang Jun 2010 B2
7739149 Freishtat et al. Jun 2010 B2
7743044 Kalogeraki Jun 2010 B1
7818340 Warren Oct 2010 B1
7827128 Karlsson et al. Nov 2010 B1
7865457 Ravin et al. Jan 2011 B2
7877679 Ozana Jan 2011 B2
7895193 Cucerzan Feb 2011 B2
7958066 Pinckney et al. Jun 2011 B2
7966564 Catlin et al. Jun 2011 B2
7975020 Green et al. Jul 2011 B1
8010422 Lascelles et al. Aug 2011 B1
8065666 Schnabele Nov 2011 B2
8121883 Johnson Feb 2012 B2
8166026 Sadler Apr 2012 B1
8185544 Oztekin May 2012 B2
8260846 Lahav Sep 2012 B2
8266127 Mattox et al. Sep 2012 B2
8321906 Agrusa Nov 2012 B2
8386340 Feinstein Feb 2013 B1
8386509 Scofield Feb 2013 B1
8392580 Allen et al. Mar 2013 B2
8478816 Parks et al. Jul 2013 B2
8700540 Zambrano Apr 2014 B1
8738732 Karidi May 2014 B2
8762313 Lahav et al. Jun 2014 B2
8799200 Lahav Aug 2014 B2
8805844 Schorzman et al. Aug 2014 B2
8805941 Barak et al. Aug 2014 B2
8812601 Hsueh et al. Aug 2014 B2
8843481 Xu Sep 2014 B1
8868448 Freishtat et al. Oct 2014 B2
8918465 Barak Dec 2014 B2
8943002 Zelenko et al. Jan 2015 B2
8943145 Peters Jan 2015 B1
8954539 Lahav Feb 2015 B2
8965998 Dicker Feb 2015 B1
9104970 Lahav et al. Aug 2015 B2
9247066 Stec et al. Jan 2016 B1
9256761 Sahu Feb 2016 B1
9331969 Barak et al. May 2016 B2
9336487 Lahav May 2016 B2
9350598 Barak et al. May 2016 B2
9396295 Lahav et al. Jul 2016 B2
9396436 Lahav Jul 2016 B2
9432468 Karidi Aug 2016 B2
9525745 Karidi Dec 2016 B2
9558276 Barak et al. Jan 2017 B2
9563336 Barak et al. Feb 2017 B2
9563707 Barak et al. Feb 2017 B2
9569537 Barak et al. Feb 2017 B2
9576292 Freishtat et al. Feb 2017 B2
9582579 Barak et al. Feb 2017 B2
9590930 Karidi Mar 2017 B2
9672196 Shachar et al. Jun 2017 B2
9767212 Lavi et al. Sep 2017 B2
9819561 Freishtat et al. Nov 2017 B2
9892417 Shachar et al. Feb 2018 B2
9948582 Karidi Apr 2018 B2
10038683 Barak et al. Jul 2018 B2
10142908 Barak et al. Nov 2018 B2
10191622 Karidi et al. Jan 2019 B2
20010001150 Miloslavsky May 2001 A1
20010011245 Duhon Aug 2001 A1
20010011246 Tammaro Aug 2001 A1
20010011262 Hoyt et al. Aug 2001 A1
20010011282 Katsumata et al. Aug 2001 A1
20010013009 Greening et al. Aug 2001 A1
20010014877 Defrancesco et al. Aug 2001 A1
20010025249 Tokunaga Sep 2001 A1
20010027436 Tenembaum Oct 2001 A1
20010032140 Hoffman Oct 2001 A1
20010032244 Neustel Oct 2001 A1
20010034689 Heilman Oct 2001 A1
20010044751 Pugliese Nov 2001 A1
20010054041 Chang Dec 2001 A1
20010054064 Kannan Dec 2001 A1
20010056405 Muyres Dec 2001 A1
20020002491 Whitfield Jan 2002 A1
20020004735 Gross Jan 2002 A1
20020010625 Smith et al. Jan 2002 A1
20020016731 Kupersmit Feb 2002 A1
20020023051 Kunzle et al. Feb 2002 A1
20020026351 Coleman Feb 2002 A1
20020029188 Schmid Mar 2002 A1
20020029267 Sankuratripati et al. Mar 2002 A1
20020035486 Huyn et al. Mar 2002 A1
20020038230 Chen Mar 2002 A1
20020045154 Wood Apr 2002 A1
20020046086 Pletz Apr 2002 A1
20020046096 Srinivasan Apr 2002 A1
20020047859 Szlam et al. Apr 2002 A1
20020055878 Burton et al. May 2002 A1
20020059095 Cook May 2002 A1
20020067500 Yokomizo et al. Jun 2002 A1
20020073162 McErlean Jun 2002 A1
20020082923 Merriman et al. Jun 2002 A1
20020083095 Wu et al. Jun 2002 A1
20020083167 Costigan et al. Jun 2002 A1
20020085705 Shires Jul 2002 A1
20020091832 Low et al. Jul 2002 A1
20020099694 Diamond et al. Jul 2002 A1
20020107728 Bailey et al. Aug 2002 A1
20020111847 Smith Aug 2002 A1
20020111850 Smrcka et al. Aug 2002 A1
20020123926 Bushold Sep 2002 A1
20020161620 Hatanaka Oct 2002 A1
20020161651 Godsey Oct 2002 A1
20020161664 Shaya et al. Oct 2002 A1
20020167539 Brown et al. Nov 2002 A1
20030004781 Mallon Jan 2003 A1
20030009768 Moir Jan 2003 A1
20030011641 Totman et al. Jan 2003 A1
20030014304 Calvert et al. Jan 2003 A1
20030023754 Eichstadt et al. Jan 2003 A1
20030028415 Herschap et al. Feb 2003 A1
20030036949 Kaddeche et al. Feb 2003 A1
20030041056 Bossemeyer et al. Feb 2003 A1
20030055778 Erlanger Mar 2003 A1
20030061091 Amaratunga Mar 2003 A1
20030079176 Kang et al. Apr 2003 A1
20030105826 Mayraz Jun 2003 A1
20030110130 Pelletier Jun 2003 A1
20030140037 Deh-Lee Jul 2003 A1
20030149581 Chaudhri et al. Aug 2003 A1
20030149937 McElfresh et al. Aug 2003 A1
20030154196 Goodwin et al. Aug 2003 A1
20030167195 Fernandes et al. Sep 2003 A1
20030177096 Trent et al. Sep 2003 A1
20030195848 Felger Oct 2003 A1
20030217332 Smith et al. Nov 2003 A1
20030221163 Glover et al. Nov 2003 A1
20030233425 Lyons et al. Dec 2003 A1
20040034567 Gravett Feb 2004 A1
20040064412 Phillips et al. Apr 2004 A1
20040073475 Tupper Apr 2004 A1
20040088323 Ekler et al. May 2004 A1
20040128390 Blakley et al. Jul 2004 A1
20040141016 Fukatsu et al. Jul 2004 A1
20040153368 Freishtat Aug 2004 A1
20040163101 Swix et al. Aug 2004 A1
20040167928 Anderson et al. Aug 2004 A1
20040193377 Brown Sep 2004 A1
20040210820 Tarr et al. Oct 2004 A1
20040243539 Skurtovich et al. Dec 2004 A1
20040249650 Freedman Dec 2004 A1
20040260574 Gross Dec 2004 A1
20050004864 Lent et al. Jan 2005 A1
20050014117 Stillman Jan 2005 A1
20050033641 Jha et al. Feb 2005 A1
20050033728 James Feb 2005 A1
20050044149 Regardie et al. Feb 2005 A1
20050091254 Stabb Apr 2005 A1
20050096963 Myr May 2005 A1
20050096997 Jain May 2005 A1
20050097089 Nielsen et al. May 2005 A1
20050102177 Takayama May 2005 A1
20050102257 Onyon et al. May 2005 A1
20050114195 Bernasconi May 2005 A1
20050131944 Edward Jun 2005 A1
20050132205 Palliyil et al. Jun 2005 A1
20050138115 Llamas et al. Jun 2005 A1
20050171861 Bezos et al. Aug 2005 A1
20050183003 Peri Aug 2005 A1
20050198120 Reshef et al. Sep 2005 A1
20050198212 Zilberfayn et al. Sep 2005 A1
20050198220 Wada et al. Sep 2005 A1
20050216342 Ashbaugh Sep 2005 A1
20050234761 Pinto Oct 2005 A1
20050256955 Bodwell et al. Nov 2005 A1
20050262065 Barth et al. Nov 2005 A1
20050273388 Roetter Dec 2005 A1
20050288943 Wei et al. Dec 2005 A1
20060015390 Rijsinghani Jan 2006 A1
20060021009 Lunt Jan 2006 A1
20060026147 Cone et al. Feb 2006 A1
20060026237 Wang et al. Feb 2006 A1
20060041378 Cheng Feb 2006 A1
20060041476 Zheng Feb 2006 A1
20060041562 Paczkowski et al. Feb 2006 A1
20060047615 Ravin Mar 2006 A1
20060059124 Krishna Mar 2006 A1
20060106788 Forrest May 2006 A1
20060122850 Ward et al. Jun 2006 A1
20060168509 Boss et al. Jul 2006 A1
20060173724 Trefler Aug 2006 A1
20060224750 Davies Oct 2006 A1
20060253319 Chayes et al. Nov 2006 A1
20060265495 Butler et al. Nov 2006 A1
20060271545 Youn et al. Nov 2006 A1
20060277477 Christenson Dec 2006 A1
20060282327 Neal et al. Dec 2006 A1
20060282328 Gerace et al. Dec 2006 A1
20060284378 Snow et al. Dec 2006 A1
20060284892 Sheridan Dec 2006 A1
20060288087 Sun Dec 2006 A1
20060293950 Meek et al. Dec 2006 A1
20070027771 Collins et al. Feb 2007 A1
20070027785 Lent et al. Feb 2007 A1
20070053513 Hoffberg Mar 2007 A1
20070061412 Karidi et al. Mar 2007 A1
20070061421 Karidi Mar 2007 A1
20070073585 Apple et al. Mar 2007 A1
20070094228 Nevin et al. Apr 2007 A1
20070100653 Ramer et al. May 2007 A1
20070100688 Book May 2007 A1
20070112958 Kim May 2007 A1
20070116238 Jacobi May 2007 A1
20070116239 Jacobi May 2007 A1
20070150330 McGoveran Jun 2007 A1
20070162501 Agassi et al. Jul 2007 A1
20070162846 Cave Jul 2007 A1
20070168874 Kloeffer Jul 2007 A1
20070185751 Dempers Aug 2007 A1
20070206086 Baron Sep 2007 A1
20070214048 Chan Sep 2007 A1
20070220092 Heitzeberg et al. Sep 2007 A1
20070239527 Nazer et al. Oct 2007 A1
20070250585 Ly et al. Oct 2007 A1
20070256003 Wagoner Nov 2007 A1
20070260596 Koran et al. Nov 2007 A1
20070260624 Chung et al. Nov 2007 A1
20070265873 Sheth et al. Nov 2007 A1
20080021816 Lent et al. Jan 2008 A1
20080033794 Ou et al. Feb 2008 A1
20080033941 Parrish Feb 2008 A1
20080040225 Roker Feb 2008 A1
20080070209 Zhuang Mar 2008 A1
20080072170 Simons Mar 2008 A1
20080133650 Saarimaki et al. Jun 2008 A1
20080147470 Johri Jun 2008 A1
20080147480 Sarma et al. Jun 2008 A1
20080147486 Wu et al. Jun 2008 A1
20080147741 Gonen et al. Jun 2008 A1
20080183745 Cancel et al. Jul 2008 A1
20080183806 Cancel et al. Jul 2008 A1
20080201436 Gartner Aug 2008 A1
20080215541 Li et al. Sep 2008 A1
20080222656 Lyman Sep 2008 A1
20080244024 Aaltonen et al. Oct 2008 A1
20080262897 Howarter Oct 2008 A1
20080270294 Lent et al. Oct 2008 A1
20080270295 Lent et al. Oct 2008 A1
20080275864 Kim Nov 2008 A1
20080288658 Banga Nov 2008 A1
20080319778 Abhyanker Dec 2008 A1
20080320042 Arnold Dec 2008 A1
20090006174 Lauffer Jan 2009 A1
20090006179 Billingsley et al. Jan 2009 A1
20090006622 Doerr Jan 2009 A1
20090028310 Anderson Jan 2009 A1
20090030859 Buchs et al. Jan 2009 A1
20090037355 Brave Feb 2009 A1
20090055267 Roker Feb 2009 A1
20090063645 Casey et al. Mar 2009 A1
20090076887 Spivack et al. Mar 2009 A1
20090099904 Affeld et al. Apr 2009 A1
20090119173 Parsons et al. May 2009 A1
20090132368 Cotter et al. May 2009 A1
20090138563 Zhu May 2009 A1
20090138606 Moran et al. May 2009 A1
20090164171 Wold et al. Jun 2009 A1
20090177771 Britton et al. Jul 2009 A1
20090210405 Ortega et al. Aug 2009 A1
20090222572 Fujihara Sep 2009 A1
20090228914 Wong Sep 2009 A1
20090240586 Ramer et al. Sep 2009 A1
20090287534 Guo et al. Nov 2009 A1
20090287633 Nevin et al. Nov 2009 A1
20090293001 Lu et al. Nov 2009 A1
20090298480 Khambete Dec 2009 A1
20090307003 Benjamin Dec 2009 A1
20090319296 Schoenberg Dec 2009 A1
20090327863 Holt et al. Dec 2009 A1
20100023475 Lahav Jan 2010 A1
20100023581 Lahav Jan 2010 A1
20100049602 Softky Feb 2010 A1
20100063879 Araradian et al. Mar 2010 A1
20100106552 Barillaud Apr 2010 A1
20100125657 Dowling et al. May 2010 A1
20100169176 Turakhia Jul 2010 A1
20100169342 Kenedy Jul 2010 A1
20100205024 Shachar et al. Aug 2010 A1
20100211579 Fujioka Aug 2010 A1
20100216453 Kallin Aug 2010 A1
20100217720 Jones Aug 2010 A1
20100228745 Anagnostopoulos Sep 2010 A1
20100255812 Nanjundaiah Oct 2010 A1
20100262558 Willcock Oct 2010 A1
20100281008 Braunwarth Nov 2010 A1
20100306043 Lindsay et al. Dec 2010 A1
20110004888 Srinivasan et al. Jan 2011 A1
20110041168 Murray et al. Feb 2011 A1
20110055207 Schorzman et al. Mar 2011 A1
20110055331 Adelman Mar 2011 A1
20110055338 Loeb Mar 2011 A1
20110112893 Karlsson et al. May 2011 A1
20110113101 Ye May 2011 A1
20110119264 Hu et al. May 2011 A1
20110131077 Tan Jun 2011 A1
20110137733 Baird et al. Jun 2011 A1
20110138298 Alfred Jun 2011 A1
20110161792 Florence et al. Jun 2011 A1
20110208822 Rathod Aug 2011 A1
20110212770 Ocko Sep 2011 A1
20110246255 Gilbert et al. Oct 2011 A1
20110246406 Lahav et al. Oct 2011 A1
20110258039 Patwa et al. Oct 2011 A1
20110269548 Barclay Nov 2011 A1
20110270926 Boyd Nov 2011 A1
20110270934 Wong et al. Nov 2011 A1
20110271175 Lavi et al. Nov 2011 A1
20110271183 Bose et al. Nov 2011 A1
20110307331 Richard et al. Dec 2011 A1
20110320715 Ickman et al. Dec 2011 A1
20120012358 Horan et al. Jan 2012 A1
20120036200 Cole Feb 2012 A1
20120042389 Bradley Feb 2012 A1
20120059722 Rao Mar 2012 A1
20120066345 Rayan Mar 2012 A1
20120130918 Gordon May 2012 A1
20120136939 Stern May 2012 A1
20120150973 Barak Jun 2012 A1
20120173373 Soroca Jul 2012 A1
20120195422 Famous Aug 2012 A1
20120254301 Fiero Oct 2012 A1
20120259891 Edoja Oct 2012 A1
20120323346 Ashby et al. Dec 2012 A1
20130013362 Walker et al. Jan 2013 A1
20130013990 Green Jan 2013 A1
20130036202 Lahav Feb 2013 A1
20130050392 Chiang Feb 2013 A1
20130054707 Muszynski et al. Feb 2013 A1
20130080961 Levien et al. Mar 2013 A1
20130117276 Hedditch May 2013 A1
20130117380 Pomazanov et al. May 2013 A1
20130117804 Chawla May 2013 A1
20130125009 DeLuca May 2013 A1
20130132194 Rajaram May 2013 A1
20130136253 Liberman May 2013 A1
20130165234 Hall Jun 2013 A1
20130182834 Lauffer Jul 2013 A1
20130204859 Vijaywargi et al. Aug 2013 A1
20130212497 Zelenko et al. Aug 2013 A1
20130238714 Barak et al. Sep 2013 A1
20130268468 Vijayaraghavan et al. Oct 2013 A1
20130275862 Adra Oct 2013 A1
20130290533 Barak Oct 2013 A1
20130311874 Schachar et al. Nov 2013 A1
20130326375 Barak et al. Dec 2013 A1
20130336471 Agarwal et al. Dec 2013 A1
20130339445 Perincherry Dec 2013 A1
20140058721 Becerra Feb 2014 A1
20140068011 Zhang et al. Mar 2014 A1
20140094134 Balthasar Apr 2014 A1
20140115466 Barak et al. Apr 2014 A1
20140133646 Ma May 2014 A1
20140222888 Karidi Aug 2014 A1
20140250051 Lahav et al. Sep 2014 A1
20140278795 Satyamoorthy Sep 2014 A1
20140310229 Lahav et al. Oct 2014 A1
20140331138 Overton et al. Nov 2014 A1
20140372240 Freishtat et al. Dec 2014 A1
20150012602 Barak et al. Jan 2015 A1
20150012848 Barak et al. Jan 2015 A1
20150019525 Barak et al. Jan 2015 A1
20150019527 Barak et al. Jan 2015 A1
20150149571 Barak et al. May 2015 A1
20150200822 Zelenko et al. Jul 2015 A1
20150213363 Lahav et al. Jul 2015 A1
20150248486 Barak et al. Sep 2015 A1
20150269609 Mehanian Sep 2015 A1
20150278837 Lahav et al. Oct 2015 A1
20160055277 Lahav et al. Feb 2016 A1
20160117736 Barak et al. Apr 2016 A1
20160248706 Karidi Aug 2016 A1
20160380932 Matan et al. Dec 2016 A1
20170011146 Lahav et al. Jan 2017 A1
20170046021 Karidi Feb 2017 A1
20170054701 Barak et al. Feb 2017 A1
20170169081 Barak et al. Jun 2017 A1
20170171047 Freishtat et al. Jun 2017 A1
20170206568 Schachar et al. Jul 2017 A1
Foreign Referenced Citations (42)
Number Date Country
102143235 Aug 2011 CN
104394191 Mar 2015 CN
840244 May 1998 EP
1233361 Aug 2002 EP
1276 064 Jan 2003 EP
1549025 Jun 2005 EP
1 840 803 Oct 2007 EP
1845436 Oct 2007 EP
1850284 Oct 2007 EP
2 950 214 Mar 2011 FR
9288453 Nov 1997 JP
2004-054533 Feb 2004 JP
2010128877 Jun 2010 JP
20040110399 Dec 2004 KR
20050010487 Jan 2005 KR
20080046310 May 2008 KR
20080097751 Nov 2008 KR
9722073 Jun 1997 WO
9845797 Oct 1998 WO
9909470 Feb 1999 WO
9922328 May 1999 WO
9944152 Sep 1999 WO
0057294 Sep 2000 WO
0127825 Apr 2001 WO
2001035272 May 2001 WO
02065367 Aug 2002 WO
03032146 Apr 2003 WO
2004057473 Jul 2004 WO
2005059777 Jun 2005 WO
2007044757 Apr 2007 WO
2007129625 Nov 2007 WO
2008057181 May 2008 WO
2008143382 Nov 2008 WO
2009029940 Mar 2009 WO
2010099632 Sep 2010 WO
2010119379 Oct 2010 WO
2010144207 Dec 2010 WO
2011127049 Oct 2011 WO
2013119808 Aug 2013 WO
2013158830 Oct 2013 WO
2013163426 Oct 2013 WO
2015021068 Feb 2015 WO
Non-Patent Literature Citations (150)
Entry
International Search Report and Written Opinion for PCT Application No. PCT/US2013/041147, dated Jul. 30, 2013, 9 pages.
International Search Report and Written Opinion for PCT Application No. PCT/US2013/037086, dated Jul. 12, 2013, 9 pages.
International Search Report and Written Opinion for PCT Application No. PCT/US2013/29389, dated Jul. 24, 2013, 8 pages.
International Search Report and Written Opinion for PCT Application No. PCT/US2013/038212, dated Jul. 17, 2013, 11 pages.
International Search Report for PCT Application No. PCT/US2011/031239, dated Jul. 7, 2011, 3 pages.
International Search Report for PCT Application No. PCT/US2011/064946, dated Jun. 22, 2012, 3 pages.
International Preliminary Report on Patentability for PCT Application No. PCT/US2011/031239, dated Oct. 9, 2012, 8 pages.
International Search Report and Written Opinion for PCT Application No. PCT/US14/49822, dated Feb. 27, 2015, 11 pages.
Extended European Search Report dated Jul. 7, 2015 for European Patent Application No. 15161694.3; 8 pages.
International Preliminary Report on Patentability for PCT Application No. PCT/US2014/049822, dated Feb. 18, 2016, 7 pages.
International Search Report and Written Opinion for PCT Application No. PCT/US2016/035535, dated Aug. 8, 2016, 11 pages.
International Search Report and Written Opinion of Nov. 7, 2017 for PCT Application No. PCT/US2017/046550, 16 pages.
Non-Final Office Action dated Dec. 11, 2008 for U.S. Appl. No. 11/394,078, 15 pages.
Final Office Action dated Jul. 9, 2009 for U.S. Appl. No. 11/394,078, 15 pages.
Non-Final Office Action dated Jan. 28, 2010 for U.S. Appl. No. 11/394,078, 14 pages.
Final Office Action dated Jul. 9, 2010 for U.S. Appl. No. 11/394,078, 16 pages.
Non-Final Office Action dated Feb. 1, 2011 for U.S. Appl. No. 11/394,078, 20 pages.
Final Office Action dated Aug. 2, 2011 for U.S. Appl. No. 11/394,078, 23 pages.
Non-Final Office Action dated May 16, 2012 for U.S. Appl. No. 11/394,078, 23 pages.
Final Office Action dated Jan. 25, 2013 for U.S. Appl. No. 11/394,078, 22 pages.
Non-Final Office Action dated Jun. 22, 2012 for U.S. Appl. No. 13/080,324, 9 pages.
Non-Final Office Action dated Aug. 15, 2012 for U.S. Appl. No. 12/967,782, 31 pages.
Non-Final Office Action dated Jul. 29, 2011 for U.S. Appl. No. 12/608,117, 20 pages.
Final Office Action dated Apr. 4, 2012 for U.S. Appl. No. 12/608,117, 25 pages.
Non-Final Office Action dated Apr. 24, 2004 for U.S. Appl. No. 09/922,753, 16 pages.
Final Office Action dated Oct. 14, 2004 for U.S. Appl. No. 09/922,753, 13 pages.
Non-Final Office Action dated May 17, 2005 for U.S. Appl. No. 09/922,753, 13 pages.
Non-Final Office Action dated Mar. 14, 2006 for U.S. Appl. No. 09/922,753, 13 pages.
Final Office Action dated Jul. 26, 2006 for U.S. Appl. No. 09/922,753, 13 pages.
Non-Final Office Action dated Aug. 13, 2008 for U.S. Appl. No. 09/922,753, 10 pages.
Final Office Action dated Apr. 23, 2009 for U.S. Appl. No. 09/922,753, 11 pages.
Non-Final Office Action dated Jul. 21, 2009 for U.S. Appl. No. 09/922,753, 10 pages.
Final Office Action dated Feb. 18, 2010 for U.S. Appl. No. 09/922,753, 9 pages.
Non-Final Office Action dated Apr. 25, 2011 for U.S. Appl. No. 09/922,753, 9 pages.
Final Office Action dated Nov. 25, 2011 for U.S. Appl. No. 09/922,753, 10 pages.
Non-Final Office Action dated Aug. 7, 2007 for U.S. Appl. No. 10/980,613, 16 pages.
Non-Final Office Action dated May 15, 2008 for U.S. Appl. No. 10/980,613, 23 pages.
Non-Final Office Action dated Apr. 30, 2012 for U.S. Appl. No. 12/504,265, 16 pages.
Final Office Action dated Aug. 28, 2012 for U.S. Appl. No. 12/504,265, 28 pages.
Final Office Action dated Feb. 14, 2013 for U.S. Appl. No. 13/080,324, 11 pages.
Non-Final Office Action dated Mar. 30, 2013 for U.S. Appl. No. 11/360,530, 23 pages.
Final Office Action dated Apr. 11, 2013 for U.S. Appl. No. 12/967,782, 18 pages.
Non-Final Office Action dated May 10, 2013 for U.S. Appl. No. 13/563,708, 20 pages.
Non-Final Office Action dated Jun. 12, 2013 for U.S. Appl. No. 12/608,117, 56 pages.
Non-Final Office Action dated Jun. 20, 2013 for U.S. Appl. No. 13/157,936, 19 pages.
Non-Final Office Action dated Jun. 27, 2013 for U.S. Appl. No. 12/504,265, 11 pages.
Non-Final Office Action dated Jul. 8, 2013 for U.S. Appl. No. 13/413,197, 10 pages.
Final Office Action dated Oct. 21, 2013 for U.S. Appl. No. 12/504,265 14 pages.
Non-Final Office Action dated Oct. 30, 2013 for U.S. Appl. No. 13/961,072, 10 pages.
Non-Final Office Action dated Dec. 5, 2013 for U.S. Appl. No. 12/967,782, 14 pages.
Non-Final Office Action dated Dec. 4, 2014 for U.S. Appl. No. 14/275,698, 6 pages.
Notice of Allowance dated Jan. 3, 2014 for U.S. Appl. No. 11/360,530, 29 pages.
Final Office Action dated Jan. 22, 2014 for U.S. Appl. No. 12/608,117, 45 pages.
Final Office Action dated Jan. 27, 2014 for U.S. Appl. No. 13/563,708, 35 pages.
Non-Final Office Action dated Jan. 30, 2014 for U.S. Appl. No. 13/413,158, 19 pages.
Notice of Allowance dated Feb. 12, 2014 for U.S. Appl. No. 13/157,936, 33 pages.
Final Office Action dated Feb. 19, 2014 for U.S. Appl. No. 13/961,072, 35 pages.
Non-Final Office Action dated Feb. 20, 2014 for U.S. Appl. No. 10/980,613, 43 pages.
Notice of Allowance dated Feb. 28, 2014 for U.S. Appl. No. 09/922,753, 13 pages.
Notice of Allowance dated Mar. 25, 2014 for U.S. Appl. No. 12/504,265 31 pages.
Notice of Allowance dated Mar. 31, 2014 for U.S. Appl. No. 12/725,999, 41 pages.
Notice of Allowance dated Mar. 30, 2015 for U.S. Appl. No. 14/275,698, 11 pages.
Notice of Allowance dated Apr. 1, 2014 for U.S. Appl. No. 13/413,197, 32 pages.
Non-Final Office Action dated Jul. 17, 2014 for U.S. Appl. No. 11/394,078, 41 pages.
Non-Final Office Action dated Jul. 31, 2014 for U.S. Appl. No. 13/080,324, 38 pages.
Notice of Allowance dated Aug. 18, 2014 for U.S. Appl. No. 12/967,782, 43 pages.
Non-Final Office Action dated Aug. 21, 2014 for U.S. Appl. No. 10/980,613, 43 pages.
Final Office Action dated Mar. 12, 2015 for U.S. Appl. No. 13/080,324, 13 pages.
Non-Final Office Action dated Mar. 13, 2015 for U.S. Appl. No. 13/841,434, 26 pages.
Non-Final Office Action dated Apr. 9, 2015 for U.S. Appl. No. 13/830,719, 24 pages.
Final Office Action dated Apr. 7, 2015 for U.S. Appl. No. 11/394,078, 18 pages.
Non-Final Office Action dated Apr. 6, 2015 for U.S. Appl. No. 14/322,736, 13 pages.
Non-Final Office Action dated May 7, 2015 for U.S. Appl. No. 13/829,708, 16 pages.
Final Office Action dated May 8, 2015 for U.S. Appl. No. 10/980,613, 18 pages.
Non-Final Office Action dated May 13, 2015 for U.S. Appl. No. 14/317,346, 21 pages.
Non-Final Office Acton dated Jun. 2, 2015 for U.S. Appl. No. 12/608,117, 26 pages.
First Action Pre-Interview Communication dated Jun. 19, 2015 for U.S. Appl. No. 14/244,830, 7 pages.
Non-Final Office Action dated Jul. 20, 2015 for U.S. Appl. No. 14/711,609; 12 pages.
Non-Final Office Action dated Jul. 20, 2015 for U.S. Appl. No. 14/500,537; 12 pages.
Final Office Action dated Jul. 31, 2015 for U.S. Appl. No. 14/317,346, 13 pages.
Final Office Action dated Aug. 10, 2015 for U.S. Appl. No. 13/961,072, 12 pages.
Non-Final Office Action dated Aug. 14, 2015 for U.S. Appl. No. 14/543,397, 12 pages.
Non-Final Office Action dated Aug. 18, 2015 for U.S. Appl. No. 14/570,963, 23 pages.
Non-Final Office Action dated Aug. 27, 2015 for U.S. Appl. No. 11/394,078, 21 pages.
Non-Final Office Action dated Sep. 11, 2015 for U.S. Appl. No. 14/500,502; 12 pages.
Final Office Action dated Sep. 18, 2015 for U.S. Appl. No. 14/288,258, 17 pages.
Notice of Allowance dated Sep. 18, 2015 for U.S. Appl. No. 14/244,830, 11 pages.
First Action Interview Pilot Program Pre-Interview Communication dated Oct. 21, 2015 for U.S. Appl. No. 14/313,511, 3 pages.
Final Office Action dated Oct. 22, 2015 for U.S. Appl. No. 13/830,719, 29 pages.
Final Office Action dated Nov. 10, 2015 for U.S. Appl. No. 13/841,434; 30 pages.
Final Office Acton dated Nov. 17, 2015 for U.S. Appl. No. 12/608,117, 32 pages.
Non-Final Office Action dated Dec. 4, 2015 for U.S. Appl. No. 10/980,613 21 pages.
Non-Final Office Action dated Dec. 24, 2015 for U.S. Appl. No. 14/317,346, 15 pages.
Notice of Allowance dated Dec. 30, 2015 for U.S. Appl. No. 14/322,736, 9 pages.
Non-Final Office Action dated Jan. 5, 2016 for U.S. Appl. No. 14/245,400, 33 pages.
Notice of Allowance dated Jan. 7, 2016 for U.S. Appl. No. 14/313,511, 5 pages.
First Action Pre-Interview Communication dated Jan. 12, 2016 for U.S. Appl. No. 14/753,496, 3 pages.
Notice of Allowance dated Jan. 20, 2016 for U.S. Appl. No. 13/829,708, 11 pages.
Final Office Action dated Jan. 29, 2016 for U.S. Appl. No. 14/711,609; 15 pages.
Final Office Action dated Jan. 29, 2016 for U.S. Appl. No. 14/500,537; 15 pages.
Non-Final Office Action dated Feb. 12, 2016 for U.S. Appl. No. 13/080,324, 15 pages.
Notice of Allowance dated Mar. 16, 2016 for U.S. Appl. No. 14/582,550; 9 pages.
Notice of Allowance dated Mar. 21, 2016 for U.S. Appl. No. 14/753,496; 5 pages.
Final Office Action dated Apr. 14, 2016 for U.S. Appl. No. 10/980,613, 21 pages.
Final Office Action dated Apr. 21, 2016 for U.S. Appl. No. 14/317,346, 17 pages.
Non-Final Office Action dated Apr. 22, 2016 for U.S. Appl. No. 14/288,258 11 pages.
Notice of Allowance dated Apr. 22, 2016 for U.S. Appl. No. 11/394,078, 16 pages.
Non-Final Office Action dated May 12, 2016 for U.S. Appl. No. 13/961,072, 12 pages.
Non-Final Office Acton dated May 23, 2016 for U.S. Appl. No. 12/608,117, 35 pages.
Final Office Action dated Jun. 9, 2016 for U.S. Appl. No. 14/543,397, 18 pages.
Final Office Action dated Jun. 17, 2016 for U.S. Appl. No. 14/570,963, 18 pages.
Notice of Allowance dated Jun. 23, 2016 for U.S. Appl. No. 13/830,719; 26 pages.
Final Office Action dated Jun. 28, 2016 for U.S. Appl. No. 14/500,502, 10 pages.
Final Office Action dated Jul. 12, 2016 for U.S. Appl. No. 14/245,400, 36 pages.
First Action Pre-Interview Communication dated Jul. 14, 2016 for U.S. Appl. No. 14/970,225.
Final Office Action dated Sep. 8, 2016 for U.S. Appl. No. 13/080,324, 15 pages.
Notice of Allowance dated Sep. 21, 2016 for U.S. Appl. No. 14/711,609, 22 pages.
Notice of Allowance dated Sep. 22, 2016 for U.S. Appl. No. 14/500,537, 19 pages.
Notice of Allowance dated Sep. 23, 2016 for U.S. Appl. No. 13/841,434, 15 pages.
Notice of Allowance dated Sep. 30, 2016 for U.S. Appl. No. 14/317,346, 19 pages.
Notice of Allowance dated Oct. 7, 2016 for U.S. Appl. No. 14/288,258, 10 pages.
Non-Final Office Action dated Jan. 13, 2017 for U.S. Appl. No. 14/543,397, 19 pages.
Non-Final Office Action dated Jan. 9, 2017 for U.S. Appl. No. 14/570,963, 16 pages.
Notice of Allowance dated Jan. 13, 2017 for U.S. Appl. No. 15/294,441, 10 pages.
Pre-Interview First Office Action dated Apr. 3, 2017 for U.S. Appl. No. 15/384,895, 7 pages.
Non-Final Office Action dated Mar. 27, 2017 for U.S. Appl. No. 14/245,400; 43 pages.
Notice of Allowance dated May 22, 2017 for U.S. Appl. No. 13/080,324; 10 pages.
Non-Final Office Action dated Jul. 17, 2017 for U.S. Appl. No. 15/131,777; 11 pages.
Non-Final Office Action dated Sep. 7, 2017 for U.S. Appl. No. 15/273,863, 29 pages.
Pre-Interview First Office Action dated Sep. 11, 2017 for U.S. Appl. No. 15/409,720, 6 pages.
Final Office Action dated Sep. 22, 2017 for U.S. Appl. No. 14/543,397, 18 pages.
Non-Final Office Action dated Sep. 25, 2017 for U.S. Appl. No. 15/632,069, 12 pages.
Final Office Action dated Oct. 6, 2017 for U.S. Appl. No. 14/570,963, 17 pages.
Notice of Allowance dated Oct. 2, 2017 for U.S. Appl. No. 15/595,590, 9 pages.
Notice of Allowance dated Dec. 8, 2017 for U.S. Appl. No. 15/409,720, 9 pages.
Final Office Action dated Jan. 4, 2018 for U.S. Appl. No. 14/245,400; 22 pages.
Final Office Action dated Jan. 9, 2018 for U.S. Appl. No. 15/384,895, 10 pages.
Non-Final Office Action dated Feb. 8, 2018 for U.S. Appl. No. 14/570,963; 25 pages.
Non-Final Office Action dated Mar. 19, 2018 for U.S. Appl. No. 15/084,133; 16 pages.
Non-Final Office Action dated Jun. 4, 2018 for U.S. Appl. No. 15/682,186; 13 pages.
Non-Final Office Action dated Jul. 12, 2018 for U.S. Appl. No. 15/860,378; 7 pages.
Final Office Action dated Jul. 11, 2018 for U.S. Appl. No. 15/273,863; 29 pages.
Notice of Allowance dated Jul. 23, 2018 for U.S. Appl. No. 15/171,525; 14 pages.
Notice of Allowance dated Sep. 12, 2018 for U.S. Appl. No. 15/213,776; 8 pages.
Non-Final Office Action dated Oct. 4, 2018 for U.S. Appl. No. 15/389,598; 21 pages.
Final Office Action dated Dec. 13, 2018 for U.S. Appl. No. 14/570,963; 32 pages.
Non-Final Office Action dated Jan. 24, 2019 for U.S. Appl. No. 15/273,863; 29 pages.
Notice of Allowance dated Feb. 1, 2019 for U.S. Appl. No. 15/084,133; 8 pages.
Notice of Allowance dated Feb. 28, 2019 for U.S. Appl. No. 15/860,378; 7 pages.
Non-Final Office Action dated Mar. 7, 2019 for U.S. Appl. No. 15/682,186; 12 pages.
Related Publications (1)
Number Date Country
20190140987 A1 May 2019 US
Continuations (2)
Number Date Country
Parent 14543397 Nov 2014 US
Child 16126299 US
Parent 12967782 Dec 2010 US
Child 14543397 US