throbber
Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 1 of 18 PageID #: 140
`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 1 of 18 PageID #: 140
`
`
`
`
`
`EXHIBIT 2
`
`EXHIBIT 2
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 2 of 18 PageID #: 141
`I IIIII IIIIIIII Ill lllll lllll lllll lllll lllll lllll lllll lllll 111111111111111111
`US009584453B2
`
`c12) United States Patent
`Taylor et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 9,584,453 B2
`*Feb.28,2017
`
`(54) CONTACT LIST AGGREGATION AND
`DISPLAY
`
`(71) Applicant: eBuddy Holding B.V., Amsterdam
`(NL)
`
`(72)
`
`Inventors: Paulo Taylor, Amsterdam (NL);
`Jan-Joost C. Rueb, Amsterdam (NL);
`Onno Bakker, Haarlem (NL)
`
`(73) Assignee: eBuddy Holding B.V., Amsterdam
`(NL)
`
`EP
`WO
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,531,184 A * 7/1985 Wigan ................ H04L 12/1804
`709/204
`
`6,415,313 Bl
`
`7/2002 Yamada et al.
`(Continued)
`
`( *) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 442 days.
`
`This patent is subject to a terminal dis(cid:173)
`claimer.
`
`(21) Appl. No.: 13/941,354
`
`(22) Filed:
`
`Jul. 12, 2013
`
`(65)
`
`Prior Publication Data
`
`US 2013/0298046 Al
`
`Nov. 7, 2013
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 12/774,700, filed on
`May 5, 2010, now Pat. No. 8,510,395, which is a
`(Continued)
`
`(51)
`
`Int. Cl.
`G06F 15/16
`H04L 12/58
`
`(2006.01)
`(2006.01)
`(Continued)
`
`(52) U.S. Cl.
`CPC .............. H04L 51/16 (2013.01); G06F 9/542
`(2013.01); G06F 17/3089 (2013.01);
`(Continued)
`( 58) Field of Classification Search
`CPC ......................... H04M 3/493; G06F 17/30029
`(Continued)
`
`soc-...
`
`FOREIGN PATENT DOCUMENTS
`
`9/2002
`1292071
`9/1999
`9948011
`(Continued)
`
`OTHER PUBLICATIONS
`
`International Application No. PCT/IB2006/04193, International
`Search Report and Written Opinion mailed Jun. 24, 2008.
`(Continued)
`
`Primary Examiner - Bharat N Barnt
`(74) Attorney, Agent, or Firm - Sheppard, Mullin,
`Richter & Hampton LLP
`
`ABSTRACT
`(57)
`A technique for contact list aggregation across networks
`involves logging into low level networks through a high
`level network. A system constructed according to the tech(cid:173)
`nique may include a network interface coupled to the
`different low level networks. The system may further
`include a contact aggregation engine coupled to the network
`interface and a network contacts database. In operation the
`system logs into one or more of the low level networks ( or
`facilitates login for a user). To the extent that the data in the
`network contacts database is not current, the contact aggre(cid:173)
`gation engine updates the networks contacts database con(cid:173)
`tact information, then provides an aggregated contact list
`including the contact information to a display device. A
`method according to the technique may include logging into
`a high level network and displaying contacts from the one or
`more low level networks in an aggregated contact list. The
`method may further include logging into the one or more
`low level networks.
`
`16 Claims, 7 Drawing Sheets
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 3 of 18 PageID #: 142
`
`US 9,584,453 B2
`Page 2
`
`Related U.S. Application Data
`
`continuation of application No. 11/637,316, filed on
`Dec. 11, 2006, now abandoned.
`
`(60)
`
`Provisional application No. 60/748,988, filed on Dec.
`9, 2005.
`
`(51)
`
`(52)
`
`(58)
`
`(56)
`
`(2006.01)
`(2006.01)
`(2012.01)
`(2006.01)
`(2006.01)
`(2006.01)
`(2006.01)
`
`Int. Cl.
`H04M 3/493
`G06F 17/30
`G06Q 10/10
`H04L 29/08
`H04L 29/06
`G06F 9/54
`H04M 1/725
`U.S. Cl.
`CPC ........... G06Q 10/10 (2013.01); G06Q 10/107
`(2013.01); H04L 51/00 (2013.01); H04L 51/04
`(2013.01); H04L 51/043 (2013.01); H04L
`65/403 (2013.01); H04L 67102 (2013.01);
`H04L 67/1044 (2013.01); H04L 67/2814
`(2013.01); H04L 67/2823 (2013.01); H04L
`67/306 (2013.01); H04M 3/493 (2013.01);
`H04L 51/066 (2013.01); H04L 51/22
`(2013.01); H04L 65/00 (2013.01); H04M
`1/72547 (2013.01)
`
`Field of Classification Search
`USPC ......... 709/202-207, 217-219, 223-229, 246
`See application file for complete search history.
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`2004/0010808 Al
`2004/0015547 Al
`2004/0054646 Al
`2004/0054802 Al
`2004/0158609 Al
`2004/0158610 Al
`2004/0185874 Al
`2004/0221224 Al
`2004/0243941 Al
`2005/0038876 Al
`2005/0080867 Al
`2005/0097061 Al
`2005/0108341 Al
`2005/0114454 Al
`2005/0119910 Al
`2005/0187781 Al
`2005/0216300 Al
`2005/0259656 Al
`2005/0268237 Al
`2006/0080392 Al
`2006/0095562 Al
`2006/0168054 Al
`2006/0248157 Al
`2006/0256816 Al
`2006/0265381 Al
`2006/0268828 Al
`2006/0271630 Al
`2006/0277053 Al
`2007/0043878 Al
`2007/0135099 Al
`2007/0136419 Al
`2007/0168451 Al
`2007/0168529 Al
`2007/0168558 Al
`2007/0192479 Al
`2008/0182559 Al
`2009/0125591 Al
`2009/0187 536 Al
`2010/0099421 Al
`2010/0228747 Al
`2010/0325222 Al
`
`1/2004 DeCarmo
`1/2004 Griffin et al.
`3/2004 Daniell et al.
`3/2004 Beauchamp et al.
`8/2004 Daniell et al.
`8/2004 Davis et al.
`9/2004 Kim et al.
`11/2004 Blattner et al.
`12/2004 Fish
`2/2005 Chaudhuri
`4/2005 Malik et al.
`5/2005 Shapiro et al.
`5/2005 Mathew et al.
`5/2005 D' Angelo et al.
`6/2005 Schneider
`8/2005 Christensen
`9/2005 Appelman et al.
`11/2005 Dollar et al.
`12/2005 Crane et al.
`4/2006 Kawakami et al.
`5/2006 Agarwal et al.
`7 /2006 Burkhart et al.
`11/2006 Daniell et al.
`11/2006 Yarlagadda et al.
`11/2006 Altaf et al.
`11/2006 Yarlagadda
`11/2006 Bensky et al.
`12/2006 Lobb et al.
`2/2007 Carlson et al.
`6/2007 Taylor et al.
`6/2007 Taylor et al.
`7 /2007 Taylor et al.
`7 /2007 Taylor et al.
`7 /2007 Taylor et al.
`8/2007 Felten
`7/2008 Pyhalanuni et al.
`5/2009 Kirkpatrick
`7 /2009 Jackson
`4/2010 Patel et al.
`9/2010 Taylor et al.
`12/2010 Taylor et al.
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`01020474
`01043357
`03056764
`2004027562
`2004031976
`2004079530
`2005045591
`2005074588
`2006083820
`2007063041
`2007110703
`2007129143
`2007129144
`2008072028
`2008072030
`
`3/2001
`6/2001
`7/2003
`9/2003
`4/2004
`9/2004
`5/2005
`8/2005
`8/2006
`6/2007
`10/2007
`11/2007
`11/2007
`6/2008
`6/2008
`
`OTHER PUBLICATIONS
`
`International Application No. PCT/IB2006/04200, International
`Search Report and Written Opinion mailed Oct. 23, 2007.
`International Application No. PCT/IB2006/04204, International
`Search Report and Written Opinion mailed Jan. 8, 2008.
`International Application No. PCT/IB2006/04205, Corrected Inter(cid:173)
`national Search Report and Written Opinion mailed Apr. 4, 2008.
`International Application No. PCT/IB2006/04264, International
`Search Report and Written Opinion mailed Jun. 30, 2008 .
`International Application No. PCT/US2012/000046, International
`Search Report and Written Opinion mailed Apr. 2, 2012.
`Experts Exchange, LLC, "How to make blinking minimized form in
`title bar vb.net," Jul. 7, 2004 [retrieved online at https://www.
`experts-exchange.corn/questions/20946835/how-to-make-blinking(cid:173)
`minimized-form-in-title-bar-vb-net.htrnl#answerl0778413 on Jan.
`9, 2017].
`
`7/2002 Aggarwal et al.
`11/2002 Maurille
`5/2003 Knight et al.
`1/2006 Mathis
`5/2006 Eschbach et al.
`6/2008 Masonis et al.
`9/2008 Aerrabotu et al.
`2/2009 Kaplan et al. ................ 455/557
`3/2009 Burkhardt
`4/2009 Gruhl et al.
`9/2009 Stillion
`
`G06Q 10/00
`709/206
`
`12/2009 Blattner et al.
`6/2010 Taylor et al.
`8/2010 Heikes et al.
`4/2011 Daniell et al.
`10/2011 Taylor et al.
`3/2012 Ryabchun et al.
`1/2013 Taylor ................. G06F 17 /3089
`709/206
`
`6/2013 Polis et al.
`8,458,347 B2
`8,510,395 B2 *
`8/2013 Taylor et al . ................. 709/206
`2001/0026231 Al
`10/2001 Satoh
`5/2002 Tamir et al.
`2002/0063735 Al
`6/2002 Greene
`2002/0077080 Al
`2002/0091770 Al
`7/2002 Takakura et al.
`10/2002 Mendiolo et al.
`2002/0143916 Al
`2002/0154153 Al* 10/2002 Messinger ............ G06F 9/4446
`715/705
`
`6,415,318 Bl
`6,484,196 Bl
`6,571,234 Bl
`6,993,327 B2
`7,042,879 B2
`7,389,324 B2
`7,426,382 B2
`7,496,379 B2 *
`7,512,619 B2
`7,523,138 B2
`7,587,501 B2 *
`
`7,636,755 B2
`7,730,144 B2
`7,779,076 B2
`7,933,957 B2
`8,037,212 B2
`8,135,774 B2
`8,356,070 B2 *
`
`2003/0028597 Al
`2003/0061382 Al*
`
`2/2003 Saimi et al.
`3/2003 Brown .............. H04L 29/12009
`709/226
`
`2003/0076367 Al
`2003/0088676 Al
`2003/0131061 Al
`2003/0210265 Al
`2003/0222907 Al
`2003/0225846 Al
`
`4/2003 Beneze et al.
`5/2003 Smith et al.
`7/2003 Newton et al.
`11/2003 Haimberg
`12/2003 Heikes et al.
`12/2003 Heikes et al.
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 4 of 18 PageID #: 143
`
`US 9,584,453 B2
`Page 3
`
`(56)
`
`References Cited
`
`OTHER PUBLICATIONS
`
`MozillaZine, "URL displayed in the title bar when we used open
`window," Apr. 29, 2005 [retrieved online at http://forums.mozil(cid:173)
`lazine.org/viewtopic .php?f~25 817 5&start~O&st~O~&sk~t&sd~a
`on Jan. 9, 2017].
`PC Magazine, "Instant-messaging aggregators," May 4, 2005
`[retrieved
`online
`at
`http://www.pcmag.com/article2/
`0,2817,1791523,00.asp on Jan. 9, 2017].
`PC Review, "Change titlebar text in VB code," Jan. 19, 2004
`[retrieved online at https://www.pcreview.eo.uk/threads/change(cid:173)
`titlebar-text-in-vb-code.1080539/ on Jan. 9, 2017].
`PC Review, "Yahoo Messenger and the flashing taskbar message,"
`Jan. 15, 2004 [retrieved online at https://www.pcreview.eo.uk/
`threads/yahoo-messenger-and-the-flashing-taskbar-message.
`1504897/ on Jan. 9, 2017].
`
`* cited by examiner
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 5 of 18 PageID #: 144
`
`\ \
`
`Cllent
`114-1
`
`Client
`114-2
`
`lM Server
`106
`
`IM Server
`.1.DJJ
`
`Server
`104
`
`Client
`
`114-N __ ,
`
`FIG. 1
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 6 of 18 PageID #: 145
`
`200~
`
`Client
`202
`
`e •
`
`00
`•
`
`Client
`210
`
`Other
`Clients
`214-1
`
`Other
`Clients
`214-N
`
`Other
`Clients
`,?14-Ll
`
`--v-~
`Other !M Networks )
`212-2
`
`Other IM Net~,.~~.
`s.

`
`212-J
`
`IM Network
`
`~
`
`Server
`200
`
`FIG. 2
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 7 of 18 PageID #: 146
`
`U.S. Patent
`
`Feb.28,2017
`
`Sheet 3 of 7
`
`US 9,584,453 B2
`
`300~
`
`"
`
`Display
`30§
`
`I
`l
`I
`Ii
`!
`,---.1
`.-1 Network
`lnterface
`308
`
`N et>.vorl{
`Login
`Engine
`~J.il:l
`
`•
`"
`
`Network
`login
`Engine
`310-,N
`
`Contact Aggregation Engine
`
`f
`j
`I
`I
`l
`i
`I
`I
`..-------'-,---------"----, I
`I
`l
`l
`l
`I
`·1------.---------r---l
`I
`I
`!
`I
`I
`l
`I
`I
`I
`l
`I
`l
`
`User Profile dB
`;ti§
`
`Level Contacts d8
`{Optional}
`314
`
`~--------------------
`FIG, 3
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 8 of 18 PageID #: 147
`
`U.S. Patent
`
`Feb.28,2017
`
`Sheet 4 of 7
`
`US 9,584,453 B2
`
`400A~
`
`1w.,
`---~---·------------f..--·
`
`jilll
`!
`~-----~~-""'"-"-....................... ~ ... -............ ______ _
`
`19ft
`
`,4f;§
`
`100
`~---""""'-""'--·-----4---
`
`FIG. 4A
`
`4008·~
`
`. ~-··-·· - - - - ,
`!
`. Sigfl 0<.rt
`i
`
`. I 11<1
`
`FIG. 48
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 9 of 18 PageID #: 148
`
`U.S. Patent
`
`Feb.28,2017
`
`Sheet 5 of 7
`
`US 9,584,453 B2
`
`500~
`
`(
`
`Start
`
`_,.~ 502
`
`Join a !1igh level net\,vork
`
`504
`
`506
`
`Join a !o\iv level network
`
`----
`----
`
`Jorn more low level net\·vorks?
`
`··.
`
`~ 508
`
`M.ainta!n a contacts list associated with
`one or more of the low level networks
`
`510
`
`login to hlg!1 level network
`
`Logout of hig!1 !eve! network
`
`512
`
`Display contacts frorn the !ow level
`networks in an aggregated contact list
`
`No
`
`FIG. 5
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 10 of 18 PageID #: 149
`
`U.S. Patent
`
`Feb.28,2017
`
`Sheet 6 of 7
`
`US 9,584,453 B2
`
`f $02
`
`Login to higt1 level network
`
`/
`
`604
`
`Logrn to !ow level network
`
`606
`
`Display aggregated high level (if
`any) and low ievel contact list
`
`No
`
`No
`
`No
`
`( __ E~-1~ _ )
`
`FIG. 6
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 11 of 18 PageID #: 150
`
`U.S. Patent
`
`Feb.28,2017
`
`Sheet 7 of 7
`
`US 9,584,453 B2
`
`700~
`
`l
`!
`
`Comm
`Interface !
`!
`IlQ
`!
`I
`
`I
`
`I
`
`Display
`Control
`714
`
`......... --~, ... ,.,
`
`Dlsplay Device
`706
`
`Cornputer 702
`
`Processor
`IQ§
`
`Memory
`712
`
`NV Storage
`7·a1
`
`r 720
`
`--·
`!/0 Centro!
`718
`
`-
`....
`
`l/0 Devices
`704
`
`I
`
`!
`
`FIG. 7
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 12 of 18 PageID #: 151
`
`US 9,584,453 B2
`
`1
`CONTACT LIST AGGREGATION AND
`DISPLAY
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`2
`contacts database is not current, the contact aggregation
`engine updates the networks contacts database contact infor(cid:173)
`mation, then provides an aggregated contact list including
`the contact information to a display device.
`A method according to the technique may include logging
`into a high level network and displaying contacts from the
`one or more low level networks in an aggregated contact list.
`The method may further include logging into the one or
`more low level networks.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`This application is a continuation of U.S. Ser. No. 12/774,
`700, filed May 5, 2010, entitled CONTACT LIST DISPLAY
`SYSTEM AND METHOD, which is a continuation of U.S.
`Ser. No. 11/637,316, filed Dec. 11, 2006, entitled CON- 10
`TACT LIST DISPLAY SYSTEM AND METHOD, which
`claims priority to U.S. Provisional Patent Application No.
`60/748,988, filed Dec. 9, 2005, all of which are incorporated
`herein by reference.
`
`BACKGROUND
`
`Embodiments of the inventions are illustrated in the
`figures. However, the embodiments and figures are illustra-
`15 tive rather than limiting; they provide examples of the
`invention.
`FIG. 1 depicts an example of a system for providing
`instant messages to clients via a web interface.
`FIG. 2 depicts an example of a system for displaying
`20 content from an IM client at an alternative IM client.
`FIG. 3 depicts an example of a system capable of contact
`aggregation and display.
`FIGS. 4A-4B depict examples of screenshots that depicts
`a multi-network IM display.
`FIG. 5 depicts a flowchart of an example of a method for
`contact list aggregation and display.
`FIG. 6 depicts a flowchart of an example of a method for
`aggregated contact list display.
`FIG. 7 depicts a computer system suitable for implemen-
`30 tation of the techniques described with reference to FIGS.
`1-6.
`
`Instant messaging requires the use of a client program that
`hooks up an instant messaging service and differs from
`e-mail in that conversations are then able to happen in real
`time. Most services offer a presence information feature,
`indicating whether people on one's list of contacts are
`currently online and available to chat. This may be called a
`contact list. In early instant messaging programs, each letter
`appeared as it was typed, and when letters were deleted to 25
`correct typos this was also seen in real time. This made it
`more like a telephone conversation than exchanging letters.
`In modern instant messaging programs, the other party in the
`conversation generally only sees each line of text right after
`a new line is started. Most instant messaging applications
`also include the ability to set a status message, roughly
`analogous to the message on a telephone answering
`machine.
`Popular instant messaging services on the public Internet
`include .NET Messenger Service, AOL Instant Messenger, 35
`Excite/Pal, Gadu-Gadu, Google Talk, iChat, ICQ, Jabber,
`Qnext, QQ, Meetro, Skype, Trillian and Yahoo! Messenger.
`These services owe many ideas to an older ( and still popular)
`online chat medium known as Internet Relay Chat (IRC).
`The foregoing examples of the related art and limitations 40
`related therewith are intended to be illustrative and not
`exclusive. Other limitations of the related art will become
`apparent to those of skill in the art upon a reading of the
`specification and a study of the drawings.
`
`DETAILED DESCRIPTION
`
`In the following description, several specific details are
`presented to provide a thorough understanding of embodi(cid:173)
`ments of the invention. One skilled in the relevant art will
`recognize, however, that the invention can be practiced
`without one or more of the specific details, or in combination
`with other components, etc. In other instances, well-known
`implementations or operations are not shown or described in
`detail to avoid obscuring aspects of various embodiments, of
`the invention.
`FIG. 1 depicts an example of a system 100 for providing
`45 instant messages to clients via a web interface. In the
`example of FIG. 1, the system 100 includes a network 102,
`a server 104, and an Instant Messenger (IM) server 106, and
`an IM network 108. The server 104 is coupled to the network
`at least by way of port 80. The two way communication via
`50 port 80 is represented in the example of FIG. 1 as an arrow
`110. The server 104 is coupled to the IM server 106 via one
`or more other ports. The two way communication via the
`other ports is represented in the example of FIG. 1 as an
`arrow 112. The IM server 106 is coupled to the IM network
`55 108 via any known or convenient mechanism. Indeed, the
`IM server 106 may be thought of as part of the IM network
`108. The network 102 couples a plurality of clients 114-1 to
`114-N (referred to collectively as clients 114) to the server
`104. In the example of FIG. 1, the server 104 includes an
`60 event queue 116.
`The network 102 may include by way of example but not
`limitation LAN, WAN, VLAN, WLAN, Internet, cellular
`network, phone network, radio network, or some other
`known or convenient network. The term "Internet" as used
`65 herein refers to a network of networks that uses certain
`protocols, such as TCP/IP, and possibly other protocols such
`as the hypertext transfer protocol (HTTP) for hypertext
`
`SUMMARY
`
`The following embodiments and aspects thereof are
`described and illustrated in conjunction with systems, tools,
`and methods that are meant to be exemplary and illustrative,
`not limiting in scope. In various embodiments, one or more
`of the above-described problems have been reduced or
`eliminated, while other embodiments are directed to other
`improvements.
`A technique for contact list aggregation across a plurality
`of different networks involves logging into low level net(cid:173)
`works through a high level network. A system constructed
`according to the technique may include a network interface
`coupled to the different low level networks. The system may
`further include a contact aggregation engine coupled to the
`network interface and a network contacts database. In opera(cid:173)
`tion the system logs into one or more of the low level
`networks (or facilitates login for a user). The network
`contacts database may include some information about
`contacts associated with the networks from, by way of
`example but not limitation, previous logins or data explicitly
`entered by a user. To the extent that the data in the network
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 13 of 18 PageID #: 152
`
`US 9,584,453 B2
`
`3
`markup language (HTML) documents that make up the
`World Wide Web (the web). The physical connections of the
`Internet and the protocols and communication procedures
`are well known, but any convenient physical connections or
`protocols could be used.
`The server 104 may include a multiple servers. Indeed, it
`may be desirable, depending upon details of a particular
`implementation, to install several servers to cope with the
`number of simultaneous users the system 100 supports. It
`may further be desirable, depending upon details of a
`particular implementation, for the server 104 to have a high
`CPU throughput, together with large amounts of RAM, to
`handle a large number of users. It may further be desirable,
`depending upon details of a particular implementation, to
`accomplish resource sharing via thread handling where a
`pool of threads is shared and used by one or more of the
`clients 114 for client-server communication and between the
`server 104 and the IM server 106.
`The server 104 may include one or more of an application
`server, database server, web server, banners server, and
`content server, or any combination thereof. To make the
`most of the techniques described herein, the server 104
`should, though is not required to, include at least one
`application server. The other servers can have supporting
`roles in, by way of example but not limitation, serving static
`content or advertising (e.g., banners), storing usage data, or
`fulfilling some other known or convenient function.
`The server 104 may act as a proxy server between the
`clients 114 and the IM server 106. The server 104 receives
`communications from the clients 114 on http port 80, and
`responds to the clients 114 on http port 80. Communications
`from the clients 114 that are bound for the IM network 108,
`however, must also come through http port 80 to the server
`104, and are then forwarded to the IM server 106. In this
`way, the server 104 acts as a carrier of the data from users 35
`to the IM network 108 using a mechanism that controls and
`manages the data ( e.g., text messages, display images,
`emoticons, audio/video streams, etc.) sent between one of
`the clients 114 and the server 104, and vice versa.
`The IM server 106 may be any known or convenient IM 40
`server that is compatible with IM. Events, messages, or other
`appropriate data from the IM server 106 are collected in the
`event queue 116 of the server 104. The events may be
`collected in association with a variety of protocols including
`by way of example but not limitation port 1863, port 5050, 45
`port 5222, port 5190, etc.
`The IM network 108 may include one or a combination of
`networks selected from MSN Messenger, Yahoo! Messen(cid:173)
`ger, AIM AOL, ICQ, QQ, Jabber, Google Talk, IRC, or some
`other known or convenient IM network.
`The clients 114 may include any known or convenient
`device, including by way of example but not limitation, a
`Web browser, mobile client, PDA, game console, TV box,
`native application, etc. The clients poll the server 104 for
`events. The events can be removed from the event queue 116
`and translated into text, JavaScript, XML, or some other
`known or convenient format that one or more of the clients
`114 need or expect in order to process data associated with
`the event.
`To interact with the IM network 108, the clients 114 send 60
`data to the server 104. The data, which may include com(cid:173)
`mands, is processed and translated into corresponding data
`that will be sent to the appropriate IM network. In an
`embodiment, the appropriate IM network may be determin(cid:173)
`able based upon the protocol encoded in a message.
`Messages or actions from the clients 114 are collected
`over network protocols such as, by way of example but not
`
`4
`limitation, HTTP or plain socket connections. The messages
`or actions are transformed to an appropriate protocol format
`to be sent over a compliant port from the clients 114 to the
`server 104, with the IM protocol on the application side. In
`5 a non-limiting embodiment, the compliant port is http port
`80. However, any port having similar characteristics to those
`of a typical port 80 could be used.
`The latest available browsers, as of December 2005,
`enable the use of a technique called AJAX (Asynchronous
`10 JavaScript And XML). With AJAX, appropriately config(cid:173)
`ured clients 114 can execute actions and poll for messages
`or events using only JavaScript. The method is based on
`using an XMLHttpRequest object to make HTTP requests to
`15 the server 104. The server 104 may reply with messages
`taken from the queue of the corresponding session in XML
`(or another) format that are parsed and displayed according
`to the message content.
`For clients 114 that include a browser, when accessing the
`20 server 104 the browser typically uses hidden HTML frames
`to update information on visible frames. The visible frames
`display appropriate information while the hidden frames are
`reloaded in short periods of time. In each refresh that hits the
`server 104, the browser identifies the current messaging
`25 session and checks if new events or messages associated
`with the session are in the event queue 116. When new
`information arrives and needs to be displayed in some form,
`the browser makes use of, for example, JavaScript code to
`update the visible frames and windows with new messages
`30 or events keeping the information up to date in the screen.
`In this way, automatic refreshing can take place in a hidden
`frame.
`In another embodiment, certain of the clients 114 with
`browsers may not make use of refreshes. For example, a
`form of updating the screen without using a refresh tech(cid:173)
`nique is to keep one single HTTP socket request alive for the
`whole period of a messaging session without actually clos(cid:173)
`ing the socket connection. In this example, information is
`initially loaded and displayed in one single visible frame.
`While events and messages are being received by the server
`104, JavaScript code can be injected into the HTML docu-
`ment through the same HTTP socket kept alive and managed
`by the server 104. For each event or message, the browser
`can interpret the JavaScript code injected and the corre(cid:173)
`sponding parts of the HTML document and windows will be
`updated.
`In another embodiment, certain of the clients 114 with
`browsers may make use of manual refreshes. Some rela(cid:173)
`tively unsophisticated browsers, such as WAP and xHTML
`50 browsers often available on mobile phones, do not support
`hidden frames and/or JavaScript (and others may be con(cid:173)
`figured such that they do not support hidden frames and/or
`JavaScript). In such cases, the information displayed has to
`be updated manually by the user. Manual updating enables
`55 any mobile phone, PDA, TV Set or any device with a
`browser to connect to the server 104 and use the messaging
`platforms made available by the server 104 assuring the
`communication between the clients 114 and the IM server
`106.
`Message history can be stored by most IM clients on a
`local computer. For alternative web and mobile-based cli(cid:173)
`ents local storage may not be possible. In a non-limiting
`embodiment, the server 104, may have the capability to store
`message history from IM conversations done via one or
`65 more of the clients 114. The message history can be accessed
`and searched at any time via the server 104 by one or more
`of the clients 114
`
`

`

`Case 1:20-cv-01501-UNA Document 1-2 Filed 11/06/20 Page 14 of 18 PageID #: 153
`
`US 9,584,453 B2
`
`5
`FIG. 2 depicts an example of a system 200 for displaying
`content from an IM client at an alternative IM client. In the
`example of FIG. 2, the system 200 includes a client 202, an
`IM network 204, a server 206, an IM network 208, a client
`210, other IM networks 212-1 to 212-N (referred to collec-
`tively as other IM networks 212), and other clients 214-1 to
`214-N (referred to collectively as other clients 214).
`For illustrative purposes, it is assumed that the client 202
`has content that is compatible with the IM network 204.
`However, the client 210 is capable of reading content 10
`formatted to be compatible with the IM network 208. Thus,
`in operation, the server 206 collects content from the client
`202 (either through the IM network 204, as shown in FIG.
`2, or directly from the client 202, such as is shown by way 15
`of example in FIG. 1). The server 206 then formats the
`content as appropriate for use on the IM network 208. Once
`the content is properly formatted, it can be made available
`to the client 210 (either through the IM network 208, as
`shown in FIG. 2, or directly to the client 210, such as is 20
`shown by way of example in FIG. 1). Depending upon the
`embodiment and/or implementation, the content may also be
`formatted as appropriate for one or more of the other IM
`networks 212, to be made available for one or more of the
`other clients 214.
`In an embodiment, the server 206 can save the content in
`one or many formats. In this way, the client 202 could make
`content available in a first IM format, the server 206 could
`convert the content into a second IM format, and the server
`206 can save the content in at least the second IM format.
`Thus, the client 210 could receive the data in the second IM
`format. The server 206 could easily store the content in the
`first IM format, as well, and make the content available to
`other clients coupled to the IM network 204. In addition, the
`server 206 could convert the content to other IM formats,
`such as those formats that are associated with the other IM
`networks 212, and save the other IM formats. In this way, the
`other clients 214 may have access to the content.
`In a non-limiting embodiment, the client 202 may be able
`to view the client 210 and the clients 214 simultaneously.
`This is advantageous because IM clients typically cannot
`view IM clients from other IM networks. Advantageously,
`since the server 206 is used, the client 202 could even
`include, for example, a mobile device without a client. (Of
`course, this could be interpreted to mean that the client 202
`is not an IM client at all, though the term client is still used
`for illustrative purposes because the client 202 is served by
`the server 206 in a client-server-like fashion.) In a non(cid:173)
`limiting embodiment, if the client 202 does not or cannot
`install client software, the client 202 can use a browser for 50
`web-based messaging and display.
`FIG. 3 depicts an example of a system 300 capable of
`contact aggregation and display. The system 300 includes
`low level networks 302-1 to 302-N (collectively referred to
`as the low level networks 302), a computer 304, and a 55
`display 306. The low level networks 302 may include, by
`way of example but not limitation, various IM networks. It
`may be noted that the computer 304 and the display 306 may
`be referred to, in certain implementations, as comprising a
`computer system.
`The computer 304 includes a network interface 308,
`network login engines 310-1 to 310-N (collectively referred
`to as network login engines 310), network contacts data(cid:173)
`bases 312-1 to 312-N ( collectively referred to as the network
`contacts database 312), a high level contacts database 314, 65
`a user profile database 316, and a contact aggregation engine
`318.
`
`6
`The network interface 308 is coupled to the low level
`networks 302. In a typical implementation, the network
`interface 308 also couples the computer 304 to a network
`such as the Internet and/or a high level network (not shown).
`The network login engines 310 may include logic and
`storage that facilitates login to the various low level net(cid:173)
`works 302. For example, the network login engine 310-1
`may include a user name (and perhaps a password, if the
`password is not requested from the user at each login)
`associated with the low level network 302-1. Conceptually,
`each of the network login engines 310 is intended to
`represent the capability of login to the low level networks
`302 in a general sense (i.e., the data and logic required for
`any device to connect to the low level networks 302) and a
`user-specific sense ( e.g., the data provided from a user that
`enables login to accounts associated with the user).
`The network contacts database 312, which is embodied in
`a computer-readable medium, includes contacts data asso(cid:173)
`ciated with any of the networks into which a user has logged.
`When a user logs out, the data may or may not be cached ( or
`stored in nonvolatile memory) for future reference, depend(cid:173)
`ing upon the implementation and/or user configuration.
`The high level contacts database 414, which is embodied
`25 in a computer-readable medium, is an optional database that
`includes contacts associated with a high level network. The
`high level contacts database is optional for at least two
`reasons. The first reason is that a system need not provide the
`ability to maintain high level contacts, requiring that a user
`30 maintain only low level contacts. The second reason is that
`even if the system provides the ability to maintain high level
`contacts, a user may opt not to maintain any high level
`contacts, opting instead for low level contacts.
`The user profile database 416, which is embodied in a
`35 computer-readable medium, is intended to represent data
`associated with a user. The amount of data maintained is
`implementation-specific.
`The contact aggregation engine 418 is coupled to the
`databases 412, 414, 416

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket