Title:
System and method for providing context sensitive recommendations to digital services
Document Type and Number:
Kind Code:
A1

Abstract:
A system and method is disclosed to provide recommendations to a wireless device, based on stored bookmark/short-cut data. When a wireless device accesses services, data pertaining to the service access, along with any context related information is transmitted within the wireless device, or to a remote server. The data is processed in conjunction with bookmarks/short-cuts specified within the device, and are organized and presented to the wireless device in accordance with preference instructions specified within the wireless device.

Representative Image:
Inventors:
Sorvari, Antti (Itasalmi, FI)
Kahari, Markus (Helsinki, FI)
Toivonen, Hannu (Helsinki, FI)
Mannila, Heikki (Espoo, FI)
Salmenkaita, Jukka-pekka (Helsinki, FI)
      Plaque It!

Application Number:
10/230111
Publication Date:
03/04/2004
Filing Date:
08/29/2002
View Patent Images:
Images are available in PDF form when logged in. To view PDFs, Login  or  Create Account (Free!)
Assignee:
NOKIA CORPORATION (Espoo, FI)
Primary Class:
Other Classes:
707/E17.114, 379/88.170
International Classes:
(IPC1-7): H04M001/64; H04M003/42
Attorney, Agent or Firm:
Morgan & Finnegan, L.L.P. (345 Park Avenue, New York, NY, 10154-0053, US)
Claims:

What is claimed is:



1. A method of enabling user access to services through a wireless device and providing a recommendation service thereto, the method comprising: obtaining network activity data and short-cut data for said wireless device, along with at least one preference instruction; processing network activity data in accordance with the at least one preference instruction; generating in the wireless device, in accordance with the at least one preference instruction, at least one recommended service from a plurality of services available, wherein each of the at least one recommended service having at least one short-cut associated therewith.

2. The method according to claim 1, wherein the preference instruction is correlated to the network activity data.

3. The method according to claim 1, wherein the short-cut data comprises of at least one bookmark.

4. The method according to claim 3, wherein said bookmark is further processed and transmitted as an icon.

5. The method according to claim 1, wherein the network activity data comprises services previously accessed by the user.

6. The method according to claim 1, wherein the network activity data further comprises context information.

7. The method according to claim 2, wherein the preference instruction comprises access times for services.

8. The method according to claim 2, wherein the preference instruction comprises optimizing the number of links embedded within the at least one service.

9. The method according to claim 2, wherein the preference instruction comprises optimizing links to a specified number of services.

10. The method according to claim 2, wherein the preference instruction comprises services that cannot be used by following the known links from a current service.

11. The method according to claim 2, wherein the preference instruction comprises services that can be used by following a known link from a current service being accessed.

12. The method according to claim 2, wherein the preference instruction comprises services that are located in the same host as a current service being accessed.

13. The method according to claim 2, wherein the preference instruction comprises services that are not located in the same host as a current service being accessed.

14. The method according to claim 2, wherein the preference instruction comprises access frequency of the services.

15. The method according to claim 2, wherein the preference instruction comprises services that are accessed for the first time.

16. The method according to claim 2, wherein the preference instruction comprises services that can be accessed using a hypertext link from the current service.

17. The method according to claim 2, wherein the preference instruction comprises services that are currently accessed.

18. The method according to claim 6, wherein the context information comprises a currently sensed environment of the wireless device.

19. The method according to claim 18, wherein the currently sensed environment is established through at least one sensor.

20. The method according to claim 19, wherein the sensor is selected from the group consisting of a position sensor, a compass, a touch sensor, an audio sensor, a light sensor and a temperature sensor.

21. The method according to claim 6, wherein the context information comprises a currently sensed network access point of the wireless device.

22. The method according to claim 1, wherein said short-cut data is transmitted in an XML format.

23. A system for enabling user access to services through a wireless device and providing a recommendation service thereto, the system comprising: a network access apparatus for receiving network activity data and short-cut data from said wireless device, along with at least one preference instruction; a storage medium, coupled to the network access apparatus, for storing the network activity data, short-cut data and at least one preference instruction a processor, coupled to the network access apparatus, wherein said processor processes network activity data in accordance with the at least one preference instruction, and initiates transmission of at least one recommended service from a plurality of services available to the wireless device, in accordance with the at least one preference instruction, wherein each of the at least one recommended service having at least one short-cut associated therewith.

24. The system according to claim 23, wherein the preference instruction is correlated to the network activity data.

25. The system according to claim 23, wherein the short-cut data comprises of at least one bookmark.

26. The system according to claim 26, wherein said bookmark is further processed and transmitted as an icon.

27. The system according to claim 23, wherein the network activity data comprises services previously accessed by the user.

28. The system according to claim 23, wherein the network activity data further comprises context information.

29. The system according to claim 24, wherein the preference instruction comprises access times for services.

30. The system according to claim 24, wherein the preference instruction comprises the number of links embedded within the at least one service.

31. The system according to claim 24, wherein the preference instruction comprises links to a specified number of services.

32. The system according to claim 24, wherein the preference instruction comprises services with that cannot be used by following the known links from a current service.

33. The system according to claim 24, wherein the preference instruction comprises services that can be used by following a known link from a current service being accessed.

34. The system according to claim 24, wherein the preference instruction comprises services that are located in the same host as a current service being accessed.

35. The system according to claim 24, wherein the preference instruction comprises services that are not located in the same host as a current service being accessed.

36. The system according to claim 24, wherein the preference instruction comprises access frequency of the services.

37. The system according to claim 24, wherein the preference instruction comprises services that are accessed for the first time.

38. The system according to claim 24, wherein the preference instruction comprises services that can be accessed using a hypertext link from the current service.

39. The system according to claim 24, wherein the preference instruction comprises services that are currently accessed.

40. The system according to claim 28, wherein the context information comprises a currently sensed environment of the wireless device.

41. The system according to claim 40, wherein the currently sensed environment is established through at least one sensor.

42. The system according to claim 41, wherein the sensor is selected from the group consisting of a position sensor, a compass, a touch sensor, an audio sensor, a light sensor and a temperature sensor.

43. The system according to claim 24, wherein the context information comprises a currently sensed network access point of the wireless device.

44. The system according to claim 23, wherein said short-cut data is transmitted in an XML format.

45. A method of enabling user access to services through a wireless device and receiving recommendation services thereto, the method comprising: storing at least one preference instruction for said wireless device for obtaining recommendation services; obtaining network activity data and short-cut data; processing network activity data and short-cut data in accordance with the at least one preference instruction; receiving at least one recommended service from a plurality of services available in accordance with the processed data, wherein each of the at least one recommended service having at least one short-cut associated therewith.

46. The method according to claim 45, wherein the preference instruction is correlated to the network activity data.

47. The method according to claim 45, wherein the short-cut data comprises of at least one bookmark.

48. The method according to claim 47, wherein said bookmark is further processed and transmitted as an icon.

49. The method according to claim 45, wherein the network activity data comprises services previously accessed by the user.

50. The method according to claim 45, wherein the network activity data further comprises context information.

51. The method according to claim 46, wherein the preference instruction comprises access times for services.

52. The method according to claim 46, wherein the preference instruction comprises the number of links embedded within the at least one service.

53. The method according to claim 46, wherein the preference instruction comprises links to a specified number of services.

54. The method according to claim 46, wherein the preference instruction comprises services that cannot be used by following the known links from a current service.

55. The method according to claim 46, wherein the preference instruction comprises services that can be used by following a known link from a current service being accessed.

56. The method according to claim 46, wherein the preference instruction comprises services that are located in the same host as a current service being accessed.

57. The method according to claim 46, wherein the preference instruction comprises services that are not located in the same host as a current service being accessed.

58. The method according to claim 46, wherein the preference instruction comprises access frequency of the services.

59. The method according to claim 46, wherein the preference instruction comprises services that are accessed for the first time.

60. The method according to claim 46, wherein the preference instruction comprises services that can be accessed using a hypertext link from the current service.

61. The method according to claim 46, wherein the preference instruction comprises services that are currently accessed.

62. The method according to claim 50, wherein the context information comprises a currently sensed environment of the wireless device.

63. The method according to claim 62, wherein the currently sensed environment is established through at least one sensor.

64. The method according to claim 63, wherein the sensor is selected from the group consisting of a position sensor, a compass, a touch sensor, an audio sensor, a light sensor and a temperature sensor.

65. The method according to claim 50, wherein the context information comprises a currently sensed network access point of the wireless device.

66. The method according to claim 45, wherein said short-cut data is transmitted in an XML format.

67. A wireless device, configured to access network services and to receive recommendation services thereto, the device comprising: a storage medium for storing at least one preference instruction for said wireless device for obtaining recommendation services; a network access apparatus for communicating network activity data and short-cut data and the at least one preference instruction; a processor for processing network activity data and short-cut data in accordance with the at least one preference instruction, wherein said network access apparatus receives at least one recommended service from a plurality of services available in accordance with the processed data, wherein each of the at least one recommended service having at least one short-cut associated therewith.

68. The wireless device according to claim 67, wherein the preference instruction is correlated to the network activity data.

69. The wireless device according to claim 67, wherein the short-cut data comprises of at least one bookmark.

70. The wireless device according to claim 69, wherein said bookmark is further processed and transmitted as an icon.

71. The wireless device according to claim 67, wherein the network activity data comprises services previously accessed by the user.

72. The wireless device according to claim 67, wherein the network activity data further comprises context information.

73. The wireless device according to claim 68, wherein the preference instruction comprises access times for services.

74. The wireless device according to claim 68, wherein the preference instruction comprises the number of links embedded within the at least one service.

75. The wireless device according to claim 68, wherein the preference instruction comprises links to a specified number of services.

76. The wireless device according to claim 68, wherein the preference instruction comprises services that cannot be used by following the known links from a current service.

77. The wireless device according to claim 68, wherein the preference instruction comprises services that can be used by following a known link from a current service being accessed.

78. The wireless device according to claim 68, wherein the preference instruction comprises services that are located in the same host as a current service being accessed.

79. The wireless device according to claim 68, wherein the preference instruction comprises services that are not located in the same host as a current service being accessed.

80. The wireless device according to claim 68, wherein the preference instruction comprises access frequency of the services.

81. The wireless device according to claim 68, wherein the preference instruction comprises services that are accessed for the first time.

82. The wireless device according to claim 68, wherein the preference instruction comprises services that can be accessed using a hypertext link from the current service.

83. The wireless device according to claim 68, wherein the preference instruction comprises services that are currently accessed.

84. The wireless device according to claim 72, wherein the context information comprises a currently sensed environment of the wireless device.

85. The wireless device according to claim 84, wherein the currently sensed environment is established through at least one sensor.

86. The wireless device according to claim 85, wherein the sensor is selected from the group consisting of a position sensor, a compass, a touch sensor, an audio sensor, a light sensor and a temperature sensor.

87. The wireless device according to claim 72, wherein the context information comprises a currently sensed network access point of the wireless device.

88. The wireless device according to claim 67, wherein said short-cut data is transmitted in an XML format.

89. The method according to claim 6, wherein the context information comprises a time of day.

90. The method according to claim 6, wherein the context information comprises a day of the week.

91. The method according to claim 6, wherein the context information comprises a logical terminal location.

92. The method according to claim 6, wherein the context information comprises a type of network connection.

93. The method according to claim 6, wherein the context information comprises an operational mode of the device.

94. The system according to claim 28, wherein the context information comprises a time of day.

95. The system according to claim 28, wherein the context information comprises a day of the week.

96. The system according to claim 28, wherein the context information comprises a logical terminal location.

97. The system according to claim 28, wherein the context information comprises a type of network connection.

98. The system according to claim 28, wherein the context information comprises an operational mode of the device.

99. The method according to claim 50, wherein the context information comprises a time of day.

100. The method according to claim 50, wherein the context information comprises a day of the week.

101. The method according to claim 50, wherein the context information comprises a logical terminal location.

102. The method according to claim 50, wherein the context information comprises a type of network connection.

103. The method according to claim 50, wherein the context information comprises an operational mode of the device.

104. The wireless device according to claim 67, wherein the context information comprises a time of day.

105. The wireless device according to claim 67, wherein the context information comprises a day of the week.

106. The wireless device according to claim 67, wherein the context information comprises a logical terminal location.

107. The wireless device according to claim 67, wherein the context information comprises a type of network connection.

108. The wireless device according to claim 67, wherein the context information comprises an operational mode of the device.

Description:

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The invention disclosed broadly relates to the field of wireless communication and Internet services. More specifically, the invention revolves around recommending Internet services to mobile terminal users.

[0003] 2. Background Art

[0004] Wireless devices and terminals are widely employed by people to access the growing number of available digital services. Such access typically entails the utilization of a menu structure to enable a wireless user to identify the service of interest to be accessed. However, such configurations are often slow and cumbersome for the user. In current mobile terminals, a service, such as a Wireless markup Language (WML) page, may be accessed by manually typing in a Universal Resource Locator (URL) of the required service or selecting a previously stored bookmark containing the URL of the required service. Another method involves the use of hypertext links to access a directly linked service.

[0005] Conventional mobile telecommunications devices such as telephone handsets, have been designed primarily for speech calls and have only a limited capability for handling data. Recommendations have been developed to provide a wireless application protocol (WAP) to promote common standards and specifications for data services that operate over wireless communication networks. WAP enabled telephone handsets have been developed which allow the user to access remote servers. Data content is provided in a mark up language, similar to conventional hyper text mark up language (HTML) known as a wireless mark up language (WML), which is configured to allow a page of WML data to be displayed as a deck of individual cards which are of the size suited for display on the relatively small display screen usually available on a mobile device such as a cellular telephone handset or personal digital assistant (PDA).

[0006] The data is supplied by WML servers at individual network addresses, with a homepage which act as an entry point to a particular site together with further pages or decks with individual addresses that can be navigated by the user. To this end, the mobile device is provided with a browser to display the data.

[0007] A WML server can be accessed by dialing an individual telephone number associated with a WAP gateway which acts as a proxy server between the WML server itself and the mobile device, which acts as the client.

[0008] Newer, faster data services for mobile communication devices have been developed, including I-Mode, GPRS and UMTS which operate in a generally similar way, with the mobile device acting as client to remote servers, and a browser to display the accessed data on the mobile device. The browser that is used for mobile telecommunications devices is conventionally known as a micro-browser, which is controlled by keys on the mobile device. Instead of using a mouse-driven cursor, a focus region is provided, which can be navigated around the display by keys which may include a scrolling key on the mobile device. The keys may be so-called soft keys which can be pre-programmed to perform different functions depending on the display provided by the browser. Conventionally, one of the soft keys allows the user to move backwards through previously visited network addresses. Also, a bookmark list may be stored so that individual network addresses can be readily accessed

[0009] One of the many problems of current systems is that all the services required by a user cannot be accessed via hyperlinks. Furthermore, user interfaces of many terminals are small, and have limited keyboard capabilities. Thus, the entry of URL's is thus slow and cumbersome, since the majority of URL's are long and unintuitive. Furthermore, current recommendation systems and algorithms cannot supply context-based recommendations, wherein bookmarks are organized and presented to the user according to customized protocols.

SUMMARY OF THE INVENTION

[0010] According to an embodiment of the present invention, a wireless device, such as a phone, PDA, etc. is enabled to compile multiple lists of bookmarks, wherein lists may be organized on the basis of user access. Under the embodiment, a mobile telecommunications device is provided, which includes a browser to permit a user to navigate between different pages and display information therefrom. The device further comprises a processor to compile various lists of bookmarks. The lists may contain entries selected by the user or may comprise bookmarks downloaded to the device, for example by a network operator. The lists may also comprise the bookmarked addresses accessed most recently or most frequently by the user. The lists may further comprise entries corresponding to addresses previously accessed by the user manually typing the address into the handset. The lists may be restricted to a limited amount of entries, or may contain all the entries in the bookmark list or manually entered, in order of frequency of access by the user.

[0011] An embodiment of the invention further provides a method of having wireless device bookmarks be automatically organized and presented to the user. An embodiment of the system provides access to network addresses, allowing navigation between different addresses and displaying of information therefrom. Also, context-related information, such as location, time of day, etc. can be used to supplement bookmarked recommendations to automatically organize and present links to users. Thus, in accordance with the invention, a user of a mobile device can readily navigate to the most useful network addresses without needing to scroll through large numbers of entries, or be susceptible to outside influences for recommendations.

DESCRIPTION OF THE FIGURES

[0012] In order that the invention may be more fully understood an embodiment thereof will now be described by way of example with reference to the accompanying drawings in which:

[0013] FIG. 1 is a schematic block diagram illustrating a mobile telephone handset which can communicate through a public land mobile network (PLMN) and through a gateway to remote data servers;

[0014] FIG. 2 is a schematic block diagram of the circuitry of the mobile handset shown in FIG. 1 ;

[0015] FIG. 3 illustrates schematically the display of the bookmark list on the handset;

[0016] FIG. 4 illustrates the display of a second list of selected bookmarks and addresses;

[0017] FIG. 5 is a schematic flowchart of a process for compiling the bookmark and selected bookmark lists; and

[0018] FIGS. 6 and 7 illustrate schematically the process of updating the list of selected bookmarks.

[0019] FIG. 8 is a network diagram, showing an example relationship between the user's portable wireless device, the protocol gateway to the Internet, the network server, a third party service provider, the Universal Description, Discovery and Integration (UDDI) registry, and a plurality of web sites;

[0020] FIG. 9A illustrates an example of the user's wireless device displaying a RECOMMENDATION WEB SERVICES MENU;

[0021] FIGS. 9B and C show an example of the user's wireless device displaying the SELECT SERVICE CATEGORY sub-menu and the ENTER SPECIAL SERVICE REQUIREMENTS sub-menu, respectively;

[0022] FIGS. 9D and E show an example of the user's wireless device displaying the CHANGE STORED SERVICE PREFERENCES sub-menu and the CHANGE PRIVACY FILTER SETTINGS sub-menu, respectively;

[0023] FIG. 9G show an example of the user's wireless device displaying the recommendation results, for recommendations with no age restriction filter and for recommendations with a filter for family oriented subject matter, respectively;

[0024] FIG. 9H show an example of the user's wireless device displaying recommendation results in a menu form FIGS. 91 and J show examples of the user's wireless device displaying recommendation results in a hierarchical menu form;

[0025] FIG. 10 illustrates and example of the service history log, with past recommendation and context files and with past service used and context files;

[0026] FIG. 11 is an exemplary network process diagram showing the interaction of a user's device and a network server;

[0027] FIG. 11B is a flow diagram of an exemplary process in a network server to respond to an updated menu request message from the wireless device, by compiling an updated menu which is returned to the wireless device;

[0028] FIG. 11C is a flow diagram of an exemplary process in a wireless device to display the updated menu on the device's browser and process the user's request for a recommendation by gathering past received recommendations from the service history log and pairing them with the current context of the device, and sending the context-activity pair in a recommendation request message to a network server;

[0029] FIG. 11D is a flow diagram of an exemplary process in the network server to respond to the recommendation request message from the device, by accessing recommendations from the database corresponding to the current context, finding recommendations among those accessed from the database that are similar to the past received recommendations provided in the recommendation request message, sorting the found recommendations in accordance with the user's service preferences also provided in the recommendation request message, and returning the resultant recommendations to the device in a recommendation response message;

[0030] FIG. 11E is a flow diagram of an exemplary process in the wireless device to filter the recommendations received in the recommendation response message and output the filtered recommendations on the device's browser;

[0031] FIG. 11F is a flow diagram of an exemplary process in the network server to respond to the recommendation request message from the device, by accessing recommendations from the database corresponding to the current context, finding recommendations among those accessed from the database that are similar to the past services used provided in the recommendation request message, sorting the found recommendations in accordance with the user's service preferences also provided in the recommendation request message, and returning the resultant recommendations to the device in a recommendation response message;

[0032] FIG. 11G is a flow diagram of an exemplary process in a wireless device to filter the recommendations received in the recommendation response message and output the filtered recommendations on the device's browser;

[0033] FIG. 11H is a flow diagram of an exemplary process in a wireless device 800 to determine recommended services and to enable access to such services via short cut;

[0034] FIG. 12 is a functional block diagram of an example of a wireless device, showing its various components and programs;

[0035] FIG. 13 is a functional block diagram of an example of a wireless device, a server, and a web server, and their interaction when exchanging a metadata vector and privacy control data and when exchanging a context-activity pair and associated recommendations;

[0036] FIG. 14A is an exemplary network process flow diagram of the interaction of the wireless device, network server, and web server when carrying out the determination of the current context of the wireless device;

[0037] FIG. 14B is an exemplary network process flow diagram of the interaction of the wireless device and network server when the user's wireless device sends a requested context-activity pair to the network server and receives back the resultant service recommendations from the server;

[0038] FIG. 14C is an exemplary network process flow diagram of an alternate embodiment, in which the context-activity pair information sent by the wireless device to the network server, includes the metadata vector, where the network server can then assist the wireless device in determining the mobile device's current context, as well as the server sending the resultant service recommendations back to the wireless device;

[0039] FIG. 14D is an exemplary network process flow diagram of an alternate embodiment, in which Step 326 ′ sends to recommendation algorithm 829 in a server 826 , a sample of representative context-activity pairs filtered by algorithm 817 and related service history items from the log 815 as a set of context-activity pairs and related service history items;

[0040] FIG. 15 is a functional block diagram of an example of a network server showing the memory storing the application services software programs needed to perform various operations, such as service recommendations;

[0041] FIGS. 16A and 16B show an alternate embodiment of an example of the user's wireless device with the UPDATE PRIVACY FEATURES: sub-menu of the Recommendation Web Services menu;

[0042] FIGS. 16C and 16D show an alternate embodiment of an example of the user's wireless device with the MANAGE CONTEXT-ACTIVITY PROFILE sub-menu of the Recommendation Web Services menu;

[0043] FIGS. 16E and 16F show an alternate embodiment of an example of the user's wireless device with the REQUEST A RECOMMENDATION sub-menu of the Recommendation Web Services menu;

[0044] FIGS. 16G and 16H show two examples of the alternate embodiment of the user's wireless device with a requested context-activity pair which is sent to the network server and the resultant service recommendations received back from the server;

[0045] FIG. 17A shows an alternate embodiment of an example of the context-pairs and services database 192 in the network server 826 ;

[0046] FIG. 17B shows an alternate embodiment of an example of the context-pairs and service history log 815 in the device 800 ;

DISCUSSION OF THE INVENTION:

[0047] In FIG. 1, a mobile station, in the form of a battery driven telephone cellular handset MS 1 , is shown schematically in radio communication with PLMN 1 . Mobile handset MS 1 , includes a microphone 2 , keypad 3 , soft keys 4 , a liquid crystal display device 5 , ear-piece 6 and internal antenna 7 . It is understood that the spirit and scope of the present invention applies to numerous other handsets, such as those illustrated in subsequent illustrations, and that the examples shown herein are for illustrative purposes. The circuitry of handset MS 1 is shown in more detail in FIG. 2 . Signal processing is carried out under the control of digital micro-controller 8 which has an associated RAM/ROM 9 and flash memory 10 . Electrical analog audio signals are produced by microphone 2 and amplified by pre-amplifier 11 . Similarly, analog audio signals are fed to the ear-piece 6 through an amplifier 12 . The micro-controller receives instruction signals from the keypad and so-called soft keys 4 a,b,c , and controls operation of the LCD display 5 .

[0048] Information concerning the identity of the user is held on a smart card 13 in the form of a GSM SIM card which contains a GSM international mobile subscriber identity and encryption K i that is used for encoding the radio transmission in a manner well known per se. The SIM card 13 is removably received in a SIM card holder 14 . Radio signals are transmitted and received by means of the antenna 7 connected through a RF Interface stage 15 to a codec 16 , configured to process signals under the control of a micro-controller 8 .

[0049] Thus, in use for speech, the codec 16 receives analog signals from the microphone amplifier 11 , digitizes them into a form suitable for transmission and feeds them to the RF stage 15 for transmission through antenna element 7 to PLMN 1 shown in FIG. 1 . Similarly, signals received from PLMN 1 are fed through the antenna element to be demodulated by the RF interface stage 15 and fed to codec 16 so as to produce analog signals fed to amplifier 12 and ear-piece 6 .

[0050] The mobile station MS 1 is also configured to operate as a client to receive data from remote servers and to communicate through PLMN 1 to a gateway 18 shown in FIG. 1 which acts as a proxy server for connection to remote servers, such as server 19 . For example, for a WAP enabled system, access to the gateway 18 is provided by dialing a telephone number associated with the gateway although other communication techniques can be used e.g. for GPRS and UMTS. The server 19 may provide data corresponding to individual sites each with an individual homepage with a specific network address or universal resource locator (URL). The data may be provided in WML through the PLMN 1 to the handset MS 1 , which acts as a mobile client.

[0051] The mobile handset MS 1 runs a micro-browser. The software for running the micro-browser may be held in flash memory 10 shown in FIG. 2 , so as to be run by the micro-controller 8 and provide an output on display 5 .

[0052] An example of the display provided by the micro-browser is shown in more detail in FIG. 3 . In this example of the display 5 , the user has elected to view the bookmark list, listing network addresses previously selected by the user, as illustrated by information bar 20 . The bookmarks include entries in the form of menu options which comprise links to corresponding network addresses. The links may be selected using a so-called focus region 21 which can be scrolled upwardly and downwardly shown in FIG. 3 using key 4 c , which can be pushed upwardly and downwardly in the direction of arrow 22 in order to perform a scrolling function. Thus, as shown in FIG. 3 , the network address “www.news.wml” falls within the focus region 21 . The bookmarks may have been produced by the user in a conventional manner or may have been downloaded to the handset for example by a network operator.

[0053] Soft keys 4 a and 4 b are attributed functions shown on the display 5 , which varies from display to display. For the bookmark list shown in FIG. 3 , the keys 4 a , 4 b are attributed functions “options” and “back” respectively and appropriate legends 4 a ′ and 4 b ′ are displayed on the LCD display 5 under the control of software being run by controller 8 . If the key 4 a is actuated, a list of options e.g. select, re-load, help etc are displayed (not shown) on the display 5 . The “select” function may then chosen from the displayed list using the scrolling key 4 c , in the event that the user wants to actuate the link to the “www.news.wml” address shown in FIG. 3 . At this time, the soft key function attributed to the key 4 a is itself “select” so that an operation of the key 4 a will cause the link to the news page within the focus region 21 to be actuated and navigation to the “www.news.wnl” network address is carried out.

[0054] Alternatively, the user may elect to view a different list of bookmarks, e.g. the “re-dial” list shown in FIG. 4 , which lists the bookmarks which are deemed most likely to be re-dialed by the user. The user has recently navigated to network addresses “www.news.wml”, “www.sport.wml” and “www.weather.wml”. This other list stores only addresses that were previously bookmarked, or manually entered by the user and, therefore, the individual network addresses associated with pages decks or cards within these sites that were navigated previously are not stored in the second list. The re-dial list of FIG. 4 can only contain a small number of bookmarks compared with the bookmark list of FIG. 3 . For example, the bookmark list may have a maximum capacity of 200 bookmarks whereas the re-dial list may have a maximum capacity of 10 bookmarks. The soft key 4 a is attributed a “select” function so that the user can scroll using key 4 c to select one of network addresses and navigate directly to the relevant page by appropriately moving the focus region 21 and operating the select key 4 a.

[0055] FIG. 5 illustrates bookmark list 23 and re-dial list 24 together with a process for updating bookmarks held in both lists. It is understood that multiple lists of various kinds may be set up under the present invention. The user may navigate to a desired page for example, by one of the following methods: selecting a bookmark from either of the lists shown in FIGS. 3 and 4 , manually typing in a network address or URL, or by following a link provided in another page viewed in the browser, as shown at step 500 . At step 501 , a check is made to determine if the displayed page is a homepage, and if so, the redial list 24 is updated as will be explained hereinafter ( 506 ), so as to contain the home page address as a bookmark.

[0056] If the displayed page is not a homepage, then at 502 , it is determined whether the page displayed at 500 was accessed using bookmark list 23 or redial list 24 . In this instance, re-dial list 24 is updated ( 506 ), to include a relevant network address. If the page was accessed by other means, the user may choose to bookmark it ( 503 ), in which case an entry is made in main bookmark list 23 ( 504 ). If the user had typed in the address, determined in step 505 , a separate entry is made in re-dial list 24 ( 506 ), regardless of whether the user has bookmarked the page. Re-dial list 24 therefore contains entries relating to homepages, pages accessed using bookmark list 23 , re-dial list 24 , or by entering an address manually. Network addresses accessed by following links are not included, so that the re-dial list 24 is limited the pages that are likely to be currently important to the user. Alternately, network addresses may be included for a complete link history for the user.

[0057] The process of updating the bookmark list is explained with reference to FIGS. 6 and 7 . FIG. 6 depicts memory organization of the RAM/ROM 9 shown in FIG. 2 . Memory locations corresponding to a selected number of network addresses for the visited pages are cached in a shift register according to how recently they were last accessed. When a page is accessed by a user via the bookmark list 23 , re-dial list 24 , or manual address entry ( 701 ), the controller 8 determines whether the relevant network address is already stored in the re-dial list ( 702 ). If this is not the case, a check is made at step 703 to determine if the re-dial list is full of bookmark entries It is not full, the new address may be added to the top of the list shown at step 704 . If the list 24 is full the final entry 35 is deleted from the memory location corresponding to the bottom of the list ( 705 ) and the entries above it, 32 - 34 ( FIG. 6 ) and addresses D-I, are shifted ( 706 ) so that the new address 30 may be added to the top of the list 31 ( 704 ). However, the page already has an entry in the re-dial list, e.g. if the address to be added 30 related to www.sport.wml, the previous entry 34 relating to that page is removed ( 707 ), any preceding entries 32 , 33 are shifted accordingly ( 706 ) and the address stored at the memory location corresponding to the top of the list 31 ( 704 ). In this manner, the most frequently used network addresses will tend to remain on the re-dial list, producing a short list of the pages visited most regularly by the user.

[0058] The re-dial list comprises the network addresses that are likely to be most frequently accessed by a user and, as it may be much shorter than the main bookmark list, allows the user of a mobile telecommunications device to quickly select and access a favorite network address without the inconvenience of scrolling through large numbers of bookmarks. Many modifications and variations falling within the scope of the invention will be evident to those skilled in the art. For example, whilst the described example relates to the use WAP technology, the invention can be used in any mobile telecommunications system in which mobile devices act as clients for remote servers. Also, whilst the invention has been described in relation to the example of a telephone handset, it can be used in other mobile devices such as PDAs, gaming devices and remote handheld devices for home entertainment systems.

[0059] A service recommendation engine or algorithms (used interchangeably herein) are configured to recommend or determine a subset of services from a plurality of services according to user-related filter criteria. Such criteria may be any factor unique or personal to the user or the user's wireless device which can be utilized in ascertaining or inferring possible services preferred by a particular user. Examples of user-related filter criteria may include static or dynamic factors, such as the user's service usage pattern or preference (e.g., when, where, how, a number of times, etc. that a service was used); the user's current context which may inferred from the user's perceived environment through various sensory devices; the user's past and current activities; the user's profile (habits, likes-dislikes, personal characteristics, personal background, etc.); and/or the current environment of the wireless device sensed by one or more sensors (e.g., a location/positioning sensor, a compass, a touch sensor, an audio sensor, a light sensor, and a temperature sensor). Once a set of recommended services are determined, the service may be stored as bookmarks in the wireless device, or at a remote server.

[0060] Accordingly, through the above-noted combination, a wireless device may be configured to enable a user to access preferred or desired services by short cuts/bookmarks, user command or other form of user input (e.g., keypad, touch-display, etc.), while reducing or minimizing the processing load and memory and other hardware requirements necessary to implement such functionality or control in a wireless device. Such an arrangement does not require the user to remember the exact service addresses, which are often complex and difficult to remember, to access desired services; reduces privacy concerns for the user in the access of services; provides for service options which may be organized and accessed without requiring substantial effort on the part of the user.

[0061] In one exemplary embodiment, such a system and method are implemented through a portable wireless device including a recommendation engine and a database of past services accessed by the user. The recommendation engine recommends or determines a subset of services from a plurality of services to provide recommendations which are personal to and preferred by the user. The recommendation may be based on various user-related filter criteria (e.g., context) and, if desired, limited to the range of past used services of the user. These recommended services may then be visibly or audibly outputted to the user for selection thereof, and such output may include information identifying short-cuts for one or more or each of the recommended services. For example, visual output of enabled services may be displayed in the form of an icon or other visual forms (e.g., URL address) to inform the user of the availability of such short-cuts so as to assist the user in effectively utilizing such short-cuts. This may also be accomplished by other output means, such as audio output. The service may also be enabled to provide URL completion functions of stored addresses or bookmarks, which automatically complete partial entries by a user.

[0062] The user may thereafter input a command to select a service to be accessed from the subset of recommended services. When the input is received, a portable wireless device processes input to an appropriate computer readable format (e.g., metadata), compares the processed data to data associated with the recommended services, and identifies the service with short-cut matching the user's command. Thereafter, the portable wireless device, such as through its micro-browser, accesses the selected service automatically or upon a user command.

[0063] In another embodiment, such a system and method are implemented through a distributed networked system in which various processing tasks and data maintenance may be distributed between a portable wireless device and one or more network elements, such as a network server, ad hoc network partner, and so forth. The tasks may be distributed in the following manner:

[0064] [1] The network server(s) or other network element may be configured to implement both the recommendation and bookmark/short-cut processing. For example, after initiation of the micro-browser by the user or other triggering event, the wireless device receives a bookmark/short-cut command from the user and forwards the command data to the network server and other relevant information, such as user-related filter criteria (e.g., context) and/or information for determining such criteria. The network server determines a subset of recommended services from a plurality of services based on the user-related filter criteria. The network server then, identifies a service therefrom with a short-cut matching the user's command. The network server then returns information corresponding to the identified service, such as the service's address (e.g., URL) or other service access information, to the wireless device for access thereof. Alternatively, the network server may act as an intermediary between the wireless device and the service provider of the identified service and access the identified service for the wireless device.

[0065] In another example, after initiation of the micro-browser by the user or other triggering event, the wireless device requests a service recommendation from a network server. The request may include other relevant information, such user-related filter criteria (e.g., context.) or information for determining such criteria. The network server receives the request along with any relevant information and determines a subset of recommended services from a plurality of services based on the user-related filter criteria. These recommendations are then sent to the wireless device which outputs, audibly or visibly, the availability of such recommended services through user input bookmarks/short-cuts.

[0066] The wireless device then receives the user's command and passes corresponding command data to the network server. The server then performs processing on the command to identify a service (from the plurality of recommended services) with a short-cut matching the user's command. The network server then returns information corresponding to the identified service, such as the service's address (e.g., URL) or other service access information, to the wireless device for access thereof. Alternatively, the network server may act as an intermediary between the wireless device and the service provider of the identified service and access the identified service for the wireless device.

[0067] [2] The network server(s) may be configured to implement the recommendation processing within the wireless device. For example, after initiation of the micro-browser by the user or other triggering event, the wireless device requests recommendations from a network server. The request may include other relevant information, such as user-related filter criteria or associated information in determining such criteria. The network server receives the request and relevant information and determines a subset of recommended services from a plurality of services based on the user-related filter criteria. These selections are then sent to the wireless device, and the device outputs, audibly or visibly, the availability of such recommended services through user input short-cuts.

[0068] The wireless device then receives the user's short-cut command and performs processing of the command to identify a service (from the plurality of recommended services) with a short-cut matching the user's command. Thereafter, the wireless device, via its micro-browser or other platform, accesses the selected service automatically or upon the user command.

[0069] [3] The network server(s) or other network element may be configured to implement the short-cut processing. For example, after the recommended services are transmitted to the user, the wireless device receives a command from the user and forwards the command data to the network server and possibly other relevant information, such as the recommended services information and/or other short-cuts (e.g., XML tags) for such services. The network server identifies a service (from the plurality of recommended services) with a short-cut matching the user's command. The network server then returns information concerning the identified service, such as the service's address (e.g., URL) or other service access information, to the wireless device for access thereof. Alternatively, the network server may act as an intermediary between the wireless device and the provider of the identified service and access the identified service for the wireless device.

[0070] In further embodiments, the maintenance and generation of short-cuts(s) for a particular digital service may be accomplished in various ways, for example, as follows:

[0071] [A] Address attributes, such as host name and service name, or other portions of the address attributes may be utilized as a short-cut of a digital service when performing bookmark/shortcut processing.

[0072] [B] Bookmarks/short-cuts may be generated from metadata associated with a particular service site. Metadata is often employed by search engines, service sites and/or other network entities to characterize or classify the content on a particular service site to facilitate user searches. Accordingly, one or more short-cuts may be generated for association with a particular service according to the metadata associated with that service, such as by identifying and selecting one or more words or terms from the metadata which aptly characterizes the service. This may be accomplished by manually examining the metadata associated with a service site, or through probability analysis in which the words or terms showing up a significant number of times or the greatest number of times is used as the short-cut.

[0073] [C] A bookmark/short-cut registry or the like may be maintained by a network element, such as a server, which maintains a relational database of service addresses and their associated bookmark/short-cut tag. The registry may be similar to domain name registry, in which bookmark/short-cut tags may be uniquely defined for a particular service using a standard format, such as in XML. Through a central registry, a uniform standard may be achieved for bookmark/short-cut tags or the like and their usage in enabling access to associated services. A wireless device may request bookmark/short-cut tags from the registry for the subset of recommended services prior to performing processing. Alternatively, whenever a service site is accessed, the site may deliver the bookmark/short-cut tag to the accessing device which can store the bookmark/short-cut tag for future use.

[0074] Along similar lines, a service provider may predefine bookmark/short-cut tags for its service addresses and provide such information to the wireless device or other network elements in communication with the wireless device to facilitate bookmark/short-cut based access to such service(s). For example, the service provider may embed bookmark/short-cut tags in an XML message sent to the user's wireless device.

[0075] [D] A user may define, change or delete bookmark/short-cuts for a particular service which are stored locally on the user's wireless device or at a remote location accessible by the wireless device.

[0076] [E] The wireless device generally may download predefined or generated short-cuts associated with services from a remote location, via a network. Such download may be performed when a new service is accessed by the user, at periodic intervals, upon a user request, or upon some other predetermined triggering event.

[0077] [F] Short-cut(s) may also be a “temporary” short-cut assigned to a recommended service, such as according to hierarchy or priority of the recommendations. For example, the short-cut “bookmark one” or “bookmark 1” can be temporarily assigned to a first recommended service of the subset, the short-cut “bookmark two” or “bookmark 2” can be temporarily assigned to a second recommended service of the subset, and so forth. Alternatively, the short-cut “A” can be temporarily assigned in an outline form to a first recommended service of the subset, the short-cut “B” can be temporarily assigned to a second recommended service of the subset, and so forth. Temporary short-cuts may be employed together with a selection menu, whether displayed or audibly outputted, for enabling short-cut to recommended services.

[0078] [H] To specify a short-cut, bookmark/short-cut tags may be used to categorize the bookmark/short-cut short-cut for a particular service. For example, a bookmark/short-cut may be tagged for a particular service in XML format (“bookmark XML tag”), e.g., <BOOKMARK TAG>[short cut]</BOOKMARK TAG> to facilitate access in a digital service environment, such as with Internet service, etc.

[0079] These and other exemplary embodiments will now be discussed in further detail below with reference to the Figures. Turning to FIG. 8 , an exemplary network environment is provided in which a user, operating a portable wireless device 800 , is able to employ multi-modal input forms, along with other user input forms, to access preferred digital services through device 800 . This is accomplished through combination of a service recommendation engine and a short-cut engine, each of which may be implemented locally at the portable wireless device or at a remote location, such as at a network server 826 , to provide short-cuts to the user's preferred services.

[0080] A recommendation engine may be employed to determine a subset of recommended services from a plurality of services based on user-related filter criteria (e.g., context, etc.). Commands by the user may be further processed to compare and match the commands to short-cuts associated with the recommended services to enable user selection and access of a service from the recommended services by short-cut.

[0081] As shown, a network diagram illustrates an example of a relationship between the user's portable wireless device 800 , a wireless access point 820 , an infrastructure network 821 , a network server 826 , and a third party service provider 822 interconnected over the Internet 824 . The user's wireless device 800 communicates over a radio link with the wireless access point 820 , which is connected to a wireless network 821 , which is connected to a protocol gateway 823 . The gateway 823 is connected over the Internet 824 to the server 826 .

[0082] The network 831 formed by the wireless device 800 , wireless access point 820 , and infrastructure network 821 can be implemented as a digital wireless wide area network (WAN), based on architectures such as Global System for Mobile Communication (GSM), IS-136 TDMA-based Digital Advanced Mobile Phone Service (DAMPS), Personal Digital Cellular (PDC), IS-95 CDMA-based cdmaOne System, General Packet Radio Service (GPRS) and broadband wireless architectures such as W-CDMA and Broadband GPRS. For more information on these digital wireless, wide area network architectures, see the book by Yi-Bing Lin, et al. entitled Wireless and Mobile Network Architectures , John Wiley & Sons, 2001. Network 831 can also be a short-range wireless system connected to a wide area landline infrastructure network such as the Internet 824 . Short-range wireless systems include both wireless personal area network (“PAN”) and wireless local area network (“LAN”). Both of these networks have the common feature of operating in unlicensed portions of the radio spectrum, usually either in the 2.4 GHz Industrial, Scientific, and Medical (ISM) band or the 5 GHz Unlicensed-National Information Infrastructure (“U-NII”) band. Wireless personal area networks use low cost, low power wireless devices that have a typical range of ten meters. The best-known example of wireless personal area network technology is the Bluetooth Standard, which operates in the 2.4 GHz ISM band. It provides a peak air link speed of one Mbps and a power consumption low enough for use in personal, portable electronics such as PDAs and mobile phones. The Bluetooth Special Interest Group, Specification Of The Bluetooth System , Version 1.0B, Volumes 1 and 2, December 1999, describes the principles of Bluetooth device operation and communication protocols. Wireless local area networks generally operate at higher peak speeds of from 10 to 800 Mbps and have a longer range, which requires greater power consumption. Wireless local area networks are typically used as wireless links from portable laptop computers to a wired LAN, via an access point (AP). Examples of wireless local area network technology include the IEEE 802.11 Wireless LAN Standard and the HIPERLAN Standard, which operates in the 5 GHz U-NII band. For more information on wireless LANs, see the book by Jim Geier entitled Wireless LANs , Macmillan Technical Publishing, 1999. The network 831 formed by the wireless device 800 , wireless access point 820 , and infrastructure network 821 can use a wireless communications protocol, such as the Wireless Application Protocol (WAP), the I-Mode protocol, or the mobile IPv6protocol.

[0083] Portable wireless device 800 may take the form of a processor-based wireless communication-enabled device, such as a wireless mobile telephone (see FIG. 1 , MS 1 ), pager, two-way radio, smartphone, personal communicator, laptop or notebook computer, wireless personal digital assistant (PDA) or the like. Typically, wireless device 800 has a resident memory 880 , CPU 881 , radio 882 , speaker 803 , and sensor interface 883 . Portable wireless device 800 includes a plurality of output subsystems, such as a displayed browser 801 and speaker 803 , to provide for supplemental multi-modal output functionality and a plurality of user input subsystems, such as microphone 804 , keypad 805 , a touch-display and so forth, to provide for multi-modal input functionality. Browser 802 may be partitioned, as desired, to have a main display area, along with other display or touch-screen areas, such as in the form of an icon or other visual representation to notify the user of the availability of shortcuts to recommended services.

[0084] The portable wireless device 800 further includes various programs and databases, including the user's personal programs and databases, programs and databases associated with the conventional operation of the wireless device, and programs and databases to implement short-cut service access processes discussed herein. These programs and databases may include, for example, application programs 813 , communication programs 814 , service history log 815 , current context state 816 , recommendation algorithms or engine 817 to enable local and/or network-based service recommendations. These programs may alternately include a voice response unit (VRU) (not shown) for converting data, such as text, to speech which can be outputted to the user via speaker 803 .

[0085] As further shown in FIG. 8 , the portable wireless device 800 may also include a plurality of sensors for sensing the mobile user's ambient conditions. The sensors shown include Positioning Sensor 806 , Touch Sensor 808 , Audio Sensor 809 , Compass Sensor 807 , Ambient light Sensor 810 , Ambient Temperature Sensor 811 , and Three-Axis Acceleration Sensor 812 . Audio sensor 809 can be a microphone, for example, which can detect speech or other environmental sounds. The positioning sensor 806 can be, for example, a GPS receiver integrated in the device. The positioning sensor can also be, for example, a radio beacon triangulation sensor that determines the location of the wireless device by means of a network of radio beacons, base stations, or access points, as is described for example, in Nokia European patent EP 0 767 594 A2, entitled “Mobile Station Positioning System”. These sensors provide inputs which are sampled by the wireless device 800 to sense the user's environment and to infer a current context which may be used to provide recommendations to the user based on the user's environment. The portable wireless device 800 may perform context inference techniques locally, or may offload to the network server 826 some of the computationally intensive computing involved in context inference techniques.

[0086] For example, in one or more embodiments discussed herein, as the user carries about the wireless device 800 , its sensors may automatically and continuously measure the geographic location and context of the device. The wireless device may periodically transmit the current context in a message over the wireless network to the network server 826 . There are several types of messages, each of which is distinguished by its own unique op code. When the wireless device sends a message containing the current context, the network server 826 parses the op code and responds with information corresponding to the op code, the information being related to the current context.

[0087] If the op code indicates that the message is a spontaneous message which is automatically transmitted by the device 800 , then the network server 826 may respond with information such as a service category menu, or information such as recommended services (along with associated short-cuts) based on the current context, or prepaid advertising of local services related to the current context. As shown in FIG. 8 , the user's portable wireless device 800 further includes a service history log 815 . The activities stored in the service history log 815 may be divided into two major categories: past recommendations made by the wireless device 800 and/or network server 816 , and services including short-cuts. Under one embodiment, the category of services may be broken into four sub-categories: (1) Past Services used, (2) Prestored Service Preferences, (3) Special requested service requirements, and (4) Digital Services and Associated Short-Cuts. The term “activities”, as used herein, may refer to any of these categories and sub-categories. The service history log 815 may store five component databases: [1] Past Recommendations and Context, [2] Past Services Used and Context, [3] Prestored Service Preferences, [4] Special Requested Service Requirements, and [5] Digital Services and Short-Cuts. An example is shown in FIG. 10 of the two component databases: [1] past recommendations and context 1000 and [2] past services used and context 1001 .

[0088] When implementing distributed processing with the network server 826 , the wireless device 800 can automatically send messages with a unique op code designating that the message is an automatically transmitted message containing the device's past recommendations and context or past services used and context, in addition to the current context or other information for use in enabling short-cut access to recommended services. In one or more embodiments, the network server 826 may parse the op code and uses the device's past recommendations and context or past services used and context to find similar service recommendations in its database. The network server 826 then responds with information customized to the user's perceived interests, the information being related to the current context. While the above discusses one approach to recommending services, any user-related filter criteria may be employed to determine recommendations personal to the user.

[0089] The user of the wireless device 800 can also manually enter requests for menus and recommendations related to the current context. In any event, the wireless device 800 may then determine the service recommendations locally based on the current context and enable short-cut access to such recommended services. Alternatively, the wireless device 800 may send messages with a unique op code designating that the message is a manual request by the user containing the device's past recommendations and context or past services used and context, in addition to the current context or other information for use in enabling short-cut access to recommended services. The network server parses the op code and uses the device's past recommendations and context or past services used and context to find similar recommendations in its database consistent with the user's manual request. The network server 826 then responds with information customized to the user's expressed interests, the information being related to the current context. While the above discusses one approach to recommending services, any user-related filter criteria may be employed to determine customized or personalized recommendations to the user.

[0090] Under one embodiment, the service history log 815 can accumulate data on past services used by the user of the device 800 in several ways. The service history log 815 can be programmed to capture on-line transactions and activities, such as ticket purchase information for services, access of a service, and so forth. The service history log 815 can also be programmed to monitor the dwell-time of the device at scheduled events and to draw the inference that the user is in fact engaged in such an event. The event and the current context are then stored in the database “[2] past services used and context”, in the service history log 815 .

[0091] While the portable wireless device 800 may be configured to perform the context, recommendation and short-cut processing alone, one or more or all of these processes can be offloaded to one or more other network elements, such as the network server 826 . Accordingly, depending on which processes are offloaded, the network server 826 may include context inference engine 827 , digital service and short-cuts database 828 , recommendation algorithms or engine 829 , and context-activity pairs database 830 .

[0092] In one distributed system embodiment, the wireless device 800 provides recommendations to its user that are appropriate to the device's current environment by selecting an activity (e.g., a category or sub-category), pairing it with the current context result, and sending the context-activity pair to the network server 826 . The network server 826 searches its database of recommendations using the context-activity pair, and returns recommendations to the user. While the portable wireless device 800 and the network server 826 may employ context-activity pairs to determine recommended services, other user-related criteria and processes may be employed to ascertain preferred services desired to be accessed by the user.

[0093] Portable wireless device 800 , in combination with context inference engine 884 , are configured to determine a current context based on the user's current context which, in turn, may be inferred through sensory information from sensors of the device (e.g., location sensor, speed sensor, light sensor, sound sensor, etc.), clock, user's activities, and so forth. The portable wireless device 800 , in combination with the recommendation engine 817 , determine and recommend a subset of services from a plurality of services based on user-related filter criteria, such as the current context or other personal factors (e.g., service usage history—those services utilized the most by the user, etc.). To reduce the workload of the wireless device, the searchable range of services may be limited to past used services.

[0094] Once determined, recommended services may then be visibly (or audibly) outputted to the user for selection thereof by user input, and such output may include information identifying the short-cut(s) for one or more or each of the recommended services. For example, visual output of short-cut enabled services may be displayed in the form of an icon or other visual forms (e.g., URL address) to inform the user of the availability of such short-cuts so as to assist the user in effectively utilizing such short-cuts. This may also be accomplished as well by other output means, such as audio output. The user may thereafter enter a command to select a service to be accessed from the subset of recommended services.

[0095] In operation, after initiation of the micro-browser 801 by the user or upon some other triggering event, the portable wireless device 801 requests recommendations from the network server 826 . The request may include other relevant information, such as user-related filter criteria or associated information in determining such criteria. The network server 826 receives the request and any relevant information and determines a subset of recommended services from a plurality of services based on the user-related filter criteria. These selections are then sent back to the wireless device 800 , and the device outputs, audibly or visibly, an indication of the availability of such recommended services through user input short-cut. The short-cuts for the recommended services may be forwarded by the network server 826 or may be already stored locally for lookup on the portable wireless device 800 .

[0096] In one operational example, after initiation of the micro-browser 801 by the user or upon some other triggering event, the portable wireless device 801 may request service recommendations from the network server 826 . The request may include other relevant information, such user-related filter criteria or information for determining such criteria. The network server 826 receives the request and any relevant information, and determines a subset of recommended services from a plurality of services based on the user-related filter criteria. These selections are then sent back to the wireless device 800 , and the device outputs, an indication of the availability of such recommended services through user input short-cuts.

[0097] The portable wireless device 800 then receives the user's input command and passes corresponding command data to the network server 826 which performs processing of the command to identify a service (from the subset of recommended services). The network server 826 then returns information on the identified service, such as the service address (e.g., URL) of the service site operated by service provider 822 or other service access information, to the wireless device 800 , 815 for access thereof. Alternatively, the network server 826 may act as an intermediary between portable wireless device 800 and service provider 822 of the identified service and access the identified service for wireless device 800 .

[0098] In an alternative example, after initiation of the micro-browser 801 by the user or upon some other triggering event, the portable wireless device 800 receives a command from the user and forwards the command data to the network server 826 , along with other relevant information, such as user-related filter criteria (e.g., context) and/or information for determining such criteria. The network server 826 determines a subset of recommended services from a plurality of services based on the user-related filter criteria. Thereafter, server 826 identifies a service from the subset of recommended services. Network server 826 then returns information on the identified service, which may include the service address (e.g., URL) of the service site operated by service provider 822 , to wireless device 800 for access thereof. Alternatively, network server 826 may act as an intermediary between the portable wireless device 800 and service provider 822 of the identified service and access the identified service for the wireless device.

[0099] To facilitate ease of use as well as to explain various functions enabled on the portable wireless device 800 , a Recommendation Web Services Menu may be provided and displayed on browser 801 of the device. An example of such a menu as well as other screen shots of recommended services will be discussed below with reference to FIGS. 9A through 9J .

[0100] In FIG. 9 A, the user's portable wireless device 800 includes the browser 801 which displays the Recommendation Web Services menu 900 , to enable the user to navigate through the cards or pages being displayed and to select options that are programmed by the application programs 813 . Recommendation Web Services Menu 900 may provide the user with the following options to select:

[0101] [A] Request a Recommendation,

[0102] [B] Update Privacy Features and

[0103] [C] Manage Context-Activity Profile.

[0104] The Request A Recommendation menu may display the following options:

[0105] [1] Select A Service Category

[0106] [2] Send past recommendations

[0107] [3] Send Past services Used

[0108] [4] Send Prestored Service Preferences

[0109] [5] Enter Special Service Requirements

[0110] [6] Change Prestored Service Preferences

[0111] [7] Change Privacy Filter Settings

[0112] [8] Local Recommendation

[0113] [9] Change Short-Cut Settings

[0114] Reference to FIG. 11A illustrate how processes to be implemented at the wireless device 800 or the network server 826 may be invoked through the menu selection of FIG. 9A . One or more of the processes to be discussed below, particularly the recommendation related processes, may alternatively be invoked upon initiation of browser 801 or some other triggering event.

[0115] As shown in FIG. 11 A, the option 1101 to [1] SELECT A SERVICE CATEGORY invokes process 1119 in the user's device 800 , to RETRIEVE UPDATED SERVICE CATEGORY MENU, as shown further in FIGS. 11B and 11C . Process 1119 of FIG. 11A sends updated menu request message 1133 to process 1127 in the network server 826 , to UPDATE SERVICE CATEGORY MENU, as shown in FIG. 11B . The updated menu 901 ( FIG. 9B ) is returned in updated menu response message 1815 , as shown in FIGS. 11B and 11C . The updated menu 901 is displayed in the device's browser 801 in FIG. 9B . This same sequence of steps is automatically performed by the wireless device 800 and the network server 826 in response to wireless device 800 automatically transmitting messages with a unique op code designating that the message is an automatically transmitted message.

[0116] The option 1102 to [2] SEND PAST RECEIVED RECOMMENDATIONS invokes process 1120 in the user's device 800 , to SEND CONTEXT & PAST RECEIVED RECOMMENDATIONS, as shown in FIGS. 11D and 11E . Process 1120 sends recommendation request message 1111 to process 1128 in the network server 826 , to PROVIDE NEW RECOMMENDATIONS CORRESPONDING TO PAST RECOMMENDATIONS as shown in FIG. 11D . The recommendations 1157 ( FIG. 11E ) are returned in recommendation response message 1112 . The recommendations 1157 are displayed 908 in the device's browser 801 in FIG. 9H . This same sequence of steps is automatically performed by the wireless device 800 and the network server 826 in response to the wireless device 800 automatically transmitting messages with a unique op code designating that the message is an automatically transmitted message.

[0117] The option 1103 to [3] SEND PAST SERVICES USED invokes process 1121 in user's device 800 , to SEND CONTEXT AND PAST SERVICES USED, as shown in FIGS. 11F & G . Process 1121 sends recommendation request message 1113 to process 1129 in network server 826 , to PROVIDE NEW RECOMMENDATIONS CORRESPONDING TO PAST SERVICES USED, as shown in FIG. 11F . The recommendations 1157 are returned in recommendation response message 1820 , as shown in FIG. 11G . Recommendations 1157 are displayed in the device's browser 801 in FIG. 11H . This same sequence of steps is automatically performed by wireless device 800 and network server 826 in response to wireless device 800 automatically transmitting messages with a unique op code designating that the message is an automatically transmitted message.

[0118] The option 1104 to [4] SEND PRESTORED SERVICE PREFERENCES invokes process 1122 in the user's device 800 , to SEND CONTEXT AND PRESTORED SERVICE PREFERENCES in the pre-stored service preferences file 1122 , as shown in FIGS. 11D & F . An example of pre-stored service preferences is shown displayed 903 in the browser 801 of FIG. 9D . Process 1122 sends message 1115 to process 1824 in network server 826 , to PROVIDE RECOMMENDATIONS CORRESPONDING TO SERVICE PREFERENCES. The recommendations 908 are returned in message 1821 .

[0119] Option 1105 to [5] ENTER SPECIAL SERVICE REQUIREMENTS invokes process 1123 in user's device 800 , to SEND CONTEXT AND SPECIAL SERVICE REQUIREMENTS. An example of special service requirements is shown displayed 902 in the browser 801 of FIG. 9C . Process 1123 sends message 1117 to process 1131 in network server 826 , to PROVIDE RECOMMENDATIONS CORRESPONDING TO SPECIAL REQUIREMENTS. The recommendations 908 are returned in message 1118 .

[0120] The option 1106 to [6] CHANGE PRESTORED SERVICE PREFERENCES invokes process 1124 in user's device 800 , to CHANGE PRESTORED SERVICE PREFERENCES. An example of a menu to change pre-stored service preferences is shown displayed 903 in the browser 801 of FIG. 9D .

[0121] The option 1107 to [7] CHANGE PRIVACY FILTER SETTINGS invokes process 1125 in user's device 800 , to CHANGE PRIVACY FILTER SETTINGS. An example of a menu to change privacy filter settings is shown displayed 904 in the browser 801 of FIG. 9E .

[0122] The option 1108 to [8] LOCAL RECOMMENDATION invokes process 1125 in the user's device, to initiate LOCAL RECOMMENDATION, e.g., to determine service recommendations locally at the user's device. An example of a menu to initiate local recommendation is shown displayed 905 in the browser 801 of FIG. 9F . The local recommendations may be determined from a database of [a] past used services or [b] downloaded services from a network server, such as server 826 . An example of service recommendations displayed on the browser 801 is shown in FIGS. 9H through 9L . Additional options, such as ones to change short-cut setting may also be utilized to initiate associated processes.

[0123] As the user carries about wireless device 800 , sensors 806 - 812 continuously measure the geographic location and context of the device, which are compiled into a metadata vector 1134 representing the current context ( FIG. 11B ). Wireless device 800 periodically transmits the current context in an updated menu request message 1133 , shown in FIG. 11 B, over the wireless network 831 to the network server 826 . The updated menu request message 1133 includes the network address of the server 826 , an op code value RQ_MN that designates the message as an updated menu request message, and an operand portion containing the current context. The network server 826 of FIG. 11B includes a server op code parser 1134 that interprets the op code value RQ_MN as indicating that the message is an updated menu request message 1133 . In response, the server op code parser 1134 invokes step 1135 of the server recommendation algorithms 829 . Step 1135 gets from a database a list of services provided by regional advertisers corresponding to the current context of the device 800 . Step 1135 flows to step 1136 , which gets from a database a list of services provided by regional points of interest, such as galleries, monuments, museums, and the like, corresponding to the current context of the device 800 . Step 1136 flows to step 1137 , where the list of services provided by regional advertisers and the list of services provided by regional points of interest are filtered for weather related and time related service categories, eliminating those services that cannot be used by the user in the current context. For example, night_baseball is eliminated, if the current context is “daytime”. Hiking_nature_trail is eliminated if the current context is “bad weather”. Likewise, in a digital service scenario, electronic_stock_trading may be eliminated, if the current context is “nighttime”. Step 1137 flows to step 11134 , where the updated menu message 1133 ′ is prepared. The updated menu message 1133 ′ includes the network address of the device 800 , op code RSP_MN that designates the message as an updated menu server response message, and operands. The operands include the updated menu 1133 ( FIG. 11C ). The updated menu 1133 is returned to the device 800 in the updated menu response message 1133 ′, as shown in FIGS. 11B and 11C . This same sequence of steps is automatically performed by the wireless device 800 and the network server 826 in response to the wireless device 800 automatically transmitting messages with a unique op code designating that the message is an automatically transmitted message.

[0124] The device op code parser 1134 in FIG. 11C interprets the op code value “RSP_MN′ as indicating that the message is an updated menu server response 1133 ′. In response, the device op code parser 8206 invokes step 1120 of the device recommendation algorithms 817 . Step 1120 stores and displays the updated menu 1120 in the device's browser 801 in FIG. 9B .

[0125] The user can initialize the device 800 by entering special service requirements as shown in the browser 801 of FIG. 9C . Examples of special service requirements that can be stored in the service history log 815