`
`(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2003/0225834 A1
`(43) Pub. Date: Dec. 4, 2003
`
`Lee et al.
`
`(54) SYSTEMS AND METHODS FOR SHARING
`DYNAMIC CONTENT AMONG A
`PLURALITY OF ONLINE CO-USERS
`
`(75)
`
`Inventors: Oliver Lee, Redmond, WA (US); Quji
`Guo, Kirkland, WA (US), Joel K.
`Grossman, Seattle, WA (US), Brian D.
`Wentz, Seattle, WA (US), Jordan L. K.
`Schwartz, Seattle, WA (US),
`Christopher J. Araman, Seattle, WA
`(US); Randall Knight Winjum,
`Woodinville, WA (US); Shelly
`Farnham, Seattle, WA (US); Lili
`Cheng, Bellevue, WA (US)
`
`Correspondence Address:
`WOODCOCK WASHBURN LLP
`ONE LIBERTY PLACE, 46TH FLOOR
`1650 MARKET STREET
`PHILADELPHIA, PA 19103 (US)
`
`(73) Assignee: Microsoft Corporation
`
`(21) App1.N0.:
`
`10/160,846
`
`(22)
`
`Filed:
`
`May 31, 2002
`
`Publication Classification
`
`
`..... G06F 15/16
`Int. Cl.7 ..
`(51)
`(52) US. Cl.
`............................................ 709/204; 709/205
`
`(57)
`
`ABSTRACT
`
`Systems and methods for establishing a shared dynamic
`content experience are disclosed. A method for sharing a
`dynamic content experience according to the invention
`includes an inviter computer communicating, via a first
`communication path between an invitee computer and a
`network based communication server, an invitation to estab-
`lish a shared dynamic content experience between the inviter
`computer and the invitee computer. If the invitation is
`accepted, a content sharing communication path is estab-
`lished between and inviter computer and the invitee com-
`puter. Information relating to a current dynamic content
`experience at the inviter computer is communicated, via the
`content sharing communication path, to the invitee com-
`puter. Information relating to a current dynamic content
`experience at the invitee computer is communicated, via the
`content sharing communication path, to the inviter com-
`puter.
`
`m
`
`
`> Start camera
`
`>Start talking
`>l want to...
`
`Messenger Service
`File View Tools Help
` 30 To: Lucy (lucy@hotmail.com)
`
`John says:
`
`Want to listen to the new
`
`Stan Getz song?
`
`
`
`
`
` 304
`
`
`
`
`30
`
`
`
`
`Lucy says:
`Yes, please.
`
`invite someone
`to this
`conversation
`
`Start Music
`Play
`
`Send E-mail
`
`
`Lucy is typing a message...
`
`Page 1 of 27
`
`LG EXHIBIT 1006
`
`Page 1 of 27
`
`LG EXHIBIT 1006
`
`
`
`Patent Application Publication
`
`ceD
`
`4:
`
`01tee
`
`US 2003/0225834 A1
`
`
`
`
`
`OOOOOO
`
`
`
`amfigwomm
`
`who—2m”.
`
`20....<0_:_n_n.<
`
`
`
`
`
`aSr2:9:.
`
`mmSmsoo«3Emoefix3:22<20:flnmfin.
`
`
`
`
`
`WHO—2mmEEOOw—n—mm—IHO
`
`w3.9.9.0on
`
`E.9m5990
`
`
`
`hllStom.003.02..03womtwg
`
`
`
`
`
`30:03.02003.2...0033....50:55.E0505.W«0.2.0:0sz30:.Em:.30..0_=~_0>.:oz
`
`
`
`
`
`0__.0_o>.=0z20.0.0550”.0_am>0Eom.coz
`
`2.1.
`
`f.lllllllllllll
`
`
`
`
`
` B.33
`
`
`
`
`
`
`
`,mm.30:35000:3...mm.000:3...om?
`
`oar
`
`av3::05.O
`
`‘—
`‘—
`
`82>
`
`
`
`8.aBeams.2%
`
`om
`F
`
`,..3930.
`
`3.3000...
`
`ooFEoE:2_>:m.9:30:50
`
`
`
`
`.Vmw£0.36
`
`958000
`
`wwmeEmEn.
`
`:o_.mo_.n.o.<
`
`E050?—a3.3.8....
`
`
`
`E0595..050
`
`Page 2 of 27
`
`Page 2 of 27
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 2 0f 12
`
`US 2003/0225834 A1
`
`12a
`
`Contacts
`
`Data
`
`
` Communication
`
`60
`
`
`
`
`
`Network
`
`20a
`
`
`
`lnviter Client
`
`70
`
`0
`
`30
`
`”@a
`
`26a V edia
`
`22a
`
`
`
`
`
`1
`
`Page 3 0f 27
`
`Page 3 of 27
`
`
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 3 0f 12
`
`US 2003/0225834 A1
`
`fl
`
`30
`
` Messenger Service
`
`File
`
` View Tools Help
`
`> Start camera
`
`To: Lucy (lucy@hotmail.com)
`
`John says:
`
`
`>Start talking
`
`
`Want to listen to the new
`>l want to...
`
`
`
`Stan Getz song?
`Invite someone
`
`
`Lucy says:
`to this
`
`
`30
`Yes, please.
`conversation
`304
`
`
`
`Start Music
`
`Play
`
`
`Send E-mail
`
`
`
`
`Lucy is typing a message...
`
`Fig 3
`
`Page 4 of 27
`
`Page 4 of 27
`
`
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 4 0f 12
`
`US 2003/0225834 A1
`
`300
`
`Messenger Service
`
`File View Tools Help
`
`To: Lucy (lucy@hotmail.com)
`
`Waiting for Lucy to accept the Music
`Share session. Please wait for a
`response or Cancel (Alt-Q) the Music
`Play 5955““
`
`3°
`
`302
`
`>start camera
`
`>Start talking
`>I want to...
`
`invite someone
`to this
`
`conversation
`
`Play
`
`Send a File
`or Photo
`
`Send E-maii
`
`402
`
`30
`
`Playlist1
`
`Pianggflan
`5-
`One Week
`2:47
`White
`
`Wedding 8:23
`
` Start Music
`
`a messa- e...
`
`>
`
`II
`
`@
`
`\
`
`Fig 4
`
`400
`
`Page 5 0f 27
`
`Page 5 of 27
`
`
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 5 0f 12
`
`US 2003/0225834 A1
`
`$2
`
`
`Windows Media Player
`IE-
`
`
`
`File View Play Tools Help
`
`# Playlist2
`
`-
`
`Windows XP Startup
`
`Eleanor Rigby 0:04
`
`I'm Only Sleeping
`3:55
`
`‘
`
`Love You To 6:11
`
`
`
`
`
`She Said, She Said 4:45
`
`504
`
`
` 502
`
`
`
`
`
`
`
`
`
`
`Now Playing
`
`Media Guide
`
`Copy from CD
`
`Media Library
`
`Copy to CD or
`Device
`
`Skin Chooser
`
`
`
`Fig 5
`
`Page 6 0f 27
`
`Page 6 of 27
`
`
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 6 0f 12
`
`US 2003/0225834 A1
`
`602
`
`
`
`
`! Select the name of the person you want to
`
`
`
`share music with below and then click Start.
`
`@ Albert/‘- 606
`Lucy
`She Said, She Said
`
`
`Sarah
`4:45
`
`% Steve
`
`? William
`
`
`Total Time: 0:04
`Music Share
`
`
`
`
`608
`
`
`
`Fig 6
`
`Page 7 0f 27
`
`Playlist2
`
`Eleanor Rigby 4:22
`
`I'm Only Sleeping
`3:55
`
`Love You To 4:32
`
`
`
`
`
`
`
`Start Music Share
`
`My Contacts
`
`
`
`
`
`&*
`
`604
`
`Page 7 of 27
`
`
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 7 0f 12
`
`US 2003/0225834 A1
`
`700
`
`702
`
`704
`
`I'm Only Sleeping 3:55
`
`
` Messenger Service
`
`File
`
` View Tools Help
`
`
`
`To: Lucy (lucy@hotmail.com)
`
`
`X
`Start camera
`Lucy says:
`
`
`Yes, Please.
`X Start talking
`I
`Playlist2
`
`
`
`x
`'Wan”°-"
`I EleanorRigby 4:22
`
`
`John says:
`
`
`Invite someone
`Hold on.
`I'll use music play
`
`
`to this
`conversation
`
`
`
`Waiting for Lucy to accept the
`
`
`
`
`
`I
`Love You To 4:32
`Music Play session. Please wait
`Start Music
`
`
`
`for a response or Cancel (Alt-Q) the
`Play
`
`She Said, She Said
`Music Play session
`4:45
`
`
`Send E-mail
`
`
`
`
` More
`756
`
`Total Time.
`
`Music Share
`
`Fig 7
`
`
`
`
`r7
`Waiting to con nect....
`
`
`,
`
`
`
`
`Page 8 0f 27
`
`Page 8 of 27
`
`
`
`802
`
`# Playlist2
`
`Windows XP Startup
`
`Eleanor Rigby 0:04
`
`I'm Only Sleeping 3:55
`
`Love You To 6:1 1
`
`h 3 '
`S e and
`
`,Sh
`
`'
`eSaId4
`
`:45
`
`Total Time: 0:04
`
`Music Share
`
`806
`
`With: Lucy
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 8 0f 12
`
`US 2003/0225834 A1
`
`Media Player
`
`800
`
`File View Play Tools Help
`
`Now Playing
`
`Media Guide
`
`Copy from CD
`
`Media Library
`
`Radio Tuner
`
`Copy to CD or
`Device
`
`Page 9 0f 27
`
`Page 9 of 27
`
`
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 9 0f 12
`
`US 2003/0225834 A1
`
`9L0
`
`912
`
`lnviter Sends
`Connection Message
`to lnvitee
`
`START
`
`lnviter Signs on to
`Online Message
`
`902
`Service 914
`916
`
`
`Reply Received?
`
`
`
`Server
`to lnviter 906
`920 922
`
`
`
`
`
`Content Sharing
`Connection
`Established
`
`lnvitee Sends
`
`Connection Message
`
`Reply Received?
`
`
`Content Sharing
`Connection
`Established
`
`924
`
`Configure Firewall or
`NAT
`
`
`
` 926 928
`
`
`
`Reply Received?
`
`
`
`
`Content Sharing
`Connection
`Established
`
`930
`
`No Shared
`Expefience
`
`904
`
`lnviter Client
`Receives "Contacts
`List" from Messenger
`
`lnviter Client Invites
`Invitee Client, via
`Messenger Link, to
`Participate
`
`908
`Invitation?
`
`nvitee Accepte .
`
`
`91 0
`
`No Shared
`Expefience
`
`lfigQ
`
`Page 10 of 27
`
`Page 10 of 27
`
`
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 10 0f 12
`
`US 2003/0225834 A1
`
`
`
` Alanis Morissette
`Univited (Live)
`
`
`
`
`
`
`
` Add to
`Buddy
`Boogie
`playlist
`
`002
`
`Fig 10A
`
`Page 11 of 27
`
`Page 11 of 27
`
`
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 11 0f 12
`
`US 2003/0225834 A1
`
`1004
`
`Currently
`
`1008
`
`
`
`Add to Buddy Boogie Playlist
`
`
`
`Night and Day
`
`
`Stella by Starlight
`My Old Flame
`
`Here's That Rainy Day
`How High the Moon
`
`
`My Old Flame
`
`How High the Moon
`
`Cherokee
`
`
`NOM-Fb’N—x
`
`
`
`
`
`Sweet Lorrane
`
`
`
`Fig 103
`
`Page 12 of 27
`
`Page 12 of 27
`
`
`
`Patent Application Publication
`
`Dec. 4, 2003 Sheet 12 0f 12
`
`US 2003/0225834 A1
`
`
`
`
`
`The Hope of True Love
`
`3:10
`
` oel added The Hope of True Love
`
`Jordan deleted Running on Faith
`
`Fig 11
`
`Page 13 of 27
`
`Page 13 of 27
`
`
`
`US 2003/0225834 A1
`
`Dec. 4, 2003
`
`SYSTEMS AND METHODS FOR SHARING
`DYNAMIC CONTENT AMONG A PLURALITY OF
`ONLINE CO-USERS
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`[0001] The subject matter disclosed herein is related to the
`subject matter disclosed in co-pending US. patent applica-
`
`tion Ser. No.
`(attorney docket MSFT—1208
`(1963181)), filed on even date herewith, entitled “Systems
`And Methods For Shared Browsing Among A Plurality Of
`Online Co-Users,” the contents of which are hereby incor-
`porated herein by reference.
`
`TECHNICAL FIELD
`
`[0002] This invention relates to providing dynamic con-
`tent in a network environment. More particularly, the inven-
`tion relates to systems and methods for enabling a plurality
`of client computers to establish and share a common
`dynamic content experience.
`
`BACKGROUND OF THE INVENTION
`
`[0003] Media players that reside on a client computer and
`allow a user to download and experience a variety of
`dynamic content are known in the art. For example, users
`can download media files associated with music and listen to
`
`the music via their media player. Systems and methods are
`known in the art that enable media content to be packaged
`and delivered, via a network, in a manner that can enhance
`the user experience by providing a user with not only media
`content, but additional content that adds value to the media
`content.
`
`[0004] Network based communication services that track
`a plurality of online co-user accounts and provide commu-
`nication pathways to interconnect two or more such online
`co-user accounts are also well known. Examples of such
`network based communication services include electronic
`
`mail (“email”) and online messaging services such as instant
`message services. Such communication services can main-
`tain lists of user accounts, and even track current status
`information about the user accounts, such as whether the
`accounts are active (i.e., the user is currently online).
`
`[0005] Online messaging services, for example, typically
`provide and maintain user definable online co-user lists,
`which are more commonly referred to as “contacts” lists. A
`number of companies operate host systems that
`include
`online message services that alert users when other pre-
`specified co-users (i.e., other users of the online message
`service that have been previously specified by the user as a
`contact) are online (i.e., concurrently accessing the online
`messaging service). Such online co-users can typically use
`the online messaging service to send “instant messages” to
`one another via a communication path that
`the online
`messaging service provides.
`
`[0006] There are certain situations in which it would be
`desirable for a plurality of online co-users to share a
`dynamic content experience. That is,
`the online co-users
`would benefit from being able to experience the same
`dynamic content at the same time. For example, two online
`co-users located at different computers in different parts of
`the world might want to listen to a song, or watch a video
`
`clip together. Each of the users would benefit from being
`able to share the other’s experience, such that, when either
`user plays a song, for example, the media player at the other
`computer would play the same song automatically. Hence,
`there is a need in the art for systems and methods for
`enabling a plurality of co-users to establish and share a
`common dynamic content experience.
`SUMMARY OF THE INVENTION
`
`[0007] The invention provides systems and methods for
`enabling a plurality of online co-users at respective client
`computers to establish and share a common dynamic content
`experience. According to the invention, a plurality of online
`co-users share a dynamic content experience over the Inter-
`net using a shared playlist with tracks from each user’s
`computer. The tracks are synchronized, to the extent pos-
`sible, while playing. Thus, a number of users are enabled to
`share a dynamic content experience.
`
`[0008] A method according to the invention for establish-
`ing a shared dynamic content experience includes receiving
`from an invitee computer, via a first communication path
`between an inviter computer and a network based commu-
`nication server, an acceptance of an invitation to establish a
`shared dynamic content experience between the inviter
`computer and the invitee computer. A content sharing com-
`munication path is then established between the inviter
`computer and the invitee computer. Thereafter, the inviter
`and invitee clients communicate to each other, via the
`content sharing communication path, information relating to
`a shared dynamic content experience between the clients.
`
`To establish the content sharing communication
`[0009]
`path, a connection message is communicated from the
`inviter computer to the invitee computer via the first com-
`munication path. The inviter computer determines whether a
`reply from the invitee computer has been received, and, if
`so, the content sharing communications path is thus estab-
`lished between the inviter computer and the invitee com-
`puter. If the reply is not received,
`the invitee computer
`communicates a connection message to the inviter computer
`via the first communication path. The inviter computer sends
`a reply to the invitee computer to thereby establish the
`content sharing communication path.
`
`[0010] Amethod for providing dynamic content according
`to the invention may also include providing respective status
`displays at each of the client computers that provides current
`status of the dynamic content sharing experience at the other
`client computer. The status display at each client can include
`status relating to at least one of starting, playing, pausing,
`stopping, and skipping an audio track at the other client. The
`status displays can also include, for example, status relating
`to online messenger status, or a friendly name associated
`with a pre-specified online co-user account associated with
`the other client.
`
`BRIEF DESCRIPTION OF THE SEVERAL
`VIEWS OF THE DRAWING
`
`[0011] Other features of the invention are further apparent
`from the following detailed description of the embodiments
`of the present
`invention taken in conjunction with the
`accompanying drawing.
`
`[0012] FIG. 1 is a block diagram representing an exem-
`plary non-limiting computing device in which the present
`invention may be implemented.
`
`Page 14 of 27
`
`Page 14 of 27
`
`
`
`US 2003/0225834 A1
`
`Dec. 4, 2003
`
`[0013] FIG. 2 is a block diagram representing an exem-
`plary network environment having a variety of computing
`devices in which the present invention may be implemented.
`
`[0014] FIG. 3 depicts an exemplary embodiment of an
`online messenger window according to the invention.
`
`[0015] FIG. 4 depicts an exemplary embodiment of an
`online messenger window according to the invention while
`an invitation is pending.
`
`[0016] FIG. 5 depicts an exemplary embodiment of a
`media player window according to the invention.
`
`[0017] FIG. 6 depicts an exemplary embodiment of a
`contacts list according to the invention.
`
`[0018] FIG. 7 depicts an exemplary embodiment of an
`online messenger conversation window according to the
`invention having a status display for providing connection
`status of a content sharing session.
`
`[0019] FIG. 8 depicts an exemplary embodiment of a
`media player window according to the invention having a
`status display for providing sharing status of a content
`sharing session.
`
`[0020] FIG. 9 is a flowchart of a preferred embodiment of
`a method according to the invention for establishing a shared
`dynamic content experience among a plurality of online
`co-users.
`
`[0021] FIGS. 10A and 10B depict an exemplary embodi-
`ment of a media player window according to the invention
`having an option to add a track to a shared playlist.
`
`[0022] FIG. 11 depicts a status display according to the
`invention for providing status of a shared dynamic content
`experience.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`[0023] Exemplary Computing Device
`
`[0024] FIG. 1 and the following discussion are intended to
`provide a brief general description of a suitable computing
`environment in which the invention may be implemented. It
`should be understood, however, that handheld, portable, and
`other computing devices of all kinds are contemplated for
`use in connection with the present
`invention. While a
`general purpose computer is described below, this is but one
`example, and the present invention requires only a thin client
`having network server
`interoperability and interaction.
`Thus,
`the present
`invention may be implemented in an
`environment of networked hosted services in which very
`little or minimal client resources are implicated, e.g., a
`networked environment in which the client device serves
`
`merely as a browser or interface to the World Wide Web.
`
`[0025] Although not required, the invention can be imple-
`mented via an application programming interface (API), for
`use by a developer, and/or included within the network
`browsing software which will be described in the general
`context of computer-executable instructions, such as pro-
`gram modules, being executed by one or more computers,
`such as client workstations, servers, or other devices. Gen-
`erally, program modules include routines, programs, objects,
`components, data structures and the like that perform par-
`ticular tasks or implement particular abstract data types.
`
`Typically, the functionality of the program modules may be
`combined or distributed as desired in various embodiments.
`
`Moreover, those skilled in the art will appreciate that the
`invention may be practiced with other computer system
`configurations. Other well known computing systems, envi-
`ronments, and/or configurations that may be suitable for use
`with the invention include, but are not limited to, personal
`computers (PCs), automated teller machines, server com-
`puters, hand-held or laptop devices, multi-processor sys-
`tems, microprocessor-based systems, programmable con-
`sumer electronics, network PCs, minicomputers, mainframe
`computers, and the like. The invention may also be practiced
`in distributed computing environments where tasks are
`performed by remote processing devices that are linked
`through a communications network or other data transmis-
`sion medium. In a distributed computing environment, pro-
`gram modules may be located in both local and remote
`computer storage media including memory storage devices.
`
`[0026] FIG. 1 thus illustrates an example of a suitable
`computing system environment 100 in which the invention
`may be implemented, although as made clear above, the
`computing system environment 100 is only one example of
`a suitable computing environment and is not intended to
`suggest any limitation as to the scope of use or functionality
`of the invention. Neither should the computing environment
`100 be interpreted as having any dependency or requirement
`relating to any one or combination of components illustrated
`in the exemplary operating environment 100.
`
`[0027] With reference to FIG. 1, an exemplary system for
`implementing the invention includes a general purpose
`computing device in the form of a computer 110. Compo-
`nents of computer 110 may include, but are not limited to,
`a processing unit 120, a system memory 130, and a system
`bus 121 that couples various system components including
`the system memory to the processing unit 120. The system
`bus 121 may be any of several types of bus structures
`including a memory bus or memory controller, a peripheral
`bus, and a local bus using any of a variety of bus architec-
`tures. By way of example, and not limitation, such archi-
`tectures include Industry Standard Architecture (ISA) bus,
`Micro Channel Architecture (MCA) bus, Enhanced ISA
`(EISA) bus, Video Electronics Standards Association
`(VESA) local bus, and Peripheral Component Interconnect
`(PCI) bus (also known as Mezzanine bus).
`
`[0028] Computer 110 typically includes a variety of com-
`puter readable media. Computer readable media can be any
`available media that can be accessed by computer 110 and
`includes both volatile and nonvolatile media, removable and
`non-removable media. By way of example, and not limita-
`tion, computer readable media may comprise computer
`storage media and communication media. Computer storage
`media includes both volatile and nonvolatile, removable and
`non-removable media implemented in any method or tech-
`nology for storage of information such as computer readable
`instructions, data structures, program modules or other data.
`Computer storage media includes, but is not limited to,
`RAM, ROM, EEPROM, flash memory or other memory
`technology, CDROM, digital versatile disks (DVD) or other
`optical disk storage, magnetic cassettes, magnetic tape,
`magnetic disk storage or other magnetic storage devices, or
`any other medium which can be used to store the desired
`information and which can be accessed by computer 110.
`Communication media typically embodies computer read-
`
`Page 15 of 27
`
`Page 15 of 27
`
`
`
`US 2003/0225834 A1
`
`Dec. 4, 2003
`
`able instructions, data structures, program modules or other
`data in a modulated data signal such as a carrier wave or
`other transport mechanism and includes any information
`delivery media. The term “modulated data signal” means a
`signal that has one or more of its characteristics set or
`changed in such a manner as to encode information in the
`signal. By way of example, and not limitation, communi-
`cation media includes wired media such as a wired network
`or direct-wired connection, and wireless media such as
`acoustic, RF, infrared, and other wireless media. Combina-
`tions of any of the above should also be included within the
`scope of computer readable media.
`
`[0029] The system memory 130 includes computer stor-
`age media in the form of volatile and/or nonvolatile memory
`such as read only memory (ROM) 131 and random access
`memory (RAM) 132. A basic input/output system 133
`(BIOS), containing the basic routines that help to transfer
`information between elements within computer 110, such as
`during start-up, is typically stored in ROM 131. RAM 132
`typically contains data and/or program modules that are
`immediately accessible to and/or presently being operated
`on by processing unit 120. By way of example, and not
`limitation, FIG. 1 illustrates operating system 134, applica-
`tion programs 135, other program modules 136, and pro-
`gram data 137.
`
`[0030] The computer 110 may also include other remov-
`able/non-removable, volatile/nonvolatile computer storage
`media. By way of example only, FIG. 1 illustrates a hard
`disk drive 141 that reads from or writes to non-removable,
`nonvolatile magnetic media, a magnetic disk drive 151 that
`reads from or writes to a removable, nonvolatile magnetic
`disk 152, and an optical disk drive 155 that reads from or
`writes to a removable, nonvolatile optical disk 156, such as
`a CD ROM or other optical media. Other removable/non-
`removable, volatile/nonvolatile computer storage media that
`can be used in the exemplary operating environment
`include, but are not limited to, magnetic tape cassettes, flash
`memory cards, digital versatile disks, digital video tape,
`solid state RAM, solid state ROM, and the like. The hard
`disk drive 141 is typically connected to the system bus 121
`through a non-removable memory interface such as interface
`140, and magnetic disk drive 151 and optical disk drive 155
`are typically connected to the system bus 121 by a remov-
`able memory interface, such as interface 150.
`
`[0031] The drives and their associated computer storage
`media discussed above and illustrated in FIG. 1 provide
`storage of computer readable instructions, data structures,
`program modules and other data for the computer 110. In
`FIG. 1, for example, hard disk drive 141 is illustrated as
`storing operating system 144, application programs 145,
`other program modules 146, and program data 147. Note
`that these components can either be the same as or different
`from operating system 134, application programs 135, other
`program modules 136, and program data 137. Operating
`system 144, application programs 145, other program mod-
`ules 146, and program data 147 are given different numbers
`here to illustrate that, at a minimum,
`they are different
`copies. Auser may enter commands and information into the
`computer 110 through input devices such as a keyboard 162
`and pointing device 161, commonly referred to as a mouse,
`trackball or touch pad. Other input devices (not shown) may
`include a microphone, joystick, game pad, satellite dish,
`scanner, or the like. These and other input devices are often
`
`connected to the processing unit 120 through a user input
`interface 160 that is coupled to the system bus 121, but may
`be connected by other interface and bus structures, such as
`a parallel port, game port or a universal serial bus (USB).
`
`[0032] A monitor 191 or other type of display device is
`also connected to the system bus 121 via an interface, such
`as a video interface 190. A graphics interface 182, such as
`Northbridge, may also be connected to the system bus 121.
`Northbridge is a chipset that communicates with the CPU, or
`host processing unit 120, and assumes responsibility for
`accelerated graphics port (AGP) communications. One or
`more graphics processing units (GPUs) 184 may commu-
`nicate with graphics interface 182. In this regard, GPUs 184
`generally include on-chip memory storage, such as register
`storage and GPUs 184 communicate with a video memory
`186. GPUs 184, however, are but one example of a copro-
`cessor and thus a variety of coprocessing devices may be
`included in computer 110. A monitor 191 or other type of
`display device is also connected to the system bus 121 via
`an interface, such as a video interface 190, which may in
`turn communicate with video memory 186. In addition to
`monitor 191, computers may also include other peripheral
`output devices such as speakers 197 and printer 196, which
`may be connected through an output peripheral interface
`195.
`
`[0033] The computer 110 may operate in a networked
`environment using logical connections to one or more
`remote computers, such as a remote computer 180. The
`remote computer 180 may be a personal computer, a server,
`a router, a network PC, a peer device or other common
`network node, and typically includes many or all of the
`elements described above relative to the computer 110,
`although only a memory storage device 181 has been
`illustrated in FIG. 1. The logical connections depicted in
`FIG. 1 include a local area network (LAN) 171 and a wide
`area network (WAN) 173, but may also include other
`networks. Such networking environments are commonplace
`in offices, enterprise-wide computer networks, intranets and
`the Internet.
`
`[0034] When used in a LAN networking environment, the
`computer 110 is connected to the LAN 171 through a
`network interface or adapter 170. When used in a WAN
`networking environment,
`the
`computer 110 typically
`includes a modem 172 or other means for establishing
`communications over the WAN 173, such as the Internet.
`The modem 172, which may be internal or external, may be
`connected to the system bus 121 via the user input interface
`160, or other appropriate mechanism. In a networked envi-
`ronment, program modules depicted relative to the computer
`110, or portions thereof, may be stored in the remote
`memory storage device. By way of example, and not limi-
`tation, FIG. 1 illustrates remote application programs 185 as
`residing on memory device 181. It will be appreciated that
`the network connections shown are exemplary and other
`means of establishing a communications link between the
`computers may be used.
`
`[0035] One of ordinary skill in the art can appreciate that
`a computer 110 or other client device can be deployed as part
`of a computer network. In this regard, the present invention
`pertains to any computer system having any number of
`memory or storage units, and any number of applications
`and processes occurring across any number of storage units
`
`Page 16 of 27
`
`Page 16 of 27
`
`
`
`US 2003/0225834 A1
`
`Dec. 4, 2003
`
`or volumes. The present invention may apply to an envi-
`ronment with server computers and client computers
`deployed in a network environment, having remote or local
`storage. The present invention may also apply to a standa-
`lone computing device, having programming language func-
`tionality, interpretation and execution capabilities.
`
`for Enabling Multiple
`[0036] Methods and Systems
`Online Co-Users to Share Dynamic Content
`
`[0037] FIG. 2 illustrates an exemplary network environ-
`ment in which the present invention may be employed. As
`shown in FIG. 2, a network based communications server
`10a and a web server 10b are in communication with client
`
`computers 20a, 20b via a communication network 60. It
`should be understood that any number of servers and clients
`can be interconnected via the communications network 60.
`The communication network 60 can be a LAN, WAN,
`intranet, or the Internet, etc. In a preferred embodiment, the
`communication network 60 is the Internet. It should further
`
`remote computing
`be understood that any number of
`devices, or clients, can be interconnected via the communi-
`cation network 60. The clients 20a, 20b can be, for example,
`desktop computers, portable computers, handheld comput-
`ers, thin clients, networked appliances, or other devices,
`such as VCRs, TVs, and the like. It is thus contemplated that
`the invention may apply to any computing device in con-
`nection with which it is desirable to establish a content
`
`sharing session.
`[0038]
`In a network environment in which the communi-
`cation network 60 is the Internet, for example, the servers
`10a, 10b can be Web servers with which the clients 20a, 20b
`communicate via any of a number of known protocols such
`as hypertext
`transfer protocol (HTTP). Communications
`may be wired or wireless, where appropriate. Client devices
`20a, 20b may or may not communicate via communications
`network 60, and may have independent communications
`associated therewith. For example, in the case of a TV or
`VCR, there may or may not be a networked aspect to the
`control thereof. Each client computer 20a, 20b and server
`computer 10a, 10b may be equipped with various applica-
`tion program modules and with connections or access to
`various types of storage elements or objects, across which
`files may be stored or to which portion(s) of files may be
`downloaded or migrated. Any server 10a, 10b may be
`responsible for the maintenance and updating of a database
`or other storage element in accordance with the present
`invention, such as a database for storing contacts data
`according to the invention. Thus,
`the invention can be
`utilized in a computer network environment having client
`computers 20a, 20b that can access and interact with a
`computer network 60, and server computers 10a, 10b that
`may interact with client computers 20a, 20b and other such
`devices and databases.
`
`[0039] According to the invention, each client computer
`20a, 20b can interface with the communication network 60
`via a respective browser 22a, 22b. The browser 22a, 22b
`enables the user at the client 20a, 20b to access certain
`material on the servers 10a, 10b. Currently, a number of
`browsers 22a, 22b are commercially available for personal
`computers and other types of client computers 20a, 20b
`(such as hand-held computers, palm-sized computers, or any
`other type of computer that can be used for browsing).
`[0040] Each client computer 20a, 20b can also include a
`cookie file (not shown) that includes information the respec-
`
`tive clients 20a, 20b need to access certain sites on the
`servers 10a, 10b. In particular, some Web sites require the
`client to provide a username and password, for example,
`before the corresponding server 10a, 10b will download
`content from the Web site onto the client 20a, 20b. Typically,
`these username and passwords, along with other access
`information, such as registration numbers, etc., are included
`in the client’s cookie file. When the user enters a URL for
`
`a Web site that requires cookie data, the server 10a, 10b
`requests the cookie data from the client 20a, 20b.
`In
`response, the browser 22a, 22b gathers the required cookie
`data from the cookie file and provides the cookie data to the
`server 10a, 10b. Assuming the cookie data is correct, the
`server 10a, 10b then delivers the content from the Web site
`to the client 20a, 20b.
`
`[0041] As shown in FIG. 2, each client computer 20a, 20b
`also includes a respective online messenger 24a, 24b via
`which the user of the computer can access an online message
`service provided via the communications server 10a. In a
`preferred embodiment, the communications server is a mes-
`senger server includes a data store 12a that contains contacts
`data used for providing the online message service. A
`separate contacts file can be maintained for each user