throbber
(12) United States Patent
`(10) Patent N0.:
`US 6,714,791 B2
`
`Friedman
`(:45) Date of Patent:
`Mar. 30, 2004
`
`U5006714791B2
`
`(54) SYSTEM, APPARATUS AND METHOD FOR
`LOCATION-BASED INSTANT MESSAGING
`
`(75)
`
`Jackie Friedman, Seattle, WA (US)
`
`Inventor:
`.
`~
`(73) ASSlgnee' Danger’ Inc"Pa10 Aho’ CA (Us)
`.
`.
`'
`.
`.
`.
`(*) Nome"
`subJeCt.t° any dISCIalmerz‘heterm Ohms
`Pate“t 15 mended or “9115th under 35
`U.S.C. 154(b) by 403 days.
`
`11/1999 Layson, Jr.
`5,982,281 A
`8/2000 Robelt et 111.
`6,104,712 A
`6,301,609 B1 * 10/2001 Aravamudan el al.
`
`...... 709/207
`
`............ 455/456
`3/2003 Hendrey et al.
`6,539,232 B2 *
`455/456
`4/2003 Hendrey et al.
`6,542,748 B2 *
`......
`455/456
`4/2003 Tanaka et al.
`6,542,749 B2 *
`.
`455/456
`4/2003 Hendrey et al.
`6,542,750 B2 *
`..... 455/412
`6/2002 Greene
`2002/0077080 A1 *
`..... 380/270
`8/2002 Eskin
`2002/0101993 A1 *
`
`8/2002 Boss et al. .................. 455/456
`2002/0115446 A1 *
`FOREIGN PATENT DOCUMENTS
`
`
`
`(21) Appl. No.2 09/792,547
`
`(22)
`
`Filed:
`
`Feb. 23, 2001
`
`wo
`
`W000/50844
`
`8/2000
`
`OTHER PUBLICATIONS
`
`(65)
`
`Pri0r Publicati0n Data
`
`Copy of PCT Search Report dated Dec. 4, 2002, 3 pages.
`
`US 2002/0119789 A1 Aug. 29. 2002
`
`* cited by examiner
`
`Int. Cl.7 .................................................. H04Q 7/20
`(51)
`(52) US. Cl.
`................. 455/456.1; 455/457; 455/456.2;
`455/4121; 455/414.1; 455/519; 455/412;
`709/202; 709/204; 709/206; 709/209; 707/1;
`
`Primary Examiner—William Trost
`Assistant Examiner$anh C Le
`(74) Attorney, Agent, or Firm—Blakely, Sokoloff, Taylor &
`Zafman LLP
`
`7073; mm (57)
`.
`(58) Field of Search ........................... 455/4561, 412.1,
`455/4141, 519, 41.2, 456.2, 457; 709/202,
`204, 206, 209; 707/1, 3, 9
`_
`References CltEd
`U.S. PATENT DOCUMENTS
`
`(56)
`
`A computer-implemented method comprising: transmitting
`positional data identifying a Wireless device’s position
`responsive to a first user transmitting a message from the
`Wireless device to one or more other users; and transmitting
`the positional data to the one or more other users.
`
`ABSTRACT
`
`5,537,460 A
`
`7/1996 Holliday, Jr. et al.
`
`35 Claims, 11 Drawing Sheets
`
`
`
`Jackie‘s Location-Based Buddy List 1100
`
`
`
`
`
`
`m_—w-—
`
`
`m
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`LYFT 1009
`
`LYFT 1009
`
`1
`
`

`

`US. Patent
`
`mw,
`
`hS
`
`uM
`
`US 6,714,791 132
`
`M09.xcjEgo
`
`1of.m8386:9;
`r.o:mE96
`_..0."—
`
`2
`
`
`

`

`
`
`
`
`oo_>oo.mtomE20
`
`02
`
`US 6,714,791 B2
`
`1coughH06mm
`
`SN
`
`N.0."—
`
`mxhxS\
`
`own
`
`ow...
`
`ov—
`
`E:“E4x0x0x2\0,xw\ourm{0352
`
`_mtoa
`
`530w
`
`o:
`
`US. Patent
`
`mum
`
`3
`
`
`
`
`

`

`US. Patent
`
`Mar. 30, 2004
`
`Sheet 3 of 11
`
`US 6,714,791 132
`
`SAocmzcmiA
`
`5:80me
`
`own
`
`SEE29$
`
`05
`
`m.6."—
`
`35m23m
`
`com
`
`3»€2qu<
`
`4
`
`

`

`US. Patent
`
`Mar. 30, 2004
`
`Sheet 4 0f 11
`
`US 6,714,791 B2
`
`410
`
`440
`
`Q5
`
`'
`I;
`m
`E
`>-
`E
`
`441
`
`450
`
`L0
`N“!
`Ln'rx
`we)
`
`"I;
`%LL
`(1)0)
`E
`
`3.
`5
`a
`1‘
`E
`
`FIG.4
`
`5
`
`

`

`US. Patent
`
`Mar. 30, 2004
`
`Sheet 5 of 11
`
`US 6,714,791 132
`
`.9:me
`
`EoEwE
`
`omm
`
`LQQEBE
`
`owm
`
`x0908
`
`omm
`
`$520
`
`5:9:50
`
`mhm
`
`2%8229an
`
`2%
`
`mom\_®__O\_EOOO‘_O__>_
`
`III\\\
`
`\Smofitoa,xLoBmESmoaeoi\
`
`oothE
`
`Ohm
`
`cozmoEzEEoo
`
`IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
`
`6
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Mar. 30, 2004
`
`Sheet 6 0f 11
`
`US 6,714,791 B2
`
`
`
`START 600
`
`
`
`Search for plug-in
`615
`
`
`
`Plug-in installed?
`620
`
`
`
`
`
`
`
`Transmit
`
`625
`
`Search for portal device
`630
`
`
`Implement standard
`login procedure and/or
` Device attached?
`
`register user on portal
`635
`
`640
`
`Automatically log in
`user to portal
`645
`
`Upload/Download to
`client &/or portal device
`650
`
`
`
`END 660
`
`
`
`FIG. 6
`
`7
`
`

`

`US. Patent
`
`Mar. 30, 2004
`
`Sheet 7 of 11
`
`US 6,714,791 132
`
`mum;
`
`o_m:E\mmmE_
`
`own
`
`
`
`mEEESoEaEton
`
`__o‘_om\m>o_>_
`
`oomE_
`
`can
`
`
`
`oEEwingmmmé
`
`h.0."—
`
`
`
`o_m:_>_>m._n.
`
`mNh
`
`4
`
`a
`
`,,x:__:20qu
`
`NNN
`
`
`
`EEfig22.2
`
`m:
`
`8
`
`

`

`US. Patent
`
`Mar. 30, 2004
`
`Sheet 8 of 11
`
`US 6,714,791 132
`
`05
`
`sz_._.<m_m_n_O
`
`>m_v_ 2,5858.02>81
`
`
`
`>m¥0330mm.
`
`w.0."—
`
`
`
`szF<mmmO>m_v_
`
`
`
`>3.=Emcm.._..
`
`cum
`
`9
`
`
`

`

`US. Patent
`
`Mar. 30, 2004
`
`Sheet 9 of 11
`
`US 6,714,791 132
`
`
`
`29:898%?2m08202$398w3%
`
`-338
`
`nmzmctou
`
`2.fl
`
`
`
`9283qu@253oEErwiwwatomEton
`
`momtmE.omr
`
`555250
`
`owm2255.
`
`3r:9:—
`
`Bmwscwm
`
`ovm
`
`
`
`
`
`
`
`vrm:>E<rmdvEmBEmI
`
`New
`
`
`
`magma?:5
`
`09.
`
`gmESE;m.G—m
`
`
`
`
`
`EmUSBw659:.050QO
`659:.flaws—5mm5o_mo._
`
`
`.9935:
`
`10
`
`10
`
`
`
`
`

`

`US. Patent
`
`4w
`
`1
`
`US 6,714,791 132
`
`
`
`L8@250atomwbma:
`
`Emu39235:8
`
`603%053805
`
`mmor
`
`or.0."—
`
`80$me//+MEDECOEwOQ
`
`mmLoymoSwDEton.Mm353X,,SRom/x
`1@cm52«N2,,w803%96.385
`$33.22+/awwamm®_m.__>>1550@EmaECOEmOQ/.,
`
`
`
`
`
`22026039.w@4.................ex:.22,2:
`
`a303%mcammooa333%x1_03528:93:80MEmu329:5$50+NEDown:9.28:O.m._<.33
`
`
`r..omowone..moEEn.
`3VmoSmQEtonm,<6w:.mcoamom8:80..
`
`
`
`
`_mtom
`
`Lwaww
`
`o2.
`
`11
`
`11
`
`

`

`US. Patent
`
`Mar. 30, 2004
`
`Sheet 11 0f 11
`
`US 6,714,791 132
`
`
`
`co:Hm:>Uvsmummmméozmog99x02.
`
`
`
`
`
`cw:
`
`In."
`
`mummmmos.ucommomammos.
`_Emwommwms.02
`E.F$3me02
`Emmummmm—zoz
`|l|||
`_Eooom>2ato>262m2.
`_Emm.92can.SE:09.
`
`_Em3.8Emmtoom>mo
`
`E.
`
`.0."—
`
`12
`
`12
`
`
`
`
`
`
`

`

`US 6,714,791 B2
`
`1
`
`SYSTEM, APPARATUS AND METHOD FOR
`LOCATION-BASED INSTANT MESSAGING
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`
`This invention relates generally to the field of network
`data services. More particularly, the invention relates to an
`apparatus, system and method for providing voice portal
`services on a wireless network.
`
`2. Description of the Related Art
`“Portals” are World Wide Web (“WWW”) sites which
`help users manage and navigate through vast amounts of
`information stored on the Internet. Some well known Inter-
`
`net portals include “Yahoo!®,” AltaVista ®, and Excite®.
`Portals typically provide search features which allow users
`to search for particular types of content by entering key-
`words. In rcsponsc to the keyword search request, the portal
`returns links to relevant Internet sites and/or relevant content
`stored directly on the portal. For example, if a user enters the
`keyword “snowboarding,” the portal may return a list of
`hyperlinks to Internet sites related to snowboarding as well
`as internal portal categories related to snowboarding (e.g.,
`“Recreation >Sports >Snowboarding”).
`In addition to the keyword search and content manage-
`ment capabilities described above, portals may also provide
`users with a variety of network applications such as, for
`example, email, electronic scheduling and contact
`management, chat groups, newsgroups, personal financing,
`and instant messaging, to name just a few.
`“Instant messaging” refers generally to the ability to send
`and receive messages over a network in real time. Various
`types of instant messaging services may be provided by
`portals and internet service providers (e.g., America Online).
`Typically, an instant messaging program (also commonly
`referred to as “buddy list” program) installed on a client
`computer or wireless device may be programmed to inform
`users when any individuals in their list of “buddies” (e.g.,
`colleagues, workgroup members, friends, .
`.
`. etc) log onto
`the network so they can communicate (e.g., Via instant
`messaging, chat groups, email, etc). The program also
`notifies them if a “buddy” sends them an instant message.
`
`SUMMARY
`
`A computer-implemented method comprising: transmit-
`ting positional data identifying a wireless device’s position
`responsive to a first user transmitting a message from the
`wireless device to one or more other users; and transmitting
`the positional data to the one or more other users.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`A better understanding of the present invention can be
`obtained from the following detailed description in conjunc-
`tion with the following drawings, in which:
`FIG. 1 illustrates an exemplary network architecture used
`to implement elements of the present invention.
`FIG. 2 illustrates another exemplary network architecture
`used to implement elements of the present invention.
`FIG. 3 illustrates a radio signal including its sub-carrier in
`the frequency domain.
`FIG. 4 illustrates an external view of a portal device
`according to one embodiment of the invention.
`FIG. 5 illustrates an internal View of a portal device
`according to one embodiment of the invention.
`
`10
`
`15
`
`’
`
`40
`
`45
`
`60
`
`65
`
`2
`FIG. 6 illustrates a process according to one embodiment
`of the invention wherein a user is logged in to a portal server.
`FIG. 7 illustrates a Visual programming interface accord-
`ing to one embodiment of the invention.
`FIG. 8 illustrates portal device communication according
`to one embodiment of the invention.
`
`FIG. 9 illustrates one embodiment of a portal device
`communicating with a portal server.
`FIG. 10 illustrates an embodiment of the invention which
`
`employs location-based instant messaging.
`FIG. 11 illustrates a location-based buddy list according
`to one embodiment of the invention.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`the purposes of
`for
`In the following description,
`explanation, numerous specific details are set forth in order
`to provide a thorough understanding of the present inven-
`tion. It will be apparent, however, to one skilled in the art
`that the present invention may be practiced without some of
`these specific details. In other instances, well-known struc-
`tures and devices are shown in block diagram form to avoid
`obscuring the underlying principles of the present invention.
`AN EXEMPLARY NETWORK ARCHITECTURE
`
`Elements of the present invention may be included within
`a client-server based architecture 100 such as that illustrated
`
`in FIG. 1. According to the embodiment depicted in FIG. 1,
`a portal server 110 communicates with clients 140 and other
`network servers 130 over a network 120 (e.g., the Internet).
`The network 120 over which the clients 140 and servers 110,
`130 transmit and receive data may be comprised of any
`combination of private (e.g., leased) and/or public commu-
`nication channels. These may include, for example, Digital
`Signal (“DS”) channels (e.g., DS—3/T—3, DS—1/T1), Synchro—
`nous Optical Network (“SONET”) channels (e.g., OC-3/
`STS-3),
`Integrated Services Digital Network (“ISDN”)
`channels, Digital Subscriber Line (“DSL”) channels, cable
`modem channels and a variety of wireless communication
`channels including satellite broadcast and cellular channels.
`In addition, various networking protocols may be used to
`support communication across the network 120 including,
`for example, the Asynchronous Transfer Mode (“ATM”),
`Ethernet, and Token Ring (at the datalink level); as well as
`Transmission Control Protocol/Internet Protocol (“TCP/
`IP”), Internetwork Packet Exchange (“IPX”), AppleTalk and
`DECnet (at the network/transport level). It should be noted,
`however, that the principles of the invention are not limited
`to any particular communication channel or protocol.
`The portal server 110 in one embodiment includes a user
`database for storing various types of user configuration and
`account data. Users may register and login to the portal
`server 110 from a client 140 by specifying a user ID and/or
`password. According to one embodiment, a user connects to
`the servers 110, 130 via a browser application such as
`Netscape NavigatorsTM or Microsoft Internet ExplorerTM
`which communicates via the Hypertext Transfer Protocol
`(hereinafter “HTTP”).
`In one embodiment, users may configure the portal server
`110 to retrieve and manage specific types of information. For
`example, a user may configure the portal server 110 to
`retrieve up-to-datc stock quotes for a specified set of stocks
`(e.g., reflecting the user’s portfolio), to collect the weather
`forecast for the user’s hometown, and/or to retrieve recent
`articles relating to a particular sports franchise. The portal
`
`13
`
`13
`
`

`

`US 6,714,791 B2
`
`3
`server will then retrieve the specified information from other
`servers (e.g., server 130) on behalf of the user.
`In addition to information retrieval and management, in
`one embodiment the portal server 110 also provides appli-
`cation services such as email, online scheduling (e.g.,
`appointments, to-do lists, etc), instant messaging, contact
`management, word processing and a variety of other online
`services. Users may access these services by logging in to
`the portal server 110 with a valid user ID and password. In
`one embodiment, the portal server 110 generates a unique,
`personalized Web page for each user containing links to all,
`or a subset of, the information and/or services subscribed to
`by the user.
`EMBODIMENTS OF THE INVENTION
`
`10
`
`15
`
`In one embodiment, a portal device 150 stores and pro-
`cesses user-specified information and/or programs as well as
`non-user-specified information/programs (e.g.,
`targeted
`advertisements based on the user’s profile). The
`information/programs may be transmitted to the portal
`device 150 through the client 140, and/or directly via
`wireless broadcast (as illustrated in FIG. 2 and described in
`detail below). Thus, the portal device 150 in this embodi-
`ment is a removable extension of the portal server 110,
`storing a subset of the information and services maintained
`by the portal server 110 on behalf of the user. For example,
`a user may configure the portal server 110 to periodically
`download the user’s to-do list (or other scheduling data) to
`the portal device (e.g., every morning, every two hours,
`every time the user connects the portal device to the client
`140, etc). When the user leaves the office, he/she can simply
`take the portal device with him/her and view his/her sched-
`ule throughout the day.
`The timing of the information/program download may
`depend on the particular embodiment of the portal device
`150. For example,
`if a wireless embodiment
`is used
`(described below) downloads may occur at any time when
`the portal device 150 is within wireless transmission range,
`whereas if a non-wireless embodiment is used, downloads
`may be limited to periods of time when the portal device 150
`is connected to the portal server 110.
`In one embodiment, the user may customize the portal
`device 150 preferences and content which will be down-
`loaded to the portal device 150 from the portal server 110.
`This may be accomplished, for example, by selecting certain
`preferences/content from a portal server 110 Web page (e.g.,
`by using an online programming interface as described
`below). For example,
`the user may choose to have each
`day’s to-do list downloaded to his portal device 150 and may
`also program the device 150 (e.g., via the portal server 110)
`to continually display the next scheduled event for the day.
`Various other user interface and content-based data may be
`transmitted to the portal device 150 from the portal server
`110 while still complying with the underlying principles of
`the invention.
`
`Client Link
`
`40
`
`45
`
`As illustrated in FIG. 1, one embodiment of the portal
`device 150 communicates to the portal server 110 via a
`communication link 160 with the client 140. The commu-
`
`60
`
`nication link may be established via a physical I/O connec-
`tion with the client 140 such as a Universal Serial Bus
`
`(“USB”) interface or a communication (“serial”) interface.
`Alternatively, the communication link 160 may be a wireless
`link such as an Infrared I/O channel or a radio frequency
`(“RF”) I/O channel.
`
`65
`
`4
`link 160 is
`the client
`In one particular embodiment,
`formed using a capacitively-coupled communication chan-
`nel. As is known in the art, a capacitor is any dielectric
`sandwiched between two conductive elements.
`In this
`embodiment, one of the two conductive elements is located
`within the portal device 150 and the second of the two
`conductive elements is located external to the portal device
`150 and is communicatively coupled to an I/O port of the
`client 140. For example, in one embodiment, the second
`conductive element may be disposed within user’s mouse
`pad. According to this embodiment, the user may simply
`place the portal device on the mouse pad to set rip the
`capacitive communication link 160 with the client 140. It
`should be noted, however, that various other client links 160
`may be employed while still complying with the underlying
`principles of the invention.
`
`Direct Radio Broadcast
`
`In one embodiment, illustrated in FIG. 2, data and/or
`programs are transmitted to the portal device 150 from the
`portal server 110 over an RF link 220. In this embodiment,
`the organization maintaining the portal server 110 and/or
`implementing other features of the system and method
`described herein (hereinafter the “portal organization” or
`“‘PO”), may lease a portion of the RF transmission band-
`width from one or more radio stations 210. It should be
`
`that various RF transmission techniques
`noted, however,
`may be used without departing from the underlying prin-
`ciples of the invention.
`Referring to FIG. 3, in one particular embodiment, the PO
`will use the radio stations sub-carrier frequency band 320 to
`transmit data and/or programs to the portal device 150. As
`it is known in the art, radio stations are licensed a sub-carrier
`frequency block 320 along with the audio carrier frequency
`block 310. Although some radio stations use the sub-carrier
`frequency block 320 (e.g., for foreign-language broadcast),
`most do not. As such, the present embodiment provides a
`mechanism for transmitting data over an infrequently-used
`wireless transmission channel.
`To further conserve bandwidth within the sub-carrier
`frequency block 320, in one embodiment, the data transmit—
`ted over the RF link 220 is not addressed to any one specific
`portal device. Rather, in this embodiment, the data is simply
`transmitted (e.g., with a tag that identifies the data) and is
`sensed by any portal device(s) 150 listening within the
`sub-carrier block 320. This type of addressing will be
`referred to herein as “data addressable” addressing (in
`contrast to “device addressable addressing in which a device
`address is associated with the transmitted data). The indi-
`vidual portal devices 150 that sense the various data trans-
`missions may ignore them or may take some other specified
`action (e.g., store and display the transmitted data), depend-
`ing on how the devices 150 are configured. For example, a
`portal device 150 may be configured by a user to track stock
`quotes for stocks within his/her portfolio and to ignore all
`other stock quotes. Similarly, the user may configure the
`portal device 150 to listen for local weather reports, local
`news headlines, and/or any other information which may be
`accessed by the user directly at the portal server 110.
`In one embodiment, the data broadcast in a particular
`geographical region will be selected based on the number of
`risers in that region who have registered on the portal server
`110 and/or the types of data requested by users in the region.
`For example, if no users in the region have configured the
`portal server 110 to gather a particular stock quote, then the
`portal server 110 will not transmit that stock quote over the
`
`14
`
`14
`
`

`

`US 6,714,791 B2
`
`5
`RF link 220 in that region. Similarly, the portal server 110
`may be configured to only transmit
`local data such as
`weather and local news in the local broadcast region to
`which the weather and news pertains (i.e., where it will most
`likely be requested). Broadcasting data selectively in this
`manner will further improve bandwidth over the RF link 220
`(i.e., by reducing unnecessary data transmissions).
`In one embodiment, portal devices 150 may be addressed
`directly (e.g., by including the device’s serial number or
`other ID code in an address field of the data transmission).
`This embodiment may be provided by the PO to users as a
`“premium” service, under which the user pays an additional
`fee to receive personally—addressed information over the
`sub-carrier 360 (e.g., email messages, daily schedules, etc),
`as well as the more general information described above.
`Users of this embodiment may be charged on a subscrip-
`tion basis and/or on a per-use basis, depending on the
`embodiment. Of course, other pricing models may be
`employed while still complying with the underlying con—
`cept. The P0 may also employ this embodiment under ’
`certain emergency situations (e.g., where it is crucial that a
`particular user receive a data transmission immediately).
`Embodiments of the Portal Device
`
`10
`
`15
`
`FIG. 4 illustrates an external View of one embodiment of
`a portal device 420 which may be used as a key chain. As
`shown, this embodiment includes a is key chain ring 410 for
`securing a set of keys (or other personal eifects) to the device
`420. Also illustrated is a display 430 for displaying various
`types of portal data. In one embodiment the display is a
`Liquid Crystal Display (“LCD”). Of course, other display
`technologies may be implemented while still complying
`with the underlying principles of the invention (e.g., Light
`Emitting Diode (“LED”) displays). Also included is a set of
`control buttons 440 and 441 for selecting menu items and/or
`jumping back and forth between stored portal data and a
`control knob 450 for scrolling between menu items and/or
`data. In one embodiment, the control knob 450 rotates on an
`axis which is substantially perpendicular to the plane of the
`display 430.
`Additional attachable embodiments of the portal device
`150 include a necklace configuration, a pocket watch
`configuration, and a sports configuration (e.g., wherein the
`portal device is strapped firmly around a user’s arm). In the
`latter configuration, the shell of the portal device may be
`comprised of a waterproof material to avoid water damage
`to the internal components of the device.
`As illustrated in FIG. 5, one embodiment of the portal
`device 150 is comprised generally of a microcontroller 505,
`an external memory 550, a display controller 575, and a
`battery 560. The external memory 550 may be used to store
`programs and/or portal data 565 transmitted to the portal
`device 150 from the portal server 110 (e.g., via client 140
`and/or radio station 210). In one embodiment, the external
`memory 550 is non-volatile memory (e.g., an electrically
`erasable programmable read only memory (“EEPROM”); a
`programmable read only memory (“PROM”), etc).
`Alternatively, the memory 550 may be a volatile memory
`(e. g., random access memory or “RAM”) but the data stored
`therein may be continually maintained via the battery 560.
`The battery 560 in one embodiment is a coin cell battery
`(e.g., of the same type used in portable electronic devices
`such as calculators and watches). In one embodiment, when
`the battery power decreases below a threshold level, the
`portal device 150 will notify the user and/or the portal server
`110. The portal server 110 in one embodiment will then
`automatically send the user a new battery.
`
`,
`
`40
`
`45
`
`60
`
`65
`
`15
`
`6
`The microcontroller 505 of one embodiment is comprised
`of a central processing unit (“CPU”) 510, a read only
`memory (“ROM”) 570, and a scratchpad RAM 540. The
`ROM 570 is further comprised of an interpreter module 520
`and a toolbox module 530.
`The toolbox module 530 of the ROM 570 contains a set
`of toolbox routines for processing data, text and graphics on
`the portal device 150. These routines include drawing text
`and graphics on the portal device’s display 430, decom-
`pressing data transmitted from the portal server 110, repro-
`ducing audio on the portal device 150, and performing
`various input/output and communication functions (e.g.,
`transmitting/receiving data over the client link 160 and/or
`the RF link 220). A variety of additional portal device
`functions may be included within the toolbox 530 while still
`complying with the underlying principles of the invention.
`In one embodiment, microprograms and portal data 560
`are transmitted from the portal server 110 to the external
`memory 550 of the portal device via a communication
`interface 570 under control of the CPU 510. Various com-
`
`munication interfaces 570 may be employed without depart-
`ing from the underlying principles of the invention
`including, for example, a Universal Serial Bus (“USE”)
`interface or a serial communication (“serial”) interface. The
`microprograms in one embodiment are comprised of
`compact,
`interpreted instructions known as “bytecodes,”
`which are converted into native code by the interpreter
`module 520 before being executed by the CPU 510. One of
`the benefits of this configuration is that when the
`microcontroller/CPU portion of the portal device 150 is
`upgraded (e.g., to a faster and/or less expensive model), only
`the interpreter module 520 and toolbox 530 of the ROM
`needs to be rewritten to interpret
`the currently existing
`bytecodes for the new microcontroller/CPU. In addition, this
`configuration allows portal devices 150 with diiferent CPUs
`to coexist and execute the same microprograms. Moreover,
`programming frequently-used routines in the ROM toolbox
`module 530 reduces the size of microprograms stored in the
`external memory 550,
`thereby conserving memory and
`bandwidth over the client link 160 and/or the RF link 220.
`In one embodiment, new interpreter modules 520 and/or
`toolbox routines 530 may be developed to execute the same
`microprograms on cellular phones, personal information
`managers (“PIMs”), or any other device with a CPU and
`memory.
`
`One embodiment of the ROM 570 may be comprised of
`interpreted code as well as native code written specifically
`for the microcontroller CPU 505. More particularly, some
`toolbox routines may be written as interpreted code (as
`indicated by the arrow between the toolbox 530 and the
`interpreter module 520) to conserve memory and bandwidth
`for the same reasons described above with respect to micro-
`programs. Moreover, in one embodiment, data and micro-
`programs stored in external memory 550 may be configured
`to override older versions of data/microprograms stored in
`the ROM 570 (e.g., in the ROM toolbox 530).
`
`Data Compression
`
`As described above, microprograms and portal data may
`be transmitted to the portal device 150 in a compressed
`format. As such, in one embodiment, decompression logic is
`programmed into the microcontroller ROM 570 (e.g., within
`the toolbox 530) and is used to interpret and/or decompress
`the microprograms/data as they are received.
`In one embodiment, a plurality of uncompressed data is
`stored in the ROM 570, and codes identifying the uncom-
`
`15
`
`

`

`US 6,714,791 B2
`
`7
`pressed data are transmitted across the RF link 220 and/or
`client link 160. For example,
`instead of transmitting the
`entire market code for a particular stock, such as “MSFT”
`for Microsoft, a compressed code, e.g., “M,” may be trans-
`mitted to the portal device 150 instead. The ROM 570 in this
`embodiment may include a lookup table (or similar decode
`logic) for retrieving the real market code “MSFT,” using the
`compressed code, “M.” Once the real code is retrieved from
`the ROM 570, it may be displayed on the portal device 150
`as illustrated in FIG. 4. It should be noted, however, that the
`underlying principles of the invention may be practiced
`rising a variety of coding schemes and/or digital compres-
`sion tcchniqucs.
`
`User Registration and Authentication
`One embodiment of the invention will now be described
`
`10
`
`15
`
`with reference to the flowchart of FIG. 6. According to this
`embodiment, when a user initially connects to the portal
`server 110 (e.g., from client 140), the portal server 110 will
`determine whether a portal device plug-in is installed on the
`user’s Web browser (at 615). As is known in the art, plug-ins
`are auxiliary programs added to Web browsers to provide
`them with new levels of functionality. One embodiment of
`the present invention uses a plug—in to coordinate commu—
`nication between the portal server 110, the client 140, and ’
`the portal device 150. In addition, the plugin may convert
`and/or compress “standard” portal programs/data (e.g.,
`programs/data meant to be executed on the client 140) into
`microprograms/data that
`the portal device can properly
`interpret, as described herein. If the plug-in is not installed,
`the portal server 110 may automatically transmit and install
`it on the client 140 (at 625).
`At 630,
`the portal server 110 (e.g., via the plug-in)
`determines whether the portal device is currently attached to
`the client 140. If the device 150 is attached then, in one
`embodiment, the portal server 110 will automatically log the
`user in. The portal server 110 may automatically authenti-
`cate the portal device 150 via a serial number and/or a user
`authentication key embedded/stored in the device 150. Once
`the user is logged in to the portal server, he/she can then
`transmit data to and from the portal device 150 as described
`herein.
`
`40
`
`If the device 150 is not attached, however, then the portal
`server 110 may implement a standard user name/password
`login procedure and/or may register the user (at 640). During
`the registration process the user may be asked to respond to
`a series of questions relating to his/her background (e.g.,
`hobbies, education, career, etc). The portal server 110 may
`use this information to personalize the content collected and
`provided to the user and/or to target ads to the user based on
`the user’s preferences. In addition, at this point the user may
`be provided with an opportunity to configure the portal
`server 110 to gather and manage specific information on
`behalf of the user (e.g., particular stocks, sports scores,
`news, etc) and/or to provide the user with access to certain
`online applications (e.g., email, electronic scheduling, etc)
`as described herein.
`
`Online Programming Interface
`
`In one embodiment, registered users are provided with an
`online visual programming interface such as that illustrated
`in FIG. 7. Under this embodiment risers may construct their
`own microprograms to be executed on the portal device 150
`and/or the client 140. For example, a user may define a
`programming block as a hyperlink which points to a par-
`ticular piece of data or series of data (e.g., a current stock
`
`45
`
`60
`
`65
`
`8
`quote for AT&T, the San Francisco weather forecast, etc)
`and may also indicate how frequently the data associated
`with the hyperlink is to be updated. Multiple such blocks
`may be chained together to create a continual sequence of
`information to be displayed on the portal device 150 or the
`client 140. The particular programs generated by users may
`depend on whether a wireless portal device 150 is being
`used. For example, a microprogram designed to download
`up-to-date stock quotes may require a wireless connection to
`the portal server 110 to be effective.
`As illustrated in FIG. 7, users may also program anima-
`tion and/or sound into the portal device 150. For example,
`block 710 points to a particular image file (e.g., a bitmap file)
`and block 715 points to a particular music file (e.g., a
`Musical Instrument Digital Interface or “MIDI” file). The
`user may cause the image to move across the display 430 of
`the portal device 150 in a specified direction by program-
`ming block 720 (e.g., using X and Y coordinate data).
`Concurrently, the user may program block 725 to play the
`music track identified in block 715. Temporal link 722
`indicates that the movement of the image and the playback
`of the music track are to take place simultaneously. Pro-
`gramming block 720 indicates that the music and image will
`both fade out to end the program.
`In one embodiment, standard image and/or music files
`stored on the client 140 are converted to a format which the
`
`portal device can interpret (e.g., using a conversion module
`which may included in the client plug-in). For example, the
`melody line may be extracted from a MIDI file and trans-
`mitted to the portal device as a series of notes. Similarly,
`bitmap or JPEG images may be converted so that they are
`properly displayed on the portal device display 430, which
`in one embodiment is a black & white LCD display.
`
`Portal Key Operations
`
`In one embodiment, each portal device 150 includes a
`portal key which uniquely identifies the device,
`the user
`and/or particular data on the portal server. The key may
`either be permanently embedded in the device (e.g., the key
`may be the serial number) or, alternatively, may be selected
`manually by the user (e.g., the user’s ID on the portal server
`110) or may be assigned to the device by the portal server
`110.
`
`Regardless of how the portal key is generated, as illus-
`trated in FIG. 8, in one embodiment users may exchange
`keys between portal devices. Specifically, portal device 810
`is shown receiving a portal key (key no. 5331998TW) from
`portal device 820. In one embodiment, when the user of
`portal device 810 connects to the portal server 110 after
`receiving the portal key, he/she will be provided with access
`to information and/or services associated with the portal key.
`For example, the user of portal key 820 may store personal
`and/or business-related information on the portal server 110
`which he/she wants to share with the user of portal device
`810.
`
`Several portal key applications may be implemented
`using this type of portal key exchange. These include, for
`example, social invitations

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