`Popp et at
`
`10 Patent No
`45 Date of Patent
`
`Us 6249291 B1
`Jun 19 2001
`
`Iii 11111111111111
`
`111111111111111
`US006249291B1
`
`54 METHOD AND APPARATUS FOR
`MANAGING INTERNET
`TRANSACTIONS
`
`75 Inventors Nicolas Popp Menlo Park Bruce Ong
`Charles DHarcourt
`both of San
`Francisco all of CA US
`
`73 Assignee NeXT Software Inc Redwood City
`CA US
`
`Notice
`
`continued pros
`issued on
`This patent
`filed under 37 CFR
`ecution
`application
`1.53d and is subject
`to the twenty year
`term provisions of 35 U.S.C
`patent
`154a2
`
`Subject
`
`the term of this
`to any disclaimer
`is extended or adjusted under 35
`patent
`U.S.C 154b by
`
`days
`
`21 Appl No 08/532491
`22
`Sep 22 1995
`51
`52
`58
`
`Filed
`
`Int Cl.7
`U.S Cl
`
`Field of Search
`
`GO6T 9/00
`345/473
`395/761 326332
`707/2 345/473
`
`Documents Posted on World Wide Web The WadsWorth
`last modified Aug 10 1995
`Concept
`Documents Posted on World Wide Web Building Client/
`Server/Web Applictaions How Fast Can Your Business
`Respond retrieved May
`1997
`Documents Posted on World Wide Web The ObjectOri
`Environment For Creating Dynamic
`ented Development
`Web Applications Visual Wave 2.0 retrieved May
`1997
`Aronson HTML3 Manual of Style pp 4445 112123
`1995
`
`Introduction
`To Visual Basic by Application Developers
`Training Co pp 188189 1994
`Aronson HTML
`Manual of Style pp 111123 1995
`
`cited by examiner
`
`Primary ExaminerAlmis
`Jankus
`74 Attorney Agent or FirmThe Hecker Law Group
`57
`ABSTRACT
`
`An object-oriented
`the ability to develop
`approach provides
`can be
`transactions Local applications
`and manage Internet
`using any workstation connected to the Internet
`accessed
`regardless of the workstations configuration Some or all of
`Web page can
`be generated dynamically using
`input
`page generated
`runtime or
`received
`in
`returned
`data source e.g database or
`from an external
`retrieved
`electronic mail system When the Web page definition is
`rendered the information contained in templates declara
`tion files and objects are used to generate standard
`definitions State information is maintained
`across transac
`tions Using state information virtual applications sessions
`transactions and pages can be implemented Self-contained
`modules or components provide the ability to share imple
`mentations and create multi-content
`documents Event
`objects can be used to assist
`
`in event handling management
`
`at
`
`25 Claims 22 Drawing Sheets
`
`PUSH
`
`1106
`
`VACATION REQUEST
`Name
`Joseph Smith
`Vacation 1/23/95
`2/15/95
`
`Approved
`
`56
`
`References Cited
`
`U.S PATENT DOCUMENTS
`
`5297249
`5600831
`5623656
`
`3/1994
`
`2/1997
`
`Bernstein et
`
`Levy et
`
`4/1997
`
`Lyons
`
`395/329
`
`707/2
`
`395/610
`
`OTHER PUBLICATIONS
`
`Pricing ModelWebRex-
`Electronic Mail Message
`TRUTH wanted Sep 10 1995 Ted Shelton Information
`Technology Solutions Inc
`
`Prepare
`Response
`
`1104
`
`pull
`
`Database
`
`1108oi push
`
`1100\
`Handle
`
`Request
`
`1108
`
`push
`
`__
`
`push
`
`HI
`
`PULL
`
`1106
`
`.7
`
`VACATION REQUEST
`Name
`Joseph Smith
`Vacation 1/23/95
`2/15/95
`Approved
`
`Petitioner IBM – Ex. 1013, p. 1
`
`
`
`Figure
`
`Petitioner IBM – Ex. 1013, p. 2
`
`
`
`Figure
`
`224
`
`214
`
`210
`
`206
`
`202
`
`ServerDomain
`
`CorporateNetwork
`
`208
`
`200
`
`Petitioner IBM – Ex. 1013, p. 3
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet
`
`of 22
`
`US 6249291 B1
`
`Lf
`H1I
`
`Ii
`
`C-
`
`cr
`
`Petitioner IBM – Ex. 1013, p. 4
`
`
`
`Figure3
`
`B
`
`Package
`
`Package
`
`Colors
`
`Image
`
`336
`
`Dealers
`
`Package
`
`Package
`
`Colors
`
`Image
`
`335
`
`Dealers
`
`Price
`Type
`
`Model
`
`Price
`Type
`
`Model
`
`334
`
`Image
`
`Dayca
`
`Sortb
`
`y
`
`Type
`
`Price
`
`Models
`
`332
`
`Welcome
`
`Petitioner IBM – Ex. 1013, p. 5
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet
`
`of 22
`
`US 6249291 B1
`
`402
`
`404
`
`410
`
`416
`
`418
`
`412
`
`414
`
`Figure
`
`Petitioner IBM – Ex. 1013, p. 6
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet
`
`of 22
`
`US 6249291 B1
`
`508
`
`502
`
`504
`
`506
`
`508
`
`510
`
`Figure 5A
`
`Petitioner IBM – Ex. 1013, p. 7
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet
`
`of 22
`
`US 6249291 B1
`
`522
`
`No
`
`create session
`
`526
`
`528
`
`530
`
`532
`
`534
`
`Figure 5B
`
`Petitioner IBM – Ex. 1013, p. 8
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet
`
`of 22
`
`US 6249291 B1
`
`No
`
`550
`
`Figure 5C
`
`Petitioner IBM – Ex. 1013, p. 9
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet
`
`of 22
`
`US 6249291 B1
`
`552
`
`554
`
`create root object
`for object graph
`
`send
`
`prepareResporise
`message to page
`object
`
`Ii
`
`send
`genera teDescrip tion
`message to page object
`
`556
`
`return response
`to server
`
`558
`
`560
`
`Figure 5D
`
`Petitioner IBM – Ex. 1013, p. 10
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet 10 of 22
`
`US 6249291 B1
`
`562
`
`No
`
`566
`
`568
`
`572
`
`retrieve session
`using session ID
`
`retrieve session
`key from sessioJ
`
`encrypt request
`information
`
`Sr
`
`check portion of
`encrypted string with
`digital signature
`
`574
`
`Yes
`
`580
`
`Figure 5E
`
`578
`
`Petitioner IBM – Ex. 1013, p. 11
`
`
`
`606
`
`608
`
`6A
`
`Figure
`
`NSTAGNAME-FORM
`
`HTML
`
`Template
`
`valueemployeename
`
`thanksUseremployee
`
`FORMEMPLOYEENSWTexI
`FORMNSWFormaction
`
`Association
`
`pteio3ol
`
`602
`
`SUBMiTVALUESUBMIT
`
`NSTAG
`
`/NSTAC
`
`/HTML
`
`INPUTTYPE
`NAMENSTAGNAMEEMPLOYEE
`
`Petitioner IBM – Ex. 1013, p. 12
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet 12 of 22
`
`US 6249291 B1
`
`10
`
`10
`
`nS
`
`Petitioner IBM – Ex. 1013, p. 13
`
`
`
`Figure6
`
`C
`
`654
`
`652
`
`650
`
`646
`
`624
`
`642
`
`688
`
`690
`
`686
`
`692
`
`CalendarComponent
`
`CAL
`
`IDEMPEmployeeComponent
`
`696
`
`682
`
`Associations
`
`680
`
`Petitioner IBM – Ex. 1013, p. 14
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet 14 of 22
`
`US 6249291 B1
`
`702
`
`704
`
`706
`
`708
`
`Figure 7A
`
`Petitioner IBM – Ex. 1013, p. 15
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet 15 of 22
`
`US 6249291 B1
`
`702
`
`704
`
`706
`
`708
`
`740
`
`718
`
`742
`
`746
`
`750
`
`744
`
`748
`
`Figure 7B
`
`Petitioner IBM – Ex. 1013, p. 16
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet 16 of 22
`
`US 6249291 B1
`
`702
`
`706
`
`716
`
`718
`
`726
`
`Figure 7C
`
`Repetition
`Controller
`
`730
`
`734
`
`Petitioner IBM – Ex. 1013, p. 17
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet 17 of 22
`
`US 6249291 B1
`
`send create message to
`documents root object
`
`identify children
`of root object
`
`802
`
`804
`
`806
`
`808
`
`810No
`
`Figure
`
`Petitioner IBM – Ex. 1013, p. 18
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet 18 of 22
`
`US 6249291 B1
`
`900
`
`902
`
`904
`
`912
`
`906
`
`914
`
`916
`
`922
`
`928
`
`o1
`
`910
`
`918
`
`924
`
`oI
`
`Joi
`926oI
`
`Figure 9A
`
`Petitioner IBM – Ex. 1013, p. 19
`
`
`
`U.S Patent
`
`Jun 19 2001
`
`Sheet 19 of 22
`
`US 6249291 B1
`
`952
`
`954
`
`Response
`
`Page
`
`Figure 9B
`
`956
`
`958
`
`960
`
`962
`
`Petitioner IBM – Ex. 1013, p. 20
`
`
`
`Figure1
`
`0
`
`1030
`
`1028
`
`1026
`
`1010
`
`1008
`
`1006
`
`___
`
`__
`
`__
`
`___
`
`1024
`
`1022
`
`xt
`
`cEoiier
`
`Session
`
`Application
`
`1012
`
`1004
`
`1002
`
`xt
`
`o1ler
`
`Petitioner IBM – Ex. 1013, p. 21
`
`
`
`2/15/95
`
`1/23/95
`JosephSmith
`
`Approved1/10195
`Vacation
`Name
`
`hA
`
`Figure
`
`PULL
`
`1106
`
`1106
`
`VACATIONREQUEST
`
`1104
`
`2/15/95
`
`1/23/95
`
`JosephSmith
`
`Approved
`Vacation
`Name
`
`PUSH
`
`VACATIONREQUEST
`
`1104
`
`Request
`Hand\
`
`1102
`
`Response
`Prepar
`
`1100
`
`Petitioner IBM – Ex. 1013, p. 22
`
`
`
`2/15/95
`
`JosephSmith
`
`Approved
`Vacation1/23/95
`Name
`
`VACATIONREQUEST
`
`1106
`
`2/15/9
`
`5
`
`JosephSmith
`
`Approved
`Vacation1/23/95
`Name
`
`VACATIONREQUEST
`
`1106
`
`11B
`
`Figure
`
`PULL
`
`1110
`
`PUSH
`
`1110
`
`push
`
`push
`
`t.
`
`1108
`
`1104
`
`Request
`
`Handle
`
`1100N
`
`push
`
`pull
`
`1108
`
`1104
`
`Response
`Prepare
`
`Petitioner IBM – Ex. 1013, p. 23
`
`
`
`US 6249291 B1
`
`METHOD AND APPARATUS FOR
`MANAGING INTERNET
`TRANSACTIONS
`
`BACKGROUND OF THE INVENTION
`
`Field of the Invention
`
`This invention relates to the development
`ment of transactions
`on the Internet
`
`and manage
`
`Background
`
`is
`
`interconnected
`
`worldwide matrix of
`The Internet
`computers An Internet
`on the
`computer
`client accesses
`network via an Internet provider An Internet provider is an
`client e.g an individual or
`organization that provides
`other organization with access
`to the Internet via analog
`telephone line or Integrated Services Digital Network line
`for example
`client can for example download
`file
`from or send
`to another
`an electronic mail message
`using the Internet
`
`computer/client
`
`location of
`
`activated
`
`10 at
`
`If
`
`to
`
`is
`
`the data
`
`executing
`
`at
`
`20
`
`25
`
`30
`
`40
`
`50
`
`is
`
`graphical
`
`plifies access
`communicate
`cated command
`
`user
`
`to learn
`
`compli
`
`typically provides
`
`are
`
`client
`
`tocol
`
`client must search for
`file on the Internet
`To retrieve
`the file make
`connection to the computer on which the file
`is stored and download
`the file Each of these steps may
`and
`to multiple dis
`involve
`access
`separate application
`similar computer systems The World Wide Web WWW
`simpler more uniform means for
`was developed to provide
`accessing information on the Internet
`The components of the WWW include browser software
`network links and servers The browser software
`or
`i.e front-end that sim
`browser
`interface
`browser allows
`to the Internet
`client to
`request without having
`browser
`syntax
`interface GUI
`for displaying information
`graphical
`input Examples of browsers currently avail
`and receiving
`able include Mosaic Netscape
`and Cello
`Information servers maintain the
`information on the
`WWW and
`capable of processing
`request
`Hypertext Transport Protocol HTTP is the standard pro
`for communication with an information server on the
`WWW HITP has communication methods
`that allow cli
`ents to request data from server and send information to the
`server
`request the client contacts the HTTP server
`To submit
`to the HTTP server The request
`and transmits the request
`contains the communication method requested e.g GET an
`from the server or POST data to an object on the
`object
`server The HTTP server responds to the client by sending
`status of the request and the requested information The
`connection
`between the client
`and
`is then terminated
`the
`HTTP server
`client and an HTTP
`therefore
`server
`initiation
`request
`and
`termination
`
`connection
`
`between
`
`has four stages
`
`several
`
`response transmittal
`transmittal
`connection
`can only process
`single transaction or interac
`tion between the client and the HTTP server
`The HTTP server does not
`retain any information about
`has been terminated HTTP
`the request after the connection
`client can make
`stateless protocol That
`is therefore
`is
`requests of an HTTP server but each
`individual
`request The
`is treated independent
`of any other
`request
`server has no recollection of any previous
`request
`An addressing scheme is employed to identify Internet
`resources e.g HTTP server file or program This address
`ing scheme is called Uniform Resource Locator URL
`URL contains the protocol to use when accessing the server
`e.g HTTP the Internet domain name of the site on which
`the server is running the port number of the server and the
`location of the resource in the file
`structure of the server
`
`The WWW uses
`concept known as hypertext Hypertext
`document
`the ability to create links within
`provides
`move directly to other
`information To activate the link it
`only necessary to click on the hypertext link e.g word or
`phrase The hypertext link can be to information stored on
`infor
`different site than the one that supplied the current
`URL is associated with the link to identify the
`mation
`information When the link is
`the additional
`the clients browser uses the link to access
`the site specified in the URL
`file the HTTP server
`is for
`locates
`the client request
`to the client An HTTP server also has
`the file and sends it
`the ability to delegate work to gateway programs The
`Common Gateway Interface CGI specification
`defines the
`by which HTTP servers
`15 mechanisms
`communicate with
`gateway program is referenced using
`gateway programs
`URL The HTTP server activates the program specified in
`the URL and uses CGI mechanisms
`to pass program data
`to the gateway program Data is passed
`sent by the client
`from the server
`to the gateway program via command-line
`arguments standard input or environment variables The
`gateway program processes the data and returns its response
`to the server using CGI via standard input for example
`forwards the data to the client using the HTTP
`The server
`browser displays information to
`client/user
`as pages
`or documents
`language is used to define the format for
`page to be displayed in the WWW The language is called
`WWW page is
`Language HTML
`Hypertext Markup
`client as an HTML document The browser
`transmitted to
`and produces
`the client parses the document
`page based on the information in the HTML
`
`structural
`
`that
`
`that
`
`is
`
`characters
`
`displays
`document
`HTML is
`is comprised
`language
`of
`HTML elements
`other An
`are nested within each
`HTML document
`file in which certain strings of
`text
`the document
`and
`called tags mark regions of
`to them These regions
`are called
`assign special meaning
`HTML elements Each element
`name or tag An
`has
`element
`can have
`attributes
`that specify properties of
`the
`element Blocks or components
`include unordered list
`text
`boxes check boxes radio buttons for example Each block
`has properties such as name type and value The following
`provides an example of the structure of an HTML document
`HTML
`HEAD
`elements valid in the document head
`/HEAD
`BODY
`elements valid in the document body
`/BODY
`/HTML
`Each HTML element
`and The name of the HTML element
`
`is delimited by the pair of characters
`is contained
`
`The combination of the
`55 within the delimiting characters
`name and delimiting characters is referred to as
`tag Each
`element
`is identified by its tag In most cases each element
`start and ending tag The ending tag is identified by the
`that
`follows the first
`inclusion of an another character
`
`has
`
`60 delimiting character
`HTML is
`language With the exception of
`hierarchical
`the HTML element all other elements are contained within
`another element The HTML element
`encompasses
`identifies the enclosed text as an HTML
`entire document
`65 document The HEAD element
`HTML element
`and includes
`information about
`document The BODY element
`
`the
`
`is contained within the
`
`the HTML
`
`is contained within the
`
`It
`
`Petitioner IBM – Ex. 1013, p. 24
`
`
`
`US 6249291 B1
`
`are described
`
`independent
`used to
`is constructs
`remain local
`
`to the
`
`of
`
`HTML The BODY element contains all of the text and other
`information to be displayed Other elements
`by any HTML reference manual
`Web-based
`access has been used for simple information
`publishing that consisted of static data and no logic For
`client request might request another page The
`example
`HTTP server fetches
`pre-defined Web page using the URL
`in the request The Web page is returned to the
`contained
`client Web-based
`to dynamic infor
`access
`has progressed
`mation publishing that allows some simple queries and some
`database and display database
`access
`limited logic to
`information Web applications
`have been used in commerce
`via the Web e.g personal
`to order articles of manufacture
`stereo cassette deck Commerce applications
`provide some
`limited logic and allow Web page to change based on the
`client
`input
`Web-based
`are developed
`applications
`other Web-based applications That
`implement one Web-based application
`application They are not shared
`common
`gateway interface program is writ
`Currently
`single transaction Minimal state informa
`ten to process
`tion is retained within the HTML document
`It would be
`to use object-oriented HTML elements to manage
`and to maintain state infor
`series of Internet
`mation across Internet
`transactions It would be beneficial
`be able to generate HTML documents dynamically using
`information from previous transaction corporate data and
`data retained in HTML element objects It would be ben
`to be able to share application
`development
`
`form
`form i.e the
`the context processes
`the
`received
`received from the client
`that includes the client request and
`processes any return form i.e form sent
`in
`to the client
`response to the client request
`the Web page is dynamically
`All or some portion of
`are associated with elements
`generated Classes of object
`that defined Web page e.g HTML elements By objec
`tifying Web pages it
`is possible to gain the advantages of
`programming with Web pages These advan
`object-oriented
`development
`through object
`tages include rapid application
`and
`
`Object
`instantiated
`
`using the
`
`respective
`
`reuse transparent distribution simplified maintenance
`can
`be achieved
`scalability These advantages
`common interface
`provided by Web browsers
`instances associated with definitional elements are
`during execution
`to manage their
`the Web page Control objects
`are associated
`portions of
`with definitional elements to facilitate
`the flow of informa
`tion to and from external data sources
`Definitional elements can be grouped together
`group
`these definitional
`object class provides the ability to access
`elements as
`
`group
`repetition control allows
`times Each activation of
`
`type of control referred to as
`special
`group to be activated multiple
`group of definitional elements
`repeating portion of the Web
`
`generates one occurrence of
`page
`Self-contained modules or components can be accessed
`to provide additional definition for the Web page
`control
`is associated with one of these modules to manage its
`object
`the Web page definition
`The
`integration into the rest of
`self-contained modules can be shared by one or more Web
`and/or across multiple appli
`pages in
`single application
`server 316 or any other
`on application
`cations executing
`
`server
`page definition has some combination of the following
`templates associations and custom
`associated resources
`template contains an initial definition for some or all
`logic
`of the page At runtime some or all of the initial definition
`can be dynamically altered Associations provide declaration
`custom
`and binding information Custom logic provides
`
`functionality
`
`10
`
`20
`
`25
`
`30
`
`40
`
`reusable or sharable construct of the present
`can represent an
`is referred to as
`component
`component
`component has none
`entire page or some portion of
`page
`resource can be for example
`or more resources
`owns
`template association or custom logic
`component
`its associated resources
`One or more components
`can be combined
`to define
`can be defined using different defini
`page
`component
`tional constructs e.g HTML VRML PDF etc. By com
`single Web page
`document
`bining these components
`as
`can be derived from multiple definitional constructs
`for components An
`control class provides object cover
`the ability to associate Web object
`abstract class provides
`55 e.g an HTML element object with
`corporate object
`tree Sub
`generate static elements and modify an object
`classes of the control class inherit behavior
`from the abstract
`push and pull
`class Instances of these subclasses provide
`mode associative behavior
`In push mode data retrieved
`from an external data source or another source is used to
`Web page
`In pull mode data
`dynamically
`generate
`contained in the Web page can be stored into the context or
`corporate object
`that are themselves
`control object can have subcontrols
`can be pre-defined or generated
`control objects Subcontrols
`runtime The associative
`behavior
`of
`subcontrol
`
`invention
`
`is
`
`60
`
`65
`
`at
`
`attributed
`
`to the parent
`
`control object
`
`control object
`
`beneficial
`
`transactions
`
`eficial
`
`to
`
`across
`
`applications
`
`SUMMARY OF THE INVENTION
`
`information contained
`
`inven
`approach used by the present
`The object-oriented
`the ability to develop and manage Internet
`tion provides
`transactions An HTML document
`can be generated dynami
`cally Some or all of
`form can be generated based on input
`received in receive form generated at runtime or retrieved
`data source e.g database or electronic
`from an external
`mail system When the HTML document
`is rendered the
`in HTML templates declaration
`files and objects are used to generate standard HTML
`is maintained by
`client
`Information regarding
`request
`the client request The infor
`that
`the application
`processes
`mation is maintained
`state or context Different
`levels
`in
`invention
`of state information are maintained by the present
`The state level defines the duration and scope of the state
`information Storage policies define the method of storage
`used for state information By maintaining
`context having
`is possible to form virtual session with each user
`levels it
`such that an application
`can serve
`accessing an application
`in any order
`any request
`user can connect
`local
`Using the present
`invention
`Internet provider and use the Web to connect
`home page
`Once the connection
`is established the present
`invention is
`on the server side of the connection
`used with an application
`to dynamically generate Web pages The Web pages contain
`information and provide the ability for the user
`application
`on the users work
`browser executing
`input
`to specify
`station receives Web page from the Internet
`and sends
`user input via the Internet The present
`response containing
`invention can be used to generate Web pages in response to
`the user input Thus
`user can access an application located
`anywhere relative to the application
`server by using any
`local workstation hardware
`and software platform
`When
`is received by the application the
`client request
`application manages the update and retrieval of data from
`
`to
`
`to
`
`Petitioner IBM – Ex. 1013, p. 25
`
`
`
`US 6249291 B1
`
`activates
`
`subcontrols push and pull modes by forwarding
`received
`the activation message that
`request These
`Event objects are used to handle
`information and behavior
`event objects contain request
`to
`verify and process an client request Custom logic can be
`invoked during event handling The application manages the
`process and event objects
`
`it
`
`client
`
`118 may contain for example 32 address lines for address
`ing video memory 114 or main memory 115 The system bus
`32-bit DATA bus for
`118
`also includes for example
`transferring DATA between
`and
`among the components
`such as CPU 113 main memory 115 video memory 114 and
`mass storage 112 Alternatively multiplex DATA/address
`lines may be used instead of separate DATA and address
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG provides
`an example of
`to be used with the present
`puter
`FIG
`
`general purpose com
`invention
`
`illustrates
`
`block-level diagram that
`provides
`invention
`components of the present
`FIG 3A provides
`
`block-level diagram for accession
`
`on the World Wide Web WWW
`
`corporate
`application
`invention
`using the present
`FIG 3B provides
`an example of Web pages generated by
`an Automobile Shoppers application accessed
`via
`the
`WWW using the present
`invention
`FIG provides
`diagram of the object
`FIGS 5A5E provides
`request
`handling
`FIG 6Aprovides an example of resources associated with
`control
`FIGS 6B6C provide
`with component processing
`FIG 7A provides
`the object
`the HTML in Table Four is parsed
`tree of FIG 7A
`FIG 7B provides
`an example of the object
`and an associated repetition controller and repetition tem
`
`tree
`
`an example of
`
`process flow for
`
`client
`
`block-level diagram associated
`
`tree that
`
`is generated when
`
`plate
`tree of FIG 7B
`FIG 7C provides
`an example of the object
`that has been modified using
`repetition controller and
`template
`FIG illustrates
`rendering process flow
`FIGS 9A9B illustrate
`event handling object diagrams
`FIG 10 illustrates context objects
`FIGS 11A11B illustrate
`invention
`
`the push and pull modes of the
`
`present
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`method and apparatus
`and managing
`for developing
`is described
`following
`Internet
`transactions
`In the
`description numerous specific details are set forth in order
`
`more thorough
`the present
`description of
`to provide
`invention It will be apparent however to one skilled in the
`invention may be practiced without
`these
`art that
`the present
`specific details In other instances well-known features have
`not been described
`to obscure
`
`in detail
`
`so as not
`
`the
`
`invention
`
`general
`
`input
`
`input
`
`invention can be implemented on
`The present
`purpose computer such as illustrated in FIG
`keyboard
`110 and mouse 111 are coupled to
`bi-directional system
`bus 118 The keyboard and mouse are for introducing user
`to the computer system and communicating that user
`to CPU 113 The computer
`system of FIG
`also
`video memory 114 main memory 115 and mass
`includes
`storage 112 all coupled
`system bus 118
`to bidirectional
`and CPU 113 The
`110 mouse 111
`along with keyboard
`mass storage 112 may include
`both fixed and removable
`media such as magnetic optical or magnetic optical storage
`systems or any other available mass storage technology Bus
`
`15
`
`20
`
`25
`
`30
`
`40
`
`lines
`In the preferred embodiment of this invention the CPU
`10 113 is
`32-bit microprocessor manufactured
`by Motorola
`such as the 680X0 processor or microprocessor manufac
`tured by Intel such as the 80X86 or Pentium processor
`However any other suitable microprocessor or microcom
`puter may be utilized Main memory 115 is comprised of
`dynamic random access memory DRAM Video memory
`dual-ported video random access memory One port
`114 is
`of the video memory 114 is coupled to video amplifier 116
`The video amplifier 116 is used to drive the cathode ray tube
`CRT raster monitor 117 Video amplifier 116 is well known
`in the art and may be implemented by any suitable means
`This circuitry converts pixel DATA stored in video memory
`for use by monitor 117
`114
`suitable
`signal
`type of monitor suitable
`for displaying
`
`to
`
`raster
`
`Monitor 117 is
`
`graphic
`
`images
`
`The computer system described above is for purposes of
`example only The present
`invention may be implemented in
`any type of computer system or programming or processing
`environment When
`computer
`system
`general purpose
`such as the one described executes the processes and process
`and
`means for developing
`flows described herein it
`
`is
`
`managing Internet
`
`transactions
`
`an
`
`The present
`the ability to access
`invention provides
`client can
`using any interface For example
`application
`the same application
`system
`access
`via the Internet using
`running Windows MAC/OS Sun.OS NextStep etc Refer
`ring to FIG client 202 is resident on
`corporate network
`local area network com
`200 Corporate
`network 200 is
`such as client 202 for
`computers
`prised of personal
`example Client 202 executes
`browser such as Netscape or
`
`Mosaic to interface with World Wide Web WWW 204 The
`browser executing on client 202 displays HTML documents
`transmitted to client 202 via WWW 204 When the client
`typically an HTML page it
`transmitted via WWW 204 to HTTP server 206 An attribute
`
`browser submits
`
`request
`
`is
`
`of
`
`the submitted form is
`
`Universal Resource
`
`Locator
`
`initiate
`
`to
`
`URL The URL specifies procedures to be executed and/or
`data input by the user
`HTTP server 206 can service the client request by for
`return form or file specified by URL
`5Q example retrieving
`in the HTML document
`and transmitting it
`contained
`client 202 via WWW 204 Further HTTP server 206 can
`program identified in the URL In the preferred
`the URL specifies CGlMessenger 210 to ser
`embodiment
`vice the client request CGlMessenger 210 uses the Com
`Interface CGI protocol
`mon Gateway
`for example
`CGlMessenger 210 can execute on the HITP server 206 or
`another server connected to HTTP server 206 for example
`an example of URL
`The following provides
`
`60
`
`65
`
`http //www.next.com/cgLbin/cgimessenger/appname/rcvform/
`form
`
`send
`
`illustration only Any URL
`The above example
`is for
`invention The URL in
`format can be used with the present
`the above example has multiple parts The first part http
`specifies the protocol to be used Other examples of protocol
`include ftp gopher and wais The next part specifies
`
`Petitioner IBM – Ex. 1013, p. 26
`
`
`
`US 6249291 B1
`
`the Internet domain name of
`the server In this case the
`Internet domain name of the HTTP server
`is www.next
`.com The next part /cgLbin/cgLmessenger
`specifies
`the path and filename of the desired resource The resource
`file form or program for example In this case the
`can be
`common
`interface program that
`gateway
`resource is
`used to route requests to applications The application
`that
`is specified in the URL with the
`processes the client request
`appname specification The names of the receiving
`form
`e.g the form containing
`request and the sending
`the client
`form e.g
`reply to the client request can be included
`in
`the URL
`client request can result in the invocation
`of application
`server domain 208 for example The client
`214 in the
`is received by the HTTP server 206 HTTP server
`request
`206 initiates CGlMessenger 210 To
`the client
`service
`with HTTP
`request CGlMessenger 210 communicates
`server 206 to obtain information regarding the client request
`For example CGlMessenger 210 obtains any information
`request such as form and/or
`that accompanied
`the user
`input The form names can
`names and/or user
`application
`the name of the form that was submitted to initiate
`return form
`the client request as well as
`name identifies the application
`The application
`
`is
`
`that ser
`
`include
`
`If
`
`vices
`the
`client
`request
`an application
`is specified
`CGlMessenger 210 transmits the client
`request and corre
`sponding information transmitted from HTTP Server 206 to
`application 214 Application 214 can execute on the same or
`different server as CGlMessenger 210 and/or HTTP Server
`206 for example Application 214 executes an interaction
`flow to satisfy the user request Application 214 can access
`an external data source such as database 224 Database 224
`214
`can
`be resident
`on the
`same server
`
`as application
`database 224 can be resident on
`
`separate
`
`separate database server
`invention can
`
`Alternatively
`server e.g
`The present
`service multiple levels
`with the client browser
`interaction
`simple hypertext
`request e.g
`form specified
`for another
`in the
`request
`is serviced by HTTP Server 206 by returning the
`request
`form
`can be for
`simple hypertext
`request
`static HTML page e.g page that
`example
`for
`request
`contains static information that is defined prior to execution
`that does not have any associated logic
`The present
`the ability to satisfy more
`invention provides
`requests For example the present
`invention
`can be used to access Web page e.g an HTML Web page
`is dynamically generated using complex queries or
`to retrieve data and
`data retrieval mechanisms
`dynamically generate an HTML page using complex logic
`invention can
`For more sophisticated
`requests the present
`execute logic such as CGlMessenger 210 and application
`214 for example to process
`client request The application
`class hierarchy that can be
`preferably includes
`an object
`language such as objec
`implemented in any object-oriented
`SmallTallc or JAVA Objects e.g Web page defini
`tive
`and control objects dynamically generate
`tional objects
`Web page and manage client interaction via the Internet and
`www
`
`of
`
`specified
`
`sophisticated
`
`that
`
`other
`
`Internal Application
`
`powerful
`virtually anywhere
`
`hardware/software
`
`the WWW is its accessibility
`feature of
`in the world using virtually any
`platform Using
`invention
`the present
`this feature of the WWW can be used to allow an application
`to be accessed
`such as
`corporate or local application
`to the Web
`any workstation that provides
`using
`access
`invention can be used
`regardless of its location The present
`to be accessed any
`to allow an internal corporate application
`
`platform that
`
`that
`
`place in the world via any hardware/software
`is capable of accessing the Internet
`The present
`tools to implement an
`invention provides
`via the WV/W Further the
`that can be accessed
`application
`tools to manage the interaction
`invention provides
`present
`WWW client and the internal application FIG
`between
`3A provides
`block overview of an internal application
`is accessed
`via the Internet
`Clients 302 304 306 and 308 access WWW 310 using
`workstation For example client 302
`10 any WWW-capable
`can be an Intel-based workstation running Windows
`and
`browser such as NetScape Navigator Client 304 can be
`and Mosaic WWW
`running MacOS
`68K workstation
`browser Client 306 can be an RISC machine running UNIX
`is and
`proprietary browser Client 308 is an Intel-based
`workstation running DOS and the DosLynx browser
`Requests submitted by clients 302 304 306 and 308 to
`HTTP server 314 are transmitted to HTTP server 314 via
`WWW 310 HITP server 314 runs in the corporate network
`20 312
`is forwarded to application
`server 316
`client request
`via HTTP server 314 Application server 316 runs one or
`more internal applications
`invention accommodates
`The present
`the needs of an
`internal application For example using the present
`can provide
`dynamic user
`tion an internal application
`interface that can respond to user input Further an internal
`is able to access an external data source to store
`application
`the applications data State information can be retained to
`
`25
`
`inven
`
`to
`
`can be efficient
`
`the
`
`server 316
`
`to
`
`type
`
`group
`group of
`repeat
`
`are self-contained
`
`tion returned to
`
`45
`
`55
`
`60
`
`to allow the application
`allow the internal application
`30 maintain open sessions with multiple users capable of pro
`in any order
`cessing multiple transactions
`Development
`of an internal application
`flexible An internal application
`can
`and
`be written using
`have
`complex logic and complex queries Developers
`pre-existing modules into the internal
`35 ability to incorporate
`application Modules
`to facilitate module
`maintenance
`and interaction
`An internal application
`running on application
`the ability to respond to the client
`has
`request using the
`invention The Web page defini
`40 capabilities of the present
`client can be generated from pre-defined
`all or some portion of
`template or templates Alternatively
`the definition can be dynamically generated by the applica
`tion The contents of the Web page can contain data retrieved
`from an