Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20040152450 A1
Publication typeApplication
Application numberUS 10/746,110
Publication dateAug 5, 2004
Filing dateDec 24, 2003
Priority dateDec 24, 2002
Also published asUS7389349, US20060059239, WO2004059447A2, WO2004059447A3
Publication number10746110, 746110, US 2004/0152450 A1, US 2004/152450 A1, US 20040152450 A1, US 20040152450A1, US 2004152450 A1, US 2004152450A1, US-A1-20040152450, US-A1-2004152450, US2004/0152450A1, US2004/152450A1, US20040152450 A1, US20040152450A1, US2004152450 A1, US2004152450A1
InventorsAlexander Kouznetsov, Gary Brasher
Original AssigneeAlexander Kouznetsov, Gary Brasher
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Internet-based messaging system
US 20040152450 A1
Abstract
A messaging system is disclosed that provides dynamic polling of a message server for use in a stateless communication system. The polling interval may be determined by a user, or it may be determined based on current message activity or on statistics derived from historical message activity. Application-to-application, as well as human-to-human, messaging capability is also disclosed.
Images(2)
Previous page
Next page
Claims(9)
What is claimed is:
1. A messaging system comprising:
means for polling a message server at a first time to determine if any messages are present;
means for polling said server at a second time to determine if any messages are present; and
means for determining the interval between said first time and said second time in response to information received from said server at said first time.
2. The messaging system of claim 1, wherein said information received from said server comprises an indication of the presence of one or more messages.
3. The messaging system of claim 1, wherein said means for determining said interval increases said interval when no messages are present at said server.
4. The messaging system of claim 1, where in said means for determining said interval decreases said interval when one or more messages are present at said server.
5. A messaging system comprising:
means for receiving messages via a message server from at least one sender;
means for polling said server at a first time to determine if any messages are present from at least one sender;
means for polling said server at a second time to determine if any messages are present from at least one sender; and
means for determining the interval between said first time and said second time based on an indication from said polling that one or more messages from at least one sender is present at said server.
6. A messaging system comprising:
a message server;
user means remote from said server;
polling means associated with said user means for making connection with said message server at a first time to determine if any messages are present;
polling means associated with said user means for making connection with said server at a second time to determine if any messages are present; and
wherein said polling means is substantially disconnected from said server during the interval between said first and second times.
7. A method for managing messages at a message server comprising the steps of:
polling said server at a first time to determine if any messages are present at said server;
polling said server at a second time to determine if any messages are present at said server; and
determining the interval between said first time and said second time in response to information received from said server at said first time.
8. The method of claim 7, wherein said interval is increased when on messages are present at said server.
9. The method of claim 7, wherein said interval is decreased when one or more message are present at said server.
Description
    REFERENCE TO RELATED APPLICATIONS
  • [0001]
    This application claims priority from a Provisional Application Serial No. 60/436,235, filed Dec. 24, 2002, which is hereby incorporated by reference.
  • BACKGROUND OF THE INVENTION
  • [0002]
    The present invention relates to internet-based communications systems and, more particularly, to a central server messaging system that provides efficient use of server resources.
  • [0003]
    Computer-based messaging via the internet, and in particular instant messaging systems, are becoming a popular communication tool that are used by individuals and businesses alike as an effective means to transfer and relay information to other individuals, between co-workers, and to or from customers. Instant messaging systems typically operate through the use of a central server, which routes messages to the proper recipient. This activity, however, consumes server resources which would otherwise be available for other applications. As it is often not economically feasible to implement a server exclusively committed to managing instant messages, the central server must share its resources with the instant messaging system as well as any other applications that are provided. It is important, therefore, to manage server resources carefully in order to permit efficient and responsive operation of the server in the use of any application, including instant messaging.
  • SUMMARY OF THE INVENTION
  • [0004]
    It is therefore an object of the present invention to provide an internet-based messaging system that permits users to intelligently poll the server for messages based on particular criteria.
  • [0005]
    It is a further object of the present invention to provide an internet-based messaging system that permits users to establish a message polling schedule to enable the timed-delivery of message to one or more selected computers or communications devices.
  • [0006]
    It is yet a further object of the present invention to provide an internet-based messaging system that establishes a message polling schedule based on historical message activity.
  • [0007]
    It is still a further object of the present invention to provide an internet-based messaging system that performs modifications of an established message polling schedule in response to actions by users.
  • [0008]
    These and other objects will become apparent from the illustrated drawing and the description of the embodiments.
  • BRIEF DESCRIPTION OF THE DRAWING
  • [0009]
    The sole FIGURE is a block diagram of an internet-based messaging system in accordance the present invention.
  • DESCRIPTION OF THE EMBODIMENTS
  • [0010]
    Referring to the Figure, there is shown a computer-based network 10 that incorporates a messaging system, and in particular an instant messaging system, illustratively identified as 11. Messaging system 11 includes a central server 12, which may be configured as a network server that performs a number of tasks or applications in addition to managing messages. Illustratively, server 12 may form a part of a server-based application network, where remote users of the network can utilize the software applications residing on the network in a manner that appears to the user that the application is running of their own computer. The messaging capability of server 12 allows two or more individual users to send and receive messages to and from one another in approximation of real time. Server 12 is shown illustratively as utilizing the internet, identified as element 14 in the Figure, as its communications link. The Figure illustratively shows individual users 16 and 18, although it is understood that many users can be associated with messaging system 11 at any given time. Individual user 16 is shown as comprising a computer 20 incorporating a processor 22 and memory 24, which may comprise one or more types of computer memory, such as hard disc memory, RAM, or solid state memory. User 16 also comprises a display 26, which may be of a variety of types, including, but not limited to, cathode ray tubes or liquid crystal displays. Individual user 18 is shown a comprising a computer 28 having a processor 30 and memory 32, such as that used in computer 20, and a display 34. Computers 20 and 28 may comprise a variety of devices having the necessary processing and communication functionality, such as desk-top PCs, laptop computers, internet-capable cell phones, and personal information managers (PIMs), for example. User 16 communicates via the internet by way of communications means 36, which may be any type of communications device, including wired or wireless devices, such as cable modems or telephonic modems, for example. Likewise, user 18 communicates through the internet using communications means 38, which may also be a variety of different communications devices.
  • [0011]
    The Figure illustrates server 12 as managing the messaging system of the present invention, but peer to peer messaging systems are also available and the present invention is equally adaptable to peer to peer systems and server-based messaging systems. Server 12 includes a processor 40, memory 42, and a communications device 44 operating through a firewall 46. Server 12 may also include other components and elements unrelated to the management of a messaging system, but which may be used with such system as described below, such as word processing and database management, for example.
  • [0012]
    As part of the implementation of the messaging capability of the network shown in the Figure, central server 12 also incorporates message management software 48 illustratively shown as residing in memory 42. In a similar fashion, computer 20 of user 16 also comprises a messaging software application 50 which resides in memory 24, which computer 28 includes messaging software 52 residing in memory 32. Messaging software 50 and 52 is designed to be compatible and work with message management software 48 of server 12.
  • [0013]
    In operation, server 12 operates in a “stateless” manner, with connection being made to individual user computers on a request basis. Known messaging systems operate with the user's messaging software application keeping an open communication socket open to the server at all times that the application is running. Even though message may include the recipient's email address, the message will be sent to server 12 for routing. Maintaining a continually open socket utilizes server resources in an inefficient and wasteful manner. The messaging system 11 of the present invention, on the other hand, operates using a message polling technique, where the users' messaging software application, such as software 50 or 52, polls or “calls” the server 12 to determine if message intended for that user are waiting to be delivered. As stated above, this is different from standard messengers where the application keeps an open socket connection to the sever. The implementation of the present invention is more scalable than a “connected” system, since a “stateful” connection is not continually kept and more users can be accommodated and services with the same overall resources.
  • [0014]
    In an aspect of the present invention, messaging system 11 utilizes intelligent dynamic polling, where the polling schedule, i.e., the intervals between requests to the server for messages, is adjustable within a configurable range. This dynamic polling may be based on a variety of different “rules.” One form of dynamic polling is based on the current level of message activity. Using user 16 as an example, software application 50 polls server 12 more often if there is current messaging activity. If there is no messaging activity, however, software 50 polls server 12 less often. The delay between polling server 12 is increased if no messages are waiting when polling takes place. For example, server 12 may be initially polled after 30 seconds. This poll time is increased by 10 seconds until a maximum polling interval, e.g., 90 seconds, is reached. If no messages are waiting or available after 30 seconds then the next poll will occur after 40 seconds, then 50 seconds, up to the maximum interval. If a message is received at any polling occurrence, the delay to the next poll of the server will be reset to 30 seconds.
  • [0015]
    A second form of dynamic polling is based on statistics derived from historical activity. A user's messaging activity is recorded over time, and statistical summaries are made and used to adjust the polling schedule or intervals in accordance with a user's predicted activity. For example, if user 18 is most active daily from 8:00 am to 9:00 am then user's software 52 will poll sever 12 more often during this time and less often outside this time. Additionally, when server 12 is polled by any user, any new messages waiting at the server for that user are returned in the response to the poll. This saves the server from being polled for individual messages.
  • [0016]
    In accordance with other aspects of the present invention, software 50 and 52 will not poll server 12 when the respective users' screen saver is running or the user has “locked” the computer, e.g., implemented a password-protected state. The message server is not polled if the user is not logged on to the system.
  • [0017]
    Individual users can also create a schedule of when to poll for new messages. This allows server 12 to be polled only during the times and days of the week selected by the user, which permits a user to configure message software applications to run on different computers (e.g. home and office) without conflicts, as each computer will only get messages sent within scheduled polling intervals assigned to that particular computer.
  • [0018]
    Although server 12 operates in a stateless manner, it is of course possible to implement a peer to peer messaging system that maintains open communication sockets between users. Based on user activity, messaging system 11 could implement whichever connection was best suited to the current activity of the users, with such decision being made by either server 12 or the application, e.g., software 50 or 52, residing on the users' computer.
  • [0019]
    The present invention also contemplates the implementation of application-to-application messaging such as, for example: sending meeting requests from PIM to PIM (e.g., in iCal format) and receiving replies. The message recipient can view the request and either accept or decline the meeting. Alternatively, automatic scheduling of meetings and events among many users may also be accomplished in this manner, as the messaging software residing on each PIM can interface with calendar and scheduling software to determine available times and dates, and coordinate with each of the other addressed PIMs to set a meeting date and time. Application-to-Application messaging also permits the implementation of a “remote clipboard” function which allows the messaging application software to copy data from one computer and paste it to the Windows Clipboard on another computer, so a user on that other computer can paste the data from their clipboard into another application running on that computer.
  • [0020]
    In accordance with another aspect of the present invention, messaging software applications 50 and 52 may permit a user to select who can see whether they are online or offline, i.e. a user's “presence.” With this feature implemented, those users who want to see this user's presence must submit a request to the user. The user can either accept the other user's request, meaning that the other user will receive presence information from this user, or decline the other user's request, meaning that the other user will not receive presence information from this user. If a user accepts the request, the requested is notified directly whenever the user goes online or offline. Any user who has not requested another user's presence, or has been denied a request, will always recognize that other user as being offline. A user can also block their online presence on a user-by-user basis. For example, a user may want to block their presence information from being sent to one requester but still send their presence information to other requesters.
  • [0021]
    Other features of the messaging system of the present invention may include the ability of the messaging software application to autorespond when a user is not available, the ability to organize users by groups and send messages to a group, block messages from particular users, the ability to save a message thread on server 12 in order to retrieve the thread at a different time or from a different computer, validating a user's email address when adding that user to a contact list to prevent adding users who are not supported by valid addresses, the ability to migrate the messaging system across various operating system platforms, e.g., Microsoft Windows, Linux, Apple, the ability to interoperate with other messaging protocols, such as ICQ, AOL Instant Messenger, MSN Messenger, for example.
  • [0022]
    Messaging system 11 can also aid in the implementation of an anti-spam control by establishing a minimum time that can occur between messages. Messages that arrive in rapid sequence with a message-to-message interval less than the established or selected minimum time could be ignored, deleted, or automatically moved to a lower priority folder.
  • [0023]
    While the present invention has been illustrated in the drawing and described in detail in the foregoing description, it is understood that such illustration and description are illustrative in nature and are not to be considered restrictive, it being understood that only the preferred embodiments have been shown and described and that all changes and modifications that would be apparent or would occur to one skilled in the art are to be protected.
Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US6301609 *Sep 8, 1999Oct 9, 2001Lucent Technologies Inc.Assignable associate priorities for user-definable instant messaging buddy groups
US6430602 *Aug 22, 2000Aug 6, 2002Active Buddy, Inc.Method and system for interactively responding to instant messaging requests
US6430604 *Aug 3, 1999Aug 6, 2002International Business Machines CorporationTechnique for enabling messaging systems to use alternative message delivery mechanisms
US6449344 *Jan 27, 1997Sep 10, 2002Aol Acquisition CorporationCommunication system
US20020026483 *Mar 30, 2001Feb 28, 2002Ellen IsaacsSystem, method and apparatus for communicating via instant messaging
US20020034281 *Apr 12, 2001Mar 21, 2002Ellen IsaacsSystem and method for communicating via instant messaging
US20020083136 *Dec 22, 2000Jun 27, 2002Whitten William B.Method of authorizing receipt of instant messages by a recipient user
US20020130904 *Jan 17, 2002Sep 19, 2002Michael BeckerMethod, apparatus and computer readable medium for multiple messaging session management with a graphical user interfacse
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7844669 *Sep 16, 2004Nov 30, 2010Avaya Inc.Out of office autoreply filter
US7937370Feb 21, 2007May 3, 2011Axeda CorporationRetrieving data from a server
US7966418Feb 20, 2004Jun 21, 2011Axeda CorporationEstablishing a virtual tunnel between two computer programs
US8055758Aug 14, 2006Nov 8, 2011Axeda CorporationReporting the state of an apparatus to a remote computer
US8060886Feb 12, 2007Nov 15, 2011Axeda CorporationXML scripting of SOAP commands
US8065397Dec 26, 2006Nov 22, 2011Axeda Acquisition CorporationManaging configurations of distributed devices
US8108543Apr 17, 2002Jan 31, 2012Axeda CorporationRetrieving data from a server
US8204870Aug 3, 2007Jun 19, 2012Sybase, Inc.Unwired enterprise platform
US8291039May 11, 2011Oct 16, 2012Axeda CorporationEstablishing a virtual tunnel between two computer programs
US8370479Oct 3, 2006Feb 5, 2013Axeda Acquisition CorporationSystem and method for dynamically grouping devices based on present device conditions
US8406119Sep 29, 2006Mar 26, 2013Axeda Acquisition CorporationAdaptive device-initiated polling
US8438227 *Jun 1, 2007May 7, 2013Alibaba Group Holding LimitedInstant messaging using browser
US8478861Jul 6, 2007Jul 2, 2013Axeda Acquisition Corp.Managing distributed devices with limited connectivity
US8750123Jul 31, 2013Jun 10, 2014Seven Networks, Inc.Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US8752074Oct 4, 2011Jun 10, 2014Axeda CorporationScripting of soap commands
US8761756Sep 13, 2012Jun 24, 2014Seven Networks International OyMaintaining an IP connection in a mobile network
US8762497Dec 19, 2011Jun 24, 2014Axeda CorporationRetrieving data from a server
US8769095Dec 26, 2012Jul 1, 2014Axeda Acquisition Corp.System and method for dynamically grouping devices based on present device conditions
US8774844Apr 8, 2011Jul 8, 2014Seven Networks, Inc.Integrated messaging
US8775631Feb 25, 2013Jul 8, 2014Seven 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
US8782222Sep 5, 2012Jul 15, 2014Seven NetworksTiming of keep-alive messages used in a system for mobile network resource conservation and optimization
US8788632Oct 4, 2011Jul 22, 2014Axeda Acquisition Corp.Managing configurations of distributed devices
US8799410Apr 13, 2011Aug 5, 2014Seven Networks, Inc.System and method of a relay server for managing communications and notification between a mobile device and a web access server
US8805425Jan 28, 2009Aug 12, 2014Seven Networks, Inc.Integrated messaging
US8811952May 5, 2011Aug 19, 2014Seven Networks, Inc.Mobile device power management in data synchronization over a mobile network with or without a trigger notification
US8812695Apr 3, 2013Aug 19, 2014Seven Networks, Inc.Method and system for management of a virtual network connection without heartbeat messages
US8838783Jul 5, 2011Sep 16, 2014Seven Networks, Inc.Distributed caching for resource and mobile network traffic management
US8839412Sep 13, 2012Sep 16, 2014Seven Networks, Inc.Flexible real-time inbox access
US8843153Nov 1, 2011Sep 23, 2014Seven Networks, Inc.Mobile traffic categorization and policy for network use optimization while preserving user experience
US8862657Jan 25, 2008Oct 14, 2014Seven Networks, Inc.Policy based content service
US8868753Dec 6, 2012Oct 21, 2014Seven Networks, Inc.System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8874761Mar 15, 2013Oct 28, 2014Seven Networks, Inc.Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8898294Oct 3, 2011Nov 25, 2014Axeda CorporationReporting the state of an apparatus to a remote computer
US8903954Nov 22, 2011Dec 2, 2014Seven Networks, Inc.Optimization of resource polling intervals to satisfy mobile device requests
US8934414Aug 28, 2012Jan 13, 2015Seven Networks, Inc.Cellular or WiFi mobile traffic optimization based on public or private network destination
US9002828Jan 2, 2009Apr 7, 2015Seven Networks, Inc.Predictive content delivery
US9002980Sep 13, 2012Apr 7, 2015Axeda CorporationEstablishing a virtual tunnel between two computer programs
US9009250Dec 7, 2012Apr 14, 2015Seven Networks, Inc.Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9009292Jul 28, 2008Apr 14, 2015Sybase, Inc.Context-based data pre-fetching and notification for mobile applications
US9043433May 25, 2011May 26, 2015Seven Networks, Inc.Mobile network traffic coordination across multiple applications
US9049179Jan 20, 2012Jun 2, 2015Seven Networks, Inc.Mobile network traffic coordination across multiple applications
US9053461Sep 27, 2006Jun 9, 2015Yahoo! Inc.Instant messaging interoperability between disparate service providers
US9065765Oct 8, 2013Jun 23, 2015Seven Networks, Inc.Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9170902Feb 20, 2013Oct 27, 2015Ptc Inc.Adaptive device-initiated polling
US9274576 *Mar 16, 2004Mar 1, 2016Callahan Cellular L.L.C.System and method for activation of portable and mobile media player devices for wireless LAN services
US9491049Jul 18, 2014Nov 8, 2016Ptc Inc.Managing configurations of distributed devices
US9491071Jun 27, 2014Nov 8, 2016Ptc Inc.System and method for dynamically grouping devices based on present device conditions
US20040242224 *Mar 16, 2004Dec 2, 2004Janik Craig M.System and method for activation of portable and mobile media player devices for wireless LAN services
US20050027805 *Jul 15, 2003Feb 3, 2005Aoki Norihiro EdwinInstant messaging and enhanced scheduling
US20070078976 *Sep 29, 2006Apr 5, 2007Questra CorporationAdaptive device-initiated polling
US20070083675 *Sep 27, 2006Apr 12, 2007Yahoo! Inc.Instant messaging interoperability between disparate service providers
US20070143475 *Dec 15, 2005Jun 21, 2007Brian DaigleIdentification services
US20070190978 *Feb 1, 2005Aug 16, 2007Ianywhere Solutions, Inc.System and Methodology for Extending Enterprise Messaging Systems to Mobile Devices
US20070282963 *Jun 1, 2007Dec 6, 2007Alibaba.Com CorporationInstant Messaging Using Browser
US20070288629 *Sep 29, 2006Dec 13, 2007Questra CorporationAdaptive device-initiated polling
US20090036102 *Jul 28, 2008Feb 5, 2009Sybase, Inc.Context-Based Data Pre-Fetching and Notification for Mobile Applications
US20090037430 *Aug 3, 2007Feb 5, 2009Sybase, Inc.Unwired enterprise platform
US20090216834 *Jan 10, 2007Aug 27, 2009Nokia Siemens Networks Gmbh & Co. KgMethod for communicating with several users, arrangement, communication management server, and communication terminal
US20100042691 *Sep 6, 2007Feb 18, 2010Blue Whale Systems LimitedIntelligent message receiving method and apparatus
EP2636268A2 *Nov 22, 2011Sep 11, 2013Seven Networks, Inc.Optimization of resource polling intervals to satisfy mobile device requests
EP2636268A4 *Nov 22, 2011Feb 19, 2014Seven Networks IncOptimization of resource polling intervals to satisfy mobile device requests
WO2008029133A1 *Sep 6, 2007Mar 13, 2008Blue Whale Systems LimitedIntelligent message receiving method and apparatus
WO2012071384A2Nov 22, 2011May 31, 2012Michael LunaOptimization of resource polling intervals to satisfy mobile device requests
Classifications
U.S. Classification455/412.1
International ClassificationH04L12/18, H04L12/58
Cooperative ClassificationH04L51/04, H04L12/587, H04L12/1827
European ClassificationH04L12/18D3, H04L51/04, H04L12/58B
Legal Events
DateCodeEventDescription
Apr 13, 2004ASAssignment
Owner name: SIMDESK TECHNOLOGIES, INC., TEXAS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KOUZNETSOV, ALEXANDER;BRASHER, GRAY;REEL/FRAME:014513/0926
Effective date: 20040209