throbber
(12) United States Patent
`Kilgore et ai.
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US006877015B 1
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,877,015 Bl
`*Apr. 5, 2005
`
`(54) SYSTEM AND METHOD FOR
`DYNAMICALLY ADJUSTING DATA VALUES
`IN RESPONSE TO REMOTE USER INPUT
`
`(75)
`
`Inventors: Benjamin F. Kilgore, Redmond, WA
`(US); Steven D. Lamb, Woodinville,
`WA (US); Loren K. Imes, Bothel, WA
`(US); Mark E. Hickling, Kirkland, WA
`(US)
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.c. 154(b) by 0 days.
`
`This patent is subject to a terminal dis(cid:173)
`claimer.
`
`(21) Appl. No.: 09/148,615
`
`(22) Filed:
`
`Sep. 4, 1998
`
`(51)
`Int. CI? .............................. G06F 7/00; G06F 3/00
`(52) U.S. CI. ..................................... 707/104.1; 7151744
`(58) Field of Search .......................... 7151744; 705/1-3,
`705/36,27; 709/200, 203; 703/6; 341/20-27;
`345/145, 163, 167; 434/307 R
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,808,916 A * 9/1998 Orr et al. ....................... 703/6
`
`5,841,437 A * 11/1998 Fishkin et al. .............. 345/619
`5,999,169 A * 12/1999 Lee ............................ 345/163
`6,012,044 A * 1/2000 Maggioncalda et al.
`...... 705/36
`6,021,426 A * 2/2000 Douglis et al.
`............. 709/200
`6,061,004 A * 5/2000 Rosenberg ................... 341/20
`6,208,974 B1 * 3/2001 Campbell et al. .............. 705/3
`
`* cited by examiner
`
`Primary Examiner~afet Metjahic
`Assistant Examiner-Te Yu Chen
`(74) Attorney, Agent, or Firm~yon & Harr, L.L.P.; Craig
`S. Fischer
`
`(57)
`
`ABSTRACT
`
`The present invention is embodied in a system and method
`for dynamically adjusting data values in response to remote
`user input to provide the remote user with real time inter(cid:173)
`action of the data values. First, a user requests information
`from a remote computer and then results of the requested
`information are collected at a host computer. Second, the
`results of the request are transmitted in a hidden format from
`the host to the remote computer. Third, the results are
`remotely processed in response to user input. Last, the
`processed results are dynamically displayed. Client-side
`processing is preferably used instead of server-side process(cid:173)
`ing to enable the user to quickly access and adjust informa(cid:173)
`tion dynamically and in real time without server delays.
`
`19 Claims, 7 Drawing Sheets
`
`•••
`
`Ow"
`Ouvol
`Ow"
`Ow"
`Ouvol
`Ow"
`0 ....
`Ouvol
`
`Sl29.950 -
`S184.950 -
`SlS9.950 -
`$2G4'zoo -
`$2Il9.3OO -
`S21U1O -
`$222.500 -
`S22Ul111l -
`S239.R -
`~-
`$2ol9.99O -
`S2Sl.99O -
`$252.990 -
`$254.990 -
`smeso -
`$215.000 -
`$215.753 -
`$219.990 -
`
`Singlo-l...,.
`3lr1 bo
`3lr2bo
`SingIo-IoniIJo
`3lr3bo
`SlnaIo-IoniIJo
`SingIo-IoniIJo
`4lr2bo
`SInaIo-I ... 4lr2bo
`3lr2bo
`Slnalo-l .....
`Singlo-l...,.
`3lr3bo
`SingIo-I...,.
`3lr2bo
`3lr3bo
`Singlo-l .....
`3lr3bo
`SingiolonilJo
`4lr3bo
`SlnaIo-IoniIJo
`41l13bo
`Singlol ....
`SingIo-I .... 4lr3bo
`SingIo-I ..... 4lr3bo
`Singlo-l ..... 4lr3bo
`Singlo-l...,.
`4lr3bo
`3lr3bo
`
`1310
`
`- _2·3_
`- _2·3_
`- Now
`
`- _2·3_
`
`710
`
`

`

`I--"
`~
`(I)
`I--"
`b
`""-l
`""-l
`00
`-..CJ\
`rJ'l
`
`e
`
`-..J
`
`'""'" o ....,
`~ .....
`'JJ. =(cid:173)~
`
`Ul
`C
`C
`N
`~Ul
`:"l
`~
`
`~ = .....
`~ .....
`~
`•
`rJl
`d •
`
`PROGRAMS
`APPLICATION
`
`134
`
`140
`
`I
`I
`
`db
`DB
`o CDDaDl am a:o
`
`124
`
`~ 142
`
`122
`
`154
`
`___ J
`I
`II
`INTERFACE
`NElWORK .1
`
`•••
`INTERFACE II
`
`PORT
`SERIAL
`
`158 I
`---,1 I
`L ____ •
`I
`I
`
`146
`
`•
`
`•
`
`INTERFACE
`
`DRIVE
`
`OPTICAL
`
`INTERFACE
`DISK DRIVE
`MAGNETIC
`
`• INTERFACE
`
`DRIVE
`
`HARD DISK
`
`UNIT
`
`PROCESSING
`
`148
`
`102
`
`110
`
`DATA
`
`PROGRAM
`
`138
`
`OTHER PROGRAM
`
`136 -tJ..l., MODULES
`
`PROGRAMS
`APPLICATION
`
`SYSTEM
`
`OPERATING
`
`RAM
`
`BIOS
`
`ROM
`
`134
`
`132
`
`114
`
`I
`I
`1----------------------.
`
`104
`
`SYSTEM MEMORY
`
`100
`
`\ ,
`" 120 ,
`
`\
`
`\\\~118
`,
`
`116
`
`•
`
`•
`
`PROGRAMS
`APPLICATION
`
`134
`
`OPERATING
`
`SYSTEM
`
`•
`
`132
`
`DATA
`
`PROGRAM
`
`138
`
`MODULES
`
`OTHER PROGRAM
`
`136
`
`FIG. 1
`
`

`

`u.s. Patent
`
`Apr. 5, 2005
`
`Sheet 2 of 7
`
`US 6,877,015 Bl
`
`(210
`
`SERVER
`
`{
`
`(220
`
`. - - - -.... \!"'"'"""I
`
`RESULTS
`
`DATA
`
`4~
`
`"
`CLIENT
`
`I
`
`\
`
`"--218
`
`(21 2
`
`I
`
`216~
`
`I
`
`USER INTERFACE
`
`INTERACTIVE
`.. OPTIONS
`)
`
`222/
`
`QUERY
`,
`(
`'-214
`
`CONTROL
`MODULE,
`\
`"--224
`
`FIG. 2
`
`

`

`u.s. Patent
`
`Apr. 5, 2005
`
`Sheet 3 of 7
`
`US 6,877,015 Bl
`
`COLLECT AND PROCESSES DATA ON A SERVER TO
`PRODUCE RESULTS IN RESPONSE TO A REQUEST
`FOR INFORMATION FROM A CLIENT
`
`I
`
`"-300
`
`"
`
`TRANSMIT RESULTS
`TO CLIENT
`
`1
`
`~310
`
`,.
`
`PROVIDE USER WITH
`INTERFACE TOOLS
`FOR CONDUCTING REAL
`TIME INTERACTION
`OF THE RESULTS
`
`I
`
`" - 312
`
`ADJUSTMENTS OF THE RESULTS BY THE USER
`ARE DISPLAYED ON THE USER INTERFACE
`OF THE CLIENT IN REAL TIME
`
`I
`
`~314
`
`FIG. 3
`
`

`

`u.s. Patent
`
`Apr. 5, 2005
`
`Sheet 4 of 7
`
`US 6,877,015 Bl
`
`L414
`
`SERVER
`
`{
`
`416~
`
`£418
`
`GATHER
`REQUEST
`MODULE
`
`GATHER DATA
`MODULE
`
`419
`
`,
`
`TRANSMIT
`MODULE
`
`,r
`CLlENT1
`
`(400
`
`,.
`
`(410
`
`I
`
`,....-~C~LI~EN~T~2-j,---...,
`
`CONTROL
`MODULE
`FOR CLlENT1
`
`\..420
`
`CONTROL
`MODULE
`FORCLlENT2
`~422
`
`CONTROL
`MODULE
`FOR CLlENTx
`
`\..424
`
`FIG.4
`
`

`

`u.s. Patent
`
`Apr. 5, 2005
`
`Sheet 5 of 7
`
`US 6,877,015 Bl
`
`USER REQUESTS INFORMATION BASED ON
`USER DEFINED CRITERIA
`
`H
`
`ENSURE THAT CLIENT PLUG-IN
`MODULE IS PRESENT ON CLIENT
`
`, r
`
`I
`
`"- 500
`,
`"- 510
`
`COLLECT AVAILABLE INFORMATION ON SERVER
`RELATING TO USER DEFINED REQUEST
`
`r
`
`I
`
`'''- 512
`
`TRANSMIT REQUESTED INFORMATION IN A
`PREDEFINED FORMAT TO THE CLIENT USER
`
`, r
`
`DECODE THE REQUESTED INFORMATION
`IN THE PREDEFINED FORMAT WITH CONTROL
`MODULE
`
`~
`
`"- 514
`,
`
`"
`
`516
`
`PROVIDE THE CLIENT USER WITH
`CONFIGURABLE CRITERIA TOOLS AS
`
`INTERACTIVE USER INTERFACE OPTIONS ,
`"- 518
`
`FIG. 5
`
`

`

`I--"
`~
`(I)
`I--"
`b
`""-l
`""-l
`00
`-..CJ\
`rJ'l
`
`e
`
`-..J
`0 ....,
`0'1
`~ .....
`'JJ. =-~
`
`Ul
`
`N c c
`
`~Ul
`:"l
`~
`
`~ = .....
`~ .....
`~
`•
`rJl
`d •
`
`10
`
`(600
`
`C~:":':":":J S"fdl~J
`, .. ,.,. ,lnstan'lv 1I11.r ttl. rtlvl. of ""Uf
`!i:ii:L ., elide .nd df~" the slid ... to
`
`.-
`
`Classifieds experience.
`Try these search and filter tips to get the most out of your Used Car
`
`iii Clld< ttle ."0Wf to Instantly
`
`SEARCH tips&".;cks
`
`FIG. 6
`
`~;i~~~:--~. ··-·-~~;el~~~'. -.h:~,ffl;;>:·~~;·':;~~io·:~!··~~~r··'~'.~~:~~~l
`
`Il . I
`
`·1
`I
`i
`
`37 miles
`
`36 __
`34 mile.
`9 miIet
`9miu
`9 ....
`'9 miIet
`9 .....
`.9ma.
`
`..
`2
`~
`2
`2
`2
`2
`2
`2
`
`.. Cli.
`.42.000
`16,000
`6 cyl.
`59.000
`6 c,1.
`15.550
`.. e,1.
`6 c"t.
`3$.950
`39.950 G C)'1.
`34 .. 400
`.. c,1.
`33.850
`.. CjIIl.
`.. ~.200 .. cJl
`34._
`.. CJlt.
`.. CJI.
`20,550
`
`$12.999
`$22,900
`$19.900
`$17.995
`$57_
`126._
`$15.489 .
`$15..995
`$16.995
`$19..989
`$19.989
`
`1994
`1.
`1.
`1996
`1995
`1.
`1995
`1995
`~996
`1997
`1997
`
`Acura Integra LS
`Acure SOC Base
`Aculell
`Acura Integra RS
`AcuraNSX
`Acura legend l
`Acura Integra LS
`Acura Int8Gf8 LS
`A~r. Integra RS
`Acwa Cl2.2Cl Premium
`AcuraQ.
`
`! Click buttons to soli by column ~ Code vicinity.
`
`I New listings thiS week
`I Onler Discount for this vehicle II ilu:".,. Of deClUS4 the ZIP
`
`

`

`I--"
`~
`(I)
`I--"
`b
`""-l
`""-l
`00
`-..CJ\
`\Jl
`
`e
`
`-..J
`o ....,
`-..J
`~ .....
`'JJ. =(cid:173)~
`
`Ul
`C
`C
`N
`~Ul
`:"l
`~
`
`~ = .....
`~ .....
`~
`•
`rJl
`d •
`
`710
`
`•. Wdhin 2·3 weeIu
`
`-New
`-W"1IhiI2·3weekl
`-Within 2·3 week,
`
`1310
`
`1740
`
`3br3ba
`4br3ba
`4bf3ba
`4br311e
`4br3ba
`4br3ba
`4br3bs
`3br3ba
`3tr3bs
`3br2ba
`3tr3ba
`
`S ingte-fami.l'
`S ing1e-famly
`S ing1e-faml\l
`Sing1e-famiy
`Single-famly
`Shgle-tamly
`S ingIe-famly
`S ingIe-/amiy
`SinglHq
`Single-temiy
`Single-famiy
`Singlo-fllll'lly
`SingIo-tamly
`Single-famiy
`SingIo-/omiy
`S ingIo-/omiy
`S ingls-l1Imiy
`Singla-/~
`
`FIG. 7
`
`$279,990 -
`$275..753
`..
`$275,000
`..
`S263.990
`..
`$254.990 -
`$252.990 -
`S250..99O -
`$249.990 -
`$2-40..200 -
`$239.950 -
`$224.000 -
`S222.5OO -
`$212.300 -
`S209.300 -
`S204.200
`..
`$1S9.950
`..
`$164.950 -
`S129.95O -
`
`720
`
`\
`
`a Related Information
`Iii What to Ask When I'c.u
`" Attached HousInO:
`
`Condos Md Co-op~
`
`See the House
`
`~advisor
`
`Duval
`Duval
`Duvel
`Duval
`Duval
`DlNai
`Duval
`Dwall
`Ouvel
`Dwal
`
`Ouv'"
`Duval
`Duval
`Duval
`Duval
`Duv'"
`
`_I Duval
`
`t:tMap
`@l List
`Show View:
`
`

`

`US 6,877,015 Bl
`
`1
`SYSTEM AND METHOD FOR
`DYNAMICALLY ADJUSTING DATA VALUES
`IN RESPONSE TO REMOTE USER INPUT
`
`BACKGROUND OF THE INVENTION
`
`5
`
`2
`and adjustment of the results. For example, slider filter
`controls, alphanumerical boxes, drop-down menus, or the
`like can be used. The system and method of the present
`invention preferably utilizes client side-processing of the
`results instead of server-side processing. This enables the
`user to quickly access and adjust information dynamically
`and in real time without server delays.
`The foregoing and still further features and advantages of
`the present invention as well as a more complete under-
`10 standing thereof will be made apparent from a study of the
`following detailed description of the invention in connection
`with the accompanying drawings and appended claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Referring now to the drawings in which like reference
`numbers represent corresponding parts throughout:
`FIG. 1 is a block diagram illustrating an apparatus for
`carrying out the invention;
`FIG. 2 is a block diagram illustrating an overview of the
`present invention;
`FIG. 3 is a flow diagram illustrating the general opera(cid:173)
`tional flow of the present invention;
`FIG. 4 is a block diagram illustrating a processing method
`in accordance with the present invention;
`FIG. 5 is a flow diagram illustrating a working example
`of the system and method of the present invention; and
`FIGS. 6 and 7 are sample user interfaces of the working
`30 example of FIG. 5 of the system and method of the present
`invention.
`
`1. Field of the Invention
`The present invention relates to a system and method for
`processing data, and in particular, to a system and method
`for adjusting data values in real time in response to remote
`user input.
`2. Related Art
`Quick and easy interaction between a server and a client
`user is desirable, especially for systems with bandwidth 15
`limitations. For example, the Internet utilizes a server-client
`system. Many client users with Internet access have band(cid:173)
`width limitations. For example, during interaction with the
`World Wide Web, these client users typically encounter
`server processing every time the user makes a request. 20
`Constant server processing bogs down the server, delays
`user Internet navigation and creates an unpleasantly slow
`Internet experience for the user.
`For example, many servers have systems that provide
`access to database information. One such system is a used 25
`car online classified database. After the user makes an initial
`request, the server provides results related to the request.
`However, if the user desires to modify, adjust, limit, etc. the
`results, the server typically must be re-accessed and a new
`request is submitted as a database query. As a result, the user
`is required to navigate sometimes through several layers of
`information. Thus, these systems are slow, do not allow real
`time user interaction and require undue processing.
`Therefore, what is needed is an effective and efficient
`technique for adjusting data values in real time in response 35
`to remote user input. What is also needed is a system and
`method that utilizes client-side processing instead of server(cid:173)
`side processing for data processing to avoid lengthy server
`reloading.
`Whatever the merits of the above mentioned systems and
`methods, they do not achieve the benefits of the present
`invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`40
`
`In the following description of the invention, reference is
`made to the accompanying drawings, which form a part
`hereof, and in which is shown by way of illustration a
`specific example in which the invention may be practiced. It
`is to be understood that other embodiments may be utilized
`and structural changes may be made without departing from
`the scope of the present invention.
`Introduction
`Quick and easy interactive computer environments are
`very desirable, especially for remote users. The present
`45 invention provides this type of interactive computer envi(cid:173)
`ronment for remote users by allowing the remote user to
`interact with data values for dynamically adjusting the data
`values. Namely, the system and method of the present
`invention allows the remote user to adjust a set of results
`50 produced by a host system in real time. Preferably, the
`system and method of the present invention achieves real
`time interaction by utilizing client-side processing for pro(cid:173)
`viding dynamic interaction of the set of results by a user
`from a remote location.
`55 Exemplary Operating Environment
`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.
`Although not required, the invention will be described in the
`60 general context of computer-executable instructions, such as
`program modules, being executed by a computer. Generally,
`program modules include routines, programs, objects,
`components, data structures, etc. that perform particular
`tasks or implement particular abstract data types. Moreover,
`65 those skilled in the art will appreciate that the invention may
`be practiced with a variety of computer system
`configurations, including personal computers, server
`
`SUMMARY OF THE INVENTION
`
`To overcome the limitations in the prior art described
`above, and to overcome other limitations that will become
`apparent upon reading and understanding the present
`specification, the present invention is embodied in a system
`and method for dynamically adjusting data values in
`response to remote user input. Namely, the system and
`method provides the remote user with real time interaction
`of data values, such as a set of results, produced by a host
`system. As such, the user can dynamically adjust the set of
`results from a remote location. The system and method of
`the present invention preferably utilizes client-side process(cid:173)
`ing to achieve real time interaction.
`Specifically, first, a user requests information from a
`remote computer and then results of the requested informa(cid:173)
`tion are collected at a host computer. Second, the results of
`the request are transmitted from the host to the remote
`computer in a format that is preferably encoded and trans(cid:173)
`parent to the remote user. Third, the results are remotely
`processed in response to user interaction with the results.
`The processed results are dynamically adjusted and dis(cid:173)
`played as the user interacts with the results. Graphical user
`interface control devices are used to allow user interaction
`
`

`

`US 6,877,015 Bl
`
`3
`computers, hand-held devices, multiprocessor systems,
`microprocessor-based or programmable consumer
`electronics, network PCs, minicomputers, mainframe
`computers, and the like. The invention may also be practiced
`in distributed computing environments where tasks are 5
`performed by remote processing devices that are linked
`through a communications network. In a distributed com(cid:173)
`puting environment, program modules may be located on
`both local and remote computer storage media including
`memory storage devices.
`With reference to FIG. 1, an exemplary system for imple(cid:173)
`menting the invention includes a general purpose computing
`device in the form of a conventional computer 100, includ(cid:173)
`ing a processing unit 102, a system memory 104, and a
`system bus 106 that couples various system components 15
`including the system memory 104 to the processing unit 102.
`The system bus 106 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
`architectures. The system memory includes computer stor- 20
`age media in the form of read only memory (ROM) 110 and
`random access memory (RAM) 112. A basic input/output
`system 114 (BIOS), containing the basic routines that helps
`to transfer information between elements within computer
`100, such as during start-up, is stored in ROM 110. The 25
`computer 100 may include a hard disk drive 116 for reading
`from and writing to a hard disk, not shown, a magnetic disk
`drive 118 for reading from or writing to a removable
`magnetic disk 120, and an optical disk drive 122 for reading
`from or writing to a removable optical disk 124 such as a CD 30
`ROM or other optical media. The hard disk drive 116,
`magnetic disk drive 128, and optical disk drive 122 are
`connected to the system bus 106 by a hard disk drive
`interface 126, a magnetic disk drive interface 128, and an
`optical drive interface 130, respectively. The drives and their 35
`associated computer-readable media provide storage of
`computer readable instructions, data structures, program
`modules and other data for the computer 100. Although the
`exemplary environment described herein employs a hard
`disk, a removable magnetic disk 120 and a removable 40
`optical disk 130, it should be appreciated by those skilled in
`the art that other types of computer readable media can store
`data that is accessible by a computer. Such computer read(cid:173)
`able media can be any available media that can be accessed
`by computer 100. By way of example, and not limitation, 45
`such computer readable media may comprise communica(cid:173)
`tion media and computer storage media. Communication
`media typically embodies computer readable instructions,
`data structures, program modules or other data in a modu(cid:173)
`lated data signal such as a carrier wave or other transport 50
`mechanism and includes any information delivery media.
`The term "modulated data signal" means a signal that has
`one or more of its characteristics set of changed in such a
`manner as to encode information in the signal. By way of
`example, and not limitation, communication media includes 55
`wired media such as wired network or direct wired
`connection, and wireless media such as acoustic, RF, infra(cid:173)
`red and other wireless media. By way of example, and not
`limitation, communication 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. Computer storage media includes any method or
`technology for the storage of information such as computer
`readable instructions, data structures, program modules or
`other data. By way of example, such storage media includes
`RAM, ROM, EPROM, flash memory or other memory
`technology, CD-ROM, digital video disks (DVD) or other
`
`4
`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 100.
`Combinations of any of the above should also be included
`within the scope of computer readable media.
`A number of program modules may be stored on the hard
`disk, magnetic disk 120, optical disk 124, ROM 110 or RAM
`112, including an operating system 132, one or more appli-
`10 cation programs 134, other program modules 136, and
`program data 138. A user may enter commands and infor(cid:173)
`mation into the computer 100 through input devices such as
`a keyboard 140 and pointing device 142. 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 102
`through a serial port interface 144 that is coupled to the
`system bus 106, but may be connected by other interfaces,
`such as a parallel port, game port or a universal serial bus
`(USB). A monitor 146 or other type of display device is also
`connected to the system bus 106 via an interface, such as a
`video adapter 148. In addition to the monitor 146, computers
`may also include other peripheral output devices (not
`shown), such as speakers and printers.
`The computer 100 may operate in a networked environ(cid:173)
`ment using logical connections to one or more remote
`computers, such as a remote computer 150. The remote
`computer 150 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 personal computer 100, although only
`a memory storage device 152 has been illustrated in FIG. 1.
`The logical connections depicted in FIG. 1 include a local
`area network (LAN) 154 and a wide area network (WAN)
`156. Such networking environments are commonplace in
`offices, enterprise-wide computer networks, intranets and
`Internet.
`When used in a LAN networking environment, the com(cid:173)
`puter 100 is connected to the local network 154 through a
`network interface or adapter 158. When used in a WAN
`networking environment, the computer 100 typically
`includes a modem 160 or other means for establishing
`communications over the wide area network 156, such as the
`Internet. The modem 160, which may be internal or external,
`is connected to the system bus 106 via the serial port
`interface 144. In a networked environment, program mod-
`ules depicted relative to the computer 100, or portions
`thereof, may be stored in the remote memory storage device.
`It will be appreciated that the network connections shown
`are exemplary and other means of establishing a communi(cid:173)
`cations link between the computers may be used.
`Components and Operation
`FIG. 2 is a block diagram illustrating an overview of the
`present invention. The present invention is embodied in a
`system for adjusting data values in real time in response to
`remote user interaction with the data values. The system
`includes a host unit or server 210 coupled to at least one
`remote unit or client 212. In response to an initial client
`query 214 by a user through a user interface (UI) 216, such
`60 as a graphical user interface (GUI), data 218 stored on the
`server 210 is accessed, preferably as sorted data, to produce
`results 220 comprised of data values. The results 220 are
`transmitted to the client 212 and displayed on the user
`interface 216. The user at the client 212 is provided with
`65 interactive options 222 related to the data values, which
`allows the user to interact with the data values and make
`adjustments to the data values with user input directed to the
`
`

`

`US 6,877,015 Bl
`
`5
`interactive options 222. A control module 224, which can be
`sent from the to server to the client or created on the fly on
`the client 212, is preferably located on the client 212 during
`user interaction with the data values. The control module
`224 controls the transmitted results and processes the user
`input for providing dynamic adjustment of the data values
`and real time user interactivity.
`FIG. 3 is a flow diagram illustrating the general opera(cid:173)
`tional flow of the present invention. Specifically, a host
`computer or server collects and processes data to produce
`results in response to a request for information from a
`remote computer or client (step 300). The results of the
`request are transmitted, preferably in an encoded format that
`is hidden from and transparent to the user, to the client from
`the server (step 310). The user is provided real time inter(cid:173)
`activity of the results with user input through interactive user
`interface options (step 312), such as graphical user interface
`tools. Adjustments of the results by the user are displayed on
`the user interface of the client in real time (step 314). The
`user input is preferably processed at the client to allow the
`real time inter activity in the form of adjustment, filtering and
`viewing of the results. FIGS. 2 and 3 refer to one server and
`one client for illustrative purposes only. It should be noted
`that the server referred to in FIGS. 2 and 3 can be one or
`more servers coupled to numerous respective clients and can 25
`communicate simultaneously with the clients in the manner
`described in FIGS. 2 and 3.
`FIG. 4 is a block diagram illustrating a processing method
`in accordance with the present invention. In one
`embodiment, the present invention utilizes client-side pro(cid:173)
`cessing. Client-side processing involves performing data
`adjustment in response to user input on the client instead of
`on the server. Client-side processing provides a remote user
`with real time inter activity and dynamic data adjustment,
`unlike server-side processing, which forces the remote user 35
`to access the server every time the remote user adjusts the
`data.
`For example, as shown in FIG. 4, client1 400 makes
`request1 (Rl)' client2 410 makes request2 (R2) and clientx
`412 makes requestx (RJ. A server 414 utilizes a gather
`request module 416 that gathers and sorts respective raw
`data results for each respective request. A gather data
`module 418 gathers, for example, respective encoded data,
`such as pre-compressed data packets that are associated with
`their respective raw data results. A transmit module 419 45
`transmits the pre-compressed data packets, a control module
`(CM1 , CM2 , CM3 ) for each pre-compressed data packet and
`a decompressor to respective clients (Client1 , Client2 ,
`Client3 ) in a format that is preferably transparent to respec(cid:173)
`tive users of the clients 400, 410, 412.
`The transmitted control modules 420, 422, 424 reside on
`each client and decode and decompress the pre-compressed
`data to reproduce raw data results for each client. Each
`control module 420, 422, 424 also displays the respective
`raw data results for each respective client 400, 410, 412. In 55
`addition, each control module 420, 422, 424 provides each
`user with interactive options for adjusting the raw data
`results. For example, a graphical user interface control, such
`as graphical gauges, can be provided. The gauges can be a
`slider with, for example, dual upper and lower bounds or can 60
`be a single slider with a range bounded by zero and a fixed
`value. Since each control module resides on the client, they
`are able to process and display adjustments made by each
`user in real time, thereby providing a dynamic interactive
`environment.
`The gather request module 416 and the gather data
`module 418 can utilize structured query language (SQL)
`
`6
`techniques to process the request and gather the data. The
`control module can be any suitable module for controlling
`operations, such as an ActiveX control, lava applet, Perl
`applet, etc. Also, the control module can utilize any suitable
`5 data structure for organizing and adjusting the data in real
`time. For example, an array, stack and queue, linked list,
`decision tree, etc. can be used. In addition, the interactive
`options can be user friendly user interface devices, such as
`progressive boundary gauges, or progressive alphanumeric
`10 entry boxes for adjusting the raw data results.
`Working Example
`FIG. 5 is a flow diagram illustrating a working example
`of the system and method of the present invention. FIGS. 6
`and 7 are sample user interfaces of the working example of
`15 FIG. 5 of the system and method of the present invention. As
`discussed above, any suitable control component and client(cid:173)
`side processing technique can be used. FIG. 5 is for illus(cid:173)
`trative purpose only and shows a component object model
`(COM) control, such as an ActiveX control of a working
`20 example. The ActiveX control can be written in C++, lava,
`Visual Basic, or any suitable programming language. The
`control component allows user manipulation of the results
`with graphical user interface development tools.
`Specifically, as shown in FIG. 5, first, the remote user
`requests information based on user defined criteria (box
`500). For example, the user can request classified pricing
`information for used cars for sale based on make and model
`or for real estate for sale based on location, property type,
`etc. Next, the system ensures that the client has a processing
`30 plug-in control module, such as an ActiveX portability
`container, coupled to the client (box 510). If the client does
`not have the plug-in module, the plug-in control module is
`transmitted from the server and installed on the client.
`Next, the server collects the requested information relat(cid:173)
`ing to the user's defined request that is stored on the server,
`such as used car information sorted by price, year, miles, etc.
`or real estate information sorted by location, price, type of
`home, etc. to produce results in response to the defined
`request from the client (box 512). The server can encode and
`40 compress the data associated with the results on the fly or
`have the associated data available as stored accessible raw
`results with corresponding pre-compressed data or pre(cid:173)
`encoded data representing the results. The results are trans(cid:173)
`mitted to the client preferably as encoded pre-compressed
`data and in a format that is transparent to the client user (box
`514). The encoded data representing the results is decoded
`by the plug-in control module at the client to reproduce the
`raw results (box 516), which are displayed on the user
`interface 600,700 of the client in a user readable format 610,
`50 710 as shown in FIGS. 6 and 7, respectively. The results can
`be displayed as a query grid having at least one field and
`associated criteria.
`Last, the client user is provided with real time interactivity
`of the results through interactive user interface options, such
`as graphical user interface tools (box 518). These interface
`options can include configurable slider filters, input boxes
`that can accept alphanumerical input or the like, drop-down
`menus or any suitable interface, such as graphical gauges
`that allow a user to move graphics within a reference datum
`for adjusting the criteria for associated fields in real time
`(box 518). For example, as shown in FIGS. 6 and 7, the user
`interface 600, 700 includes slider controls 620, 720 such as
`dual or single slider controls. The client user can click on a
`graphical lever and drag the lever of the slider filter control
`65 in either direction to narrow certain criteria of the results for
`each sorted field or category. For example, price, mileage,
`and year criteria for car sales, as shown in FIG. 6 or price
`
`

`

`US 6,877,015 Bl
`
`7
`range, property type, and age of home criteria for home sales
`for FIG. 7. The dual slider controls have multiple boundaries
`for constraining the results within a defined range, as shown
`in FIGS. 6 and 7.
`Also, as shown in FIG. 7, the interface options can include 5
`configurable alphanumerical input boxes 730 and drop(cid:173)
`down menus 740. The configurable alphanumerical input
`boxes 730 can be digitally coupled to the slider filters 720 so
`that both the slider filters 720 and the input boxes 730
`dynamically change as the user configures the other inter- 10
`face. As a result, the user can interact with either interface
`option. In addition, the drop-down menus 740 and radio
`buttons (not shown) preferably have predefined criteria as
`the interface options. Since the plug-in control module
`resides on the client, interactivity by the client, for example 15
`with the use of the sliders, input boxes, drop-down menus,
`radio buttons or the like, is in real time. Therefore, as the
`user adjusts each of the sorted fields (car or home price, car
`mileage, car year, type of home, age of home, etc.) with the
`interface options, the data is filtered and displayed by the
`client dynamically.
`The foregoing description of the invention has been
`presented for the purposes of illustration and description. It
`is not intended to be exhaustive or to limit the invention to
`the precise form disclosed. Many modifications and varia- 25
`tions are possible in light of the above teaching. It is
`intended that the scope of the invention be limited not by this
`detailed description, but rather by the claims appended
`hereto.
`What is claimed is:
`1. A display device having rendered thereon dynamically
`changing results of a database query, comprising:
`a query grid having at least one field and associated data,
`the query grid being stored on a server as raw data,
`wherein the query grid is transmitted from the server to
`a remote c

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