`Ex. 1008 / Page 1 of 29
`
`
`
`US. Patent
`
`29,a0
`
`1
`
`mf
`
`US 6,300,947 B1
`
`mE_o_
`
`mgmmmzm8:2.35I
`
`wmo<mmmzHmwsomm
`
`8.NeK
`
`8.
`
`N:$5a;
`
`Ema
`
`«Ohm/No.4
`
`mISooz
`
`
`
`no.Ema
`
`mz__._u<z
`
`m«mama
`tmeta?mB_$3mm;
`
`
`sn:$22.9
`
`mmmaomm
`
`_.0_u_
`
`q:.2.
`
`
`
`mmzmmEamm
`
`Ex. 1008 / Page 2 of 29
`
`Ex. 1008 / Page 2 of 29
`
`
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 2 0f 16
`
`US 6,300,947 B1
`
`I0
`
`24
`
`m
`
`|2
`
`MASS
`STORAGE
`
`INPUT
`DEVICE
`
`OUTPUT
`DEVICE
`
`IA
`
`l6
`
`I8
`
`20
`
`22
`
`FIG. 2
`
`Ex. 1008 / Page 3 of 29
`
`Ex. 1008 / Page 3 of 29
`
`
`
`US 6,300,947 B1
`
`20.._.<._.n_<n_<n.9“.35mm;
`
`5:902
`
`momo_._.<_)_o.5<
`
`US. Patent
`
`
`
`mHzmmmtamo“.Mam5:8:182%
`
`t.__m28we:now_503%_.8]“flow
`5.8$8:$9;$2255_.895_com_I||||||||_
`4W8:“a3%__.895mag:
`
`022022 3//tIILIII_1.4_NEONdoc::_zz:_.895_3:8:<33.m__mmEEmmE.mice:mm>mmm0Hm..225352.
`
`9,_._.895
`
`
`Sofia:
`
`wzo_._.UDm._.mz_
`
`Ex. 1008 / Page 4 of 29
`
`Ex. 1008 / Page 4 of 29
`
`
`
`
`
`
`US. Patent
`
`m
`
`1B
`
`
`
`omE<o<mm>mmw
`
`wmo<mmm;
`
`Eula:
`
`M5:82
`
`mZo_._me._.mz__coon2,503%3%Emma9.mo_ammEEmEz.o_
`lllllllw_||_$_mmhmmrou_Eon
`Ema_museumEm:Wo._.
`402.62:
`Gmemqmue
`
`_
`
`3,5:8:6zo:<E<a<mmoiE;
`M8m.wqoi
`
`222054
`
`Ex. 1008 / Page 5 of 29
`
`Ex. 1008 / Page 5 of 29
`
`
`
`
`
`US. Patent
`
`9
`Oct 9 2001
`
`Sheet 5 0f 16
`
`US 6,300,947 B1
`
`I.ownxOR:000xcowownx002.—mmiooUmEmmummummEmmum
`
`
`mm._.o<m<IoNzmmEUm30oz;_memumzou_
`
`m.o_n_
`
`Ex. 1008 / Page 6 of 29
`
`Ex. 1008 / Page 6 of 29
`
`
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 6 0f 16
`
`US 6,300,947 B1
`
`8.0m
`
`.om oom
`
`A..m..um.N.m
`
`--LIN—MIP-
`H20.44
`
`.mxvom.uI...n..>>a...v
`
`o.0...
`
`A..m...um.N.m
`
`..w.m....Zmu..
`u291.4
`
`.mxvom.nI..b.>>w...v
`
`A.ON:umum
`
`._......o_w...
`H20.1.4
`
`.mxvom.uI...n..>>a...vmom
`
`
`
`8m\.2:._<z_o_mo
`
`U....<zo...:<
`
`mu<n.mm;
`
`zo....<...n.<n.<
`
`H.300:
`
`#5omzmomwzéh
`
`mom
`
`mom
`
`Ex. 1008 / Page 7 of 29
`
`Ex. 1008 / Page 7 of 29
`
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 7 0f 16
`
`US 6,300,947 B1
`
`On PC
`##ttt***#¥tttiOtttttitttt*t‘tttttlitit‘ttitttt$tttt¢$tttttttt¥t*‘tt***¢*****¥***¥#*ti#tOttt
`
`YAHOO
`
`News for Wednesday November 5, 1997
`
`Louise Woodward Sentencing—lraq-US. Conflict
`
`Help
`
`Top Siories-Headlines-Summaries 8:37 am est
`
`Business—Headlines—Summaries—FinanciaI—Quo’res—Mofley Fool 8:08 am est
`
`Technology—Headlines—Summaries—Wired News-ZD News Tue Nov 4 3:09 pm
`
`World-Headlines-Summaries-Asian News 8:14 am est
`
`Sports-Headlines-Summories-Scoreboard-The Spon‘ing News 4:34 am as?
`
`Enter’rainmenf—Headlines—Summaries-E! Online 8:18 am esf
`
`Politics—Heudlines—Summaries 7:41 am est
`
`Healih-Headlines-Summaries Tue Nov 4 6
`
`##tttttttitt:::7titiIttfi$$$$tttitilIiit.tfit!*lItttt*t*‘t*¢$t*t*t**t#¥###***tt
`
`70|
`
`0n webphone:
`tittttt*‘fittttttttifiitttttit**$.tli’!‘lt$ttt$t**tt#ttttitti¥tt$tt¥tti$tttttitt
`
` YAHOO NEWS
`
`Top Stories
`
`. Business
`
`. Others.
`
`702
`
`FIG. 7
`
`Ex. 1008 / Page 8 of 29
`
`Ex. 1008 / Page 8 of 29
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 8 0f 16
`
`US 6,300,947 B1
`
`$94.;mm;
`
`503%
`
`<._.<o
`
`mOH<m<mmw
`
`1.223.830
`
`z_<._.m_muzn
`
`mum
`
`
`
`\meooumwNEmoEm
`
`
`
`mw<m<H<oAIEmo
`
`
`
`mum:.mm_uzmo2mn_me
`
`m.o_n_
`
`«Oh/EEO
`
`.5802
`
`0225200
`
`5300:
`
`mm>mmm
`
`Jommom#2
`
`Ex. 1008 / Page 9 of 29
`
`Ex. 1008 / Page 9 of 29
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 9 0f 16
`
`US 6,300,947 B1
`
`Now
`
`awhmmmmMHZ
`
`53902
`
`U_._.z<_)_m_m.
`
`
`
`.00mooMJDQOZ
`
`
`
`02.24me_| :.IIIIIII—
`
`o.2“. 3:82
`
`mMNEQOn.\oz_n_n__w:.m
`mopammq
`
`zoo.
`
`MISQOZ
`
`._.Zm._.zoo
`
`mjsooz
`
`
`ZO_._.<w_<n_mmkmoo;\ZO_._.<U_n=ZD
`
`
`zo_._.<2mon_mz<m:.
`zo_hug—Lao“52$:k
`mummmmm—HZ
`.359_____
`___o___o_5:82o_
`
`|_0225288
`
`m8380:
`
`3.9“;
`
`Ex. 1008 / Page 10 of 29
`
`Ex. 1008 / Page 10 of 29
`
`
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 10 0f 16
`
`US 6,300,947 B1
`
`I202
`
` 'MY.
`
`
`BRIEFCASE
`
`—JUNK—
`
`
`l20|
`
`
`
`FIG.IO
`
`5
`
`Lu
`2
`>-U
`Z“—
`E .
`0:
`m
`
`.
`
`E
`3
`w
`
`0
`E
`m
`E5
`2%
`
`29
`
`§ 9
`
`Ex. 1008 /Page 11 of 29
`
`Ex. 1008 / Page 11 of 29
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 11 0f 16
`
`US 6,300,947 B1
`
`mmEmmm;
`
`
`
`moN
`
`
`
`mmug
`
`0$4;
`
`NI._.n_m_c
`
`/
`
`/
`
`/
`
`/
`
`nmead
`
`__.0_n_
`
`\ILIIJ
`
`_:Emo
`
`
`
`_mtwmm;
`
`Ex. 1008 / Page 12 of 29
`
`Ex. 1008 / Page 12 of 29
`
`
`
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 12 0f 16
`
`US 6,300,947 B1
`
`IAOZ
`
`ILOS
`
`IAOA
`
`FIG.I2
`
`IAOI
`
`PICTURE5
`
`Ex. 1008 / Page 13 of 29
`
`Ex. 1008 / Page 13 of 29
`
`
`
`US. Patent
`
`m
`
`US 6,300,947 B1
`
`9.0_n_
`
`n09
`
`6mafia_g_23;m.605;thch«w2.6m_29:53um3363
`1.5396;som>EIm3msz£om>>m,§-§§81W§-§-§E§
`
`
`.60.;xmzozlmfiozo_o_occc_.._lmm_._oEE3mlmoE_nooI.3333
`
`
`
`mzmzmEtoammilEoonmgoomlmmtoEEsmlmmcztom:.mtoam
`
`mzmzomlmzwz357mm:oEEsmImmEEOoILoos—E93
`
`
`
`wczcoGlmmtoEEzmlmmczuomI.EmEEctmEm
`
`§I3h3825:oEzi
`
`
`
`
`
`mucus:$2358;302me
`
`
`
`$202$330.83.26:.Esmflow:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex. 1008 / Page 14 of 29
`
`Ex. 1008 / Page 14 of 29
`
`
`
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 14 0f 16
`
`US 6,300,947 B1
`
` I60A
`COMP.|NTERN.
`
`I602
`
`N)
`c:
`9
`
`—Willi]
`
`PTYCOMPUTER
`
`INTERNET
`
`EXPLORER
`
`FIG.IA
`
`Ex. 1008 / Page 15 of 29
`
`Ex. 1008 / Page 15 of 29
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 15 0f 16
`
`US 6,300,947 B1
`
`I702
`|70|
`
`FIG.I5
`
`Ex. 1008 / Page 16 of 29
`
`Ex. 1008 / Page 16 of 29
`
`
`
`US. Patent
`
`Oct. 9, 2001
`
`Sheet 16 0f 16
`
`US 6,300,947 B1
`
`now.N0952
`
`002
`
`
`
`mzo_._.wm50x_m._.<z
`
`.._<u_._.w_._.<._.m
`
`mmmoom
`
`mw<n_mm;
`
`<53
`
`><>>ux
`
`.22.me_m2“.mm;
`
`N56mm;
`
`5%zmoimm;
`
`
`
`.52wow.com.
`
`9.0E
`
`._<u_Ium<mm_I
`
`zo_.r<N_z<omo
`
`Ex. 1008 / Page 17 of 29
`
`Ex. 1008 / Page 17 of 29
`
`
`
`
`
`
`US 6,300,947 B1
`
`1
`DISPLAY SCREEN AND WINDOW SIZE
`RELATED WEB PAGE ADAPTATION
`SYSTEM
`
`BACKGROUND OF THE INVENTION
`
`The present invention relates to systems and methods for
`organizing viewing materials and, more particularly,
`to
`systems and methods for organizing viewing materials asso-
`ciated with web sites on visual display screens and windows
`on and within which the viewing materials, e.g., home or
`web pages, are being viewed.
`Currently home or web pages, which are typically acces-
`sible over a wide area network (e.g., Internet), are designed
`without taking into account the variety of displays or win-
`dows on and within which they may be observed. Usually,
`only the most typical size of personal computer (PC) moni-
`tors are taken into account by web page designers. If such a
`web site is accessed from devices with small screens (e.g.,
`palmtops, web phones), only small parts of the web pages
`can be viewed by users and, in order to access other parts of
`the web pages, users must move the respective home pages
`(left-right, down-up) across their displays. The only other
`options available to users of small screens is to convert the
`web site completely to a textual context. This is not an
`acceptable solution for most web site users. Conversely, if a
`user happens to have a relatively large display screen, the
`user can see a whole web page which may include several
`links. However, the user may need to activate several links,
`hierarchically, before he arrives at the link containing the
`needed information. The user of the larger display screen
`would be more satisfied if he could view the content of many
`links simultaneously, since the size of his display screen can
`accommodate such viewing. Similar problems occur if a
`user is viewing web pages in some window, or shell, whose
`size is only a fraction of a whole screen.
`It is to be appreciated that the term “window” used herein
`is intended to refer to a graphical shell which is typically the
`outer layer of an applications program which provides the
`graphical user interface. Since the shell typically includes its
`own graphical symbols and format, the use of the shell
`results in only a fraction of the display screen being avail-
`able to display web page data. Also, “window” may refer to
`the well-known graphical partitions employed by various
`software programs running under Microsoft Windows oper-
`ating systems, which also result in only part of the display
`screen being available to display web page data.
`A Netscape browser provides options for users to strip
`some specific bars and buttons from a menu, e.g., Jim
`Minatel, Easy World Wide Web with Netscape, Que
`Corporation, 1996. However, this frees only small amounts
`of a display screen or window and does not resolve the
`problem facing a user of not being able to display many
`objects associated with a web page.
`SUMMARY OF THE INVENTION
`
`The present invention provides organization of viewing
`material associated with web sites for visual displays and
`windows on and within which these web pages are being
`viewed. A different viewing-access strategy is provided for
`such visual devices varying, for example, from standard PC
`monitors, laptop screens and palmtops to webphone and
`digital camera displays,
`to any device, with a display,
`capable of web browsing, and from large windows to small
`windows. However, it is to be appreciated that the teachings
`of the present invention are not limited to implementation
`with the above-mentioned types of displays and one of
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`ordinary skill in the art will contemplate usage with other
`forms of displays. A new web site design incorporates
`features that permit automatic display of the content of web
`pages in the most friendly manner for a user viewing this
`content from a screen or window of a certain size. For
`
`example, if a size of a display screen or window allows,
`links are displayed with some text or pictures to which they
`are linked. Conversely, if a size of a screen or window does
`not allow display of all textual and icon information on a
`whole screen or window,
`the web page is mapped into
`hierarchically linked new smaller pages that fully fit the
`current display or window. The unique display strategy of
`the invention is provided by a web page adaptation scheme
`that is implemented on a web site server, and also preferably
`partly incorporated on a client’s computer such as in a web
`browser (e.g., as a java appelet). This adaptation strategy
`employs variables that provide size of screen and/or window
`information associated with the visual display from which a
`call to a web site was initiated.
`
`Advantageously, any type of display device and associ-
`ated screen can be provided by a user: e.g., webphone or
`palmtop. Also, any size window may be displayed on such
`screen. The display adaptor of the present invention effi-
`ciently provides for special marks to be incorporated into
`scripts (e. g., URL) which describe format and link hierarchy.
`For example, let a first page (in some standard format) have
`icons 11, 12 13, and 14 and links L1, L2, L3 and L4. Assume
`that icons 11 and 12 have a common topic that can be
`represented by the icon 112 and icons 13 and 14 have another
`common topic that can be represented by icon 134. Similarly,
`assume links L1, L2 and L3 are related to some topic that
`can be represented by a link L123. Then, according to the
`invention, if the web site is viewed on a display that is much
`smaller than a standard display, the viewer sees, e.g., icons
`112 and 134 and links L123 and L4, i.e., four items instead
`of eight items. In order to access 11 or 12, the user must select
`icon 112 (e.g., by clicking on the icon using a conventional
`computer mouse) and the icons 11 and 12 are displayed.
`Similarly,
`the user can view other hierarchically ordered
`links. Conversely, if the user views the web site on a screen
`that is larger than a standard display screen, not only are
`icons 11, 12, 13, 14 and links L1, L2, L3, L4 displayed, but
`some other icons and links that are hierarchically related to
`those items are displayed.
`The present invention also preferably provides a semantic
`interpreter module that automatically decides how to fold or
`expand the content of web pages depending on a size of a
`screen or window without using preliminary marks left by
`web designers. This semantic module can be formed as a
`Finite State Automata (FSA) system whose states and arcs
`correspond to different web page appearances (e.g., links,
`titles, sizes of words, semantic interpretation words in links
`and titles, relative position of main items on pages). It is to
`be understood that FSA is a concept associated with a finite
`system whose states correspond to some situations and
`whose arcs correspond to some transition rules. An FSA
`system is among the simplest computing machines. FSA is
`well known in the art with extensive literature associated
`
`therewith, e.g., Gerald Gazdar & Chris Mellish, “Natural
`Language Processing in POP-11,” Addison-Wesley Publish-
`ing Co., New York 1989. As described therein, simple
`semantic notions may be represented in a formal language
`and instructions are provided on what should be done when
`certain semantic data is obtained. The most natural applica-
`tion for FSA are situations where, first, semantic notions
`should be associated with some input data and, second, rules
`should be produced on what actions should follow given
`
`Ex. 1008 / Page 18 of 29
`
`Ex. 1008 / Page 18 of 29
`
`
`
`US 6,300,947 B1
`
`3
`semantic notions. As a consequence of this fact, an inter-
`preter module, e.g. a semantic interpreter module can be
`represented as FSA. As an example,
`interpretation of a
`symbol “HR” may be considered as a decorative element.
`This interpretation could be done using FSA methodology in
`which states correspond to some words of URL script and to
`a size of a display that is available, etc. Rules (that are
`represented by arcs) would require actions, e.g. “underline”
`in some special way some words if HR was presented and
`there is enough space. But always underline words in some
`way if they represent links, since links are typically recog-
`nized as underlined words. More complex sequences of
`states and rules could be associated with interpreting of
`icons. Icons would be states, arcs would correspond to
`sequences of rules on extracting a content (other states) from
`pictures in icons or titles (other states) in icons if they are
`available, etc. It is also to be appreciated that other tech-
`niques may be used to form the semantic interpreter module.
`For example, formal methods associated with expert knowl-
`edge system methodology may be used.
`Further, the present invention provides means for count-
`ing how often each link on a page is visited. Links can be
`ordered via these counts and, as a result, on small screens or
`windows, links with higher scores are displayed first. Still
`further, the present invention provides a statistical approach,
`as will be explained, to formatting web pages via decision
`trees with questions about web page appearance, i.e., seman-
`tic interpretation. This decision tree can be trained on a set
`of examples pertaining to how web pages were designed.
`Decision trees are a special way to represent questions, as
`will be explained. Nodes represent a set of questions that are
`asked at
`this node and links to other nodes depend on
`answers to those questions. The other nodes that are con-
`nected to the first node in the decision trees represent another
`set of questions and so on. For example, at the first node A
`of a web related decision tree one can ask: Is this an icon?
`This node leads to two different nodes. For YES answer, A
`is connected to B1 and for NO answerAis connected to B2.
`
`The node B1 may contain a question: Is there a title in this
`icon? A node B2 can contain questions that clarify how an
`object in question is represented (Is this a link?, Is this a
`picture?, etc.) In statistical trees questions (splits) are found
`statistically (as explained in the text). In a binary tree, each
`(parent) node is connected with two (son) nodes, each of
`which is a parent node for next two (son) nodes on lower
`level. Nodes in binary trees correspond splits of sets in two
`subsets (that are interpreted as questions). For example, a set
`can be pictures. A first subset consists of pictures that
`contain living objects (people, animals) and the second
`subset could consist of objects that do not represent living
`objects (e.g. houses, cars etc.). This split represents some
`question about picture content. Statistical methods for pro-
`ducing such splits are described herein.
`In one aspect of the present invention, computer-based
`apparatus for automatically adapting a viewable information
`signal received from a wide area network server for display
`on a display screen associated with a user computer system
`comprises: means for transmitting a user request signal from
`the user computer system to the network server, the user
`request signal including information relating to at least one
`display screen-related attribute associated with the user’s
`display screen and information specific to the user’s request;
`means for generating the viewable information signal in
`response to the information specific to the user’s request;
`and means for adapting the viewable information signal in
`response to the at least one display screen-related attribute to
`conform the information associated therewith to the user’s
`
`display screen when viewed.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`These and other objects, features and advantages of the
`present invention will become apparent from the following
`detailed description of illustrative embodiments thereof,
`which is to be read in connection with the accompanying
`drawings in which the same reference numerals are used
`throughout the various figures to designate same or similar
`components.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram illustrating components of a display
`screen and window size related web page adaptation system
`according to the invention;
`FIG. 2 is a diagram illustrating an exemplary configura-
`tion of a client machine and server computer for implement-
`ing features of the invention;
`FIG. 3 is a diagram of a web page adaptor server
`according to the invention;
`FIG. 4 is a diagram illustrating a client web page adaptor
`module according to the invention;
`FIG. 5 is a diagram illustrating an exemplary display
`mode message according to the invention;
`FIG. 6 is a diagram illustrating an example of interpre-
`tation of URL instructions and matching with a display or
`window size;
`FIG. 7 is a diagram illustrating an example of an original
`and folded web page according to the invention;
`FIG. 8 is a diagram illustrating an automatic web page
`adaptation module according to the invention;
`FIG. 9 is a diagram illustrating an operator module
`according to the invention;
`FIG. 10 is a diagram illustrating an example of prioriti-
`zation dependent web page representation according to the
`invention;
`FIG. 11 is a diagram illustrating an example of depth web
`page representation according to the invention;
`FIG. 12 is a diagram illustrating an example of data
`separation according to the invention;
`FIG. 13 is a diagram illustrating an example of adaptation
`of a web page via semantic criteria according to the inven-
`tion;
`FIG. 14 is a diagram illustrating an example of transfor-
`mations of icons according to the invention;
`FIG. 15 is a diagram illustrating an example of an
`application of the invention to a display or window of
`non-conventional shape; and
`FIG. 16 is a flow chart illustrating a statistical approach to
`formatting web page data according to the invention.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`Referring initially to FIG. 1, a diagram illustrating com-
`ponents of a display screen and window size related web
`page adaptation system according to the invention is shown.
`The basic components of the display screen and window size
`related web page adaptation system are shown in relation to
`other components of the World Wide Web (W) in FIG.
`1. While the invention is illustrated and described in the
`
`context of the WWW, the invention may be implemented on
`other similar networks and/or related networks that comprise
`the Internet (e. g., ftp). Block 100 represents a client machine
`(computer) that runs a web browser program 101 and a client
`web page adaptor module 112, as will be explained, and
`includes a display device 113. The client machine 100 is
`
`Ex. 1008 / Page 19 of 29
`
`Ex. 1008 / Page 19 of 29
`
`
`
`US 6,300,947 B1
`
`5
`operatively coupled to a server 104. The server 104 is
`operatively coupled to web sites 105, 106 and a web page
`adaptor server 107. The web page adaptor server 107 is
`operatively coupled to servers 114.
`It is to be appreciated that the client machine 100 may
`take many forms given the various existing types of devices
`having displays capable of viewing web site related data,
`e.g., personal computer (PC), multiscreen PC,
`laptop
`computer, webphone. However, the present invention is not
`limited to only these machines and may be implemented
`with other diverse client machines adapted to have commu-
`nication and browsing ability, e.g., palmtops, calculator, web
`TV, remote control devices, clocks, digital cameras, vehicle-
`based computers,
`industrial facility-based computers. Of
`course, the above list is not exhaustive. Also, each display
`type may also be capable of displaying various sized win-
`dows (shells). Examples of such windows are shown on
`some of the display types (11341—1136), and denoted as
`windows 115, in FIG. 1.
`FIG. 2 illustrates an exemplary configuration of a client
`machine 100 including a CPU 10 operatively coupled to
`RAM 14, ROM 16, mass storage device 18, input device 20
`and output device 22 via bus 12. It is to be appreciated that
`the components of the present invention, to be described in
`detail herein in accordance with the related figures, are
`implemented as software modules stored in ROM 16 and/or
`mass storage device 22 and, as required, loaded into RAM
`14, over bus 12, and executed (run) by the central processing
`unit 10. The CPU 10 running the software modules may be
`responsive to user input provided by input device 20, e.g.,
`keyboard, keypad, mouse, touchscreen. Further, the CPU 10
`running the software modules may output results therefrom
`to output device 22, e.g., display, printer, speaker. Also, a
`modem device 24 is operatively coupled to the bus 12 which
`provides the communication interface between the client
`computer and the network of servers. Accordingly, while
`FIGS. 1, 3, 4, 6, 8 and 9 could be considered block diagrams
`of apparatus for carrying out the invention, such figures may
`also be considered flow diagrams. In this regard, it should be
`appreciated that since the invention is carried out utilizing
`one or more suitably programmed general purpose digital
`computers, e.g., as shown in FIG. 2, the functional elements
`depicted in the figures are exemplary of functional elements
`which would be established within the computer by such
`programming. Thus, said figures may be considered to
`illustrate a suitable and preferred processor architecture for
`practicing the invention which may be achieved by pro-
`gramming of a general purpose processor, e.g., CPU 10. Of
`course, special purpose processors configured in the manner
`depicted in said figures may be employed.
`In addition, as shown in FIG. 1, it is to be understood that
`the web page adaptor server 107 and servers 104 and 114
`may have similar architectures as shown in FIG. 2 and, as a
`result, the functional elements shown in the figures relating
`thereto may be software modules executed on one or more
`general or special purpose processors, as explained above.
`As mentioned, and a key impetus for
`the present
`invention, the display 113 for a client machine 100 may
`include different sized, shaped and configured monitors
`(displays), as shown in a few examples illustrated within
`block 113, e.g., a standard PC monitor (113a), a multiscreen
`PC system (113b), a laptop display (113C), a webphone
`(113d), and a watch display (1136). Of course, the types of
`displays shown in block 113 are exemplary and not intended
`to be an exhaustive illustration of the types of displays which
`may be used in accordance with the invention. Also, each
`display may include various sized windows (shells) for
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`displaying icons and information. Examples of such win-
`dows are shown on some of the display types shown in FIG.
`1 (113a—113a) and denoted as windows 115.
`Given the above-described interconnectivity of a pre-
`ferred display screen and window size related web page
`adaptation system of the invention, the operation thereof
`will now be explained. The client 100 sends (via modem 24)
`a request message 102, conforming to the URL (uniform
`resource locator) standard, at some port using standard
`TCP-IP Internet connection 108 to a server machine 104.
`
`The port protocol between the client machine 100 and the
`server 104 is preferably HTTP (hypertext
`transport
`protocol). As is known, the URL serves as the address that
`defines the route to a file on a server computer on the World
`Wide Web or any other Internet facility. The request message
`102 conforming to the URL standard, thus, provides the
`client with access to web pages which, themselves, have
`URLs embedded therein to provide hypertext links to other
`pages.
`
`Simultaneously with the request message 102, a client
`sends a display mode message 103. This display mode
`message 103 includes several characteristics or parameters
`of the client display 113. One parameter is a display size that
`is represented as a height and width (e.g., 360 by 400 pixels).
`Other characteristics can include, for example: a character
`format and size; memory related information such as, for
`example, a memory address; window size, etc.
`The memory address information is specific to the oper-
`ating system running on the client’s machine 100,
`i.e.,
`Windows 95, OSZ, etc. For instance, Windows 95 uses a
`linear addressing model that provides access up to 4 GBytes
`of RAM. The 4 GBytes of potential addresses is divided into
`4 kByte sections, each of which is called a page. Apage table
`is used to map virtual addresses to physical memory loca-
`tions. The first megabyte of memory is used for MS-DOS
`virtual machine operations. The addresses between 4
`MBytes and 2 GBytes are used by 32-bit programs as their
`base operation. Each running 32-bit application gets its own
`local map of these two gigabytes of addresses. When a
`program calls an address, it is translated internally by the
`Windows 95 virtual memory manager into the physical
`memory address that contains the information that
`the
`program wants to access. Previous versions of DOS and
`Windows divided memory into conventional, expanded and
`extended memory specifications. The memory related infor-
`mation allows to calculate how much memory is available to
`display stored information. This information is needed for
`organization of data for display, for fast access to data, etc.
`When addresses of different kinds of data are given, a
`storage for some data allocation can be found as the differ-
`ence of these addresses.
`
`The display mode message can be represented as a mode
`number that uniquely defines display parameters. For
`instance, it is contemplated by the invention that tables may
`be created which contain display characteristics or param-
`eters associated with a given display terminal and each table
`can be identified by a unique mode number. Eventually, if
`the adaptor server 107 contained tables (stored in its mass
`storage 18) of most common display parameters associated
`with display screens, then the user’s machine 100 need only
`transmit the mode number and, in response, the adaptor
`server 107 could locate the appropriate table and use the
`information accordingly.
`Still further, additional requirements specified by a user of
`the client machine 100 can preferably be included in the
`display mode message 103. These additional requirements
`
`Ex. 1008 / Page 20 of 29
`
`Ex. 1008 / Page 20 of 29
`
`
`
`US 6,300,947 B1
`
`7
`may relate to sizes and shapes of icons, fonts, priorities,
`depth, etc., as will be explained. An example of a display
`mode message 103 with user requirements is shown in FIG.
`5. A display mode message 103 can be stored in a special
`file. In Windows95/NT machines, a display mode message
`can be stored in registry. Another place where a display
`mode messages may reside is within “cookies.” As is
`known, cookies are messages that supply a web browser
`with information about user preferences.
`The request message 102 defines a connection (route) 109
`by a server 104 to a web site 106 and web pages from the
`web site 106 are sent back to the server 104 via connection
`
`110. Phantom lines drawn through the server 104 in FIG. 1
`serve to illustrate the path direction functions that the server
`104 performs. Other conventional functions may be per-
`formed by the server 104. Nonetheless, in the server 104, the
`display mode message 103 and the content of the web pages
`received over connection 110 are sent to web page adaptor
`server 107 via a connection 110a. While server 104 shows
`
`that the display mode message is routed to the web site and
`then to the adaptor server 107 with the web page data from
`the web site, it is to be understood that this is not necessarily
`required and thus the display mode message could be sent
`directly to the adaptor server 107 from the server 104.
`Advantageously,
`the web page adaptor server 107 trans-
`forms web pages received from web site 106, via server 104,
`to adapt the content of the web pages to the size of the
`display 113 and also to satisfy the user’s requirements as
`specified in the display mode message 103. Some examples
`of operations that the web page adaptor server 107 performs
`are the following: stripping objects from a web page if the
`display size of display 113 is small or adding content of links
`to a web page if the display size of display 113 is large. A
`detailed description of the web page adaptation operation of
`the web page adaptor server 107 will be given below in the
`context of FIGS. 3, 8 and 9. The web page adaptor server
`107 can also provide transformations of web pages obtained
`from other server machines, denoted as servers 114 in FIG.
`1, in the same way as for the server 104. That is, a single
`server 107 may service a plurality of other servers on the
`network.
`
`The transformed set of pages from server 107 are sent to
`the server 104, via connection 111a, and then onto the client
`machine 100 from the server 104, via connection 111. The
`adapted set of web pages can be either displayed on the
`display device 113 or sent to the client web page adaptor
`module 112. The adaptor module 112 is preferably installed
`at the client machine 100. The adaptor module 112 performs
`additional specific operations that may not be available at
`the web display adaptor server 107. One of the most
`important such local operations is adaptation of web pages
`to a window or shell. A window or shell can occupy a
`fraction of the screen of the display device 113 and is
`typically characterized by smaller sizes. A detailed descrip-
`tion of the operation of the client-based web page adaptor
`module 112 is given below in the context of FIG. 4.
`Referring now to FIG. 3, a diagram illustrating the web
`page server adaptor 107 and operation thereof is shown. The
`content of web pages 201 (e.g., URL/CGI information),
`received from the web site 106 via the server 104,
`is
`provided to a URL/CGI instruction interpreter module 202.
`The interpreter module 202 interprets the URL/CGI instruc-
`tions. That is, the interpreter module 202 receives the web
`page data containing the URL/CGI instructions and reads,
`therefrom, numeric data associated with the URL/CGI tex-
`tual instructions. Such numeric information includes, for
`example, icon and picture sizes, fonts, lengths of text and
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`locations where these items are to be placed in the displayed
`web page. It is to be understood that the basic URL/CGI
`instructions, which include this numeric data, are provided
`by a web page designer. Web pages produced via basic
`URL/CGI instructions will typically fit either a format of a
`display of a designer’s computer or fit most typical monitors
`belonging to users who usually visit the designer’s web site.
`However, therein lies the problem that requesters of such
`web pages face when attempting to view such information
`on a screen that does not fall into one of the categories of
`screens for which the web page designer designed the data
`to fit. As mentioned, such a problem is part of the impetus
`for the present
`invention. An example of the types of
`numeric data that are included in a typical URL are shown
`in block 500 of FIG. 6.
`
`It is to be understood that CGI refers to Common Gateway
`Interface (CGI) scripts which, as is known, are programs
`written in a script language which function as the glue or
`interface between HTML (Hypertext Markup Language—
`the document format used on the World Wide Web) pages
`and other programs, e.g., database programs. The phrases
`URL and URL/CGI are generally used interchangeably
`throughout this description.
`The interpreter module 202 then provides the numeric
`data read from the basic URL/CGI instructions to a match-
`ing module 203. Also provided