`Agraharam et al.
`
`54 NETWORK INFORMATION DELIVERY
`SYSTEM FOR DELIVERING INFORMATION
`BASED ON END USER TERMINAL
`REQUIREMENTS
`75 Inventors: Sanjay Agraharam, Marlboro;
`Richard Frank Bruno, Morristown;
`Glenn Lawrence Cash, Matawan;
`Robert Edward Markowitz, Glen
`Rock; Steven Howard Nurenberg,
`Manalapan, all of N.J.; Joseph Thomas
`O'Neil, Staten Island, N.Y.; Ram S.
`Ramamurthy, Manalapan; Kenneth H.
`Rosen, Middletown, both of N.J.
`73 Assignee: AT&T Corporation, New York, N.Y.
`
`(*) Notice:
`
`This patent issued on a continued pros-
`ecutIOn application filed under 37 CFR
`1.53(d), and is subject to the twenty year
`patent term provisions of 35 U.S.C.
`154(a)(2).
`
`21
`
`Appl. No.: 08/816,234
`1-1.
`Mar 13, 1997
`22 Filed:
`(51) Int. Cl. ................................................ G06F 13/00
`52 U.S. Cl. ........................... 709/246; 709/228; 709/230
`58 Field of Search ............................ 364/140; 395/126;
`709/246, 228, 230
`
`56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,245,656 9/1993 Loeb et al. ................................ 380/23
`
`USOO6035339A
`Patent Number:
`11
`(45) Date of Patent:
`
`6,035,339
`*Mar. 7, 2000
`
`5,666,487 9/1997 Goodman et al. ................. 395/200.76
`5,727,159 3/1998 Kikinis ............................... 395/200.76
`
`Primary Examiner Le Hien Luu
`Attorney, Agent, or Firm-Oliff & Berridge, PLC
`
`57
`
`ABSTRACT
`
`A network information delivery System automatically deter
`mines end-user information output requirements based on
`predetermined data corresponding to each requesting end
`user terminal. A user profile is maintained in a database
`either associated with a network information delivery Sys
`tem or with the end-user terminal and is accessed by the
`network information delivery device. If the network infor
`mation delivery device has authority to access the end-user
`terminal, a program may be downloaded to the end-user
`terminal to determine the exact end-user terminal configu
`ration. The program executing in the end-user terminal
`returns to the network information delivery device a user
`profile containing the end-user terminal capabilities So that
`the requested information may be formatted and delivered to
`the end-user in an optimal manner. The information to be
`delivered to end-users may be pre-stored in predetermined
`formats. The predetermined formats may be determined
`based on a Volume of requests and the characteristic of the
`information. The information may also be stored in a generic
`format So that packaging the information for a specific user
`may be efficiently and timely performed.
`
`25 Claims, 8 Drawing Sheets
`
`
`
`SOOO
`
`S002
`
`SOO4
`
`SOO6
`
`RECEIVE END-USER
`REQUEST FOR
`INFORMATION
`
`DETERMINE END-USER
`INFORMATION OUTPUT
`REQUIREMENTS
`
`PACKAGE INFORMATION
`BASED ON END-USER
`INFORMATION OUTPUT
`REGUIREMENT
`
`SEND PACKAGED
`INFORMATION TO
`END-USER
`
`VIDEOLABS, INC.
`EX2005
`NETFLIX, INC. v. VIDEOLABS, INC.
`IPR2023-00628
`
`
`
`U.S. Patent
`U.S. Patent
`
`Mar.7, 2000
`
`Sheet 1 of 8
`
`6,035,339
`6,035,339
`
`a0Ta1
`
`901
`
`pO
`
`NOLLYWHOSNIHaSN-ON3
`VICAWILNW001
`
`
`
`
`
` 130uN0STWNIWHAL
`
`cbt
`
`ANFAITSOOvNOTLYWHO-NIJOIAIO
`
`
`
`YYOMLIN
`
`pel
`
`931201
`
`
`
`-VLYdBtTSTT-V1V0
`
`qSvd4sva
`
`CcCc+WNIKU3L
`
`2etH3SN-ON3
`
`vit
`
`b9I4
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 2 of 8
`
`6,035,339
`
`14
`\
`
`
`
`204
`
`MEMORY
`
`206
`
`208
`
`2O
`
`22
`
`FIG. 2
`
`NETWORK
`
`OO
`
`O2
`
`WIDEO CARD
`
`DISPLAY
`
`24
`
`SOUND CARD
`
`ES5
`
`26
`
`MASS STORAGE
`INTERFACE
`
`OPTICAL/MAGNETIC
`MEDIUMS
`
`28
`
`120
`
`
`
`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 3 of 8
`
`6,035,339
`
`FIG. 3
`
`
`
`
`
`NUMBER OF PIXELS THAT CAN BE DISPLAYED
`
`NUMBER OF FRAMES PER MINUTE UPDATE RATE
`
`STEREO/MONO SPEAKER SYSTEM
`
`WAVE TABLE CAPABILITY
`
`
`
`
`
`AVAILABLE MEMORY FOR BUFFERING
`
`232
`
`234
`
`236
`
`238
`
`240
`
`230
`
`
`
`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 4 of 8
`
`6,035,339
`
`FIG. 4
`
`4.08
`
`40
`
`42
`
`44
`
`46
`
`48
`
`
`
`
`
`
`
`FORMAT-
`
`FORMAT-2
`
`FORMAT-1
`
`FORMAT-3
`
`FORMAT-2
`
`FORMAT-4
`
`
`
`402
`
`404
`
`406
`
`FIG. 5
`
`
`
`302
`
`
`
`304
`
`CONTROLLER
`
`MEMORY
`
`306
`
`
`
`308
`
`NETWORK
`INTERFACE
`
`
`
`MASS STORAGE
`INTERFACE
`
`30
`
`
`
`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 5 of 8
`
`6,035,339
`
`FIG. 6
`
`RECEIVE END-USER
`REGUEST FOR
`INFORMATION
`
`DETERMINE END-USER
`INFORMATION OUTPUT
`REQUIREMENTS
`
`PACKAGE INFORMATION
`BASED ON END-USER
`INFORMATION OUTPUT
`REQUIREMENT
`
`SEND PACKAGED
`INFORMATION TO
`END-USER
`
`
`
`SOOO
`
`SA002
`
`SOO4
`
`SOO6
`
`S008
`
`
`
`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 6 of 8
`
`6,035,339
`
`FIG. 7A
`
`
`
`
`
`SUBROUTINE
`
`SOO2
`
`S2000
`
`
`
`
`
`PREDETERMINED
`DATA IN NETWORK
`
`
`
`NO
`
`S2002
`
`EYNE REQUEST ACCESS TO
`
`END-USER TERMINAL
`
`S2004
`
`S2006
`
`
`
`S204
`
`ACCESS
`AUTHORITY?
`
`
`
`NO
`
`S2016
`
`PROFILE IN
`NETWORK INFORMATION
`DELIVERY SYSTEM
`DATABASE?
`
`
`
`
`
`RETRIEVE
`REQUIREMENTS
`FROM END-USER
`DATABASE
`
`RETRIEVE REQUIREMENTS
`FROM NETWORK
`INFORMATION DELIVERY
`SYSTEM DATABASE
`
`ACCESS
`GRANTED?
`
`
`
`NO
`
`REGUEST PROFILE
`INFORMATION
`
`RECEIVE PROFILE
`FROM END-USER
`
`SAVE PROFILE IN
`DATABASE
`
`
`
`S2020
`
`
`
`DETERMINE
`INFORMATION FORMAT
`PRESENTATION SPEED
`TRANSMISSION SPEED
`TRANSMISSION MEDIUM
`
`S2022
`
`
`
`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 7 of 8
`
`6,035,339
`
`FIG. 7B
`
`ACCESS
`END-USER
`TERMINAL
`
`
`
`DOWNLOAD PROGRAM
`INTO END-USER
`TERMINAL
`
`FIG. 8
`
`
`
`S2040
`
`S2026
`
`DETERMINE END-USER
`TERMINAL CAPABILITIES
`FOR A USER PROFILE
`
`EXECUTE DOWN
`LOADED PROGRAM
`
`S2028
`
`S2042
`
`UPLOAD END-USER
`TERMINAL INFORMATION
`TO THE NETWORK
`INFORMATION DELIVERY
`SYSTEM
`
`S2030
`
`UPLOADED?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Mar. 7, 2000
`
`Sheet 8 of 8
`
`6,035,339
`
`FIG. 9
`
`FIG. 10
`
`SUBROUTINE
`
`SOO4
`
`
`
`
`
`
`
`
`
`
`
`
`
`ACCESS
`REGUESTED
`INFORMATION
`
`SET PARAMETERS
`DIRECTED TO
`END-USER TERMINAL
`
`FORMAT
`INFORMATION
`
`
`
`
`
`S3000
`
`S3002
`
`S3004
`
`S3006
`
`
`
`
`
`
`
`
`
`
`
`
`
`SUBROUTINE
`
`SOO6
`
`DETERMINE
`TRANSMISSION
`SPEED
`
`SELECT TRANSMISSION
`MEDIUM
`
`S4002
`
`SEND
`INFORMATION
`
`S4004
`
`MONITOR TRANSMISSION
`AND ADJUST IF
`APPROPRIATE
`
`S4006
`
`
`
`
`
`TRANSMISSION
`COMPLETE?
`
`S4008
`
`S1008
`
`
`
`6,035,339
`
`1
`NETWORK INFORMATION DELIVERY
`SYSTEM FOR DELIVERING INFORMATION
`BASED ON END USER TERMINAL
`REQUIREMENTS
`BACKGROUND OF THE INVENTION
`1. Field of Invention
`This invention relates to delivering information in a
`network environment.
`2. Description of Related Art
`Currently if a user desires to download information (e.g.
`multimedia information) from a network Such as the
`Internet, an information provider must first determine the
`capabilities available on a user terminal. Thus, the informa
`tion provider first queries the user, via a menu for example,
`to determine the user terminal capabilities Such as the
`number of pixels displayable on the user terminal display,
`the type of Sound System that is installed in the user terminal
`and data transmission Speeds that is Supported by the user
`terminal network interface. The information provider
`receives the above user terminal information, and, if choices
`are available, Selects the requested information in a most
`compatible pre-formatted form for delivery to the user.
`The requirement for the user to explicitly declare the user
`terminal capabilities each time information is downloaded is
`very inconvenient. In addition, many times the user is not
`technically oriented and may not know what capabilities are
`available on the terminal. Moreover, if none of the prede
`termined formats are Suitable for information reproduction
`by the user terminal, the user terminal reproduces the
`information in an undesirable manner. Thus, there is a need
`to provide a method and apparatus to more conveniently
`determine the user terminal capabilities and to deliver infor
`mation So that the user terminal capabilities may be most
`effectively used.
`SUMMARY OF THE INVENTION
`This invention provides an information delivery system
`that automatically determines end-user information output
`requirements based on predetermined data corresponding to
`each requesting end-user terminal. A network information
`delivery device maintains an end-user profile in a database
`either associated with a network information delivery device
`or with the end-user terminal. The end-user profile is
`accessed by the network information delivery device when
`the end-user requests delivery of information.
`If the network information delivery device has authority
`to access the end-user terminal, a program may be down
`loaded to the end-user terminal to determine the exact
`end-user terminal configuration. The program executing in
`the end-user terminal returns the information regarding the
`end-user terminal capabilities to the network information
`delivery device So that the requested information may be
`formatted and delivered to the end-user in an optimal
`C.
`The information to be delivered to end-users may be
`pre-formatted into predetermined formats. The predeter
`mined formats may be determined based on how often a
`particular format of the information is requested and char
`acteristics of the information. The information may also be
`Stored in a generic format So that packaging the information
`for a specific user may be efficiently and timely performed.
`BRIEF DESCRIPTION OF THE DRAWINGS
`The invention is described in detail with reference to the
`following drawings, wherein in like numerals represent like
`elements:
`
`1O
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`FIG. 1 is a diagram of a network system that delivers
`information;
`FIG. 2 is a diagram of a typical user terminal that includes
`multimedia capability in the form of plug-in cards,
`FIG. 3 is a diagram of a user profile example;
`FIG. 4 is a diagram of multimedia information pre
`formatted in Several predetermined formats,
`FIG. 5 is a block diagram of a network information
`delivery device that provides information to end-users,
`FIG. 6 is a flowchart of the network information delivery
`device for delivering information to an end-user;
`FIGS. 7A and 7B are flowcharts of a process for deter
`mining end-user information output requirements,
`FIG. 8 is a flowchart of a process in a user terminal that
`determines user terminal information;
`FIG. 9 is a flowchart of the network information delivery
`device process for packaging information based on the
`end-user information output requirement; and
`FIG. 10 is a flowchart of the network information delivery
`device proceSS for Sending the package information to the
`end-user.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`FIG. 1 shows a network 100 interconnecting a network
`information delivery device 110 and an information source
`108 through a local exchange carrier (LEC) 104, and end
`user terminals 112 and 114 through LEC 102. The network
`100 may include Integrated Services Digital Network
`(ISDN), Asynchronous Transfer Mode (ATM) or analog
`telephone switching service (POTS) in wired, wireless or
`optical mediums. The network information delivery device
`110, the information Source 108 and end-user terminals 112
`and 114 may all be coupled to different LECs. The configu
`ration in FIG. 1 is shown as an example. Other configura
`tions are possible Such as the end-user terminals 112 and
`114, the multimedia information Source 108 and the network
`information delivery device 110 being connected to different
`LECS or the above components being incorporated directly
`in the network 100.
`When an end-user using the end-user terminal 114
`requests information Such as multimedia information from
`the network information delivery device 110, the network
`information delivery device 110 first searches the contents of
`database 118 to determine information output requirements
`corresponding to the end-user terminal 114. The database
`118 may be separate from the network information delivery
`device 110 or may be incorporated in the network informa
`tion delivery device 110.
`If information output requirements corresponding to end
`user terminal 114 is found in the database 118, the network
`information delivery device 110 retrieves the multimedia
`information, for example, from the information source 108
`through LEC 104 and packages the multimedia information
`based on the information output requirements of the end
`user terminal 114. Then, the network information delivery
`device 110 Sends the packaged information to the end-user
`terminal 114 through the network 100.
`FIG.2 shows a typical end-user terminal, Such as end-user
`terminal 114. The end-user terminal 114 includes a CPU
`202, a memory 204 and a plurality of additional features in
`the form of plug-in cards. The plug-in cards may include a
`network interface 206 that interfaces with the network 100
`through the LEC 102. In addition, plug-in cards Such as a
`video card 208, a sound card 210 and a mass storage
`
`
`
`3
`interface 212 may also be included. The video card 208 is
`coupled to a display 214 and provides various display
`capabilities based on the amount of memory and computing
`power contained within the video card 208 as well as display
`capability of the display 214. For example, the display 214
`may be capable of displaying 1024x768 pixels having 256
`colors. The video card 208 may contain a large amount of
`memory and a high Speed digital signal processor to proceSS
`multiple images concurrently. On the other hand, Some
`end-users may have a very simple video card 208 and
`perhaps only a monochrome display 214.
`The end-user terminal may have a very Sophisticated
`Sound card 210 installed together with a high performance
`Stereo Speaker System 216. However, Some users may not
`have Sound cards at all but only the Standard computer
`Speaker.
`The mass Storage interface 212 may interface to many
`types of Storage mediums Such as read-write optical disks
`and conventional hard disks. The amount of available mass
`Storage Space may determine how a requested information is
`formatted and blocked for transmission. The type of trans
`mission medium Selected for delivery of the requested
`information may also be affected by the available Storage
`Space.
`All the above listed features of the end-user terminal 114
`may be recorded in a user profile that is associated with the
`end-user terminal 114. Additionally, the user profile may
`contain end-user preferences Such as the rate of display
`update and Special Sound effects produced by advanced
`Sound cards.
`The user profile may be obtained when the end-user first
`subscribes to the network information delivery device 110.
`The user profile may be saved in the database 118, retrieved
`and used to package requested information Such as multi
`media information for delivery to the end-user terminal 114.
`FIG. 3 shows an example of the user profile 230. The user
`profile entries 232-240 contain a number of pixels that can
`be displayed, a number of frames per minute update rate, and
`indications of Stereo/mono Speaker System, wave table
`Sound capability, and an amount of available memory for
`buffering, respectively. Additional information may also be
`placed in the user profile 230 by the network information
`delivery device 110 that may be necessary to properly
`package the multimedia information for effective delivery to
`the end-user.
`The user profile information also may be stored in a
`database coupled to the end-user terminal 114 Such as
`database 116, as shown in FIG. 1. Mechanisms such as
`“cookies' provide fixed amount of Storage in the end-user
`terminal 114 to provide a place to Store and retrieve infor
`mation regarding the end-user terminal 114. "Cookies' are
`currently being proposed as a general mechanism which, for
`example, permits Server Side connections of the Internet to
`both store and retrieve information on client side of the
`connection. If mechanisms. Such as “cookie' are provided on
`the network, the network information delivery device 110
`may Store the end-user profiles as “cookies' in the database
`116 of the end-user terminal 114. Thus, when the end-user
`requests information, the network information delivery
`device 110 may retrieve the end-user output requirements
`from cookie files and package the requested information
`appropriately for output to the end-user terminal 114.
`User profiles may also be generated by a program down
`loaded from the network information delivery device 110 to
`the end-user terminal 114. If the network information deliv
`ery device 110 has authority to access and execute programs,
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,035,339
`
`4
`Such as a Java Script, on the end-user terminal 114, then the
`network information delivery device 110 may determine the
`end-user terminal capabilities at the time when the end-user
`requests information to be delivered.
`Thus, when a request for information Such as multimedia
`information is received, the network information delivery
`device 110 downloads a program to be executed by the
`end-user terminal 114 to determine the exact hardware
`configuration and available Storage of the end-user terminal
`114. The information regarding the end-user terminal 114
`capabilities is returned to the network information delivery
`device 110 so that the requested information may be pack
`aged appropriately for effective delivery to the end-user.
`Downloading a program into the end-user terminal 114 to
`determine the exact hardware configuration alleviates the
`end-user from acquiring the technical knowledge required to
`determine the end-user terminal capabilities. In addition, the
`network information delivery device 110 can more accu
`rately determine the end-user terminal capabilities because a
`program executing on the end-user terminal 114 at the time
`of information request accounts for any hardware updates
`that may have occurred prior to the information request.
`Thus, by providing the network information delivery
`device 110 with predetermined information such as a user
`profile 230 or end-user terminal access information Such as
`passwords and logon identifications, the network informa
`tion delivery device 110 can automatically determine the
`best information delivery parameters required for effective
`delivery of the information requested by the end-user.
`The network information delivery device 110 may
`retrieve requested information from information Sources
`Such as information Source 108 or other sources connected
`to physically distant locations Such as Sources connected to
`LEC 106. Because end-users obtain end-user terminal capa
`bilities by purchasing equipment that is available on the
`market, end-user terminal requirements can be grouped
`which allows information Such as multimedia information to
`be preformatted into predetermined formats. Based on
`parameterS Such as most often requested information and
`Specific characteristics of the information to be formatted,
`information may be formatted into predetermined formats
`for efficient delivery to the end-user.
`For example, FIG. 4 shows multimedia information 402,
`404 and 406 being formatted in a plurality of formats such
`as format-1 to format-4. Format-1 to format-4 may be
`formats such as “Audio Video Interleave” (AVI)
`(Microsoft’s “Video for Windows” standard) or “Quick
`Time.” Thus, as shown in FIG. 4, multimedia information
`402 is formatted in at least format-1 408 and format-2 410;
`multimedia information 404 is formatted in at least format-1
`412 and format-3 414 and multimedia information 406 is
`formatted in at least format-2 416 and format-4418. Cases
`that require formats other than the predetermined formats
`may be handled by formatting the information “on-the-fly”
`to ensure optimal information delivery to, and reproduction
`by the end-user terminal 114.
`The network information delivery device 110 may also
`provide an information delivery database to Serve as an
`information Source. Information Such as multimedia infor
`mation from information Sources Such as information Source
`108 may be deposited in the information delivery database.
`When an end-user requests information, the network infor
`mation delivery device 110 can retrieve the requested infor
`mation directly from the information delivery database
`without interacting with the information sources 108 and
`thus reduce network traffic.
`
`
`
`S
`FIG. 5 shows a block diagram of the network information
`delivery device 110. The network information delivery
`device 110 includes a controller 302, a memory 304, a
`network interface 308 and a mass storage interface 310. All
`of the above components are coupled together through a
`signal bus 306. The network interface 308 interfaces with
`the LEC 104 through signal bus 124 and the mass storage
`interface 310 interfaces with the database 118 through signal
`bus 122. While FIG. 1 shows the database 118 to be
`separated from the network information delivery device 110,
`the database 118 may be incorporated in the memory 304 of
`the network information delivery device 110.
`When an end-user Sends a request to the network infor
`mation delivery device 110 for information, the network
`interface 308 receives the request and sends a request to the
`controller 302. The controller 302 processes the information
`request according to the flowchart as shown in FIG. 6.
`In step S1000, the controller 302 receives the end-user
`request for information and goes to step S1002. In step
`S1002, the controller 302 determines the end-user informa
`tion output requirements and then goes to step S1004. In step
`S1004, the controller 302 packages the information based on
`the end-user information output requirements determined in
`step S1002 and then goes to step S1006. In step S1006, the
`controller 302 sends the packaged information to the end
`user and then goes to step S1008 and ends the process.
`FIGS. 7A and 7B show the step S1002 of FIG. 6 in greater
`detail. In step S2000, the controller 302 determines whether
`the predetermined data is in the network information deliv
`ery device database 118. If the predetermined data is in the
`database 118, the controller 302 goes to step S2004;
`otherwise, the controller goes to step S2002. In step S2002,
`the controller 302 requests access to the end-user terminal
`114 from the end-user and then goes to step S2006. In step
`S2006, the controller 302 determines whether the end-user
`granted access to the end-user terminal 114. If acceSS is
`granted, the controller 302 goes to step S2012, as shown in
`FIG. 7B; otherwise, the controller 302 goes to step S2008.
`In step S2008, the controller 302 requests the user profile
`information from the end-user and then goes to step S2010.
`In step S2010, the controller 302 receives the user profile
`information from the end-user and goes to step S2012. In
`step S2012, the controller 302 saves the user profile in either
`the network information delivery device database 118 or the
`end-user terminal database 116 based on circumstances of a
`particular implementation. Then the controller 302 goes to
`step S2020.
`In step S2004, the controller 302 determines whether
`access authority is granted to the network information
`delivery device 110 to access the end-user terminal 114. If
`access is granted, then the controller 302 goes to step S2012
`as shown in FIG. 7B; otherwise, the controller 302 goes to
`step S2014. In step S2014, the controller 302 determines
`whether the user profile is stored in the network information
`delivery device database 118. If the user profile is stored in
`the database 118, then the controller 302 goes to step S2018;
`otherwise the controller 302 goes to step S2016.
`In step S2018, the controller 302 retrieves the user profile
`from the network information delivery device database 118
`and then goes to step S2020. In step S2016, the controller
`302 retrieves the user profile from the end-user database 116
`and then goes to step S2020.
`In step S2020, the controller 302 determines specific
`formatting and delivery requirements Such as information
`format, presentation speed, transmission Speed and trans
`mission medium based on the user profile retrieved during
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,035,339
`
`6
`the prior steps. Then the controller 302 goes to step S2022
`which returns control to step S1004 of FIG. 6.
`In step S2024, as shown in FIG. 7B, the controller 302
`accesses the end-user terminal 114 and goes to step S2026.
`In step S2026, the controller 302 downloads a program into
`the end-user terminal 114 and goes to step S2028. In step
`S2028, the controller 302 commands the downloaded pro
`gram to begin execution and goes to Step S2030. In Step
`S2030, the controller 302 determines whether the program
`executing in the end-user terminal 114 has uploaded a user
`profile for the end-user terminal 114. If the user profile has
`been uploaded, the controller 302 goes to step S2020 of FIG.
`7A; otherwise, the controller 302 returns to step S2030.
`FIG. 8 shows a flowchart of the program downloaded to
`the end-user terminal 114 and performed by the end-user
`terminal CPU 202. In step S2040, the CPU 202 determines
`the end-user terminal capabilities for the user profile and
`goes to step S2042. In step S2042, the CPU 202 uploads the
`user profile to the network information delivery device 110
`and then goes to step S2044 to the end the process.
`While FIGS. 7A, 7B and 8 show that the program
`executing in the end-user terminal only uploads the user
`profile to the network information delivery device 110, the
`program may also Save the user profile in the database 116.
`The network information delivery device 110 may receive
`the uploaded user profile and Store that information in the
`database 118. Whether the user profile is saved in either of
`the databases 116 and 118 or only used for the immediate
`information delivery is dependent upon particular imple
`mentation requirements.
`For example, if it is determined that the program execut
`ing in the end-user terminal 114 consumes too much time So
`that the interaction between the end-user and the network
`information delivery device 110 is adversely affected, the
`user profile retrieved from the end-user terminal 114 may be
`saved in either the end-user terminal database 116 or the
`network information delivery device database 118 so that
`future requests for information delivery may be performed
`without the time consuming proceSS for determining the
`end-user terminal capabilities.
`FIG. 9 shows step S1004 of FIG. 6 in greater detail. In
`step S3000, the controller 302 accesses the user profile
`determined in step S1002 and goes to step S3002. In step
`S3002, the controller 302 sets appropriate parameters based
`on the information delivery requirements derived from the
`user profile for the end-user terminal 114 and the informa
`tion being requested and then goes to step S3004. In step
`S3004, the controller 302 formats the requested information
`based on the parameters set in step S3002 and goes to step
`S3006 which returns control to step S1006.
`FIG. 10 shows step S1006 of FIG. 6 in greater detail. In
`step S4000, the controller 302 determines the transmission
`Speed appropriate for the information delivery requirements
`determined by prior steps. Then, the controller 302 goes to
`step S4002. In step S4002, the controller 302 determines the
`available transmission mediums and Selects a routing of the
`information delivery path so that the information delivery
`requirements of the end-user may be met. Then, the con
`troller 302 goes to step S4004. In step S4004, the controller
`302 sends the requested information to the end-user terminal
`114 and then goes to step S4006.
`Before transmitting the requested information, the con
`troller 302 may determine a status of the network 100 and
`choose Several possible routing paths. One of these routing
`paths is Selected to transmit the requested information. The
`controller 302 may also tag each portion of the requested
`
`
`
`7
`information before transmission. The controller 302 moni
`tors the progreSS of the transmission by receiving feedback
`messages from the end-user terminal or a server that
`receives the requested information from the network 100
`and transferring the requested information to the end-user. If
`the transmission progreSS is not as expected, then the con
`troller 302 may switch the routing path to another one of the
`possible routing paths. For example, if the controller 302
`determines by checking the tags that portions of the
`requested information have been “dropped’ or lost (i.e.
`dropped data packets), then the Selected routing path may be
`incapable of delivering the needed transmission rate and
`another routing path should be used.
`In step S4006, the controller 302 continues to monitor the
`transmission of the requested information and to readjust the
`routing path if necessary to Satisfy the information delivery
`requirements of the end-user. If the transmission medium
`chosen initially failed to deliver a required transmission
`Speed due to unexpected traffic Volume, for example, the
`controller 302 may re-route the delivery path for remaining
`portions of the requested information. Then, the controller
`302 goes to step S4008.
`In step S4008, the controller 302 determines whether the
`transmission of the requested information has completed. If
`the transmission has completed, the controller 302 goes to
`step S1008 and ends the process; otherwise, the controller
`302 returns to step S4006 and continues to process.
`While this invention has been described in conjunction
`with Specific embodiments, thereof, it is evident that many
`alternatives, modifications and variations will be apparent to
`those skilled in the art. For example, the network informa
`tion delivery device 110 may maintain a repository of
`information received from information Sources Such as
`information Source 108. The formats of the information in
`the repository may be Stored in deliverable formats or in a
`generic form that may be quickly and efficiently packaged
`into a large number of Specific formats as required.
`Accordingly, preferred embodiments of the invention as Set
`forth herein are intended to be illustrative, not limiting.
`Various changes may be made without departing from the
`Spirit and Scope of the invention as defined in the following
`claims.
`What is claimed is:
`1. A method for operating a network information delivery
`System, comprising:
`determining end-user terminal information output multi
`media viewer requirements based on predetermined
`data corresponding to Said end-user terminal and type
`of multimedia viewer used on Said end-user terminal;
`packaging information based on the end-user terminal
`multimedia viewer requirements by retrieving the
`information to be packaged from an information
`Source, Setting parameters directed to the end-user
`terminal for regulating information presentation based
`on the end-user terminal multimedia Viewer
`requirements, Selecting one of a predetermined multi
`media viewer formats of the information, and format
`ting into the Selected multimedia viewer format the
`information and the parameters into the package infor
`mation based on the end-user terminal multimedia
`Viewer requirements, and
`Sending the packaged information to the end-user terminal
`through a network.
`2. The method of claim 1, wherein the determining step
`comprises:
`retrieving the predetermined data from at least one of a
`network information delivery device database and an
`end-user terminal database; and
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,035,339
`
`8
`generating the end-user multimedia viewer requirements
`based on the retrieved predetermined data.
`3. The method of claim 2, wherein the multimedia viewer
`requirements include at least one of information format,
`presentation Speed, information transmission Speed, and
`information transmission medium.
`4. The method of claim 3, wherein the multimedia viewer
`requirements further include end-user terminal feature
`parameters for reproducing the packaged information on the
`end-user terminal.
`5. The method of claim 1, wherein the information Source
`includes a database of the network information delivery
`device.
`6. The method of claim 1, wherein the formatting the
`information Step comprises transforming the information
`from a generic format into a format Selected based on the
`end-user multimedia viewer requirements.
`7. The method of claim 1, wherein the sending step
`comprises:
`Setting a network transmission Speed based on the end
`user multimedia viewer requirements,
`Selecting a transmission medium based on the end-user
`multimedia viewer req



