`(12) Patent Application Publication (10) Pub. N0.: US 2002/0059405 A1
`ANGWIN et al.
`(43) Pub. Date:
`May 16, 2002
`
`US 20020059405A1
`
`(54) METHODS SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR THE
`AUTOMATED DISCOVERY OF A SERVICES
`MENU
`
`(22) Filed:
`
`Jun. 17, 1999
`
`Publication Classi?cation
`
`(76) Inventors; ALASTAIR ANGWIN,
`HAMPSHIRE (GB); DAVID GEoRGE
`BEVIS, HAMPSHIRE (GB); STEFAN
`GEoRG HILD, ZURICH (CH);
`SANDEEP KISHAN SINGHAL,
`RALEIGH, NC (US)
`
`Correspondence Address:
`MYERS BIGEL SIBLEY & SAJOVEC
`PO BOX 37428
`RALEIGH, NC 27627 (US)
`
`( * ) Notice:
`
`This is a publication of a continued pros
`ecution application (CPA) ?led under 37
`CFR 1.53(d).
`
`(21) Appl. No.:
`
`09/335,375
`
`(51) Int. Cl.7 ....................... .. G06F 15/16; G06F 15/173
`(52) US. Cl. .......................................... .. 709/223; 709/200
`
`(57)
`
`ABSTRACT
`
`Methods, systems and computer program products are pro
`vided for the automated discovery of a services menu of a
`processing system such as a pervasive computing device by
`broadcasting to a plurality of devices connected to a net
`Work, a Request Services Menu message. The Request
`Services Menu message provides information about the
`pervasive computing device broadcasting the message. In
`response to the broadcast message, a services menu associ
`ated With the pervasive computing device is received and
`provided to a user of the pervasive computing device. The
`services menu may also be updated by sending a Services
`Menu Update to the device.
`
`Service
`Menu
`Repository
`
` 1
`
`Petitioners' Exhibit 1048, Page
`
`
`
`Patent Application Publication May 16, 2002 Sheet 1 0f 5
`
`US 2002/0059405 A1
`
`28'
`\ /
`
`10 /
`
`30
`
`Service
`Menu
`Repository
`
`Figure 1
`
` 2
`
`Petitioners' Exhibit 1048, Page
`
`
`
`Patent Application Publication May 16, 2002 Sheet 2 0f 5
`
`US 2002/0059405 A1
`
`100
`
`1 02
`
`YES
`i
`Generate
`message with
`device
`identi?cation
`
`i
`104 /
`
`Broadcast
`message on
`network
`
`106
`
`108
`
`i
`Store received
`service menu
`and display for
`user
`
`v
`
`End
`
`Figure 2
`
` 3
`
`Petitioners' Exhibit 1048, Page
`
`
`
`Patent Application Publication May 16, 2002 Sheet 3 0f 5
`
`US 2002/0059405 A1
`
`Yes
`
`i
`
`Parse
`message for
`user and/or
`device
`information
`
`l
`
`Generate
`Service Menu
`for user and/or
`device
`
`i
`
`Transmit
`generated
`message to
`source of
`request
`
`204
`
`206
`
`Figure 3
`
` 4
`
`Petitioners' Exhibit 1048, Page
`
`
`
`Patent Application Publication May 16, 2002
`
`Sheet 4 0f 5
`
`US 2002/ 0059405 A1
`
`300
`
`pdate Menu -
`Server
`
`I
`7
`
`No
`
`Figure 4
`
`Yes
`i
`
`302
`
`Get service
`menu change
`
`304
`
`Add item?
`
`/ 306
`
`incorporate
`Add operation
`for item into
`Yes—>
`.
`Service Menu
`Update
`
`' message
`
`Yes 308
`
`NO
`
`Delete item?
`
`Yes——->
`
`312
`
`M
`
`/310
`
`incorporate
`Delete
`operation for
`item into
`Service Menu
`Update
`message
`
`/ 316
`
`Yes———>
`
`Generate new
`service menu
`and
`incorporate
`into Replace
`operation of
`Service Menu
`Update
`message
`
`314
`
`318
`
`More items? 4
`
`Replace
`menu?
`
`No
`l
`Transmit
`Service Menu ‘
`Update
`‘
`message
`
`End
`
` 5
`
`Petitioners' Exhibit 1048, Page
`
`
`
`Patent Application Publication May 16, 2002 Sheet 5 0f 5
`
`US 2002/0059405 A1
`
`pdate Menu -
`Received
`
`400
`
`Figure 5
`
`Yes
`i
`Parse
`‘ Message for
`7
`change
`
`operations
`
`402
`
`404
`
`406
`
`/
`
`Re iace
`Mepnu')
`_
`
`Replace
`Yes~———> services menu
`with new menu
`
`No
`
`408
`
`410
`
`Add item?
`
`Yes
`
`Incorporate
`Yes————> new item into
`services menu
`
`No
`
`412
`
`414
`
`/
`
`Delete item?
`
`Remove
`speci?ed item
`Yes-->
`from services
`menu
`
`N°
`
`416
`
`More items? 4
`
`End
`
`<
`
` 6
`
`Petitioners' Exhibit 1048, Page
`
`
`
`US 2002/0059405 A1
`
`May 16, 2002
`
`METHODS SYSTEMS AND COMPUTER
`PROGRAM PRODUCTS FOR THE AUTOMATED
`DISCOVERY OF A SERVICES MENU
`
`FIELD OF THE INVENTION
`
`[0001] The present invention relates to network manage
`ment in general and in particular to networks employing
`pervasive computing devices With limited storage capabili
`ties.
`
`BACKGROUND OF THE INVENTION
`
`[0002] With the increasing mobility of today’s society, the
`demand for mobile computing capabilities has also
`increased. Many Workers and professionals are doWnsiZing
`their laptop computers to smaller palm-top or hand-held
`devices, such as personal digital assistants (PDAs). In addi
`tion, many people noW utiliZe cellular telephones to access
`the Internet and to perform various other computing func
`tions. Computing devices including, but not limited to,
`PDAs, cellular telephones, and computing devices utiliZed
`Within appliances and automobiles are often collectively
`referred to as “pervasive” computing devices. Many hand
`held computing devices utiliZe the Microsoft® WindoWs
`CE, 3Com Palm Computing®, and Symbion Epoc platforms
`as Well as Web broWsers such as HandWeb from SmartCode,
`Inc. and the Pocket Internet EXplorer from Microsoft, Inc.
`As used herein, the term “pervasive computing device”
`refers to a data processing system Which may connect to
`different netWorks and is intended to include PDAs, laptop
`and portable computers, pen-based portable computers,
`Wireless telephones, smart phones, screenphones, copies and
`other of?ce equipment, appliances, factory controllers, etc.
`[0003] Unfortunately, as the siZe of pervasive computing
`devices has decreased, typically, the capabilities of the
`devices for stand alone operation have also decreased. Such
`devices generally have reduced amounts of memory, little or
`no permanent storage capabilities and no display or reduced
`siZe displays having reduced color capabilities and resolu
`tion. For eXample, many of the emerging pervasive com
`puting devices do not eXecute applications locally on the
`device but, instead, obtain a menu of available services from
`a netWork server and then act as a portable netWork terminal
`for execution of the available applications. Such devices
`typically are highly portable and may connect to many
`different netWorks as the user moves throughout an operat
`ing environment.
`
`[0004] It is Well knoWn in the art for a netWork terminal or
`netWorked computer to learn its Internet Protocol (IP)
`address upon booting. For eXample, using the Address
`Resolution Protocol (ARP) a machine publishes its Ethernet
`Media Access Control (MAC) address and an ARP server
`returns the IP address that should be used for subsequent IP
`transmissions. Such an address resolution model has further
`been used in neWer protocols such as Dynamic Host Con
`?guration Protocol (DHCP).
`[0005] As described above, pervasive computing devices,
`hoWever, may be less capable than even netWorked termi
`nals. Certain pervasive computing devices typically require
`a description of the set of available services that the user
`may access from Within the netWork environment in Which
`the device currently resides (i.e., a services menu). Such a
`list of services may be provided, for eXample, as a Hyper
`
`Text Markup Language (HTML) home page for netWorked
`computers, a Wireless Markup Language (WML) deck for
`smart phones and PDAs or a Speech Markup Language
`(SpeechML)of Voice Markup Language (VoXML) menu for
`voice-based devices. Thus, the services and mechanism for
`delivery may change from environment to environment and
`may further be limited depending on the type of pervasive
`computing device connecting to the netWork. Furthermore,
`unlike address resolution, the pervasive computing device is
`typically under the physical control of the end-user rather
`than an issuing authority and, therefore, the parameters of
`the device may be substantially more diverse than, for
`eXample, merely providing an IP address to an Ethernet
`adapter.
`[0006] Currently, in order for a pervasive computing
`device to obtain a list of services, the device typically must
`have a priori knoWledge of the environment in Which it is
`operating to obtain the list from a prede?ned server. For
`eXample, a pervasive device Would access a prede?ned
`Universal Resource Locator (URL) for the netWork to Which
`it is connected to obtain the list of services. Alternatively, the
`netWorks to Which the device may attach typically must be
`speci?cally con?gured to route special URLs to prede?ned
`servers. HoWever, such systems may require knoWledge at
`the device of the different URLs to access and knoWledge of
`the netWork to Which the device is connected or cooperation
`among service providers to agree on common treatment of
`these special URLs. Such restrictions may limit the usability
`of pervasive computing devices.
`
`[0007] In light of the above discussion, a need eXists for a
`user friendly mechanism by Which pervasive computing
`devices may obtain a list of available services available to
`the devices Which does not require a priori knoWledge of the
`netWork environment by the pervasive computing device or
`eXtensive cooperation among service providers.
`
`SUMMARY OF THE INVENTION
`
`[0008] Accordingly, it is an object of the present invention
`to provide methods, systems and computer program prod
`ucts Which can obtain a services menu Without requiring
`prior knoWledge of the location of the services menu.
`
`[0009] It is a further object of the present invention to
`provide such methods, systems and computer program prod
`ucts that can automatically accommodate various types of
`hardWare operating under different operating systems.
`[0010] A still further object of the present invention is to
`provide methods, systems and computer program products
`Which enhance the mobility of pervasive computing devices.
`[0011] Another object of the present invention is to pro
`vide methods, systems and computer program products
`Which are user friendly and require no user setup.
`
`[0012] These and other objects can be provided, according
`to the present invention, by methods, systems and computer
`program products Which automatically obtain a service
`menu for a data processing system, such as a pervasive
`computing device, connected to a netWork by broadcasting
`to a plurality of devices connected to the netWork, a Request
`Services Menu message. The Request Services Menu mes
`sage provides information about the pervasive computing
`device broadcasting the message. In response to the broad
`cast Request Services Menu message, a services menu
`
` 7
`
`Petitioners' Exhibit 1048, Page
`
`
`
`US 2002/0059405 A1
`
`May 16, 2002
`
`associated With the pervasive computing device is received
`and provided to a user of the pervasive computing device.
`
`[0013] By broadcasting a request for a services menu to
`the netWork, the pervasive computing device does not have
`to knoW in advance the location of the server Which provides
`the services menu to the device. Furthermore, because the
`services menu is provided in response to a speci?c request,
`rather than a general HTTP request for a URL, the request
`may be broadcast onto the netWork. Devices Which cannot
`or need not respond to the request may ignore the request.
`Thus, the present invention provides for obtaining a services
`menu for a pervasive computing device Without requiring
`the device to knoW in advance the location from Which the
`services menu is to be obtained. Accordingly, a user of the
`device may simply connect to the netWork and the services
`menu may be automatically obtained Without requiring the
`user to knoW the speci?cs of the netWork con?guration to
`Which the device is attached.
`
`[0014] In a further embodiment of the present invention,
`the services menu received in response to the broadcast
`Request Services Menu message is a pointer to a services
`menu ?le. In such a case, the device may request the services
`menu ?le utiliZing the pointer received in response to the
`broadcast Request Services Menu message.
`
`[0015] In another embodiment of the present invention,
`the Request Services Menu message includes at least one of
`information regarding a user of the pervasive computing
`device, the type of pervasive computing device and/or the
`connection betWeen the pervasive computing device and the
`netWork. In such a case, a pointer to a services menu ?le or
`a services menu ?le may be selected based on one or more
`of the information regarding a user of the pervasive com
`puting device, the information regarding the type of perva
`sive computing device and/or the information regarding the
`connection betWeen the pervasive computing device and the
`netWork included in the Request Services Menu message. In
`response to the broadcast Request Services Menu message,
`the selected pointer to a services menu is transmitted to the
`pervasive computing device.
`
`[0016] In a particular embodiment of the present inven
`tion, the pointer is a Universal Resource Locator (URL).
`
`[0017] In a further aspect of the present invention, a
`services menu or pointer to a services menu is generated for
`transmission to the pervasive computing device in response
`to receiving a broadcast Request Services Menu message
`from the pervasive computing device. The generated ser
`vices menu or pointer is then transmitted to the pervasive
`computing device. In particular, the services menu or pointer
`may be generated by accessing a services menu database.
`Where the Request Services Menu message includes at least
`one of, information regarding a user of the pervasive com
`puting device, the type of pervasive computing device
`and/or the connection betWeen the pervasive computing
`device and the netWork, the services menu database may be
`accessed based on the provided information regarding a user
`of the pervasive computing device, the type of pervasive
`computing device and/or the connection betWeen the per
`vasive computing device and the netWork included in the
`Request Services Menu message.
`
`device may include pointers to additional services menus
`accessible to the pervasive computing device. Furthermore,
`at least one of the services associated With the services menu
`received by the pervasive computing device may be a
`telephony service. Also, the services menu received by the
`pervasive computing device may include credentials for
`presentation by the pervasive computing device to access
`services identi?ed in the services menu. In addition, the
`received services menu may be encrypted. In such a case, the
`pervasive computing device may decrypt the received ser
`vices menu.
`
`[0019] In another embodiment of the present invention an
`update of the services menu is provided by receiving a
`Services Menu Update message containing information
`associated With a modi?cation to the services menu of the
`pervasive computing device. The services menu displayed to
`the user is then updated to incorporate the modi?cations to
`the services menu contained in the Services Menu Update
`message. Preferably, the Services Menu Update message
`contains at least one of information regarding a delete
`operation, information regarding an add operation and/or
`information regarding a replace operation. In a particular
`embodiment it is determined if a change to the services
`menu of the pervasive computing device has occurred and a
`Services Menu Update message is transmitted to the perva
`sive computing device if a change to the services menu of
`the pervasive computing device has occurred.
`[0020] By providing an update procedure to the services
`menu of the pervasive computing device, the present inven
`tion may assure that the user is displayed a current services
`menu. Furthermore, such an ability alloWs for the control of
`the services menu presented to a user, for eXample, to add
`and remove services Which are only temporarily accessible
`to the user or to present different services menus for different
`user environments.
`
`[0021] While the invention has been described above
`primarily With respect to the method aspects of the inven
`tion, both systems and/or computer program products are
`also provided.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0022] FIG. 1 is a schematic diagram of a computer
`netWork suitable for use With the present invention;
`
`[0023] FIG. 2 is a ?oWchart illustrating operations of a
`pervasive computing device according to one embodiment
`of the present invention;
`[0024] FIG. 3 is a ?oWchart illustrating operations of a
`netWork server according to one embodiment of the present
`invention;
`[0025] FIG. 4 is a ?oWchart illustrating operations of a
`netWork server according to the present invention to update
`a services menu provided to a pervasive computing device;
`and
`
`[0026] FIG. 5 is a ?oWchart illustrating operations of a
`pervasive computing device to update a services menu
`provided to the pervasive computing device.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`[0018] In still another embodiment of the present inven
`tion, the services menu received by the pervasive computing
`
`[0027] The present invention noW Will be described more
`fully hereinafter With reference to the accompanying draW
`
` 8
`
`Petitioners' Exhibit 1048, Page
`
`
`
`US 2002/0059405 A1
`
`May 16, 2002
`
`ings, in Which preferred embodiments of the invention are
`shown. This invention may, hoWever, be embodied in many
`different forms and should not be construed as limited to the
`embodiments set forth herein; rather, these embodiments are
`provided so that this disclosure Will be thorough and com
`plete, and Will fully convey the scope of the invention to
`those skilled in the art.
`
`[0028] As Will be appreciated by one of skill in the art, the
`present invention may be embodied as a method, data
`processing system, or computer program product. Accord
`ingly, the present invention may take the form of an entirely
`hardWare embodiment, an entirely softWare embodiment or
`an embodiment combining softWare and hardWare aspects.
`Furthermore, the present invention may take the form of a
`computer program product on a computer-usable storage
`medium having computer-usable program code means
`embodied in the medium. Any suitable computer readable
`medium may be utiliZed including hard disks, CD-ROMs,
`optical storage devices, or magnetic storage devices.
`[0029] Computer program code for carrying out opera
`tions of the present invention is preferably Written in an
`object oriented programming language such as J ava®,
`Smalltalk or C++. HoWever, the computer program code for
`carrying out operations of the present invention may also be
`Written in conventional procedural programming languages,
`such as the “IC” programming language. The program code
`may execute entirely on the user’s computer, partly on the
`user’s computer, as a stand-alone softWare package, partly
`on the user’s computer and partly on a remote computer or
`entirely on the remote computer. In the latter scenario, the
`remote computer may be connected to the user’s computer
`through a local area netWork (LAN) or a Wide area netWork
`(WAN), or the connection may be made to an external
`computer (for example, through the Internet using an Inter
`net Service Provider).
`[0030] The present invention is described beloW With
`reference to ?oWchart illustrations of methods, apparatus
`(systems) and computer program products according to an
`embodiment of the invention. It Will be understood that each
`block of the ?oWchart illustrations, and combinations of
`blocks in the ?oWchart illustrations, can be implemented by
`computer program instructions. These computer program
`instructions may be provided to a processor of a general
`purpose computer, special purpose computer, or other pro
`grammable data processing apparatus to produce a machine,
`such that the instructions, Which execute via the processor of
`the computer or other programmable data processing appa
`ratus, create means for implementing the functions speci?ed
`in the ?oWchart block or blocks.
`
`[0031] These computer program instructions may also be
`stored in a computer-readable memory that can direct a
`computer or other programmable data processing apparatus
`to function in a particular manner, such that the instructions
`stored in the computer-readable memory produce an article
`of manufacture including instruction means Which imple
`ment the function speci?ed in the ?oWchart block or blocks.
`
`[0032] The computer program instructions may also be
`loaded onto a computer or other programmable data pro
`cessing apparatus to cause a series of operational steps to be
`performed on the computer or other programmable appara
`tus to produce a computer implemented process such that the
`instructions Which execute on the computer or other pro
`
`grammable apparatus provide steps for implementing the
`functions speci?ed in the ?oWchart block or blocks.
`
`[0033] As is described in more detail beloW, the present
`invention alloWs for a ?rst processor such as a pervasive
`computing device to obtain a list or identi?cation of services
`available to the ?rst processor for a netWork session of the
`?rst processor. The present invention utiliZes broadcast
`requests for a services menu from remote processors such as
`pervasive computing devices to a netWork having access to
`a menu server Which either provides the menu of services or
`provides a pointer to the location of the menu of services
`(eg a URL). Thus, for differing sessions of the pervasive
`computing device the menus provided may differ or come
`from different servers, hoWever, the pervasive computing
`device need only knoW to broadcast onto the netWork to
`Which it is connected the request for a services menu.
`
`[0034] The types of information typically utiliZed to con
`trol the services available for a session may include the type
`of netWork connection (e.g. ethernet, modem, modem speed,
`duration of connection, connection cost, etc), the type of
`device connected (e.g. laptop computer, PDA, pen based
`system, cellular telephone, voiced based system, etc), char
`acteristics of the device connected (e.g. display type, oper
`ating system, processing poWer, memory, etc) and the user
`identi?cation of the user. Collectively, this information
`makes up the operating environment of a user session. Based
`on all or part of the information about a user’s operating
`environment, the services available to the pervasive com
`puting device may be identi?ed so as to take advantage of
`the particular operating environment of a session.
`
`[0035] FIG. 1 illustrates a system 10 in Which the present
`invention may be bene?cially utiliZed. As seen in FIG. 1, a
`server 20 may be accessed from a number of differing data
`processing systems (i.e., computers) such as PDAs 22 and
`22‘, desktop computer 23, PDA 24, pen based computer 26,
`cellular telephone 28, Which may be a smartphone, screen
`phone or voice only telephone and satellite telephone 28‘
`Which may be a smartphone, screenphone or voice-only
`telephone. These differing data processing systems 22, 22‘,
`23, 24, 26, 28 and 28‘ may each have differing processing
`capabilities, data presentation capabilities, operating sys
`tems and/or applications Which request information from
`server 20. Furthermore, each of these differing data process
`ing systems 22, 22‘, 23, 24, 26, 28 and 28‘ may be utiliZed
`by different users With different services associated With the
`users. As Will be appreciated by those of skill in the art, other
`types of processing systems may also bene?t from utiliZa
`tion of the present invention.
`
`[0036] The differing data processing systems 22, 22‘, 23,
`24, 26, 28 and 28‘ may also utiliZe different communication
`techniques for communicating With server 20. For example,
`PDA 22 and desktop computer 23 may utiliZe a netWork
`interface card to communicate With server 20 over a direct
`netWork connection such as the Ethernet 38 illustrated in
`FIG. 1. PDA 22‘ may communicate directly With server 20
`through modem 32 and modem 32‘. PDA 24 is illustrated as
`communicating With server 20 through desktop computer
`23. Similarly, pen based computer 26 may communicate
`through a modem 32“ connection to the netWork 40 Which
`may be the Internet or an intranet. Cellular telephone 28 may
`communicate With server 20 through a cellular connection
`
` 9
`
`Petitioners' Exhibit 1048, Page
`
`
`
`US 2002/0059405 A1
`
`May 16, 2002
`
`36 and the network 40. Finally, satellite telephone 28‘ may
`communicate With server 20 through a satellite connection
`34 and the netWork 40.
`
`[0037] Furthermore, as Will be appreciated by those of
`skill in the art, the type of connection may change from
`session to session. Thus, for eXample, While PDA 22‘ is
`illustrated as using a modem to modem direct connection to
`communicate With server 20, in a subsequent session, PDA
`22‘ could communicate With server 20 through a netWork
`connection, by for eXample, connection to Ethernet 38. As is
`seen from the examples in FIG. 1, data processing systems
`may communicate With a server using a Wide variety of
`connection types With differing connection characteristics.
`Some connection types may be high speed, loW cost, con
`nections, such as the Ethernet connection 38, While others
`may be loWer speed, higher cost, connections, such as the
`cellular connection 36 or loWer speed, loWer cost, connec
`tions such as through a modem 32.
`
`[0038] As is further illustrated in FIG. 1, server 20 has
`access to a services menu repository 30. The services menu
`repository 30 may be incorporated in server 20 or may be
`accessible through a netWork or other communication con
`nection. The services menu repository 30 may also be
`periodically doWnloaded or otherWise provided to server 20
`and a copy of the services menu repository 30 maintained by
`server 20. The services menu repository 30 preferably
`includes an identi?cation of the services available to users of
`processing systems such as the data processing systems 22,
`22‘, 23, 24, 26, and 28 illustrated in FIG. 1. The services
`menu repository 30 may include the services menus to be
`provided to data processing systems or, as described above,
`may include links to other locations Where the menus may
`be obtained. While the services menu repository 30 is
`illustrated and described in the present application as a
`single database, as Will be appreciated by those of skill in the
`art, multiple databases may be utiliZed.
`
`[0039] In general, in a system according to the present
`invention, When one of data processing systems 22, 22‘, 23,
`24, 26 and 28, initially establishes a connection to a netWork,
`the data processing system broadcasts a Request Services
`Menu message on the netWork. The Request Services Menu
`message preferably includes the requesting data processing
`system’s physical address (Which may be an Ethernet
`address, a telephone number, a serial number, etc) and may
`include information on the data processing system itself,
`user of the data processing system and/or netWork to Which
`the data processing system is connected. The broadcast
`Request Services Menu message is received by server 20.
`Server 20 accesses the services menu repository 30 and,
`based on the information in the Request Services Menu
`message determines Which menu of services to provide to
`the requesting device. The server 20 then provides the
`services menu to the requesting data processing system.
`
`[0040] The services menu provided to the requesting data
`processing system may be tailored to the characteristics of a
`session With the requesting data processing system. For
`eXample, content provided to a smartphone With a limited
`vieWing area and display resolution may be tailored to
`provide only a limited menu of services or may be tailored
`to a format such as WML alloWing for effective display on
`a small screen. Alternatively, if the requesting device has
`voice-only capabilities, then the services menu may be
`
`provided as SpeechML or VoXML. As a further eXample, the
`services identi?ed in the services menu may be tailored
`based on the speed or cost of the communication connection
`such that communication intensive applications are limited.
`Furthermore, the services provided may be tailored based on
`other factors, such as billing information, for eXample, if the
`use of services is to be prepaid or if different levels of
`services are provided to different customers. Furthermore,
`because the connection type may change from session to
`session, the menu of services may change from session to
`session. Thus, for eXample, When PDA 24 is connected
`through a cellular connection 36 the menu of services may
`differ from that obtained When PDA24 is connected through
`Ethernet 38. Similarly, if a user utiliZes both a smartphone,
`such as cellular telephone 28, and a PDA 24, then the
`services menu provided may differ When the user uses
`cellular telephone 28 or PDA 24.
`
`[0041] FIG. 2 illustrates operations according to one
`embodiment of the present invention. As is seen in FIG. 2,
`a pervasive computing device, such as the data processing
`systems 22, 22‘, 23, 24, 26, and 28 illustrated in FIG. 1,
`Waits for connection to a netWork, such as netWork 40 or
`Ethernet 38 (block 100). The present invention may also be
`utiliZed With a direct connection to a server Which may act
`as a gateWay to a netWork, such as illustrated by modem 32
`and 32‘.
`
`[0042] After connecting to the netWork, the pervasive
`computing device generates a Request Services Menu mes
`sage Which preferably includes at least an address identify
`ing the pervasive computing device (block 102). The type of
`message generated may depend on the protocols utiliZed,
`hoWever, it is preferred that the message be an IP datagram.
`As Will be appreciated by those of skill in the art, the
`particular address included in the Request Services Menu
`message may depend on the type of connection and/or the
`type of device utiliZed. Thus, the address may be an IP
`address, an Ethernet address, a telephone number, a sub
`scriber identi?cation or other such address Which alloWs for
`communication With the pervasive computing device. Pref
`erably, the Request Services Menu message also includes
`further information about the session of the pervasive com
`puting device. For eXample, the message may include infor
`mation such as the type of device, a user identi?cation such
`as user logon, user account information, user preferences,
`user passWords, connection information such as the connec
`tion speed or device characteristics such as the type of
`display or other information Which may be useful in deter
`mining the services to be included in the services menu or
`the format for providing such menu to the pervasive com
`puting device. Furthermore, device information may be
`included in the Request Services Menu message utiliZing the
`CC/PP grammar.
`
`[0043] After generating the Request Services Menu mes
`sage the pervasive computing device broadcasts the message
`onto the netWork to Which the device is connected (block
`104). As used herein, the term broadcast is used to describe
`the transmission of the same message to a plurality of
`devices connected to a netWork. Such a message may be
`broadcast to every device connected to the netWork or to
`devices connected to the netWork Which have netWork
`addresses Within a prede?ned range of addresses. Thus, the
`term broadcast is intended to refer to both broadcast and
`multicast messages. The message is broadcast because the
`
` 10
`
`Petitioners' Exhibit 1048, Page
`
`
`
`US 2002/0059405 A1
`
`May 16, 2002
`
`pervasive computing device may not know in advance the
`address or location of the server on the network Which
`provides the services menu. If a networked device receives
`the message and cannot respond to the message, then the
`message is ignored by that device. HoWever, When the
`message is received by the server Which is capable of
`providing the services menu to the pervasive computing
`device, then the operations of FIG. 3 may be performed to
`respond to the message. Such a server may be referred to as
`a “Service Boot Host” and is illustrated in FIG. 1 by server
`20.
`
`[0044] After broadcasting the Request Services Menu
`message, the pervasive computing device Waits for a
`response (block 106). When the response is received by the
`pervasive computing device, the response may be stored
`locally at the device and displayed to the user (block 108).
`The display of the response to the user may be carried out
`as a visual display, an audio display and/or a tactile display.
`Thus, the display of a menu need not be limited to visual
`display.
`[0045] As brie?y described above, the response from the
`server 20 may be a complete menu of services or may be a
`pointer, such as a URL, to a services menu. In the latter case,
`the pervasive computing device may request the services
`menu from the location speci?ed by the pointer to obtain the
`