US009077673B2

(12) United States Patent (10) Patent No.: US 9,077,673 B2 Davies et al. (45) Date of Patent: *Jul. 7, 2015

(54) CONTENT-BASED NOTIFICATION AND USPC ...... 455/466,412.1, 412.2, 414.4; 709/206, USER-TRANSPARENT PULL OPERATION 709/207, 232, 236; 370/395.5, 466,467 FOR SIMULATED PUSHTRANSMISSION OF See application file for complete search history. WIRELESS (56) References Cited (71) Applicant: Rockliffe Systems, Campbell, CA (US) U.S. PATENT DOCUMENTS (72) Inventors: John Davies, Sunnyvale, CA (US); Martin Chapman, Egerton (GB) 6,781,972 B1* 8/2004 Anderlind et al...... 370,329 7,092.497 B1 * 8/2006 Spielman et al...... 379.88.12 Assignee: Rockliffe Systems, Campbell, CA (US) (73) (Continued) (*) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 FOREIGN PATENT DOCUMENTS U.S.C. 154(b) by 0 days.

GB 238O897 A * 4, 2003 ...... H04Q 7/22

This patent is Subject to a terminal dis WO WOOO78067 A1 * 12/2000 ...... H04Q 7/22 claimer. Primary Examiner — Allahyar Kasraian (21) Appl. No.: 14/246,201 (74) Attorney, Agent, or Firm — Nancy R. Gamburd: (22) Filed: Apr. 7, 2014 Gamburd Law Group LLC (65) Prior Publication Data (57) ABSTRACT US 2015/0081812 A1 Mar. 19, 2015 Exemplary system, method, software and apparatus embodi ments provide for creating a content-based notification for a Related U.S. Application Data mobile device, as a simulated push operation, for devices which do not have push capability. The system comprises a (63) Continuation of application No. 13/757,775, filed on database, a server, and may also include a second web server Feb. 2, 2013, now abandoned, which is a continuation for user account configuration. The database is adapted to of application No. 12/418,571, filed on Apr. 4, 2009, store user account configuration and preference information. now Pat. No. 8,428,604, which is a continuation of The server is adapted to receive a first message having a first application No. 1 1/268,903, filedon Nov. 7, 2005, now protocol, such as SMTP, and to determine whether the con Pat. No. 7,532,890. tent-based notification for the first message should be pro vided. When the content-based notification is to be provided, (60) Provisional application No. 60/667,038, filed on Apr. the server is adapted to extract a subset of information from 1, 2005. the first message, and using the Subset of information, to (51) Int. C. create a second message having a second, different protocol, H0474/00 (2009.01) such as SMS. The second message is transferred to a wireless H04L 2/58 (2006.01) network for transmission to the mobile device, with the sec H04L 29/08 (2006.01) ond message providing the content-based notification of the first message. The information extracted from the first mes (52) U.S. C. sage enables a user to determine whether they want to down CPC ...... H04L 51/046 (2013.01); H04L 67/26 load the complete message, as a user-transparent pull opera (2013.01); H04L 51/08 (2013.01) tion, and typically includes the from, to, size, date. Subject (58) Field of Classification Search fields, and a portion of the body of the first message, up to the CPC ..... H04L 69/16; H04L 12/5895; H04L 69/08; remaining capacity of the second message. H04L 12/587; H04L 51/24: H04W 4/12: HO4W 4/18 26 Claims, 5 Drawing Sheets

FIRST PROTOCOLTO : SECOND PROTOCOL. : CONVERSIONSYSTEM

R FRSIO: SECOND PROTOCOL GATEWAY

SBASESAINN1501455 230C passage 1 35B AND DATAPACKET 230B SERVICE CENTER US 9,077,673 B2 Page 2

References Cited 2003, OO16639 A1* 1, 2003 Kransmo et al...... 370,335

(56) 2003/0036380 A1* 2, 2003 Skidmore ...... 455,414 U.S. PATENT DOCUMENTS 2003/0172167 A1* 9, 2003 Judge et al. .. TO9,229 2005/0047562 A1* 3, 2005 Holz et al...... 379.88.22 7,155,243 B2 * 12/2006 Baldwin et al...... 455,466 7,221,951 B2* 5/2007 Anvekar et al...... 455,466 * cited by examiner

U.S. Patent US 9,077,673 B2

U.S. Patent Jul. 7, 2015 Sheet 4 of 5 US 9,077,673 B2

START: RECEIVE FIRST MESSAGEY - 400 FIG. 4 HAVING FIRST PROTOCOL

405 CONTENT-BASED NOTIFICATION NO OF THE FIRST MESSAGE TO BE () TRANSMITTED USING ASECOND PROTOCOL. YES EXTRACT A SUBSET OF INFORMATION 410 FROM THE FIRST MESSAGE

CREATE A SECOND MESSAGE HAVING THE 415 SECOND PROTOCOL, USING THE EXTRACTED SUBSET OF INFORMATION

420 DIRECT TRANSMISSION CAPABILITY YES AVAILABLE NO 425

ENCAPSULATE SECOND 430 MESSAGE AS A DATA PAYLOAD IN A THIRD TRANSMIT MESSAGE HAVING A SECOND MESSAGE THIRD PROTOCOL

TRANSMIT THIRD MESSAGE TO A NETWORK FOR EXTRACTION AND TRANSMISSION OF THE SECOND MESSAGE

455 440 MATCH REQUEST REQUEST RECEIVED FOR WAIT PREDETERMINED WITH FIRST MESSAGE THE FIRST MESSAGE PERIOD OF TIME

TRANSMIT FIRST MESSAGE

465 RETURN U.S. Patent Jul. 7, 2015 Sheet 5 of 5 US 9,077,673 B2

START: RECEIVE CONTENT-Y-500 FIG. 5 BASED NOTIFICATION

INTERRUPT OR AWAKEN TASK 505 OR APPLICATION

PARSE AND DISPLAY CONTENT- 510 BASED NOTIFICATION

YES USER INPUT REQUEST A COMPLETE MESSAGE

520 USER INPUT THAT COMPLETE MESSAGE IS NOT REQUIRED2 525

GENERATE AND TRANSMIT A 530 REQUEST FOR THE COMPLETE MESSAGE RECEIVE ALL OR PART OF MESSAGE-15

DISPLAY MESSAGE 540

545 ADDITIONAL MESSAGES NO RESTORE DISPLAY TO OUTESCENT MODE/55

555 RETURN US 9,077,673 B2 1. 2 CONTENT-BASED NOTIFICATION AND regardless of whether email is, in fact, available for down USER-TRANSPARENT PULL OPERATION loading. Not only is such an activity a waste of the user's time FOR SIMULATED PUSHTRANSMISSION OF and effort when no email is available. Such repeated query WRELESS EMAIL sessions also drain and waste precious battery capacity, and utilize limited and potentially expensive airtime. In addition, CROSS-REFERENCE TO RELATED when email is available, the user's receipt of the email typi APPLICATIONS cally has been delayed until the user, in fact, initiates the communication session and performs the query. From the This application is a continuation of and claims priority to perspective of the service provider, Such repeated query ses and the benefit of U.S. patent application Ser. No. 13/757, 10 sions may also be a waste of available bandwidth and service 775, filed Feb. 2, 2013, inventors John Davies et al., entitled capacity. “Content-Based Notification and User-Transparent Pull As an alternative, service providers may provide a dedi Operation for Simulated Push Transmission of Wireless cated infrastructure to automatically send all email to special Email', which is a continuation of and claims priority to and ized mobile devices, such as the Blackberry devices provided the benefit of U.S. patent application Ser. No. 12/418,571, 15 by Research In Motion, which have the capability and are filed Apr. 4, 2009, inventors John Davies et al., entitled “Con configured to automatically receive all email without Such a tent-Based Notification and User-Transparent Pull Operation prior query session (i.e., the devices and service provider have for Simulated Push Transmission of Wireless Email, which always on “push” technology). Such devices, however, are is a continuation of and claims priority to and the benefit of significantly more complicated and expensive than typical U.S. patent application Ser. No. 1 1/268,903, filed Nov. 7, mobile telephones and, in addition, require Support from a 2005, inventors John Davies et al., entitled “Content-Based specialized infrastructure. This push technology is not com Notification and User-Transparent Pull Operation for Simu patible with many, if not most, current and legacy cellular lated Push Transmission of Wireless Email, which is a non telephones. provisional and a conversion of and further claims priority to As a consequence, a need remains for a method, apparatus and the benefit of U.S. Provisional Patent Application Ser. 25 and system to provide a simulated push operation of email to No. 60/667038, filed Apr. 1, 2005, inventors John Davies et these devices which are capable of only pull operations, using al., entitled “System to Simulate Push Based Email Deliv a wireless transmission infrastructure which does not have ery', all of which are commonly assigned herewith, the con such separate push capability or which is otherwise limited by tents of which are incorporated herein by reference with the bandwidth or service capacity. same full force and effect as if set forth in their entireties 30 herein, and with priority claimed for all commonly disclosed SUMMARY OF THE INVENTION Subject matter. The exemplary embodiments of the present invention pro FIELD OF THE INVENTION vide a method, apparatus, Software and system which create a 35 content-based notification of an email which is transmitted to The present invention, in general, relates to wireless trans a typical, generic or legacy mobile device. Such as a cellular mission of electronic (“email') to mobile devices and, telephone or PDA. The various exemplary embodiments more particularly, relates to an apparatus, method, system and thereby provide a simulated push operation of email to these software for providing wireless, content-based notification of devices which are capable of only pull operations, and use a an email to a mobile device using a first, limited capacity 40 wireless transmission infrastructure which does not have protocol, and a user-transparent pull operation for a simulated such separate push capability or is otherwise limited by band push transmission of a complete email using a second proto width or service capacity. The method, apparatus, Software col. and system of the exemplary embodiments utilize currently available protocols having limited capacity channels to pro BACKGROUND OF THE INVENTION 45 vide a notification of an email to the mobile device, with the notification having Sufficient and meaningful information to Electronic mail to many mobile devices such as cellular enable a user to reasonably determine whether to view a telephones, "Smart” cellular telephones, personal digital corresponding complete email using a transparent pull opera assistants (“PDAs), and notebook computers, in the prior art, tion. The exemplary method, apparatus and system embodi have typically required a user to first initiate a communication 50 ments also provide for user customization, such that a user is session with the service provider. Following establishment of notified of only those which the user has determined the session, the user may then query or otherwise determine would be significant in a given period of time or in a given whether any email is available for wireless downloading to location. the mobile device and, if so, request the download (i.e., A first exemplary embodiment provides a system for cre thereby performing a “pull operation). 55 ating a content-based notification for a mobile device using a These various mobile devices, such as a typical cellular plurality of communication protocols. The system comprises phone, are limited to Such pull operations for downloading a database, a server, and may also include a second, web email or other information, and do not have other or addi server. The database is adapted to store user account configu tional capabilities. Such limitations are due to hardware, soft ration and preference information. The server is adapted to ware, or both hardware and software. In addition, the infra 60 receive a first message having a first protocol of the plurality structure provided by the service provider is also limited, due of communication protocols and to determine whether the to either the various protocols utilized (e.g., Advanced content-based notification for the first message should be Mobile Phone System (AMPS), Code Division Multiple provided. When the content-based notification is to be pro Access (“CDMA'), Global System for Mobile (“GSM)) or vided, the server is adapted to extract a subset of information to limited bandwidth for a given service area. To determine 65 from the first message; using the Subset of information, to whether email is available throughout a day, a user must create a second message having a second protocol of the repeatedly initiate Such wireless communication sessions, plurality of communication protocols, in which the second US 9,077,673 B2 3 4 protocol is different than the first protocol; and to transfer the fields based on whether the first message was transmitted as a second message for transmission to the mobile device, with message forward or as a direct message. the second message providing the content-based notification In exemplary embodiments, the server is further adapted of the first message. to, in response to a user request, transfer the first message for Typically, the first protocol is Simple Mail Transport Pro transmission of all or part of the first message to the mobile tocol (SMTP) or an extension of Simple Mail Transport Pro device. The user request is typically transmitted using another tocol, and the second protocol is Short Message Service protocol, such as a version of either (POP (SMS), which has an information capacity substantially less or POP3) or Internet Message Access Protocol (IMAP). than the information capacity of an SMTP message, by as Another exemplary embodiment provides an apparatus for 10 creating a content-based notification for a mobile device much as several orders of magnitude. The web server is using a plurality of communication protocols. The apparatus adapted to provide user access for user account configuration comprises a network interface, a memory, and a processor. and user preference determination, and to store user account The network interface is couplable to a communication chan configuration and preference information in the database nel to receive a first message having a Simple Mail Transport Depending upon the selected embodiment, the server is 15 Protocol (SMTP) of the plurality of communication protocols further adapted to encapsulate the second message as a data and to transmit a third (SMTP) message to a wireless network payloadina third message having a third protocol, which may for extraction of a second message from the third message and be SMTP or another protocol, such as Hypertext Transfer transmission of the second message to the mobile device. The Protocol (“HTTP"), Extensible Markup Language (XML), memory is adapted to store user account configuration and SIP (Session Initiation Protocol) for Instant Messaging and preference information. The processor is adapted to authen Presence Leverage Extensions (“SIMPLE), Internet Relay ticate an account of the recipient of the first message; to Chat (“IRC), Extensible Messaging and Presence Protocol determine whether the content-based notification for the first (“XMPP”), or Instant Messaging (“IM, also referred to as message should be provided; when the content-based notifi Instant Message or Instant Messenger); to provide an address cation is to be provided, to extract a subset of information by header for the third message for the mobile device; and to 25 selecting a plurality offields from the first message and, using transmit the third message to a wireless network for extrac the Subset of information, to create the second message hav tion of the second message from the third message and trans ing a Short Message Service (SMS) protocol of the plurality mission of the second message to the mobile device. of communication protocols, and the second message provid In exemplary embodiments, the server is further adapted to ing the content-based notification of the first message; to authenticate an account of the recipient of the first message. 30 encapsulate the second message as a data payload in the third The server may be further adapted to filter the first message message and to provide an address header for the third mes using at least one security filter of a plurality of security sage for the mobile device. filters, the plurality of security filters comprising at least two An exemplary method embodiment of creating a content filters of the following filters: Directory Harvest Attack Pro based notification for a mobile device using a plurality of tection: Secure Sockets Layer; Transport Layer Security; 35 communication protocols is also provided. The exemplary Real-time Blacklist Lookup (“RBL'); an allowable message method comprises: receiving a first message having a first list; a prohibited message list; a firewall, and a user-defined protocol of the plurality of communication protocols; deter security processes. The server may be further adapted to filter mining whether the content-based notification for the first the first message using at least one filter of a plurality of message should be provided; when the content-based notifi filters, the plurality offilters comprising at least two filters of 40 cation is to be provided, extracting a Subset of information the following filters: an anti-virus filter, an anti-spam filter, a from the first message; using the Subset of information, cre sieve rule filter; an insertion filter; and a user-defined filter. In ating a second message having a second protocol of the plu selected embodiments, the server is further adapted to apply rality of communication protocols, the second protocol being a plurality of sieve rule processes to the first message. In different than the first protocol; and transferring the second addition, the server may be further adapted to modify, reject, 45 message for transmission to the mobile device, the second delete, redirect, archive, log or quarantine the first message. message providing the content-based notification of the first The system may also be adapted to determine whether the message. The method may also include encapsulating the content-based notification for the first message should be second message as a data payload in a third message having a provided by determining at least one user preference of a third protocol; providing an address header for the third mes plurality of user preferences, the plurality of user preferences 50 sage for the mobile device; and transmitting the third message comprising at least two of the following userpreferences: day to a wireless network for extraction of the second message of the week, time of day, one or more keywords, sender, from the third message and transmission of the second mes location, spam score, type of attachment, or forwarded sage to the mobile device. acCOunt. In the exemplary embodiments, the method also provides Extracting the Subset of information from the first message 55 fortransferring the first message for transmission of all or part may be performed by the server, in exemplary embodiments, of the first message to the mobile device, in response to a user by selecting a plurality of fields of the first message, the request, such as a POP3 or IMAP request. In addition, user plurality of fields comprising at least two of the following access is also provided through a web server for user account fields: a “FROM field; a “TO field; a “DATE field; a configuration and user preference determination, followed by “SIZE field; a “SUBJECT field; a “CC field; all or a 60 storing user account configuration and preference informa variable portion of a “BODY” field up to a remaining capacity tion in a database. of the second message; an attachment type; an attachment An exemplary Software embodiment, as a tangible medium name; a number of attachments; an attachment size; an storing machine-readable instructions (e.g., storing computer inserted tag; an inserted message; an inserted banner; an readable software), is also provided for creating a content inserted spam score; an email group designation; or a user 65 based notification for a mobile device using a plurality of defined field. The server may be further adapted to create the communication protocols. The exemplary tangible medium second message by differentially selecting the plurality of storing computer readable Software comprises a plurality of US 9,077,673 B2 5 6 program constructs which perform the methodology of the principles of the invention and is not intended to limit the invention, and may comprise one of more of the following invention to the specific examples and embodiments illus program constructs: a first program construct adapted to pro trated, and that numerous variations or modifications from the vide for storing user account configuration and preference described embodiments may be possible and are considered information; a second program construct adapted to deter 5 equivalent. mine whether the content-based notification should be pro FIG. 1 is a block diagram illustrating an exemplary system vided for a received first message having a Simple Mail 105 embodiment in accordance with the teachings of the Transport Protocol (SMTP) of the plurality of communica present invention. FIG. 2 is a block and flow diagram illus tion protocols; a third program construct adapted, when the trating, in greater detail, an exemplary system 205 embodi content-based notification is to be provided, to extract a sub 10 ment and exemplary messaging flows in accordance with the set of information by differentially selecting a plurality of teachings of the present invention. As illustrated in FIGS. 1 fields from the first message; a fourth program construct and 2, the systems 105 and 205 each comprise a first protocol adapted to use the Subset of information to create a second to second protocol conversion system (“protocol conversion message having a Short Message Service (SMS) protocol of system’’) 100, and may also include a mobile switching center the plurality of communication protocols; a fifth program 15 (“MSC) 150, a data message and data packet service center construct adapted to encapsulate the second message as a data 145, and various gateways 140. The first protocol to second payload in a third SMTP message and to provide an address protocol conversion system 100 may be embodied as a stand header for the third SMTP message for the mobile device; a alone server or as a plurality of servers, such as one or more of sixth program construct adapted to receive a user request servers 125 (or 125A, 125B, 125D) and the separately illus transmitted using a fourth protocol, wherein the fourth pro trated server 125C, discussed below, or as any other type of tocol is a version of either Post Office Protocol (POP or processing device, now known or which becomes known in POP3) or Internet Message Access Protocol (IMAP); and a the art. As illustrated, the first protocol to second protocol seventh program construct adapted, in response to the user conversion system 100 is incorporated within a server 125C request, to transfer the first message for transmission of all or adapted to perform the methodology of the present invention. part of the first message to the mobile device. Additional 25 Equivalently, the first protocol to second protocol conversion program constructs, and variations of Such program con system 100 may be embodied within any other type of server, structs, will be apparent to those of skill in the art, for perfor workstation or computer, such as a web server 125B or an mance of the various methodologies of the present invention. email server 125A, or within telecommunication or mobile These and additional embodiments are discussed in greater network equipment such as MSCs 150, gateways 140, data detail below. Numerous other advantages and features of the 30 message and data packet service center 145, and so on, and all present invention will become readily apparent from the fol Such variations are within the scope of the present invention. lowing detailed description of the invention and the embodi The gateways 140 are illustrated generally as gateway 140 ments thereof, from the claims and from the accompanying and, more particularly, as a first-to-second protocol gateway drawings. 140A. Also illustrated in FIGS. 1 and 2 are a plurality of 35 computers or other client devices 110, coupled through one or BRIEF DESCRIPTION OF THE DRAWINGS more servers 125 (such as email and web servers) and routers 120 to the Internet 115 or other packet-based network (such as The objects, features and advantages of the present inven an Ethernet, a local area network (“LAN”), a wide area net tion will be more readily appreciated upon reference to the work (“WAN), or other network such as a metropolitan area following disclosure when considered in conjunction with the 40 network, not separately illustrated). (For ease of reference, accompanying drawings and examples which form a portion while such routers 120 are not separately illustrated in FIG. 2, of the specification, in which: their presence and operation is implicit and will be under FIG. 1 is a block diagram illustrating an exemplary system stood as such by those of skill in the art.) For example, one of embodiment in accordance with the teachings of the present the various servers 125, illustrated as server 125A, may be a invention. 45 corporate email server (Such as provided by a business) or FIG. 2 is a block and flow diagram illustrating, in greater may be an Internet email server (Such as from an Internet detail, an exemplary system embodiment and exemplary Service Provider ("ISP")). In addition, the various servers messaging flows in accordance with the teachings of the 125 include web servers (illustrated as server 125B), for present invention. provision of web pages, as known in the art. Similarly, mobile FIG. 3 is a block diagram illustrating an exemplary appa 50 devices such as mobile computers or other mobile client ratus embodiment in accordance with the teachings of the devices 135 may also be coupled to the various networks such present invention. as Internet 115 through one or more wireless servers 130, FIG. 4 is a flow diagram illustrating a first exemplary which may include either or both email and web services method embodiment in accordance with the teachings of the (which may comprise a server 125 with additional wireless present invention. 55 capability, such as Bluetooth or IEEE 802.11 capability, for FIG. 5 is a flow diagram illustrating a second exemplary example). method embodiment in accordance with the teachings of the System users may generate and receive emails on these present invention. various client devices 110 and 135 (e.g., computers or other network communication client devices), and further, may DETAILED DESCRIPTION OF EXEMPLARY 60 customize or otherwise configure and provide user prefer EMBODIMENTS ences for the various systems of the present invention, as discussed in greater detail below. For example, a user may While the present invention is susceptible of embodiment configure user preferences through a web-based interface in many different forms, there are shown in the drawings and provided through web server 125B, with the user configura will be described herein in detail specific examples and 65 tion information and preferences stored in a database 195, embodiments thereof, with the understanding that the present which is also accessible by the protocol conversion system disclosure is to be considered as an exemplification of the 1OO. US 9,077,673 B2 7 8 Other illustrated networks 190, such as a public switched available directly through the email notification system of the telephone network (“PSTN), are typically utilized for cir present invention, such as the various configurations dis cuit-switched Voice and data transmission, and are coupled to cussed above. MSCs 150 for wireless communication (via wireless base For example, a user may configure his or her system 105, stations 155) with mobile units 160, such as cellular tele- 5 205 preferences based upon time, date, and sender, Such as to phones and PDAs, as known in the art. forward certain types of emails during the business week and For such mobile communications, the service provider during business hours, and to forward personal email during generally tracks the location of a mobile unit 160, at any given evenings and weekends. A user may configure his or her time, through a home location register (“HLR) 165 and system 105, 205 preferences based upon keywords or other visitor location register (“VLR) 170, also as known in the 10 content, types of attachments, sender locations (through a art. In addition, other intelligent network devices may also be reverse database lookup), and so on. Also for example, the included, such as an intelligent peripheral (“IP) 180, a ser user may choose that emails with certain types of attach vice control point (SCP) 185, a service node (“SN”) 175, ments, such as photographs, video or graphics, or from cer also as known in the art. Depending upon the selected tain locations (e.g., San Francisco), are not to be forwarded, embodiment, the various systems of the present invention 15 while other emails having certain keywords or FROM fields may be incorporated into Such intelligent network devices, in (e.g., “Phone Bill') are to be forwarded. The user may con addition to separate devices Such as the first protocol to sec figure their system preferences based on the forwarded ond protocol conversion system 100, servers 125, or other account, such as for sending email notifications for forwarded telecommunication equipment discussed above. corporate emails in a certain time period of the day and for As discussed in greater detail below, a user will configure 20 sending email notifications for forwarded personal account the email notification system of the present invention, for emails in another, second time period of the day. As another their personal preferences, for example, typically through an example, a user may customize their account by only for Internet 115 connection from a user's computer (client 110) warding emails sent specifically to them, and not to other to a web server 125B, such as through an Internet browser, or people, such as to avoid “CC emails to their direct reporting will provide such configuration through a representative of a 25 employees. As yet additional examples, a user may configure service provider (such as through a voice communication), his or her system preferences to only forward emails having and so on. This configuration of the user's account and pref an unsolicited email ("spam) score below a predetermined erences is stored in database 195, and may occur upon estab threshold. Such customization may be accomplished through lishment of an account, or may be adapted or changed at any user selections available with the various sieve rules and time, particularly as the user has utilized the systems 105 or 30 filters provided in the exemplary embodiments, discussed 205 and has determined their needs and preferences based below. upon actual usage experience. Such web-based configuration It should be noted that the ability of the user to add, sub of the user's account and preferences is illustrated as full tract, and otherwise modify such rules or filters for email duplex communications 210 in FIG. 2. notification transmission (as well as provide specific trigger In addition, Such configuration of user preferences can be 35 ing criteria) is a unique capability of the exemplary embodi 'self-changing according to user-specified criteria. For ments of the present invention. In addition, as illustrated, the example, with respect to time and date, a user may specify a user may configure their rules to modify other rules or spawn first set of preferences for the work week, Monday through new rules. Friday, 9 a.m. to 5 p.m., such that a first type of email notifi Email applications typically utilize a first protocol, cations are provided, while a second type of email notifica- 40 referred to as the Simple Mail Transport Protocol (“SMTP) tions are provided in the evenings and balance of the day. with its various extensions and modifications, such as Similarly, with respect to location, different types or sets of Extended SMTP (ESMTP) (collectively “SMTP). In accor email notifications may be transmitted (or not transmitted), dance with the present invention, a first email message trans for example, based upon global positioning system (“GPS) mitted using a first protocol (e.g., SMTP) will be forwarded or information, home region or roaming locations (e.g., to 45 directly transmitted to server 125C (illustrated as communi receive only work-related email while roaming in particular cation 215), such as from server 125B or 125D or directly locations). Also for example, user preferences may include from computer/client 110B. The first protocol to second pro different types of treatments based upon keywords or sources tocol conversion system 100 (within server 125C), in accor of email. Such as sending news updates from Google which dance with the present invention, will modify and convert the have the keyword "Giants' in the title or body. 50 first message having the first protocol into a second message The user will also configure their email account(s) to be having a second protocol. Such as the Short Message Service forwarded to a designated email server 125C, utilized to (“SMS) protocol provided in mobile communications. In provide the various emails and email notifications in accor addition to SMS, depending upon the selected embodiment dance with the present invention, such as a MailSite(R) server. and service provider, other second protocols may also be (Such forwarding may be unnecessary when the user's wire- 55 utilized, such as IM, or Caller Identification (“Caller ID', less communication service provider is also their email or such as by spoofing the Caller ID to transport the second Internet service provider.) For example, the user may config message), or other legacy or limited capacity channels usu ure their corporate and/or personal email accounts to forward ally reserved for system signaling rather than data or Voice all or some of their email to server 125C, such as emails only transport. Depending upon user configurations and prefer from certain senders and/or emails which are not from other 60 ences, a first, SMTP email message will be processed and senders, or for different days and time periods. In addition, further modified by selecting and extracting certain fields regardless of any forwarding capability, email for the user from the first message, which will then be transformed into a may be sent directly to the server 125C, as a primary account, second message, such as an SMS message. In selected such as email directed to user(a)mailsite.com. Similarly, if the embodiments, this SMS message may be transmitted directly user cannot configure their email account to be partially or 65 to the user's mobile unit 160. If this second (SMS) message is variably forwarded, such as to forward emails from particular not to be transmitted directly to the user, such as when the senders and/or not from other senders, such configuration is protocol conversion system 100 is not directly coupled to or US 9,077,673 B2 9 10 co-located with an MSC 150, data message and data packet addition, Such a simulated email push (1) is provided over a service center 145, or base station 155, the second message highly limited capacity channel (such as SMS) which is avail will be encapsulated (or tunneled) as a data payload in a third able in current mobile communications infrastructures; (2) message using another, third protocol, which may be the same uses a protocol and messaging type which is available to protocol as the first protocol (SMTP) or may be a different virtually all mobile units 160 such as legacy cellular tele protocol, such as HTTP, XML, SIMPLE, IRC, XMPP or IM. phones; and (3) in contrast to the prior art, does not require In various exemplary embodiments, the second (SMS) mes any specialized wireless infrastructures, use of higher capac sage is encapsulated in a third (SMTP) message, such that the ity data channels, or use of specialized mobile devices. Such third protocol is the same as the first protocol, and transmitted as Blackberry devices. (communication 220) to a first-to-second protocol gateway 10 Other advantages of the exemplary embodiments of the 140A, such as an SMTP-to-SMS gateway. In accordance with present invention include direct feedback from the mobile the present invention, such a first-to-second protocol gateway unit 160, which may also be utilized to modify or add to the 140A is configured to extract the second SMS message from various email notification rules, and may be updated and the payload of the third SMTP message, for subsequent wire stored in the database 195. For example, the subscriber's less transmission to the user's mobile unit 160A (illustrated 15 mobile unit 160 may provide feedback concerning its remain as communication legs 225, 225A). Additional transmission ing free memory capacity. When that capacity is reduced to a means for the second and/or third messages are discussed predetermined threshold, different types of email notifica below. tions and attachments may or may not be transmitted (e.g., In the exemplary embodiments, the second message gen transmitting email notifications without any attachments). erally contains a Subset of (and significantly less than) the Conversely, when additional capacity is restored, such as by data of the original, first email message. For example, when deleting previous email notifications from memory, another utilizing SMS, the second message will have a defined, lim update may be transmitted by the mobile unit 160 for updat ited capacity, such as up to 190 bytes (or characters), depend ing and storing in the database 195, to resume transmission of ing upon the encoding and access method. A typical email email notifications (or larger emails) with attachments or may include considerably more bytes/characters in just the 25 other large files. email envelope or email header information, without consid Which fields are selected, as indicated above, may be ering the Substantive bytes of the message body. In addition, specified by the user through configuration of their account or Such envelope information and much of the header informa may be selected automatically (as default fields, for example, tion is typically meaningless to an email Subscriber. If Such when the user has not designated particular preferences). In information is simply transmitted to the user, without more, 30 addition to other processes discussed below, the first protocol the user will generally have no reasonable basis to determine to second protocol conversion system 100 performs one or whether the entire email should be examined (through the more database 195 lookup operations, to obtain such configu user-transparent pull operation, discussed below). As a con rations, and to determine the mobile directory number (mo sequence, in accordance with the present invention, predeter bile DN) of the user, for use in subsequent wireless transmis mined and generally meaningful information is extracted 35 sion of the second (SMS) message to the corresponding from the original (first) email message, by the protocol con mobile unit 160 of the user, illustrated as mobile unit 160A. version system 100, to enable the user to make such determi This mobile DN is then utilized either to directly transmit the nations when the second (SMS) message is received by the second (SMS) message to the mobile unit 160A, or as part of mobile unit 160. the header information in encapsulating the second (SMS) More particularly, certain user-defined or default fields are 40 message into a third message (e.g., a third SMTP message), extracted from the original (first) email message by the first such as in header information ToMobileDN(a) protocol to second protocol conversion system 100. Such as WirelessCarrier.com. the “FROM field, the “TO field, the “DATE field, the The second (SMS) message formed in accordance with the “SIZE field, the “SUBJECT field, and if remaining second invention, (which may be encapsulated in a third message and message capacity is available, any and all bytes or characters 45 extracted by the first-to-second protocol gateway 140A (e.g., from the “BODY field up to the remaining capacity of the an SMTP-to-SMS gateway) or which may be transmitted second SMS message. Other fields for inclusion within the directly to an MSC 150 or a base station 155), is then trans second (SMS) message are also available, depending upon mitted to the corresponding mobile unit 160 (illustrated for the selected embodiment and user preferences, including example as communication legs 225 in FIG. 2), via an MSC without limitation, the type, name, number and size of any 50 150, base station 155, and any other intervening network attachments (e.g., Excel files, Word files, audio files, MP3 devices utilized by the wireless communication service pro files, JPEG files, PowerPoint files, PDF files, HTML files, and vider (such as a short message service center (“SMSC) 280, so on); additional tags, messages, banners or insertions, such which may be stand-alone or which may be included within as 'spam' scores, discussed below; and other fields, such as data message and data packet service center 145 (illustrated the “CC field or email group designations. New tags may 55 as communication leg 225A). Other routing and transmission also be created. Such as a tag which Summarizes the email, or choices are also available to service providers, are considered a tag which compresses the email or its attachments (e.g., equivalent and also within the scope of the present invention compresses a JPEG photograph to a thumbnail size), or tags (e.g., transmission through IP180 or SN 175, for example). In which provide a Summary or extraction of the most frequent exemplary embodiments, the second (SMS) message is typi or unique keywords in the email body. These extracted fields 60 cally transmitted when the mobile unit 160A is not engaged in are then assembled by the protocol conversion system 100 another activity, Such as to avoid an interruption during a into the second (SMS) message. Voice communication session. When Such other activity has A particular advantage of the exemplary embodiments of ended or shortly thereafter, or when the mobile unit 160 is the present invention is that a useful and meaningful Subset of otherwise inactive, the second (SMS) message is generally information is extracted and provided in a specialized mes 65 transmitted by the base station 155. In addition, once a second sage to the user, thereby providing enough information to (SMS) message has been transmitted to the mobile unit 160, effectively simulate a push operation of an entire email. In additional content-based notifications may or may not be sent US 9,077,673 B2 11 12 for a predetermined period of time, depending upon the HTTP, etc. The requested email may also be converted into selected embodiment, so that a user is not overwhelmed with different forms using any of a plurality of protocols, also Such notifications, particularly while engaged in another depending upon the selected embodiment and devices uti activity. lized, such as whether the service provider will utilized a The receipt of the second (SMS) message by the mobile gateway 140, data message and data packet service center unit 160 typically awakens or activates a background appli 145, etc. The requested email may then be converted and cation or provides an interrupt to an interrupt driven applica transmitted to the mobile unit 160A, typically utilizing a third tion or task (or other application trigger) to the mobile unit or fourth protocol. Such as a wireless data transmission pro 160A, launching an application to parse and display the sec tocol (e.g., GPRS), illustrated as communication 240. For ond message on the screen or other user interface of the 10 mobile unit 160, and to request a user response. (If a message example, the requested email may be transmitted using time is received by the mobile unit 160A which is not a second and/or frequency division multiplexing, frequency division (SMS) message formed in accordance with the invention, the multiple access, or code division multiple access. In many mobile unit 160A may display that message or resume a sleep applications operating on the user's mobile unit 160A, any mode, depending upon how the individual mobile unit 160A 15 HTML is stripped from the original email message, which is may be configured.) then provided as plain text to the application on the mobile For example, in exemplary embodiments, receipt of the unit, which is then displayed to the user incrementally, second message by the mobile unit will launch a Java-en depending upon the amount of information the user's mobile abled, Brew-enabled, or other type of program (such as the unit 160A is capable of displaying. The user may also respond email program from Qualcomm or the Outlook email to the displayed email. Such as with a reply, reply all, forward, program from Microsoft), to provide the text and/or graphics or may cancel the viewing, with the original email retained on display of the second message, and further display a link or the server 125C. In addition, when the message has been button, for the user to select (or actuate) to receive the balance transmitted using IMAP, the message is generally retained on of the complete, original email message as a transparent pull the server 125C, and also may be downloaded on additional operation. More specifically, from the point of view of the 25 occasions. user/Subscriber, the user has received an email push, and As a consequence, to a user, the second message provides he/she may then determine whether to see any remaining a content-based email notification, having significant and balance of the email, in a pull operation which is transparent meaningful information for the user, and which appears as to the user. When the user does not request the complete email and simulates an email push operation from the service pro by selecting or actuating a displayed link or actuating a pre 30 vider, but which is provided to a mobile unit 160 which does determined button on the mobile unit 160A, the application not have such message push capability, and is provided by an running on the mobile unit 160A will typically time out (after infrastructure which may or may not have such message push a predetermined period of time has elapsed) and resume a capability. In response, when the user requests what appears sleep mode, or continue with any other activity, Such as con to be the balance of the email (which is provided as the tinuing with a voice communication session. 35 complete email in communication legs 235), the user trans When the user does request the complete email, a message parently performs a pull operation, generating an IMAP or is transmitted from the mobile unit 160A (via base station 155 other message to retrieve the complete email. This has also and MSC 150) to the server 125C (referred to as a “fourth been accomplished without requiring the user to constantly or message', to distinguish the other message transmissions), periodically poll or query an email server, thereby saving and requesting the transmission of the complete email to the 40 conserving considerable network resources and available mobile unit 160, illustrated as communication legs 230 (and bandwidth, and saving and conserving power, battery life, 230A, 230B) in FIG. 2. Such a communication 230 may be and processor cycles. provided between or among any of a plurality of paths and FIG. 3 is a block diagram illustrating an exemplary appa devices, such as through the gateway 140A (illustrated sepa ratus 300 embodiment and system 305 embodiment in accor rately as communication leg 230A), through other gateways 45 dance with the teachings of the present invention. As illus 140, through the data message and data packet service center trated in FIG.3, the apparatus 300 comprises a processor 325, 145 (illustrated separately as communication leg 230B), a network interface 315, and a memory 320, with the system through SMSC 280 (illustrated separately as communication 305 further comprising the data repository 310. Such an appa leg 230C), or otherwise directly through the Internet 115, ratus 300, as discussed above, may be included within or with all such variations within the scope of the present inven 50 comprise a first protocol to second protocol conversion sys tion. For example, the fourth message may be an Internet tem 100 and/or a server 125, such as server 125C, or included Message Access Protocol (“IMAP) message or a Post Office within or comprise the other network or communications Protocol Version 3 (“POP3) message transmitted using a equipment discussed above. wireless data protocol (such as GPRS), may be an SMS In the apparatus 300, the network interface 315 may be message which is then converted within the network to an 55 implemented as known or may become known in the art, to IMAP or POP3 message (such as in the data message and data provide data communication and signaling between, first, the packet service center 145, the first-to-second protocol gate processor 325, memory 320 and/or data repository 310, and way 140A, or in another intelligent network device), or may second, a communication channel, which may be wireless, be another type of message. optical or wireline, using any applicable standard or technol With the IMAP or POP3 session opened to the server 125C, 60 ogy. For example, the network interface 315 may provide all such as a MailSite R server, the requested email is matched signaling and physical interface functions, such as impedance with the original message stored at the server 125C. The matching, data input and data output between external com requested email is then provided by server 125C, illustrated munication lines or channels (e.g., Ethernet, T1 or ISDN as communication 235 (also via various communication legs lines) coupled to a network (such as Internet 115), and inter 235A or 235B, depending upon the selected embodiment), 65 nal server or computer communication busses (e.g., one of the and may have any of various forms, also depending upon the various PCI or USB busses), for example and without limi selected embodiment and devices utilized, such as SMTP, tation. In addition, depending upon the selected embodiment, US 9,077,673 B2 13 14 the network interface 315 (or the processor 325) may also be invention. For example, the processor 325 may implemented utilized to provide data link layer and media access control as an arrangement of microprocessors, DSPs and/or ASICs, functionality. collectively referred to as a “processor, which are respec The memory 320 (which may include a data repository (or tively programmed, designed, adapted or configured to database) 330), and the data repository (or database) 310, implement the methodology of the invention, in conjunction may be embodied in any number of forms, including within with one or more databases (310,330) or memory 320. any computer or other machine-readable data storage As indicated above, the processor 325 is programmed, medium, memory device or other storage or communication using Software and data structures of the invention, for device for storage or communication of information Such as example, to perform the methodology of the present inven computer-readable instructions, data structures, program 10 tion. As a consequence, the system and method of the present modules or other data, currently known or which becomes invention may be embodied as software which provides such available in the future, including, but not limited to, a mag programming, such as a set of instructions and/or metadata netic hard drive, an optical drive, a magnetic disk or tape embodied within a computer (or other machine) readable drive, a hard disk drive, other machine-readable storage or medium, discussed above. In addition, metadata may also be memory media such as a floppy disk, a CDROM, a CD-RW, 15 utilized to define the various data structures of database 195, digital versatile disk (DVD) or other optical memory, a Such as to store user preferences and configurations. memory integrated circuit (“IC), or memory portion of an More generally, the system, methods, apparatus and pro integrated circuit (Such as the resident memory within a pro grams of the present invention may be embodied in any num cessor IC), whether volatile or non-volatile, whether remov ber of forms, such as within any type of server 125, within a able or non-removable, including without limitation RAM, processor 325, within a machine-readable media, within a FLASH, DRAM, SDRAM, SRAM, MRAM, FeRAM, ROM, computer network, within an adaptive computing device, or EPROM or EPROM, or any other type of memory, storage within any other form of computing or other system used to medium, or data storage apparatus or circuit, which is known create or contain source code, including the various proces or which becomes known, depending upon the selected sors and computer or other machine-readable media men embodiment. In addition, such computer readable media 25 tioned above. Such source code further may be compiled into includes any form of communication media which embodies Some form of instructions or object code (including assembly computer readable instructions, data structures, program language instructions or configuration information). The modules or other data in a data signal or modulated signal, Software, source code or metadata of the present invention Such as an electromagnetic or optical carrier wave or other may be embodied as any type of source code, Such as C, C++, transport mechanism, including any information delivery 30 Java, Brew, SQL and its variations (e.g., SQL 99 or propri media, which may encode data or other information in a etary versions of SQL), DB2, XML, Oracle, or any other type signal, wired or wirelessly, including electromagnetic, opti of programming language which performs the functionality cal, acoustic, RF or infrared signals, and so on. discussed herein, including various hardware definition lan The apparatus 300 further includes one or more processors guages (e.g., Verilog, HDL), when embodied as an ASIC. As 325, adapted to perform the functionality discussed above 35 a consequence, a “construct”, “program construct”, “soft and discussed in greater detail below. As the term processor is ware construct” or “software', as used herein, means and used herein, a processor 325 may include use of a single refers to any programming language, of any kind, with any integrated circuit (“IC), or may include use of a plurality of Syntax or signatures, which provides or can be interpreted to integrated circuits or other components connected, arranged provide the associated functionality or methodology speci or grouped together, such as microprocessors, digital signal 40 fied (when instantiated or loaded into a processor or computer processors (“DSPs'), parallel processors, multiple core pro and executed, including the server 125 or processor 325, for cessors, custom ICs, application specific integrated circuits example). (ASICs'), field programmable gate arrays (“FPGAs), adap The software, metadata, or other source code of the present tive computing ICs, associated memory (Such as RAM, invention and any resulting bit file (object code or configura DRAM and ROM), and other ICs and components. As a 45 tion bit sequence) may be embodied within any tangible consequence, as used herein, the term processor should be storage medium, Such as any of the computer or other understood to equivalently mean and include a single IC, or machine-readable data storage media, as computer-readable arrangement of custom ICs, ASICs, processors, microproces instructions, data structures, program modules or other data, sors, controllers, FPGAs, adaptive computing ICs, or some Such as discussed above with respect to the memory 320, e.g., other grouping of integrated circuits which perform the func 50 a floppy disk, a CDROM, a CD-RW, a magnetic hard drive, an tions discussed below, with associated memory, Such as optical drive, or any other type of data storage apparatus or microprocessor memory or additional RAM, DRAM, medium, as mentioned above. SDRAM, SRAM, MRAM, ROM, EPROM or EPROM. A The processor 325, typically included within a server 125 processor (Such as processor 325), with its associated embodiment (such as server 125C), implements functionality memory, may be adapted or configured (via programming, 55 which may be loosely divided into three groups: (1) user and FPGA interconnection, or hard-wiring) to perform the meth account authentication, as a “frontend’ agent (335); (2) secu odology of the invention, as discussed above and as further rity (340) and filtering (345), as a “relay agent 350; and (3) discussed below. For example, the methodology may be pro as a “delivery' agent (355), a mail list processor or engine grammed and stored, in a processor 325 with its associated (360) and a sieve rule processor or engine365 (implementing memory (and/or memory 320) and other equivalent compo 60 field and information selection (370), second protocol mes nents, as a set of program instructions (or equivalent configu sage generation (375), and first (or third) protocol message ration or other program) for Subsequent execution when the generation (380)). Again, as mentioned above, the inclusion processor is operative (i.e., powered on and functioning). (or exclusion) and execution of these various functions may Equivalently, when the processor 325 may implemented in be determined through user configuration and preference whole or part as FPGAs, custom ICs and/or ASICs, the 65 selection, by default when no preferences have been indi FPGAs, custom ICs or ASICs also may be designed, config cated, or through updating and rule modification, such as ured and/or hard-wired to implement the methodology of the through feedback from a mobile unit 160. In addition, in the US 9,077,673 B2 15 16 exemplary embodiments, this functionality is provided as process (such as a sieve rule) or may be included within the modular units, allowing the inclusion or exclusion of a par second (SMS) message for transmission to the mobile unit ticular function, and allowing the incorporation of new func 160 of the particular user. tionality, without affecting other functions. Similarly, various For example, in an exemplary embodiment, the anti-spam functions are also implemented utilizing database lookups, filter processes the email message envelope, header and/or allowing functional revisions without changes in architecture text in the message body, plus any attachments, and then or system programming or other coding. For example, new generates a spam score and adds the spam score as a tag to the virus definitions may be added into databases 310,330 or first (SMTP) message during processing. This spam score tag memory 320, without reprogramming. Similarly, user may then may be utilized by a subsequent sieve rule to delete 10 the message or, if not deleted, transmitted to the mobile unit, defined and updated rules may be added and changed in the or may be utilized by the user to determine whether to down databases 310,330 or memory 320, also without reprogram load the complete message. In exemplary embodiments, anti ming. spam filtering may include heuristics, profiles, keywords, When a first email message has arrived at the apparatus white lists, and black lists, for example, with a spam score 300, such as a server 125C, either as direct or forwarded 15 calculated based on pattern matching, spam definitions, and email, the processor 325 will perform front end operations, heuristic analysis. The ability of the filters and sieve rules to Such as account Verification or other authentication, to deter create new tags allows other sieve rules to look for and make mine that the addressed email is for a user or subscriber in decisions on these tags, such as file sizes, attachment (or good standing, typically through various database (310,330) extension) types, amount of free memory on the mobile unit look up operations. When such email has been verified or 160, in addition to Such spam scores. authenticated, the email is passed to the relay agent 350, as the Various sieve rules are also implemented in exemplary first of two “back end processes; otherwise, the email simply embodiments, and may be embodied using sieve Scripts. Such may be discarded. as those proposed as a standard in Internet Engineering Task The processing steps performed by the relay agent 350 of Force (IETF) RFC 3028. Utilizing various matching rules the processor 325 are security (340) and filtering (345), both 25 (filters) applied to one or more of the message envelope, of which may also require various database (310,330) lookup header, body, and message tags (created by previous filters operations, and which may be selectively included and per and processes of the invention), the various sieve Scripts can formed in any of various orders, statically or dynamically. discard (reject), redirect, modify, edit, file, quarantine, Depending upon the user or default preferences, the outcomes archive, log, annotate or add to the email. For example, Vari from these processes may be modification, editing, redirect 30 ous emails meeting predetermined criteria may be archived or logged to provide an additional record of received email ing, annotating, quarantining, delivering, or deletion (rejec messages, such as for reporting, privacy and compliance tion) of the first (SMTP) email message. The various security requirements, e.g., various statutes (and accompanying regu 340 processing layers may be implemented as known or lations) such as the Sarbanes-Oxley Act of 2002, the Health becomes known in the art and may include or comprise, 35 Insurance Portability and Accountability Act (HIPAA) (pri without limitation, Directory Harvest Attack Protection vacy of health records), the Gramm-Leach-Bliley Act (DHAP); Secure Sockets Layer (SSL v.3); Transport Layer (GLBA) (privacy of nonpublic personal and financial Security (TLS and TLS v. 1); white listing (allowing messages records). Following application of Such sieve rules, the mes from selected sources); black listing (deleting messages from sage is processed using anti-virus filters, to check for viruses, selected sources); Real-time Blacklist Lookup; a firewall; and 40 worms or other destructive programs or agents in the email or any user-defined security processes (e.g., reverse DNS (do any attachments. main name server or service), limiting SMTP to local IP Another filter utilized in the exemplary embodiments is an addresses, blocking specific hosts or IP addresses, blocking editing or “banner filter, which may be utilized to insert or specific FROM addresses, validation of source domains, delete any selected text or graphics into the email message. etc.). For example, an encrypted message may be decrypted, 45 For example, an advertisement or a service provider or vendor for subsequent field selection to formulate the second (SMS) signature may be inserted into the email. Such an editing filter message. Those email messages which have passed any appli may also delete various banners, other advertisements, or cable security checks or which have been modified by the other information, Such as based upon user preferences and security layers are then passed to the filtering 345 function configurations. In addition, the editing filter may perform ality. 50 combinations of such activities, such as deleting certain infor One or more filters 345 are implemented in processor 325, mation and inserting new information. User-defined filters which may modify, edit, delete (reject), add, redirect, archive, may also be implemented. Following filtering, the partially log or quarantine the email. In exemplary embodiments, the processed first email message is transferred to the delivery various filters 345 may also be implemented with sieve rule agent 355 for additional processing, or to a buffer (or functionality, to provide both a determination of an occur 55 spooler), such as a buffer in memory 320 or in processor 325, rence of an event. Such as determining that a given email is when the delivery agent 355 is unavailable. spam (an unwanted email from an unsolicited source or from Processing of the email message by the delivery agent 355 a source having no pre-existing relationship with the user/ includes several functions in the exemplary embodiments, subscriber), followed by performance of an activity or action which may be selectively implemented, embodied in a plu in response to that determination, such as deleting or rejecting 60 rality of ways, and performed in a wide variety of orders, the email. Various exemplary filters 345 which may be selec dynamically and Statically, with all Such variations consid tively included and performed in any of various orders, stati ered equivalent and within the scope of the present invention. cally or dynamically, may include, as examples and without Again, as mentioned above, performance of these various limitation, (1) an anti-spam filter; (2) sieve rules; (3) anti processes may also include various memory 320 and database virus filters; and (4) banner or tag insertion. The various tags 65 310,330 accesses and lookups for information retrieval, such or scores which may be inserted in the message during pro as user preferences and defined rules. Following the pro cessing may be utilized for analysis or actions by another cesses of the relay agent 350, a mail list processor 360 is US 9,077,673 B2 17 18 utilized to expand or contract the mailing list of the particular message transmitted directly to the server 125C, such as to email. Such as adding or deleting recipients. The partially user(a)mailsite.com, the FROM field (if not spam) will prop processed email message is then transferred to the sieve rule erly designate the sender of the email. As a consequence, the processor 365, which implements specialized or predeter sieve rule processor 365 implements a plurality of corre mined rules, in accordance with the present invention, to sponding rules or processes, extracting or copying selected create and encapsulate the second (SMS) message, for Sub and predetermined information from the original or for sequent transmission to the mobile unit 160. These various warded (and partially processed) email, followed by placing rules may be stored in memory 320 and/or database 310,330, or writing that extracted information into a predetermined accessed accordingly, and utilized to select and operate upon field of the second (SMS) message. As indicated above, those the various fields of the first email message (as partially 10 predetermined fields may be user-determined or provided by processed). This use of sieve rules provides tremendous flex default, and may be updated, self-changing and adapted over ibility in processing the first message and creating the second time. In addition, the sieve rule processor 365 may also add or message, including enabling rather complicated decision pro insert the various tags, banners and scores mentioned above, cesses. In addition, this use of sieve rule functionality to and add other information, such as email priority, status (e.g., create an SMS or other second message is, in itself, a novel 15 confidential), and so on. For example, various service provid combination. While implemented as a sieve rule processor ers and gateways (e.g., a gateway 140A) may need certain 365 in the exemplary embodiments, those of skill in the art information which may be included as tags, for authorization will recognize that myriad other processing embodiments are of the second message and for billing purposes. available to extract, query, and generate a second (SMS) As a result, a second (SMS) message has been created by message, and all are within the scope of the present invention. the sieve rule processor 365, which has a much smaller size In order to construct the second (SMS) message, the sieve (or lower capacity) than the original email message, and rule processor 365 selects the “TO” field of the message and which may be transmitted to the user's mobile unit 160A. The performs a memory 320 and/or database 310,330 query or second (SMS) message may be provided as a content-based lookup, to obtain the user's SMS address, such as the mobile notification, a simulated push, of the larger, original email, directory number (mobile DN) and wireless carrier (or ser 25 without any user action, polling or querying from the user's vice provider) for the user's mobile unit 160, such as an SMS mobile unit 160A. In addition, because significant and mean address of ToMobileDN(a WirelessCarrier.com. Those of ingful information was differentially selected for inclusion in skill in the art will recognize that any of a plurality offields of or to comprise the second (SMS) message, in many instances, the first email message may be utilized for database 310,330 the second (SMS) message may itself be sufficient, with no queries to obtain or download one or more customized or 30 user-determined pull operation needed for the complete, specialized rule(s) for the selected email to be processed. The original email. sieve rule processor 365 will then utilize the corresponding As indicated above, depending upon the location of the rule(s) to further process the first (partially processed) email server 125C, the second (SMS) message may be transferred message, using any of a plurality of transformations, to form directly to a base station 155 and transmitted to the user's the second (SMS) message. Using corresponding sieve rules, 35 mobile unit 160A. Those of skill in the art will recognize that which may be user-defined, configured, updated, adapted or a wide variety of mechanisms are available to transmit the default rules, the sieve rule processor 365 extracts a mean second (SMS) message to a remotely located base station ingful Subset of information from the original or first (par 155. Under other circumstances, such as when the server tially processed) email message and transforms the informa 125C is located remotely from the serving MSC 150 or base tion into a second message having a second, different 40 station 155, which may occur when the server 125C is pro protocol, such as transforming the SMTP message into a SMS vided by a vendor other than the wireless carrier, or when the message. As indicated above, the sieve rule processor 365 will user's mobile unit 160A has roamed into a visiting area, the apply selected sieve rules of a plurality of sieve rules, extract second (SMS) message will need to be transmitted to the base ing information (field and information selection process 370) station 155 through a network, either a packet-based network from various fields of the original or forwarded (and partially 45 such as internet 115 or a circuit-switched (PSTN) network processed) email, such as the information in the “FROM 190. In exemplary embodiments, the second message is field; the “TO field; the “DATE field; the “SIZE field; the encapsulated by the processor 325 (sieve rule processor 365) “SUBJECT field; any and all bytes or characters from the as a payload in third message, using another (third) protocol “BODY” field up to the remaining capacity of the second (such as SMTP, HTTP, XML, SIMPLE, IRC, XMPP or IM, SMS message; the type, name, number and size of any attach 50 etc.) and transmitted over the internet 115 to the wireless ments; additional tags, messages, banners or insertions. Such carrier, using the user's mobile directory number and wireless as "spam' scores; and other fields, such as the “CC field or carrier information. More specifically, when the first protocol email group designations. In addition, other types of rules or is also to be utilized for the third message, the first protocol preferences discussed above. Such as selective forwarding message generator 380 encapsulates the second (SMS) mes rules based on sender, day of the week, time of day, and so on, 55 sage in a third, SMTP message, addressed to may also be implemented using the sieve rule processor 365. User's MobileDN(a WirelessCarrier.com, which is then In accordance with the present invention, the various transferred to the network interface 315 for transmission over extracted fields and other information will be assembled, by a data packet channel (internet 115). In the event other, third the second protocol message generator 375 of the sieve rule protocols are to be utilized, the message generator 380 will be processor 365, to form the second (SMS) message, with such 60 configured accordingly, to encapsulate the second message in assembly varying based upon a wide variety of factors, a third message having the selected, third protocol. Such as the including how the first message was transmitted to the server various protocols mentioned above. 125C. For example, in a forwarded email message, both the In an exemplary embodiment, the third (SMTP) message, FROM field and the TO fields will designate the user/sub encapsulating the second (SMS) message, is then transmitted scriber; accordingly, various rules or processes may be imple 65 to the base station 155 via the first-to-second protocol mented to extract the sender information from the original (SMTP-to-SMS) gateway 140A. Correspondingly, the first FROM field of the original email. Conversely, in an email to-second protocol (SMTP-to-SMS) gateway 140A has been US 9,077,673 B2 19 20 configured or adapted to recognize that this type of email method transmits the second message, step 425, and the message contains an SMS payload to be transmitted to a method may proceed to step 440. For example, steps 420 and user/subscriber. Such a gateway 140A typically has a pre 425 are typically utilized when the server 125C is co-located defined interface or configuration, to recognize Such a spe with a base Station 155 or MSC 150 and the selected mobile cially formatted third message and extract proper fields con unit 160 is within its assigned home region. In other embodi taining the encapsulated second message. In turn, gateway ments, such as when a server 125C is located remotely from 140A extracts the second (SMS) message from the body of a base Station 155 or MSC 150 or the selected mobile unit 160 the third (SMTP) message and transfers it to the base station is out of its assigned home region (i.e., is roaming), such that 155 (via transmission over intervening network devices, such wireless transmission capability is not available for the as an MSC 150 and other switching or data transfer centers). 10 selected mobile unit 160 in step 420, the method proceeds to Other types of gateways 140 (Switching centers), data mes step 430. It should also be noted that the determination step sage and data packet service center 145 or other network 420 may also be omitted in various embodiments, where the devices discussed above may also be utilized, depending location of the server 125C is known to be remote from such upon the protocol selection for the third message, and all are wireless transmission equipment, such as when provided by a considered equivalent and are within the scope of the present 15 third party vendor and not by the wireless service provider. In invention. The base station 155, in turn, transmits the second addition, more than one encapsulation protocol may be uti (SMS) message to the user's mobile unit 160A, communica lized, depending upon network (115, 190) loads and avail tion 225, as discussed above. ability. For example, load balancing may be utilized to select Those of skill in the art will recognize that the principles of a protocol which, when transmitted over the selected net the present invention may be extended to other communica work, would result in either the fastest or least expensive tion systems, such as Voice communications. For example, means of transmission to the mobile unit 160. Similarly, rather than merely notifying a user of the existence of a Voice another protocol may be selected which would result in mail, a content-based notification may be utilized which increased reliability of transmission to the mobile unit 160. includes important information, Such as caller name and In step 430, the method encapsulates or tunnels the second caller directory number (Caller I.D.) fields, providing a simu 25 message into or as the data payload of a third message having lated Voice mail push operation. In addition, the principles of a third protocol, and provides the third message with corre the present invention also may be extended to other, band sponding routing or user identification information. In many width limited communication systems, such as dial-up (ana instances, the third protocol may be the same as the first log modem) connections. For example, when a user is trav protocol, e.g., SMTP; in other instances, a different protocol eling in a remote or rural area, high-speed or high bandwidth 30 may be utilized, such as HTTP, XML, SIMPLE, IRC, XMPP data services may not be available; use of the present inven or IM. When SMTP is utilized in step 430, the second mes tion would enable such a user to receive important, significant sage is encapsulated as the message body, and the third information, in a much more compact and efficient form, (SMTP) message is provided with routing or addressing to the bypassing the inherent delays and limitations of Such sys selected user, such as addressed to User's MobileDN(a) temS. 35 WirelessCarrier.com. The third message is then transmitted FIG. 4 is a flow diagram illustrating a first exemplary (via network interface 315) over a channel, such as the inter method embodiment in accordance with the teachings of the net 115, step 435, to a wireless network for extraction of the present invention, and provides a useful Summary of the pro second message from the third message and transmission of cessing provided by the server 125C (with protocol conver the second message to the mobile device. sion system 100), the apparatus 300 and/or system 305. The 40 The method then determines whether a request has been method begins, start step 400, with reception of a first mes received for the first message, such as through an IMAP or sage having a first protocol. Such as a first email message POP3 request generated by the selected mobile unit 160, step having the SMTP protocol. As known in the art, such a first 440. When no such request has been received, the method message is typically received through a TCP connection at waits a first predetermined period of time (steps 445 and 450), port 25 of the server 125C, or at other designated ports when 45 and returns to step 440, unless a second predetermined period a plurality of servers 125 (e.g., a server farm) are utilized. The of time has elapsed (a timeout in step 450), in which case the method then determines whether a content-based notification method may end, return step 465. When a request has been of the first message is to be transmitted to the user's mobile received for the first message in step 440, the method pro unit 160A, step 405, utilizing a second protocol having an ceeds to step 455, and matches the request with the first information transmission capacity which is less than the 50 message. The method then transmits the first message, step information transmission capacity of the first protocol. As 460, typically as part of the IMAP or POP3 session estab discussed above. Such a determination is typically made by lished in step 440. Following steps 405, 450 or 460, the the relay agent 350, and may also include the front end method may end, return step 465. authentication process. For example, applying the various FIG. 5 is a flow diagram illustrating a second exemplary security and filtering processes, the method may determine 55 method embodiment in accordance with the teachings of the whether the email includes a virus, is spam, is from an present invention, which typically occurs at a selected mobile unwanted sender, etc. When the first message is not to be unit 160, such as a cellular telephone, as part of the method transmitted in step 405, the method may end, return step 465. ology of the present invention. The method begins, start step When the first message is to be transmitted in step 405, the 500, with receipt of a message, such as a second message or method proceeds to step 410, to extract a subset of informa 60 an SMS message, as a content-based notification. The receipt tion from the first message. The method then creates a second of the message typically generates an interrupt or awakens a message having a second protocol, with the second message task or application, step 505. The application then parses and containing or comprising the extracted or selected Subset of displays the (second) message, and requests user input, step information, step 415. 510, such as by displaying a link or button. When user input In a selected embodiment, the method then determines 65 requests a complete message in Step 515, i.e., the balance of whether wireless transmission capability is available for the the email which may not have been incorporated into the selected mobile unit 160, step 420, and when so available, the email notification, the method proceeds to step 530. When the US 9,077,673 B2 21 22 user does not request the complete message in step 515, or the one or more selected fields having been predetermined, user has indicated that the complete message is not required in the one or more selected fields comprising at least one step 520 (e.g., by affirmatively providing a 'no' in response to field selected from the group consisting of: a “FROM’ the link or button), or when a predetermined period of time field; a “TO field; a “DATE field; a “SIZE field; a has elapsed (step 525, timeout), the method proceeds to step “SUBJECT field; a “CC field; a “BODY field; an 550. attachment type; an attachment name; a number of When the user has requested a complete message in step attachments; an attachment size; an inserted tag; an 515, the method generates and transmits a request, Such as an inserted message; an inserted banner, an inserted spam IMAP or POP3 request, step 530. The complete message is score; an email group designation; a user-defined field; then received, step 535, typically using a different and higher 10 capacity protocol than the (second) message of step 500. The and combinations thereof; complete message may or may not be the entire email, using the extracted Subset of information, creating a second depending upon the data capacity of the protocol utilized to message comprising data to be used for the information transmit the message (for example, it may be limited to a content of the notification of the first message, the infor predetermined number of bytes). The message is then dis 15 mation content for Subsequent transmission to the played, step 540. When there are additional messages, step mobile device using a communication protocol selected 545, the method returns to step 530. When there are no more from the group consisting of an Extensible Messaging messages in step 545, or following step 525, the method and Presence Protocol (XMPP), an extension of XMPP, restores the display to its quiescent (e.g., sleep or power a Short Message Service (SMS) protocol, an extension saving) mode, step 550, and the method may end, return step of SMS, a Hypertext Transfer Protocol (HTTP), an Inter 555. net Protocol (IP), and combinations thereof; Numerous advantages of the present invention are readily encapsulating the second message as a data payload in a apparent. The exemplary embodiments create a content third message having at least one protocol selected from based notification of an email which is transmitted to a mobile the group consisting of: a Simple Mail Transport Proto device, such as a cellular telephone or PDA, thereby provid 25 col (SMTP), an extension of Simple Mail Transport ing a simulated push operation of email to these devices Protocol, a Hypertext Transfer Protocol (HTTP), an which are capable of only pull operations, and using a wire Internet Protocol (IP), SIP (Session Initiation Protocol) less transmission infrastructure which does not have Such for Instant Messaging and Presence Leverage Exten separate push capability or is otherwise limited by bandwidth sions (SIMPLE), Internet Relay Chat (IRC), Extensible or service capacity. The exemplary embodiments utilize 30 Messaging and Presence Protocol (XMPP) or an exten available protocols having limited capacity channels to pro sion of XMPP. Instant Messaging (IM), and combina vide a notification of an email to the mobile device, with the tions thereof; notification having sufficient and meaningful information to providing an address header for the third message for the enable a user to reasonably determine whether to view a mobile device; and corresponding complete email using a transparent pull opera 35 transmitting the third message to a server for the extraction tion. The exemplary embodiments also provide for user cus of the data payload and the Subsequent transmission of tomization, Such that a user is notified of only those emails the information content over a wireless network to the which the user has determined would be significant in a given mobile device. period of time. 2. The method of claim 1, wherein the second message is It is to be understood that this application discloses a sys 40 formatted as a single message having the information content tem, apparatus, Software and method for creating a content for subsequent transmission using SMS or XMPP. based notification of an email as a simulated push operation. 3. The method of claim 1, wherein the second message is While the invention is particularly illustrated and described formatted as a single script object having the information with reference to exemplary embodiments, it will be under content for subsequent transmission using SMS or XMPP. stood by those skilled in the art that numerous variations and 45 4. The method of claim 3, wherein the script object is a modifications inform, details, and applications may be made javascript object. therein without departing from the spirit and scope of the 5. The method of claim 1, wherein the one or more selected novel concept of the invention. Some of these various alter fields are predetermined by one or more user settings of the native implementations are noted in the text. Other changes mobile device. include, but are not limited to protocols used for communi 50 6. The method of claim 1, wherein the one or more selected cation between servers and devices and the specific arrange fields are predetermined by an email service provider. ment of devices. It is to be understood that no limitation with 7. The method of claim 1, further comprising: respect to the specific methods and apparatus illustrated determining whether the notification having information herein is intended or should be inferred. It is, of course, content for the first message should be provided. intended to cover by the appended claims all Such modifica 55 8. The method of claim 7, wherein the step of determining tions as fall within the scope of the claims. whether the notification having information content should It is claimed: be provided further comprises configuring one or more user 1. A method of creating a notification for a mobile device, settings of the mobile device for selective display of the the notification having information content, the method com notification having information content. prising: 60 9. The method of claim 7, wherein the step of determining receiving a first message of a plurality of messages, the whether the notification having information content for the plurality of messages transmitted using a Simple Mail first message should be provided further comprises at least Transport Protocol (SMTP) or an extension of SMTP, one process selected from the group consisting of modifying each message of the plurality of messages having a the first message, rejecting the first message, deleting the first plurality of fields: 65 message, redirecting the first message, archiving the first selecting one or more fields of the plurality of fields from message, logging the first message, quarantining the first the first message to extract a Subset of information, the message, and combinations thereof. US 9,077,673 B2 23 24 10. The method of claim 7, wherein the step of determining Protocol (HTTP), an Internet Protocol (IP), and combi whether the notification having information content for the nations thereof; to encapsulate the second message as a first message should be provided further comprises: data payload in a third message having at least one filtering the first message using at least one filter of a protocol selected from the group consisting of: a Simple plurality of filters, the at least filter selected from the 5 Mail Transport Protocol (SMTP), an extension of group consisting of a spam filter; a blacklist; an allow Simple Mail Transport Protocol, a Hypertext Transfer able message list; a prohibited message list; a user Protocol (HTTP), an Internet Protocol (IP), a SIP (Ses defined security processes; and combinations thereof. sion Initiation Protocol) for Instant Messaging and Pres 11. The method of claim 7, wherein the step of determining ence Leverage Extensions (SIMPLE), Internet Relay whether the notification having information content for the 10 Chat (IRC), an Extensible Messaging and Presence Pro first message should be provided further comprises determin tocol (XMPP) or an extension of XMPP. Instant Mes ing whether the first message is suspected to be a spam email Saging (IM), and combinations thereof; wherein the data message. payload is extractable from the third message to form the 12. The method of claim 1, wherein the steps of receiving information content of the first message for the subse the first message, selecting one or more fields of the plurality 15 quent transmission to the mobile device to provide the of fields, creating the second message, encapsulating the sec notification; to provide an address header for the third ond message as a data payload in the third message, providing message for the mobile device; and to transmit the third the address header for the third message for the mobile message to a push server of the one or more servers for device, and transmitting the third message are performed by Subsequent transmission of the information content over an email application server. a wireless network to the mobile device. 13. The method of claim 1, wherein the information con 16. The system of claim 15, wherein the second message is tent of the notification further comprises a user response formatted as a single message having the information content indication or link. for subsequent transmission using SMS or XMPP. 14. The method of claim 1, further comprising: 17. The system of claim 15, wherein the second message is in response to a user request, transferring the first message 25 formatted as a single script object having the information for transmission of all or part of the first message to the content for subsequent transmission using SMS or XMPP. mobile device. 18. The system of claim 17, wherein the script object is a 15. A system for creating a notification for a mobile device, javascript object. the notification having information content, the system com 19. The system of claim 15, wherein the one or more prising: 30 Selected fields are predetermined by one or more user settings a database storing user information; and of the mobile device. one or more servers coupled to the database, the one or 20. The system of claim 15, wherein the one or more more servers to receive a first message of a plurality of Selected fields are predetermined by an email service pro messages, the plurality of messages transmitted using a vider. Simple Mail Transport Protocol (SMTP) or an extension 35 21. The system of claim 15, wherein the one or more of SMTP each message of the plurality of messages servers further are to determine whether the notification hav having a plurality offields; to select one or more fields of ing information content for the first message should be pro the plurality of fields from the first message to extract a vided. Subset of information, the one or more selected fields 22. The system of claim 21, wherein the determination of having been predetermined, the one or more selected 40 whether the notification having information content should fields comprising at least one field selected from the be provided further comprises determining a user account group consisting of: a “FROM field; a “TO” field; a configuration or preference. “DATE field; a “SIZE field; a “SUBJECT field; a 23. The system of claim 21, wherein the determination of "CC" field; a “BODY field; an attachment type; an whether the notification having information content should attachment name; a number of attachments; an attach 45 be provided further comprises determining whether the first ment size; an inserted tag; an inserted message; an message is suspected to be a spam email message. inserted banner; an inserted spam score; an email group 24. The system of claim 15, wherein the one or more designation; a user-defined field; and combinations servers further are one or more an email application servers or thereof; using the extracted subset of information, to one or more push servers. creating a second message comprising data to be used 50 25. The system of claim 15, wherein the information con for the information content of the notification of the first tent of the notification further comprises a user response message, the information content for subsequent trans indication or link. mission to the mobile device using a communication 26. The system of claim 15, wherein the one or more protocol selected from the group consisting of an servers, in response to a user request, further are to transfer Extensible Messaging and Presence Protocol (XMPP), 55 the first message for transmission of all or part of the first an extension of XMPP, a Short Message Service (SMS) message to the mobile device. protocol, an extension of SMS, a Hypertext Transfer