Method and system for using screen names to customize interactive agents
7 Assignments
0 Petitions

Accused Products

Abstract
A method for using the screen names of users are used to appropriately tailor a service for the users. If the service is a restricted service, then the screen name is used as the basis for deciding whether access should be granted to ensure that access is granted to a limited set of users. Alternatively, if the service is comprised of several component sub-services, and some of those sub-services are restricted, then the screen name is used as the basis for deciding whether access should be granted to the relevant sub-service.
200 Citations
Systems and methods for managing messages in an enterprise network | ||
Patent #
US 7,882,265 B2
Filed 10/09/2007
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Quest Software Inc.
|
Dynamically autocompleting a data entry | ||
Patent #
US 7,908,287 B1
Filed 01/19/2010
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
SYSTEMS AND METHODS FOR MANAGING MESSAGES IN AN ENTERPRISE NETWORK | ||
Patent #
US 20110131653A1
Filed 01/28/2011
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Quest Software Inc.
|
Methods and systems for information capture | ||
Patent #
US 7,941,439 B1
Filed 03/31/2004
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
METHOD AND APPARATUS FOR GENERATING A POLYMORPHIC NOTE | ||
Patent #
US 20110099153A1
Filed 10/26/2009
|
Current Assignee
Nokia Corporation
|
Original Assignee
Nokia Corporation
|
METHOD AND APPARATUS FOR PRESENTING POLYMORPHIC NOTES IN A GRAPHICAL USER INTERFACE | ||
Patent #
US 20110099490A1
Filed 10/26/2009
|
Current Assignee
Nokia US Holdings. Inc.
|
Original Assignee
Nokia Corporation
|
INTELLIGENT RENDERING OF INFORMATION IN A LIMITED DISPLAY ENVIRONMENT | ||
Patent #
US 20110179377A1
Filed 12/16/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and Method for Performing Local Searches Across User Defined Events | ||
Patent #
US 20110225184A1
Filed 05/20/2011
|
Current Assignee
Michael Emil Ogrinz, William Mcbride Fesq
|
Original Assignee
Michael Emil Ogrinz, William Mcbride Fesq
|
Flexible billing architecture | ||
Patent #
US 8,010,082 B2
Filed 10/19/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Managing user-to-user contact with inferred presence information | ||
Patent #
US 8,069,166 B2
Filed 02/27/2006
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Multiple data store authentication | ||
Patent #
US 8,064,583 B1
Filed 09/21/2006
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
SYSTEM AND METHOD FOR PROVIDING DATA AND APPLICATION CONTINUITY IN A COMPUTER SYSTEM | ||
Patent #
US 20110270949A1
Filed 04/08/2009
|
Current Assignee
Geminare Incorporated
|
Original Assignee
Joshua B. Geist
|
Automatic discovery of users associated with screen names | ||
Patent #
US 7,657,616 B1
Filed 06/10/2002
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Quest Software Inc.
|
Systems and methods for a protocol gateway | ||
Patent #
US 7,707,401 B2
Filed 06/10/2003
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Quest Software Inc.
|
Systems and methods for implementing protocol enforcement rules | ||
Patent #
US 7,818,565 B2
Filed 06/10/2003
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Quest Software Inc.
|
Dynamically autocompleting a data entry | ||
Patent #
US 7,685,144 B1
Filed 12/29/2005
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Systems and methods for authentication of target protocol screen names | ||
Patent #
US 7,664,822 B2
Filed 06/10/2003
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Quest Software Inc.
|
Systems and methods for simplified provisioning | ||
Patent #
US 7,796,742 B1
Filed 04/21/2005
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Systems and methods for remote rogue protocol enforcement | ||
Patent #
US 7,756,981 B2
Filed 11/03/2006
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Quest Software Inc.
|
Systems and methods for implementing protocol enforcement rules | ||
Patent #
US 7,774,832 B2
Filed 12/06/2005
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Quest Software Inc.
|
Integration of Cash Registers and WiFi Support for Customers | ||
Patent #
US 20090037269A1
Filed 08/03/2007
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
DEVELOPING INTERACTIVE CALL CENTER AGENT PERSONAS | ||
Patent #
US 20090150225A1
Filed 02/12/2009
|
Current Assignee
ATT Intellectual Property I LP
|
Original Assignee
ATT Intellectual Property I LP
|
Automatically generating and maintaining an address book | ||
Patent #
US 7,634,463 B1
Filed 12/29/2005
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
System and method for group management | ||
Patent #
US 20080001717A1
Filed 03/27/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Context Based Action | ||
Patent #
US 20080133708A1
Filed 10/28/2007
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
SYSTEMS AND METHODS FOR DETECTING AND BLOCKING MALICIOUS CONTENT IN INSTANT MESSAGES | ||
Patent #
US 20080196099A1
Filed 01/04/2008
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Akonix Systems Inc.
|
Systems and methods for facilitating authentication of network devices | ||
Patent #
US 20080216153A1
Filed 03/02/2007
|
Current Assignee
Nokia Corporation
|
Original Assignee
Nokia Corporation
|
Service creation via presence messaging | ||
Patent #
US 20070116196A1
Filed 11/08/2005
|
Current Assignee
Alcatel-Lucent SA
|
Original Assignee
Alcatel-Lucent SA
|
Systems and methods for implementing protocol enforcement rules | ||
Patent #
US 20070124577A1
Filed 12/06/2005
|
Current Assignee
Quest Software Inc.
|
Original Assignee
AKONIX
|
Methods and systems for processing email messages | ||
Patent #
US 20050223061A1
Filed 03/31/2004
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Methods and systems for processing media files | ||
Patent #
US 20050234875A1
Filed 03/31/2004
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Providing uniform settings for multiple resources in a client-server environment | ||
Patent #
US 20040054719A1
Filed 04/07/2003
|
Current Assignee
Uber Technologies Inc.
|
Original Assignee
Uber Technologies Inc.
|
Systems and methods for implementing protocol enforcement rules | ||
Patent #
US 20040103318A1
Filed 06/10/2003
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Akonix Systems Inc.
|
Systems and methods for a protocol gateway | ||
Patent #
US 20040109518A1
Filed 06/10/2003
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Akonix Systems Inc.
|
Secure end-to-end transport through intermediary nodes | ||
Patent #
US 8,127,342 B2
Filed 09/23/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Methods and systems for processing media files | ||
Patent #
US 8,099,407 B2
Filed 03/31/2004
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Provisioning applications for a mobile device | ||
Patent #
US 8,078,158 B2
Filed 06/26/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning of e-mail settings for a mobile terminal | ||
Patent #
US 8,116,214 B2
Filed 11/30/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile virtual network operator | ||
Patent #
US 8,107,921 B2
Filed 01/11/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Automatically maintaining an address book | ||
Patent #
US 8,112,437 B1
Filed 11/02/2009
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Methods and systems for eliminating duplicate events | ||
Patent #
US 8,161,053 B1
Filed 03/31/2004
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,166,164 B1
Filed 10/14/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Developing interactive call center agent personas | ||
Patent #
US 8,170,196 B2
Filed 02/12/2009
|
Current Assignee
ATT Intellectual Property I LP
|
Original Assignee
ATT Intellectual Property I LP
|
Cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,190,701 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Systems and methods for managing messages in an enterprise network | ||
Patent #
US 8,195,833 B2
Filed 01/28/2011
|
Current Assignee
Quest Software Inc.
|
Original Assignee
Quest Software Inc.
|
Methods and systems for processing email messages | ||
Patent #
US 8,275,839 B2
Filed 03/31/2004
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Service creation via presence messaging | ||
Patent #
US 8,285,784 B2
Filed 11/08/2005
|
Current Assignee
Alcatel-Lucent SA
|
Original Assignee
Alcatel-Lucent SA
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,291,076 B2
Filed 03/05/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Social caching for device resource sharing and management | ||
Patent #
US 8,316,098 B2
Filed 04/19/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed management of keep-alive message signaling for mobile network resource conservation and optimization | ||
Patent #
US 8,326,985 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Method and apparatus for presenting polymorphic notes in a graphical user interface | ||
Patent #
US 8,335,989 B2
Filed 10/26/2009
|
Current Assignee
Nokia US Holdings. Inc.
|
Original Assignee
Nokia Corporation
|
Systems and methods for selectively storing event data | ||
Patent #
US 8,346,777 B1
Filed 03/31/2004
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
System and method for a mobile device to use physical storage of another device for caching | ||
Patent #
US 8,356,080 B2
Filed 07/20/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Electronic-mail filtering for mobile devices | ||
Patent #
US 8,364,181 B2
Filed 12/10/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Methods and systems for prioritizing a crawl | ||
Patent #
US 8,386,728 B1
Filed 09/14/2004
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Context aware data presentation | ||
Patent #
US 8,412,675 B2
Filed 02/24/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Aligning data transfer to optimize connections established for transmission over a wireless network | ||
Patent #
US 8,417,823 B2
Filed 11/18/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Flexible real-time inbox access | ||
Patent #
US 8,438,633 B1
Filed 12/18/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Publishing data in an information community | ||
Patent #
US 8,468,126 B2
Filed 12/14/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed caching in a wireless network of content delivered for a mobile application over a long-held request | ||
Patent #
US 8,484,314 B2
Filed 10/14/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning applications for a mobile device | ||
Patent #
US 8,494,510 B2
Filed 12/06/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network background traffic data management with optimized polling intervals | ||
Patent #
US 8,539,040 B2
Filed 02/28/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Secure end-to-end transport through intermediary nodes | ||
Patent #
US 8,549,587 B2
Filed 02/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for executing commands that are non-native to the native environment of a mobile device | ||
Patent #
US 8,561,086 B2
Filed 05/17/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Detecting and preserving state for satisfying application requests in a distributed proxy and cache system | ||
Patent #
US 8,621,075 B2
Filed 04/27/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Methods and systems for associating instant messenger events | ||
Patent #
US 8,631,076 B1
Filed 06/30/2004
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Cache state management on a mobile device to preserve user experience | ||
Patent #
US 8,635,339 B2
Filed 08/22/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Polling | ||
Patent #
US 8,693,494 B2
Filed 03/31/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,700,728 B2
Filed 05/17/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Cross-platform event engine | ||
Patent #
US 8,209,709 B2
Filed 07/05/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,204,953 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Electronic-mail filtering for mobile devices | ||
Patent #
US 8,738,050 B2
Filed 01/07/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network | ||
Patent #
US 8,750,123 B1
Filed 07/31/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Maintaining an IP connection in a mobile network | ||
Patent #
US 8,761,756 B2
Filed 09/13/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks International Oy
|
Integrated messaging | ||
Patent #
US 8,774,844 B2
Filed 04/08/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications | ||
Patent #
US 8,775,631 B2
Filed 02/25/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Timing of keep-alive messages used in a system for mobile network resource conservation and optimization | ||
Patent #
US 8,782,222 B2
Filed 09/05/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Application discovery on mobile devices | ||
Patent #
US 8,787,947 B2
Filed 06/18/2008
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Content delivery to a mobile device from a content service | ||
Patent #
US 8,793,305 B2
Filed 12/13/2007
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
System and method of a relay server for managing communications and notification between a mobile device and a web access server | ||
Patent #
US 8,799,410 B2
Filed 04/13/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Maintaining mobile terminal information for secure communications | ||
Patent #
US 8,805,334 B2
Filed 09/05/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Integrated messaging | ||
Patent #
US 8,805,425 B2
Filed 01/28/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile device power management in data synchronization over a mobile network with or without a trigger notification | ||
Patent #
US 8,811,952 B2
Filed 05/05/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Processing contact information | ||
Patent #
US 8,812,515 B1
Filed 12/20/2007
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Method and system for management of a virtual network connection without heartbeat messages | ||
Patent #
US 8,812,695 B2
Filed 04/03/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
System and method for tracking billing events in a mobile wireless network for a network operator | ||
Patent #
US 8,831,561 B2
Filed 04/28/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief | ||
Patent #
US 8,832,228 B2
Filed 04/26/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Distributed caching for resource and mobile network traffic management | ||
Patent #
US 8,838,783 B2
Filed 07/05/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Flexible real-time inbox access | ||
Patent #
US 8,839,412 B1
Filed 09/13/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Web-based access to data objects | ||
Patent #
US 8,838,744 B2
Filed 01/28/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile traffic categorization and policy for network use optimization while preserving user experience | ||
Patent #
US 8,843,153 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System for providing policy based content service in a mobile network | ||
Patent #
US 8,849,902 B2
Filed 06/24/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization | ||
Patent #
US 8,861,354 B2
Filed 12/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Policy based content service | ||
Patent #
US 8,862,657 B2
Filed 01/25/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation | ||
Patent #
US 8,868,753 B2
Filed 12/06/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning of e-mail settings for a mobile terminal | ||
Patent #
US 8,873,411 B2
Filed 01/12/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols | ||
Patent #
US 8,874,761 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile application traffic optimization | ||
Patent #
US 8,886,176 B2
Filed 07/22/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Optimization of resource polling intervals to satisfy mobile device requests | ||
Patent #
US 8,903,954 B2
Filed 11/22/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile virtual network operator | ||
Patent #
US 8,909,192 B2
Filed 08/11/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Bandwidth measurement | ||
Patent #
US 8,909,759 B2
Filed 10/12/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Detection and management of user interactions with foreground applications on a mobile device in distributed caching | ||
Patent #
US 8,909,202 B2
Filed 01/07/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for providing a network service in a distributed fashion to a mobile device | ||
Patent #
US 8,914,002 B2
Filed 08/11/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Optimization of mobile traffic directed to private networks and operator configurability thereof | ||
Patent #
US 8,918,503 B2
Filed 08/28/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method and apparatus for intercepting events in a communication system | ||
Patent #
US RE45,348 E1
Filed 03/16/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Methods and systems for improving a search ranking using article information | ||
Patent #
US 8,954,420 B1
Filed 03/31/2004
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,966,066 B2
Filed 10/12/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation | ||
Patent #
US 8,977,755 B2
Filed 12/06/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Monitoring mobile application activities for malicious traffic on a mobile device | ||
Patent #
US 8,984,581 B2
Filed 07/11/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Connection architecture for a mobile network | ||
Patent #
US 8,989,728 B2
Filed 09/07/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Predictive content delivery | ||
Patent #
US 9,002,828 B2
Filed 01/02/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation | ||
Patent #
US 9,009,250 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system | ||
Patent #
US 9,021,021 B2
Filed 12/10/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
3D mobile user interface with configurable workspace management | ||
Patent #
US 9,043,731 B2
Filed 03/30/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network traffic coordination across multiple applications | ||
Patent #
US 9,043,433 B2
Filed 05/25/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Intelligent rendering of information in a limited display environment | ||
Patent #
US 9,047,142 B2
Filed 12/16/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network traffic coordination across multiple applications | ||
Patent #
US 9,049,179 B2
Filed 01/20/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Location-based operations and messaging | ||
Patent #
US 9,055,102 B2
Filed 08/02/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic | ||
Patent #
US 9,060,032 B2
Filed 05/09/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network | ||
Patent #
US 9,065,765 B2
Filed 10/08/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Distributed implementation of dynamic wireless traffic policy | ||
Patent #
US 9,077,630 B2
Filed 07/08/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Device resources sharing for network resource conservation | ||
Patent #
US 9,084,105 B2
Filed 04/19/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network background traffic data management | ||
Patent #
US 9,100,873 B2
Filed 09/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Managing cache to prevent overloading of a wireless network due to user activity | ||
Patent #
US 9,131,397 B2
Filed 06/06/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion | ||
Patent #
US 9,161,258 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol | ||
Patent #
US 9,173,128 B2
Filed 03/06/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Methods and systems for prioritizing a crawl | ||
Patent #
US 9,189,553 B2
Filed 01/28/2013
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Dynamic categorization of applications for network access in a mobile network | ||
Patent #
US 9,203,864 B2
Filed 02/04/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor | ||
Patent #
US 9,208,123 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Mobile device with application or context aware fast dormancy | ||
Patent #
US 9,241,314 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network | ||
Patent #
US 9,239,800 B2
Filed 07/11/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Extending user relationships | ||
Patent #
US 9,251,193 B2
Filed 10/28/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Dynamically ranking entries in a personal data book | ||
Patent #
US 9,262,446 B1
Filed 12/29/2005
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Application or context aware fast dormancy | ||
Patent #
US 9,271,238 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Request and response characteristics based adaptation of distributed caching in a mobile network | ||
Patent #
US 9,275,163 B2
Filed 10/17/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol | ||
Patent #
US 9,277,443 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
System and method for a mobile device to use physical storage of another device for caching | ||
Patent #
US 9,300,719 B2
Filed 01/14/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for application management of mobile device radio state promotion and demotion | ||
Patent #
US 9,307,493 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Methods and systems for processing media files | ||
Patent #
US 9,311,408 B2
Filed 12/12/2013
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
System and method for reduction of mobile network traffic used for domain name system (DNS) queries | ||
Patent #
US 9,325,662 B2
Filed 01/09/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
User as an end point for profiling and optimizing the delivery of content and data in a wireless network | ||
Patent #
US 9,326,189 B2
Filed 02/04/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Wireless traffic management system cache optimization using http headers | ||
Patent #
US 9,330,196 B2
Filed 06/14/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Mobile application traffic optimization | ||
Patent #
US 9,407,713 B2
Filed 01/16/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Systems and methods for authenticating a service | ||
Patent #
US 9,444,812 B1
Filed 02/17/2016
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Multiple data store authentication | ||
Patent #
US 9,578,027 B1
Filed 05/15/2016
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
System and method for providing data and application continuity in a computer system | ||
Patent #
US 9,674,268 B2
Filed 02/02/2012
|
Current Assignee
Geminare Incorporated
|
Original Assignee
Geminare Incorporated
|
Mobile device configured for communicating with another mobile device associated with an associated user | ||
Patent #
US 9,712,986 B2
Filed 03/22/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Multiple data store authentication | ||
Patent #
US 9,769,176 B1
Filed 11/28/2016
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic | ||
Patent #
US 9,832,095 B2
Filed 12/14/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Methods and systems for prioritizing a crawl | ||
Patent #
US 9,836,544 B2
Filed 11/13/2015
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
System and method for providing data and application continuity in a computer system | ||
Patent #
US 9,860,310 B2
Filed 03/05/2015
|
Current Assignee
Geminare Incorporated
|
Original Assignee
Geminare Incorporated
|
Multiple data store authentication | ||
Patent #
US 9,912,671 B1
Filed 11/28/2016
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
System and method for providing data and application continuity in a computer system | ||
Patent #
US 10,110,667 B2
Filed 06/05/2017
|
Current Assignee
Geminare Incorporated
|
Original Assignee
Geminare Incorporated
|
Methods and systems for eliminating duplicate events | ||
Patent #
US 10,180,980 B2
Filed 02/23/2015
|
Current Assignee
Google LLC
|
Original Assignee
Google LLC
|
Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network | ||
Patent #
US 10,263,899 B2
Filed 04/10/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Methods and systems for improving a search ranking using article information | ||
Patent #
US 10,423,679 B2
Filed 02/10/2015
|
Current Assignee
Google LLC
|
Original Assignee
Google LLC
|
System and method for selecting responses to user input in an automated interface program | ||
Patent #
US 6,604,090 B1
Filed 02/03/1998
|
Current Assignee
Micro Focus LLC
|
Original Assignee
NativeMinds Inc.
|
System and method for identifying the context of a statement made to a virtual robot | ||
Patent #
US 6,314,410 B1
Filed 04/27/1998
|
Current Assignee
Micro Focus LLC
|
Original Assignee
NativeMinds Inc.
|
Instant message user location tracking system | ||
Patent #
US 6,668,173 B2
Filed 12/15/2000
|
Current Assignee
Google Technology Holdings LLC
|
Original Assignee
Motorola Inc.
|
Method of authorizing receipt of instant messages by a recipient user | ||
Patent #
US 6,993,564 B2
Filed 12/22/2000
|
Current Assignee
ATT Inc.
|
Original Assignee
ATT Inc.
|
Monitoring users of a computer network | ||
Patent #
US 6,691,162 B1
Filed 09/21/1999
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
AOL Inc.
|
Method and apparatus for real time communication over a computer network | ||
Patent #
US 5,764,916 A
Filed 09/27/1996
|
Current Assignee
Nytell Software LLC
|
Original Assignee
Ichat Inc.
|
User definable on-line co-user lists | ||
Patent #
US 6,750,881 B1
Filed 02/24/1997
|
Current Assignee
Facebook Inc.
|
Original Assignee
AOL Inc.
|
Method and system for interactively responding to instant messaging requests | ||
Patent #
US 6,430,602 B1
Filed 08/22/2000
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Active Buddy Inc.
|
Method and apparatus for sharing mobile user event information between wireless networks and fixed IP networks | ||
Patent #
US 6,839,554 B2
Filed 01/26/2001
|
Current Assignee
Altamira Technologies Corporation
|
Original Assignee
Invertix
|
Method and apparatus for summarizing previous threads in a communication-center chat session | ||
Patent #
US 6,346,952 B1
Filed 04/18/2000
|
Current Assignee
Genesys Telecommunications Laboratories Incorporated
|
Original Assignee
Genesys Telecommunications Laboratories Incorporated
|
Communication system for wireless communication of content to users | ||
Patent #
US 6,714,794 B1
Filed 10/30/2000
|
Current Assignee
Google Technology Holdings LLC
|
Original Assignee
Motorola Inc.
|
Assignable associate priorities for user-definable instant messaging buddy groups | ||
Patent #
US 6,301,609 B1
Filed 09/08/1999
|
Current Assignee
Nokia of America Corporation
|
Original Assignee
Lucent Technologies Inc.
|
System and method for automatically verifying the performance of a virtual robot | ||
Patent #
US 6,259,969 B1
Filed 02/03/1998
|
Current Assignee
Micro Focus LLC
|
Original Assignee
NativeMinds Inc.
|
Method and system for interactively responding to instant messaging requests | ||
Patent #
US 6,993,555 B2
Filed 03/26/2002
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Colloquis Inc.
|
Network match maker matching requesters based on communication attribute between the requesters | ||
Patent #
US 5,894,556 A
Filed 03/20/1997
|
Current Assignee
Intel Corporation
|
Original Assignee
Mpath Interactive Inc.
|
Methods for creating and editing topics for virtual robots conversing in natural language | ||
Patent #
US 6,629,087 B1
Filed 03/18/1999
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
NativeMinds Inc.
|
System and method for multi-protocol communication in a computer network | ||
Patent #
US 6,549,937 B1
Filed 07/21/1999
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Method and system for instant messaging across cellular networks and a public data network | ||
Patent #
US 6,714,793 B1
Filed 03/06/2000
|
Current Assignee
Facebook Inc.
|
Original Assignee
AOL Inc.
|
Private, trackable URLs for directed document delivery | ||
Patent #
US 6,192,407 B1
Filed 04/04/1997
|
Current Assignee
Axway Incorporated
|
Original Assignee
Tumbleweed Communications Corporation
|
Facilitating instant messaging outside of user-defined buddy group in a wireless and non-wireless environment | ||
Patent #
US 6,760,580 B2
Filed 04/01/2002
|
Current Assignee
Facebook Inc.
|
Original Assignee
AOL Inc.
|
Chat system and method for delivering additional information via another independent network | ||
Patent #
US 6,678,720 B1
Filed 04/10/2000
|
Current Assignee
Fujitsu Limited
|
Original Assignee
Fujitsu Limited
|
Adjunct use of instant messenger software to enable communications to or between chatterbots or other software agents | ||
Patent #
US 6,907,571 B2
Filed 02/28/2001
|
Current Assignee
Smartsheet Inc.
|
Original Assignee
Benjamin Slotznick
|
System and method for providing appropriate hyperlink based on identified keywords from text messages sent between users | ||
Patent #
US 6,678,673 B1
Filed 02/23/1999
|
Current Assignee
Koninklijke Philips N.V.
|
Original Assignee
Koninklijke Philips N.V.
|
Game server for use in connection with a messenger server | ||
Patent #
US 6,699,125 B2
Filed 07/02/2001
|
Current Assignee
Verizon Media Inc.
|
Original Assignee
Yahoo Inc.
|
Generating a list of people relevant to a task | ||
Patent #
US 6,785,681 B2
Filed 07/31/2001
|
Current Assignee
Intel Corporation
|
Original Assignee
Intel Corporation
|
Automatic and selective assignment of channels to recipients of voice chat data | ||
Patent #
US 6,807,562 B1
Filed 02/29/2000
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Transparent proxy server for instant messaging system and methods | ||
Patent #
US 20030131061A1
Filed 11/27/2002
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Active Buddy Inc.
|
System and method for providing geographically-related content over a network | ||
Patent #
US 6,629,136 B1
Filed 11/15/1999
|
Current Assignee
Comcast Cable Communications LLC
|
Original Assignee
Security Broadband Corporation
|
Interactive chat messaging | ||
Patent #
US 20030210265A1
Filed 05/10/2002
|
Current Assignee
DESKTOP MORPHICS INC.
|
Original Assignee
DESKTOP MORPHICS INC.
|
Method for communicating within a chat topic in a wireless communication system | ||
Patent #
US 6,668,169 B2
Filed 12/19/2001
|
Current Assignee
Google Technology Holdings LLC
|
Original Assignee
Motorola Inc.
|
System and method for automatically focusing the attention of a virtual robot interacting with users | ||
Patent #
US 6,363,301 B1
Filed 06/04/1997
|
Current Assignee
NativeMinds Inc.
|
Original Assignee
NativeMinds Inc.
|
Method and system for interactively responding to instant messaging requests | ||
Patent #
US 20020103917A1
Filed 03/26/2002
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Active Buddy Inc.
|
Method and apparatus for a site-sensitive interactive chat network | ||
Patent #
US 6,442,590 B1
Filed 05/27/1999
|
Current Assignee
Yodlee Inc.
|
Original Assignee
Yodlee.com Inc.
|
IRC name translation protocol | ||
Patent #
US 6,446,112 B1
Filed 03/17/1999
|
Current Assignee
Sony Limited
|
Original Assignee
Sony Limited
|
Inter-program synchronous communications using a collaboration software system | ||
Patent #
US 6,192,394 B1
Filed 07/14/1998
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
Compaq Computer Corporation
|
Apparatus and method of implementing fast internet real-time search technology (first) | ||
Patent #
US 6,260,041 B1
Filed 09/30/1999
|
Current Assignee
Infolocity Inc.
|
Original Assignee
Netcurrents Information Services Incorporated
|
System and method for performing remote requests with an on-line service network | ||
Patent #
US 6,289,390 B1
Filed 11/12/1998
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Methods and systems for controlling access to presence information according to a variety of different access permission types | ||
Patent #
US 20010042126A1
Filed 12/04/2000
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Apparatus and method of implementing fast internet real-time search technology (FIRST) | ||
Patent #
US 6,332,141 B2
Filed 06/08/2001
|
Current Assignee
Netcurrents Information Services Incorporated
|
Original Assignee
Netcurrents Information Services Incorporated
|
Method of secure anonymous query by electronic messages transported via a public network and method of response | ||
Patent #
US 6,023,510 A
Filed 12/24/1997
|
Current Assignee
Philips Electronics North America Corporation
|
Original Assignee
Philips Electronics North America Corporation
|
Method of redirecting a client service session to a second application server without interrupting the session by forwarding service-specific information to the second server | ||
Patent #
US 5,951,694 A
Filed 02/03/1997
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Method and system for efficient network desirable chat feedback over a communication network | ||
Patent #
US 5,990,887 A
Filed 10/30/1997
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Search engine including query database, user profile database, information templates and email facility | ||
Patent #
US 5,978,799 A
Filed 01/29/1998
|
Current Assignee
Hanger Solutions LLC
|
Original Assignee
Hirsch G. Scott
|
Electronic mail interface for a network server | ||
Patent #
US 5,826,269 A
Filed 06/21/1995
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
106 Claims
-
1-53. -53. (canceled)
-
54. A method for interactively responding to a message from a user who is logged on to an instant messaging network, comprising the steps of:
-
designating a screen-name to a message processor, the screen-name being unique on the instant messaging network;
using the instant messaging network to advise the user of the presence of the message processor on the instant messaging network;
receiving through the instant messaging network the message from the user which is addressed to the screen-name assigned to the message processor using an instant messaging protocol;
parsing the message to extract a request;
evaluating the request in the message processor;
generating an output message on the basis of the evaluated request; and
sending the output message to the user via the instant messaging network. - View Dependent Claims (55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74)
-
-
75. A method for interactively responding to a user sending a message through an instant messaging network to which he is logged on, comprising the steps of:
-
designating a screen-name to a message processor, the screen-name being unique on the instant messaging network;
using an instant messaging protocol, receiving through the instant messaging network the message from the user which has been addressed to the screen-name assigned to the message processor, the message including a request;
parsing the message to extract the request;
evaluating the request to identify at least one designated action suitable for fulfilling request;
performing the at least one designated action;
generating an output message containing results of the performance of the designated action; and
sending the output message to the user via the instant messaging network. - View Dependent Claims (76, 77, 78, 79, 80, 81, 82, 83)
-
-
84. A system for interactively responding to a message from a user sent through an instant messaging network, comprising:
-
a message processor connected to the instant messaging network;
the message processor configured to;
receive a message sent from the user in an instant messaging protocol;
parse the message to extract a request;
evaluate the request in the message processor;
generate an output message on the basis of the evaluated request; and
send the output message to the user via the instant messaging network. - View Dependent Claims (85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98)
-
-
99. A system for interactively responding to a user sending a message through an instant messaging network, comprising:
-
a message processor connected to the instant messaging network;
the message processor configured to;
receive the message containing a request from the user via the instant messaging network in an instant messaging protocol;
parse the message to extract the request;
evaluate the request to identify at least one designated action suitable for fulfilling request;
perform the at least one designated action;
generate an output message containing results of the performance of the designated action; and
send the output message to the user via the instant messaging network. - View Dependent Claims (100, 101, 102, 103, 104, 105, 106)
-
1 Specification
1. Field of the Invention
This invention is directed to a method and system for autonomously processing requests from remotely located users. More particularly, this invention is directed to a method and system for tailoring services based on a screen name of a requesting user.
2. Description of the Related Art
Internet users are well versed in accessing the Internet using widely available web browsing software to search for desired information. The web browser software permits users to access various automated search engines and, by entering appropriate queries, identify web pages which may contain the information of interest. While a wide variety of information is available in this manner, most web pages are directed to specific types of information. As a result, users who are seeking information in various diverse topics will often need to locate and access multiple, and perhaps unrelated, web pages. While users can find a great deal of in-depth information regarding particular topics, it can often be very difficult to obtain answers to short and specific questions due to the overwhelming number of web pages which will be identified in conventional indexing and search engine-based systems.
Various efforts have been made to aggregate diverse information onto one or a few web pages. However, these aggregated sites are often maintained by individual users as “personal web pages” and are thus of questionable reliability. Although some commercial web sites have been implemented for the purpose of aggregating information, these sites generally compete among each other for users and thus include many graphical features and expanded functionality to increase the site'"'"'s attractiveness. However, this additional functionality also makes these sites more cumbersome and slow to access and use because of the additional data and processing overhead.
Another widely used Internet application is instant messaging (“IM”). IM services of one form or another are in use by an estimated 70 million people or more. Unlike Internet browsing software, which is used to access various web pages, IM is primarily used by a subscriber to “chat” with one or more other IM users. To access an IM service, a user registers with a service provider and, after connecting to the Internet (or other appropriate data network), enter their screen name and password to log in to the IM network. Popular IM applications include AOL'"'"'s Instant Messenger and Microsoft'"'"'s Network Messenger services. Once a user has logged in to the appropriate IM network, his presence on the system is made known to all authorized partners (commonly termed “buddies”). The user can then engage in typed conversations with other IM users connected to the system.
Because IM is a text-based service, instant messaging communication is generally not burdened by the need to transfer large graphic, sound, or program files. As a result, instant messaging is a relatively quick and easy to use system. However, while instant messaging is widely available, its value as a means to access and retrieve data from a remotely located automated system has not been fully appreciated.
Users of IM services often simultaneously use Internet browsers to access web pages. It is not uncommon for an IM user to forward a link to a web page of interest via the IM service to another user. However, if the indicated web page contains sensitive information, a user subsequently following the link to access the web page may be required to enter a username and password. Even though the user has already signed in to the IM service, and thus is already authenticated, the accessed web site generally has no knowledge of this authentication.
Instant messaging services were originally designed to facility person-to-person communication. Here, a user runs IM client software on their terminal device, such as a computer at work, a computer at home, a television set-top box, a cell phone, an IM appliance, or the like. The IM client software communicates over a network to an IM service. However, the user must first login to the IM service by providing both a unique identifier, called a “screen name,” and a secret password.
After validating the password, the IM service then provides certain information and services to the user. The information provided by the IM service includes (but is not limited to) a stored contact list, which is a list of screen names with whom the user commonly frequently communicates. The IM service will also provide information about preference settings selected by the user. The preference settings may be used to control the behavior of client software, such as whether to play sounds when certain events occur.
The ability of the IM service to store information permits a user to log in from different terminal devices and access the same stored information. As a result, the user experience is consistent regardless of the point of access. The ability to login from different terminal devices while obtaining the same user experience is called “roaming.”
The services provided by the IM service include “presence detection” for the screen names in the contact list: the service continuously updates the online status of each of the screen names mentioned in the contact list. By way of visual presentation of the contact list, the IM service may inform the user of the on-line status and the idle status of other contacts.
The IM service also provides messaging services. A user wishing to communicate with another user can click on the other user'"'"'s screen name in the contact list, or by some other mechanism provided by the IM client software, to indicate the screen name of the other user. The IM service then establishes a communications channel between the two users and delivers short messages between the user in real-time.
It is possible to implement IM services wherein the identities of the users are not authenticated, such as Internet electronic mail (e-mail) and Internet Relay Chat (IRC). User authentication was a key innovation that made IM different from other Internet messaging services. User authentication permits the IM service to keep track of individualized profile settings, thereby enabling roaming. During user authentication a unique key (e.g., the screen name) is assigned to each user such that their personal settings can be stored and retrieved in a secure and reliable manner.
User authentication enables presence detection. In this case, it is pointless to have a contact list unless the meaning of each screen name is constant and unique. Unique screen names permit consistent identification of users to the other users.
In addition, user authentication provides a user with the confidence of knowing that instant messages they receive originated from people that are identified as the senders of the instant messages. Unlike a message that is received via Internet e-mail or IRC, the identity of the sender of an instant message is very difficult to forge.
In most cases, instant messaging services are offered by service providers as part of a larger offering. For example, in addition to offering instant messaging services Yahoo!.R™., Microsoft.R™. Network, and AOL.R™. each offer a wide variety of services. The variety of services including, e-mail, address book, calendar, and portfolio) services, are referred to as “sibling services.”
Often, a user of the instant messaging service will also use the related services. At the user'"'"'s option, a single account and password can be used to authenticate the user and provide access to all related services. However, the account name is reserved across all related services regardless of whether or not a user chooses to share accounts among related services. As a result, only that user will possess the right to access the related services via the reserved account name.
Originally, the sole intent when IM services were created was to facilitate person-to-person communication. An interactive agent is a software program that has its own screen name and password, and logs into an IM service as though it were a user. A user interacts with the interactive agent in much the same way that the user would talk to another person. The user can add the screen name of the interactive agent to their contact list. In addition, the user can initiate a conversation with the interactive agent by either clicking on the appropriate screen name in the contact list or by some other mechanism as provided by the IM client software. The interactive agent receives a message from a user, parses that message, formulates an answer, and sends that answer back to the user.
Further, an interactive agent can provide a variety of services to a user via the IM service. For example, (i) games, such as word games and card games; (ii) information, such as stock quotes, weather reports, movie listings, and news; (iii) conversations; (iv) control, such as setting up a telephone conference call or activating the lawn sprinklers of a home; and (v) access, such as querying a database.
Some services are “restricted services,” where the service provider wishes to control access to the service, so that only certain people may access certain parts of the service. The traditional mechanism for restricting access to a service is to issue an account and password. For example, a user wishing to access his bank balance using a Web browser must first go through a registration process, whereby the bank creates a new account and password for the user. Only after the user has obtained the new account and password, can he then access his banking information.
The user must repeat the registration process for each bank account, credit card, etc., that he wishes to access. In this situation, the user must track a password for each account.
One advantage to combining instant messaging with interactive agents is that the interactive agent can provide instant access to restricted services without the need to create an account and password for each user. Due to the very nature of instant messaging, the sender of an instant message is authenticated a priori. By way of instant messaging, an interactive agent can provide a user with access to restricted services by using the user'"'"'s screen name as the account. Here, a password is not necessary; the fact that the message arrived via the IM service indicates that the user was previously authenticated.
The invention is a method and system for providing services via an instant messaging service. The system includes a message server which is connected to a data network through an instant messaging port. The server is logged in to the IM network and assigned a designated screen-name, such as “ACTIVEBUDDY”. When the message server receives an IM message from a user, the message is processed to determine the type of request made by the user and the appropriate actions necessary to service the request. In one embodiment, the request is an informational query. In response to such a request, the message server directs the query to an appropriate query response server, which server will interpret the request and return a suitable answer. The query response server(s) can be local to the message processing server or remotely accessed, e.g., via the Internet. The received answer is embedded in a message which is returned to the user, preferably over the IM system. Alternatively, the message server can interpret the request directly using various natural language processing techniques known to those skilled in the art. In one configuration, a table of query patterns is provided and the table is searched to identify the pattern which most closely matches the received request. A designated local or remotely located resource is then accessed to determine an answer for the query, which answer is returned to the user.
It will be appreciated that, in order to generate an accurate answer to many types of queries, additional or secondary information may be required to fill in unstated assumptions in the query. To aid in providing this information, a user profile can be maintained by the system in which commonly needed information is stored. The types of information suitable for placement in the profile include static data such as the user'"'"'s birth date, place of residence, fairly static information, such as stock portfolio data, and dynamic information, such as information gleaned from the prior most recent communications with the user. When the system determines that additional information is required, either by processing the request directly or in response to a message forwarded by a query response system indicating that more data is needed to process the request, the information is retrieved from the profile.
If the needed additional information is not already present in the user'"'"'s profile and cannot be reasonably determined through other intermediate data searches, the user can be solicited to provide the additional information. Such solicitation can be through a query message sent to the user over the IM network or by means of a message instructing the user to access and update their profile via a designated web site. After the additional data is received from the user, the original query is reprocessed with the additional data and the result is returned to the user. The additional data can be stored in the user'"'"'s profile for use in the future. In addition, information extracted from a prior request or provided in an answer can also be stored in the user profile for at least a predetermined period of time to permit the user to ask a series of questions or make a series of request related to a particular item without having to specify the same item in every request. For example, a user can issue a query asking the local time in New York City. In a following query, the user can simply ask “What is the weather today?” The object of the first request (New York) is used to process the second request. Processing and reusing data in this way makes the resulting text dialog appear more natural and simplifies use of the system.
During the course of one or more requests, it may become necessary to ask a user to enter a large amount of information or take another action which is easier to perform in an Internet browser environment. According to a further aspect of the invention, a method and system is also provided to allow authenticated access to a particular web page by directing the user to that page using a link which is provided in an instant message. When a user is to be given authenticated accessed to a web page, the system generates an access key, which can be, for example, a random number of a suitable length. A uniform resource locator (“URL”) is then generated which includes the key and which is associated with the selected web page.
The key-containing URL is forwarded to the user in a message using the instant messaging protocol. When the user receives the message, the user can click on (or otherwise select) the URL to activate their web browser and direct it to the designated location. When the system receives a request for access to a web page, the specified URL is parsed to extract an embedded key. This key is then used to identify the particular web page to which the user has been granted access and the web page is served to the user. To increase security of the system, the various keys can expire after a short period of time and also after they are used once to access a web page. Advantageously, this technique leverages the authentication mechanism of the instant messaging system by granting access to the designated web pages only to users who have successfully logged in to an instant messaging service. As a result, the user does not need to divulge their IM password or remember another user ID and password combination. In addition, because the web page/key association expires after a single use and in a designated period of time in any case, it is highly unlikely that the key could be intercepted and used by an unauthorized party during its validity period and without detection.
In an additional aspect of the invention, the screen names of users are used to appropriately tailor a service for the users. Customization of the service using the screen name is accomplished in a number of ways. For example, if the service is a restricted service, then the screen name is used as the basis for deciding whether access should be granted to ensure that access is granted to a limited set of users. Alternatively, if the service is comprised of several component sub-services, and some of those sub-services are restricted, then the screen name is used as the basis for deciding whether access should be granted to the relevant sub-service. In accordance with the alternative embodiment, prior to performing the authorization step, the service first parses the query to determine which component sub-service will formulate the response.
The foregoing and other features of the present invention will be more readily apparent from the following detailed description and drawings of the illustrative embodiments of the invention in which:
FIGS. 4A-B are a flow chart of various aspects of the operation of a message processor for use in the systems of
FIGS. 9(a) and 9(b) are flow chart that illustrate how a user can access their record without needing to use their account name and password;
Turning to
In an instant messaging environment, each user is provided with a unique screen name which is included as part of a message sent from the user to a designated destination. To direct a query or other request to messaging processor 12, a user, after logging sends an instant message containing the request to the screen name assigned to the message processor 12, such as “ACTIVEBUDDY.” The message processor 12 is logged into the IM system and the IM system directs the message through the network to the processor 12.
When message processor 12 receives a request from the user, the screen name of the user is stored and, in this embodiment, the request, is forwarded to a local or remotely located query response server 22. In practice, query response server 22 will include a natural language interpreter or other smart system which is capable of responding to queries and other request of an arbitrary nature related to topics within at least a specified range of issues by generating an appropriate answer. The answer generated by query response server 22 is returned to the message processor 12 where it is incorporated into an output message which is subsequently sent to the user through the IM network. Alternatively, or in addition, the output message can be forwarded to the user through any other designated means, including e-mail, fax, text messaging to wireless or hand-held devices, voice mail (via a text to speech output system), or any other type of messaging system specified by the user.
Various types of information received during the query response interaction can be stored for later use in a user profile database 24 which contain various user profiles associated which each user. The profiles can be keyed to a user screen name in combination with the name of the instant messaging provider, for example “john@aol”. The profile database 24 is preferably maintained on a separate server which is accessible to both message processor 12 and query response server 22, although other data storage configuration are feasible. By storing data provided by the user during a profile set up session and/or in response to data solicitation requests, a sophisticated query system can be provided which can make use of secondary or implied information to return a response which is more accurate or based on implicit data which need not be entered by the user in each query.
For example, a user may issue a query “What is the weather in Sunnyvale?” The query response server would process this query, determine the most likely “Sunnyvale” based on available information about the user, and access a suitable Internet weather resource to obtain the weather report for, e.g., Sunnyvale, Calif. In addition, the user'"'"'s profile can be dynamically updated with the location Sunnyvale. As a result, a default location (if one was not already present) is available for use in subsequent location-dependent queries where the user does not specify a location. For example, the user may subsequently issue the query “Are there any outdoor concerts today?”. In order to accurately answer this question, the query response server 22 must know a general geographic location. In this embodiment, the system could use the most recently mentioned geographic location, Sunnyvale, as the location for the search.
It will be appreciated that a large amount of default information can be provided in the user profile, such as a user age, or birth date, sex, place of residence, athletic teams of interest, stock portfolio information, etc. Because of the large quantity of information which can potentially be stored in the user profile, when a query from a user without a profile is detected, a “new user” procedure can be initiated in which the user is requested to provide various types of information to be stored in the user profile. In one embodiment, the user is directed to a specified profile web page in to which they can enter the various types of requested data. A most preferred method of directing the user to a web page is discussed in more detail below. In a more preferred embodiment, a user'"'"'s profile is dynamically generated using information which is extracted from communications with the user, such as user-initiated queries.
Turning to
As discussed more fully below relative to the flow chart of
In operation, a large number of requests or queries can be pending for many users at the same time. Thus a larger number of separate “conversations” may be ongoing. In order to increase the system response time and decrease the load on any particular server, preferably the incoming and outgoing instant messaging data stream is handled by a message router and forwarded to a plurality of servers 30.1 through 30.N as illustrated in
Advantageously, such a message dispatching system can be configured so that each server 30.x believes itself to be the only server in the system and is unaware of the intervening message router 40. In addition, the system can be configured so that the entire system or server 30.1 through 30.N appears to a user under the single screen name used by the system 10 (or 10′). This arrangement simplifies the addition of and removal of servers 30.x to the system without substantial reconfiguration being required. Various techniques for configuring a message router 40 will be known to those of skilled in the art. Preferably, the dispatcher 40 and user-server association table 42 are controlled with a suitable load balancing algorithm to evenly distribute the request load across the available server base in response to varying usage conditions.
A first type of query is what can be considered to be an “answerable” query. In other words, this type of query can be answered without additional input from the user (although access to data in the user profile or another secondary source may be required). Following receipt of an answerable query (step 60) a data retrieval request is formulated as required for the appropriate data resource (step 62). If the data resource is local, the data resource is directly accessed as appropriate using the formulated request. If the data resource is remotely located, the resource request is formatted as required for the given resource and forwarded through an appropriate communication link, such as the Internet (step 64). After the answer is received or extracted from the data resource, an answer message is generated and configured to sent the user as output. (Step 66). The user profile can also be updated, as appropriate, in accordance with any new or updated information garnered from the interaction.
Because various users may be connected to the system through IM providers which support incompatible display options, a presentation layer is preferably provided for adjusting the format of output messages in accordance with knowledge of the data formatting requirements for the user'"'"'s particular IM service provider. In one embodiment, the presentation layer consists of a script processing mechanism somewhat similar to script processing provided by the XML language. Each message processed by the message server is initially formatted to include all formatting options for all supported IM systems. For example, the initial output message can contain both bold text and embedded URLs even though, e.g., one IM system supports bold text but not embedded links, while a second IM system supports embedded links but not bold text. During the output processing, the presentation layer determines the target IM system and its supported capabilities and/or formatting requirements. The unsupported or excess formatting is removed and the remaining message is adjusted, as needed, to be in a format suitable for the target IM system.
The output message, properly formatted as required, is then forwarded to the user through the IM gateway 16 (step 70). Alternatively, or in addition, the output can be directed to an additional or different address or device specified by the user, either in the particular received query, in a prior query, or as a field in the user profile.
Certain queries received by the user will not be answerable without additional data. For example, a user may submit a query inquiring about “the weather” without specifying a geographic area. In the event that such a query is received, a determination is made regarding the type of data which is missing and (provided the information is not already in the user'"'"'s profile) a question message soliciting this information from the user is generated (steps 72, 74).
In one embodiment, a separate subroutine is initiated during which the system assumes that the next communication from the user will be a response to the query message and the data in the response will be stored and used as appropriate. (Not shown). Preferably, however, the particular answer pattern associated with the generated questions is added as a temporary pattern to the query list and is associated with the particular user (step 76). The more-data-needed query can also stored in the user profile for later use. In this manner, and as discussed further below, a response to the generated question can be detected without requiring additional and separate data processing routines which limit the responsive actions which can be taken by the user. Finally, the question message is configured as output to the user (step 78) and forwarded through the output presentation layer and the IM gateway (steps 68, 70).
Preferably, answer patterns are added as temporary query patterns and expire within a designated period of time. Thus, a process can be initiated on a periodic basis to remove expired patterns from the pattern list (step 59). In addition, temporary patterns associated with a given user are also preferably removed when a subsequent communication from that user is received, regardless of whether the communication matches the query or not. This allows a user to abandon a query which requires more data and simply issue a new query (which will not match the temporary pattern).
By storing an answer pattern as a temporary pattern at the beginning of the query pattern list, the system can easily and quickly identify user communications which are responses to a data needed question. When a response matches an answer pattern (step 80) the information returned by the user is extracted and added to the appropriate fields in the user profile (step 82). The original user query which spawned the “more data needed question” is then retrieved from the user profile and reissued as if were just received from the user. During this second attempt, the required information can be retrieved from the user profile and the user'"'"'s query executed without interruption (steps 84, 56). In the event that further secondary or additional information is required, the data solicitation procedure can repeat until the query is answerable or a failure condition is recognized.
In addition to issuing queries to request information, a user can issue requests to perform maintenance of their profile. For example, a user can request that the system add a designated number of stock shares to their profile for tracking purposes. Profile maintenance commands can be identified through general natural language processing, such as query pattern matching, or can be identified through particular introductory key words, such as “PROFILE:”, which indicates that the request is a profile update and not a general informational query. When a profile maintenance request is detected (step 86) the appropriate user profile is accessed (step 88). The user profile is then updated in accordance with the user specification (step 90). Finally a message indicating the success or failure of the update can be generated and forwarded to the user (steps 92, 68, 70).
Various other types of user queries may also be received in addition to those specified in
As discussed previously, instant messaging services assign unique, authenticated screen names, for various compelling reasons. In accordance with the invention, this unique, authenticated screen name is used to provide interactive agents with the ability to customize their responses for each user.
In accordance with a preferred embodiment (
A check is made to determine whether the screen name is authorized to access the restricted service, as indicated in step 510. If the screen name is not authorized to access the restricted service, then a message that informs the user that access is denied is sent, as indicated in step 315. In the preferred embodiment, the message is “sorry you do not have access”.
If the screen name is authorized to access the restricted service, then the message is parsed to generate a parsed message, as indicated in step 520.
Next an answer is formulated based on the parsed message and where appropriate the profile variables, as indicated in step 525. The answer is then sent to the user, as indicated in step 530.
In accordance with the preferred embodiment, it is also possible to parse the message and formulate the answer prior to checking the authorization of the screen name. However, if it is determined that the user is not authorized, then the results of the parsing and formulation must be discarded.
For example, a company may launch an interactive agent that is comprised of several sub-services. Some of the sub-services are unrestricted, to which any user is granted access. By using an access list, some of the sub-services are restricted. The present embodiment differs from the prior preferred embodiment shown in
In accordance with the present preferred embodiment, a message is received from a screen name, as indicated in step 600. In alternative embodiments, profile variables that correspond to the screen name are also retrieved.
Next, the message is parsed to generate a parsed message, as indicated in step 610. A service module that will formulate an answer for the parsed message is identified, as indicated in step 620.
A check is made to determine whether access to the identified module is restricted, as indicated in step 630. If access to the identified module is restricted, a message that informs the user that access is denied is sent, as indicated in step 640. In the preferred embodiment, the message is “sorry you do not have access”.
A check is performed to determine whether the screen name has restricted access to the identified module, as indicated in step 650. If access of the screen name to the identified module is restricted, a return to step 640 occurs, where the message that informs the user that access in denied is sent.
If the screen name is authorized to access the module, then an answer is formulated based on the parsed message and where appropriate the profile variables, as indicated in step 660. The answer is then sent to the user, as indicated in step 670.
In an embodiment of the invention, a screen name, in addition to a user'"'"'s query, is used to formulate a response when a corporate directory service is accessed. Here, a the employees of many companies are listed in a corporate directory, and access to the directory is to be restricted, so that an employee of a particular company can only retrieve information about other employees at that same company.
In an embodiment of the invention, a corporate directory 411 directory uses a relational database with a structured query language (SQL) interface. Here, the user'"'"'s screen name is used in the formulation of the response. Here, the corporate directory is stored in an SQL table. The screen name is then used to look up the list of companies for which the user works. (It is possible, such as in the case of consultants, that an individual works for more than one company.) The resulting list is joined with the entire SQL table, yielding a list of employees that work for all the companies.
In the present embodiment, however, access authorization is handled much differently than in the previous preferred embodiments shown in
In the exemplary embodiment discussed below, Table 1 contains sample records for employees from three companies: ActiveBuddy, Newco, and Overture. The records are maintained in accordance with the relationship:
sql>select*from dir order by last, first; (Eq. 1)
1TABLE 1 id first last screenname company 5 Stephen Jones sjonesl 1 Newco 1 Timothy Kay timkay ActiveBuddy 6 Timothy Kay timkay Newco 2 Stephen Klein stephenk9 ActiveBuddy 9 Mindy Mane sweetmusic Overture 3 Stephen Odul sodul ActiveBuddy 4 David Smith davidsmith Newco 7 William Tell bellringer Overture
In accordance with the exemplary embodiment, if an employee with the screen name “davidsmith” wishes to query the corporate directory service for employees with first name “Stephen,” he might ask “What is Stephen'"'"'s phone number?”
As described with respect to the prior exemplary embodiments shown in
sql>select count(*) from dir where screenname=‘davidsmith’. (Eq. 2)
2TABLE 2 count(*) 1
The resulting non-zero count (see Table 2), indicates that the screen name “davidsmith” is listed in the corporate directory table and indicates that this user is to be permitted access.
In accordance with the embodiments shown in
sql>select company, first, last from dir, (Eq. 3)
- where first=‘stephen’ order by last, first;
3 TABLE 3 company first last Newco Stephen Jones ActiveBuddy Stephen Klein ActiveBuddy Stephen Odul
The result illustrated in Table 3 reveals that the prior embodiments shown in
Turning to
sql>select company from dir where screenname=‘davidsmith’; (Eq. 4)
4TABLE 4 company Newco
Next, the name of the user'"'"'s company, in addition to the user'"'"'s query, are used to formulate the response, in accordance with the following relationship:
sql>select company, first, last from dir (Eq. 5)
- where company=‘Newco’ and first=‘Stephen’;
5 TABLE 5 company first last Newco Stephen Jones
As a result, the correct response, which in certain embodiments is formulated, “Stephen Jones (Newco).” Here, the user'"'"'s screen name, in addition to the user'"'"'s query, is used to formulate the response.
As will be appreciated by those of skill in the art, it is possible for an individual to work for more than one company. Another employee, with the screen name “timkay,” could be listed in the corporate directory table twice (see Table 1), i.e., for two different companies, ActiveBuddy and Newco. In accordance with the present embodiment, as long as the second step is iterated once for each company, the proper response is still formulated.
sql>select company from dir where screenname=‘timkay’. (Eq. 6)
6 TABLE 6 company ActiveBuddy Newco
In accordance with the present embodiment, the first iteration locates all employees with the first name “Stephen” that work for ActiveBuddy. This is performed in accordance with the relationship:
sql>select company, first, last from dir, (Eq. 7)
- where company=‘ActiveBuddy’ and first=‘Stephen’;
7 TABLE 7 company first last ActiveBuddy Stephen Klein ActiveBuddy Stephen Odul
The second iteration finds all employees with the first name “Stephen” that work for Newco. This is performed in accordance with the relationship:
sql>select company, first, last from dir. (Eq. 8)
- where company=‘Newco’ and first=‘Stephen’;
8 TABLE 8 company first last Newco Stephen Jones
The response is then formatted and sent to the user. In certain embodiments, the response is “Stephen Klein (ActiveBuddy), Stephen Odul (ActiveBuddy), and Stephen Jones (Newco).” . In the preferred embodiment, the corporate directory 411 service is performed in a different manner. Specifically, a more complex SQL query, such as a self-join is used to formulate and retrieve the answer in a single SQL query, in accordance with the following relationship:
sql>select v.company, v.first, v.last from dir u, dir v, (Eq. 9)
- where u.screenname=‘davidsmith’, u.company=v.company, and v.first=‘Stephen’;
9 TABLE 9 company first last Newco Stephen Jones
sql>select v.company, v.first, v.last from dir u, dir v, (Eq. 10)
- where u.screenname=‘timkay’, u.company=v.company, and v.first=‘Stephen’.
10 TABLE 10 company first last ActiveBuddy Stephen Klein ActiveBuddy Stephen Odul Newco Stephen Jones
In accordance with the present preferred embodiment, the self-join query includes the user'"'"'s screen name as a full-fledged participant in the query.
Referring to
The message is then parsed to yield a parsed message, as indicated in step 710. An answer is then formulated using the parsed message, the screen name and where appropriate the profile, as indicated in step 720. The answer is then sent to the user, as indicated in step 730.
In accordance with the preferred embodiment, when the response that is sent to the user is formulated, the interactive agent incorporates all available data that is uniquely identified by the screen name.
To gain access to the sibling services, the interactive agent servers must be granted a trust relationship with the sibling services. Hence, the provider of the IM and sibling services grant access to the sibling services databases without requiring a password. In doing so, the service provider is trusting the interactive agent to properly handle the access privileges.
Such a trust relationship is possible because of the very nature of instant messaging. For a user to send a message from a given screen name, they must be pre-authenticated by the instant messaging service. That service authentication mechanism is the same mechanism (and the same screen name and password) that is used by the sibling services. Therefore, the fact that a message is received from the screen name proves in itself that the user has access to the data in question.
In accordance with the preferred embodiment, once the trust relationship is established, the interactive agent would have access to user information stored in the sibling services. The interactive agent can then manipulate the data stored in sibling services on behalf of the user, since the data belongs to that user.
In certain embodiments, Personal Bots are used to store all of the user'"'"'s personal data in the interactive agent user profile. In accordance with the present embodiment, it is possible to increase the synergy of the personal bot with the method of the invention, if the interactive agent granting access to the user'"'"'s personal data was previously stored in the sibling services. In this case, the user would then have an integrated calendar, for example, that is manipulateable either through the previously extant web interface, as well as through the personal bot, by issuing statements such as “I'"'"'m having lunch with Bob Smith on Tuesday.”
Many institutions, including banks, brokerages, supermarkets, online retail sites, etc., keep track of customers. For each customer, the institution has a customer record that contains customer information, such as name, address, birth date, social security number, account balances, credit cards, and personal preferences.
An institution often assigns a user an account name and a password (also called a PIN). Using their account name and password, a customer can access and modify some aspects of their own customer record, such as querying their bank balance, updating their preferred credit card, or changing personal preferences.
Often the accounts are accessed via a modem or via the Internet, using either a browser or proprietary software. In the first case, the user runs some software and enters the account name and password. The software dials the service, logs the user in, and grants access to some part of the customer record for access or modification. The user then interacts with the software to access or modify their record.
In the second case, the user starts the browser software, enters the appropriate URL and possibly clicks on an appropriate hyperlink. The user then enters the account and password, and is granted access to some portion of the customer record for access or maintenance. The user then interacts with the web page to access or modify their record.
Instant messaging services comprise another method for companies to offer their customers access to customer records. To provide access via instant messaging, the company builds an interactive agent that does two things. First, the interactive agent interacts with the users. Second, at the request of the users, the interactive agent accesses and modifies the users'"'"' records.
There are security issues that arise when accessing companies record in this manner. Any given user must be granted access to only their user records and must be prevented from accessing the records of other users. To this end, the interactive agent must be able to ascertain the identity of any given user. The problem here is that a bank knows a user by name, account number, address, etc., and the instant messaging service (and hence the interactive agent) knows the user authoritatively only by their screen name. Without taking any action, it is not possible to know authoritatively which accounts and screen names correspond to each other.
The interactive agent then establishes access to the appropriate user records, as indicated in step 830. Having established access to the appropriate user records, the interactive agent then formulates a response, as indicated in step 840. The response to the initial query is then transmitted (step 850), and any additional queries are processed, as shown in step 860.
The interactive agent can then access the appropriate user records on behalf of the user. This solution, however, is not preferred. Basically, the user previously logged into the instant messaging service, so the service, other users, and interactive agents can be confident that messages sent from the user'"'"'s screen name are in fact from that user. It is therefore redundant for the user to have to repeatedly identify himself using an additional screen name and password.
In the preferred embodiment, a new field is added to those user records that contain the user'"'"'s screen name to identify the relevant user. Here, the user (or institution) then enters the user'"'"'s screen name into the new field in the user record. As a result, when the user wishes to access their record, they can do so without needing to use their account name and password, as illustrated by
In an alternative embodiment the user provides his account name and password to the interactive agent, but only once. Turning to
A check is then made by the interactive agent to determine whether there are any user records that have the specific screen name, as indicated in step 1010. If the interactive agent determines that there are no user records that have the specific screen name, then the interactive agent requests the user to provide his account name and password, as indicated in step 1020. The account name and password is received by the interactive agent, as indicated in step 1030.
The interactive agent then establishes access to records that correspond to the user'"'"'s screen name and password, as indicated in step 1040. The user'"'"'s screen name is stored into a screen name field of the accessed record, as indicated in step 1050.
At this time, the interactive agent has access to the appropriate records at the institution. As a result, the interactive agent proceed to formulate a response based on the original query, as indicated in step 1060. The response is then sent to the user, as indicated in step 1070, and a return to step 1060 then occurs, where in accordance with the present embodiment the prior steps are repeated.
In accordance with the preferred embodiment, a company can build an interactive agent that appears on an IM service as a screen name. For example, Wells Fargo Bank might create an interactive agent named “Wells Fargo Online” on the AOL Instant Messaging (AIM) service. The interactive agent would have access to bank records. In the case where the bank asks for the user'"'"'s screen name when the account is opened, and stores the screen name in the user'"'"'s record, along with other information on the account application form, an AIM user may interact with Wells Fargo Online to access or modify their banking record. In accordance with the present preferred embodiment, this is accomplished using the screen name that is stored in the user'"'"'s account record, without the need to provide any account information, user names, or passwords to the interactive agent. Given that the user talks to Wells Fargo Online using the stored screen name, the user is provided with all access permission that is needed to access and modify their records.
Many Internet portal services provide suites of applications, such as email, calendar, address book, etc., in addition to instant messaging service. The largest three portals are AOL.™., Microsoft.R™., and Yahoo!.R™. Typically, a user registers at such portal services and is issued an account name and password. The single account and password provides the user with access to the different applications provided by the portal.
For example, a user might type the URL “http://my.yahoo.com/” into their browser. Upon doing so, the user will see a button that reads “Sign Up Now!” Upon signing up, the user creates their account, and sets up their “My Yahoo!.R™. preferences,” which include many personalization choices, such as a zip-code to display the local weather report, their birth date such that their horoscope is displayed, their choice of news categories, or their stock portfolio.
At some point in the future, the user may decide to start using “Yahoo!.R™. Calendar” by visiting the URL “http://calendar.yahoo.com/”, Yahoo!.R™. Addresses at “http://address.yahoo.com/”, or Yahoo!.R™. Mail at “http://mail.yahoo.com/”. in each environment, the user can use the same account and password.
In addition, the user can download the Yahoo!.R™. Messenger client application to participate in the Yahoo!.R™. Messenger instant messaging service. As before, the same account and password may be used to gain access to the messaging service.
The same collection of applications are available to users at the AOL site and at the Microsoft.R™. MSN site. A user can sign-up for an account and password, and then use applications including calendar, address book, email, portfolio, news, and instant messaging.
An interactive agent, similar to SmarterChild.™., can be placed on any of the instant messaging services, and can access the personalization and event data. By way of the interactive agent, a user can send requests such as: (i) “What are today'"'"'s appointments?”, (ii) “Lunch with Dave at 1:15 on Wed.”; (iii) “Remind me to call my mom back in 20 minutes”; (iv) “Tell Tom Smith to call me at his convenience”; (v) “What i, my horoscope?”; (vi) “Add IBM to my portfolio”; and (vii) “Tell me when IBM hits 100, or the like.
Interactive Agents such as SmarterChild.™. and Agent Reuters.™. already handle requests like these. However, these interactive agents stand alone, in that they keep track of each user'"'"'s personalization data and event data in a database that is specific to the interactive agent. When a user first requests his horoscope, the stand-alone interactive agent must ask the user for his birth date (or zodiac sign), even if that user previously provided that information to other related portal applications.
A further embodiment of the invention provides for communication between an interactive agent and other existing portal applications. In preferred embodiments where an agent such as SmarterChild.™. is used, the personalization and event data, such as user zip-code, calendar events, stock portfolio, etc., is shared between the related portal applications and the interactive agent. When the information is shared, the user is required to provide the information to aggregate related portal services only once. If information is ever provided to any of the related portal services, then the interactive agent can make use of that information when needed.
In exemplary embodiments, a My Yahoo!.R™. user sets up a stock portfolio and personalizes his weather report and daily horoscope. At a later date, the user starts using a special version of SmarterChild.™. that shares information with the related portal applications. When the user asks for his portfolio, weather report, or horoscope, etc., the interactive agent provides the requested information immediately without first having to ask the user to specify a list of stocks, a zip-code, or a birth date. This is possible because the interactive agent can obtain the needed data by querying the related services.
In the preferred embodiments of the interactive agent, there is a trust relationship between the interactive agent and the related portal services. This trust relationship is established without compromising security because the IM service uses the same accounts and passwords as the related portal services. Here, the interactive agent receives requests from users of the IM service. Along with the request, the service provides the sender'"'"'s screen name. By its very nature, the sender in an IM session is authenticated. The interactive agent can only receive messages from users who have authenticated themselves with the IM service.
As long as the interactive agent is trustworthy, from the perspective of the related portal services (perhaps deployed by the portal itself), the interactive agent can make trusted requests to the related portal services to retrieve personalization data, without needing a password, and without compromising security.
More specifically, if the interactive agent does not request private data inappropriately, then it means that the interactive agent is trusted by the related portal services. It is easy to build an interactive agent that compromises security and, therefore is not trustworthy. For example if an interactive agent was programmed to answer questions such as “What is timkay'"'"'s birth date?”, or in the worst case scenario “What is timkay'"'"'s password?”, then the interactive agent would make an inappropriate request to the related portal services to ascertain timkay'"'"'s birth date or password. The interactive agent would then present the inappropriate request to the user that made the request. If this interactive agent were trusted, then private information would be inappropriately disseminated.
It is also easy to construct an interactive agent that is indeed trustworthy. An interactive agent is trustworthy in one of two ways. The interactive agent is trustworthy if: on behalf of user X, the interactive agent requests personalization and event data from the related services only for user X, an/or if the interactive agent optionally requests personalization data and event data from related services for users other than user X, but only such data as is marked for public consumption, or marked in some other manner to indicate that user X is allowed access to the particular data in question.
Put differently, user timkay may only request data from user timkay'"'"'s own data record and user timkay may also request information from other users'"'"' records, as long as the particular data items are marked either for public consumption, or marked to indicate that timkay is allowed such access.
For example, Yahoo!.R™. Calendar permits the owner of data to mark events as either private, busy, or public. If an event is marked private, then only the owner of the data may access the event. If the data is marked busy, then only the owner may access the event in its entirety. However, other users may access the fact that the owner of the data is busy during the time span of the event. If the event is marked public, then other users may access the event information in its entirety.
In accordance with the present embodiment, additional access restrictions may also apply. For example, irrespective of the private/busy/public status of an event, only the owner of the event may actually change it. In addition, in some cases, such as group calendars, some events may be marked as accessible only by a certain group of users.
In accordance with the present embodiment, an interactive agent is considered trustworthy if it respects such data access policies for the related portal services. The interactive agent can be programmed to respect such policies in two ways. In the first technique, the interactive agent is constructed such that it never delivers requested information inappropriately. In the second technique, the related portal services provide an API to the interactive agent that enforce the data access policies.
In the preferred embodiment, the two techniques for ensuring that the interactive agent interactive agent respects data access policies for the related portal services are combined to provide a failsafe mechanism. Naturally, the inter active agent is first only ever presented with information that is appropriate for the requesting user to see. Also, whenever the interactive agent requests data from related portal services, in addition to the request itself, it must provide the screen name of the user for whom the request is being made. The API of the related portal services can then verify that such a request is legitimate. The preferred embodiment thus prevents the inappropriate dissemination of private data even if there is a programming error in the construction of the interactive agent.
It must be noted that the IM service itself is a related portal service. A large collection of information is stored by the IM service (preferences, contact lists, and the like), and in accordance with the preferred embodiments such information should be subject to the same trusted access by an interactive agent in much the same manner as other related portal services.
Considering an IM service as a related portal service makes way for an interactive agent to possibly help a user with many tasks, such as maintaining a contact list, sending broadcast messages, setting preferences, and the like.
Various different programmable computer hardware platforms can be used to implement the several aspects of the present invention. In a most preferred embodiment, the various components, such as message routers, dispatcher, query response servers, etc., are implemented on one or more computer systems which are substantially identical at the hardware and operating system level. This simplifies interactivity between the various systems and makes it simpler to port functionality from one computer to another to distribute the workload in accordance with, e.g., the number of computer systems available. The computers should be connectable to each other, for example, by means of 100Base-T Ethernet interfaces and corresponding 100Base-T Ethernet switches. At least one of the computers is connected to the data network. In the preferred Internet implementation, the connection is through a firewall and via a 100Base-T connection provided by a data center. In the most preferred implementation, each computer contains an a Intel L440GX+motherboard, two Pentium III processors, 512 MB RAM, two Seagate 9 GB disk drives, and operates using the Unix compatible Linux operating system. As will be appreciated, the specific hardware utilized can be varied in accordance with need, required capacity, and the preferred programming and operating environment, as well as in response to other factors.
The invention has been particularly shown and described with reference to the preferred embodiments thereof. It will be understood by those of skill in the art that various changes and additions to the method and system described above can be made without departing from the spirit and scope of the invention.