# Patent

## Title
Portable high speed internet or desktop device

## Abstract

A portable device that allows accessing the Internet and World Wide Web wirelessly through a cellular telephone. A host computer, which may also be a Web server, translates and compresses into bitmap or raster images the information received from the Internet. The compressed images are sent to the portable device for decompression and display. The portable device accepts pointing and clicking to links to other pages. Commands entered by the user at the portable device are sent to the host computer for execution via a virtual browser to generate a new page, which is then rasterized, compressed and sent to the portable device. Alternatively, a user may perform clicking and scrolling with respect to the image on the device to cause the actual execution in the virtual browser. The user may access a virtual desktop through the palm top device to create and modify documents.

## Background
PRIOR ART
The background of the present invention includes U.S. Pat. No. 5,925,103, Internet Access Device, which describes an improved Internet access system, vastly different from the present invention. Other prior art would include palm top computers and hand-held computers that have limited processing power due to design restrictions. Thus, these computers are much slower for accessing the Internet and World Wide Web.
The present invention enhances the server's processing speed, data transfer and retrieval to and from the portable devices, with the aid of specialized embedded software in the server. The result is a cost effective Internet access solution.
SUMMARY
It is an object of the present invention to disclose a portable device that can access the Internet and World Wide Web, at extremely low costs. It is another object of the present invention to provide fast access to the Internet such that refreshing pages is quick and efficient.
The principal embodiment of the present invention discloses a portable device that comprises a modem that connects to a cellular telephone. Thus, the device has a wireless connection to the Internet. A host computer, which may also be a Web server connects directly to the Internet. The host computer comprises multiple software programs, for example a Browser Translator, which translates HTML images into black and white bit map or raster images. The compressed bit map or raster images are sent to the portable device, and the device decompresses the images. Thus, the user views a bit map image of a Web page.
The portable device comprises methods for pointing and clicking on text and images representing links to other Web pages. Clicking events are sent to the host computer that performs the commands via a virtual browser. The host computer then sends the required information to the portable device as a compressed image. The portable device decompresses the image and the user views a new page.
An alternate embodiment discloses the display of the palm top device as mirroring the virtual Web browser. Clicking, scrolling, and drag and drop events are performed on the palm top device, but the actual execution of the event is realized in the virtual browser.
Another embodiment further discloses multiple virtual desktops, which may be sent to multiple palm top devices as a bit map or raster images. The user may create and modify documents and files using a pop-up version of a keyboard, or a keyboard included with the device.



DETAILED DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates block diagram of the host computer, the portable device with wireless connection and the user.
FIG. 2 illustrates portions of the image with respect to the displayable area.
FIG. 3 illustrates sub-divisions of the image to be displayed.



DETAILED DESCRIPTION OF THE PRESENT INVENTION
The principal embodiment of the present invention aims to provide a device that allows a user to access the Internet or the World Wide Web (WWW), which device is similar to a palm top computer. It is a further aim of the present invention, to reduce the cost of the device. It is a further aim of the present invention, is to increase the speed of refreshing the screen when the user clicks on a link and commands another page to be displayed.
Currently, existing palm top devices such as the Palm Pilot VIITM and Windows CETM type devices contain an operating system, and within the operating system a mini-browser to interpret information received from the WWW or Internet and then display this information on the screen. This requires a powerful microprocessor.
The principal embodiment of the present invention is disclosed in FIG. 1. A host computer 1 is depicted that is connected to the Internet and may also be a Web server. Running in the host computer, is a Web server program 2. When a remote user 3 requests to view a Web page (or electronic message etc.) the Web server software receives HTML, JAVA, etc. information and transmits this information to another software, the Browser Translator 4. This software translates the information, (i.e. the entire image comprising graphics and text) received in the form of HTML, Java, etc. (information may be gathered from different sources) and translates it to a black and white bit map or raster image. In another embodiment, the software translates the information into a raster or color image. The image 5, as shown in FIG. 2, contains the information that would normally be displayed on a single Web page. The translation program therefore, also acts as a virtual browser 6. As can be seen in FIG. 2, the image 5 to be displayed in a browser window 6 is usually larger than the displayable area of the browser window 6.
The image 5 is further divided into sections 7, 8, 9, and 10, as shown in FIG. 3. The image is divided after the bitmap or raster is created. The reason for the division (as will be explained later) is for the purpose of display priority on the user's display. The image 5 is then sent to another program 11 running on the host computer 1 (FIG. 1), which compresses the image using a loss-less compression method. The compression method may be group 3 or group 4, or another method.
The programs 4 and 11 can have multiple instances running simultaneously on the host server for the purpose of connecting to multiple users. The compressed image, after being processed by program 11, is sent to the user, using a protocol in which information may be broken down into packets.
The information is received by a palm top device 12 that has the ability to display a monochrome image, in its display window 13. The information is decompressed and displayed in the order of priority such that part of image 7, which substantially or completely covers the displayable area 13 (FIG. 2), of the palm device is decompressed and displayed first and then sequentially the portions 8, 9, 10 of the image are decompressed and stored in an internal memory of the palm top device to be displayed later when the user scrolls up, down, or sideways to these parts of the image.
A CPU resident in the palm top device therefore has the ability to decompress a bit map or raster image that may be larger than the size of the display and allow the user to traverse this bit map or raster image. The primary method of traversing the image is through conventional scroll bars positioned at the sides of the image.
The resident CPU on the palm top device has no ability to determine which parts part or parts of the image, that is being displayed, represent links to other Web pages etc. Thus, the translator program 4 (FIG. 1) translates the image in the virtual browser 6 such that the words that represent links on the page 5 (FIG. 2) are translated to be slightly bolder. The user may therefore consider text that is bold to be links.
The palm top device provides the user with a pointing device. This pointing device may be a touch screen or tracking ball, etc. The palm top device also allows the user to click on specified areas. As soon as the user clicks on part of an image, the shape of the pointer changes from an arrow to an hourglass. A message is sent to the host computer, transmitting the location of the clicked down event. A program 14 interprets the message and provides a virtual click down in the virtual browser created in the translator program 4. If the user has pressed in an area of the image that does not represent a link or text box, a message is dispatched to the palm top device which immediately changes the hourglass shape of the pointer back to an arrow (in the case of a touch screen, from an hour glass to nothing). Further to this, if the user has clicked on a part of the image which represents a link, a new Web page is extracted from the Internet or WWW, translated by translator program 4 (FIG. 1) into a bit map or raster, and compressed by compression program 11 and dispatched to the palm top device where a new page is displayed. Furthermore, the image 5 is continuously being updated and translated and sent to the palm top device where it is continuously being refreshed. This occurs once every few seconds.
When the user clicks in a text box or in a box in the display area into which letters or numbers must be input, the cursor first changes into an hourglass, and a message is sent to the host server. The host server recognizes that the click down event has occurred in the text box, and sends a message back to the palm top device to inform the palm top device to pop-up a keyboard on part of the screen. The user then types, using the pointer, the letters or words to be entered into the text box and presses “enter” or “go”. The keyboard then disappears and the cursor changes back to an hourglass shape (in another embodiment, the keyboard could be replaced with a real keyboard or with an area that recognizes users' handwriting). The information typed into the text box is transmitted in a message to the host computer. The host computer enters the information into a text box in the virtual browser.
The user sees, after a short pause, as the image is refreshed on the palm top device that the words, or letters or numbers have been entered into the text box. Further to this, the host computer may also break up the image such that the portion that has been changed, i.e. the text box area, is sent first.
In another embodiment of the present invention, images are only refreshed when as event occurs such as a mouse down event on a link or in a text box.
In a further embodiment only those portions of the image that changes may be transmitted from the host computer to the palm top device. Other images in the virtual browser that are continuously changing, such as banner advertisements, may be the only other images sent to the palm top computer as they change.
In the principal embodiment, the palm top device also contains a modem, which can be linked to the user's mobile telephone 15 and information that is communicated between the palm top device and the host computer is sent and received wirelessly through the mobile telephone.
Furthermore, the palm top device only contains enough memory to store the current displayable page. When the user presses a back or forward button, a message is sent to the host server, and the host server sends the reference page. The back and forward buttons etc. may be hard wired into the palm top device, or may be part of the display area.
Further to this, part of the image representing buttons (and other things) on the virtual browser may be sent as part of the compressed image and buttons such as forward and back may be treated the same way as links are handled as previously described.
In another embodiment, the palm top device comprises a modem that permits the device to connect to a cellular telephone 15 in digital format.
In another embodiment, the connection to the cellular telephone 15 is made through an analog modem connected to an ear jack of the cellular telephone.
In yet another embodiment of the present invention, the modem is replaced by an analog modem that has the capability to be connected to a landline providing a standard 56 kbps-type connection.
Further embodiments may provide connections through ISDN, cable modems etc.
In a further embodiment, the palm top device may contain a large screen to be used in a fashion similar to a home Internet appliance.
In a further embodiment, the image transferred between the host computer and the remote device (previously the palm top device) may be a color image and the compression method used may be of a Jpeg or other compression methods used for color images. A gray scale image may also be used to reduce bandwidth or display costs.
In a further embodiment, the device includes no screen, but only outputs to be hooked to a television screen or external monitor for display.
The remote device in the principal embodiment only has the ability to decompress the image it receives; display the image it receives; allow the user to scroll through the image; provide the user with a pointing device to point and click on the image; send messages providing location of click down event; provide the user with a method to input letters and numbers; send a message containing these letters and numbers.
The principal embodiment contains no other structured or intelligent information about the image.
The Following is an Alternate Embodiment to the Present Invention
In an alternate embodiment of the present invention, the display of the palm top device mirrors the entire virtual browser window. The user views a bit map or raster image that represents the entire window, i.e. the menu and scroll bars, of the virtual browser. This is contrary to the principal embodiment, where the entire Web page which may be bigger than the browser window, and which when transmitted to the palm top device is displayed in portions thus compelling the user to scroll, on the device, to view the image. In this case, the CPU on the palm top device performs the scrolling. In the alternate embodiment, the user may perform click down events such as selecting menu items, scrolling on the scroll bars, or drag and drop events, on the bit map or raster image, but the true execution of the command is realized in the virtual browser.
For example, in the alternate embodiment, if the user scrolls through the bit map image, with the pointer, the actual scrolling command is completed in the virtual browser. As the user is scrolling on the bit map image, the cursor is changed to an hourglass and a message is sent to the server. The virtual browser then advances or reverses the virtual Web page. The new instances of the virtual Web page, as they appear in the Web browser, are rasterized and compressed and sent to the palm top device as bit map or raster images. There is a minimal delay for the user to receive the new images. The server may send the part of the image that is changed, or the entire Web window, to the palm top device. Furthermore, a continuous refreshing of the page may also occur.
If the user performs a clicking event on a “back” or “forward” button located on the menu, to shift Web pages, the actual “back” or “forward” transition occurs in the virtual Web browser. The new Web page is compressed and transmitted to the palm top device in a bit map or raster image.
The user may also perform drag and drop events on the palm top device, however the actual drag and drop event occurs in the virtual Web browser. For example, to drag an icon from one location on the display to another, the user must first click on the icon with the pointer and then move the pointer to the location where the icon will be placed. The pointer changes to an hourglass and a message is sent to the server that the pointer has been clicked in a specific location and moved to another location. The virtual Web browser performs the drag and drop event, and subsequently rasterizes and compresses the virtual Web page and sends it to the palm top device as bit map or raster image. The server may send only the portion of the raster image that has changed, or it may send the entire image, or it may have a continuous refreshing process.
In another embodiment of the present invention, the server may comprise multiple virtual desktops that the user may access through the palm top device. The desk top, as viewed on the device will be in a bit map or raster format. Thus, the access to a virtual desktop enables the user to create and modify files and documents directly on the palm top device.
The server contains a virtual desktop for each user that may comprise applications, disk space etc. A picture of this virtual desktop is then made, i.e. what normally would appear on a computer screen as a desktop, is rasterized, or a bit map of it is created and then it is compressed and transmitted to the palm top device where it is decompressed and shown.
The user may perform click down events, with the pointer, on icons or buttons located on the desktop. For example, if the user clicks on the “start” button, the shape of the cursor changes to an hourglass and a message is sent to the server that the pointer has been clicked in a certain location. The virtual desktop performs the click down event and the “start” menu is displayed. The page is rasterized and compressed and sent to the palm top device. Alternately, only the part of the image that is changed (i.e. the menu) is rasterized, compressed and sent.
The user may double-click, with the pointer, on a “start” menu item, for example to open a word processing program, or on an icon. Again, the cursor is transformed into an hourglass and a message is sent to the server that a double-click event has occurred at a specific location. The virtual desktop executes the word processing program and displays a virtual, empty document and menu, including the appropriate buttons. The empty document and menu are rasterized and compressed and sent to the palm top device, as a bit map or raster image. The user may click on an area of the empty document, which changes the cursor to an hourglass and a message is sent to the server. The server recognizes that the click down event has occurred in an area of the empty document, and sends a message to the palm top device to initiate the keyboard. The user may then use the pointer to input data into the keyboard, and then press “enter” or “go”. The keyboard disappears and the cursor changes to an hourglass. The input data is sent to the server as a message, and the data in entered into the virtual document on the virtual desktop. The virtual document is rasterized and compressed and sent as a bit map or raster image to the palm top device.
The palm top device may be equipped with a keyboard. The user may click on an area of the empty document with the pointer, changing the cursor to an hourglass. A message is sent to the server that a click down event has occurred on an area of the empty document. The user may begin typing and each keystroke, or groups of keystrokes, are sent to the server as one or multiple messages. The server continuously enters the data into a virtual document on the virtual desktop, and perpetually rasterizes and compresses the data and transmits it back to the palm top device such that the user views the data as it is being input.

## Claims

1. A host to serve a remote device, the host comprising:
means for generating, at the host, a first image of a virtual desktop to indicate a state of the virtual desktop, the virtual desktop representing a graphical desktop environment for controlling the host;
means for sending the first image in a compressed image format to the remote device;
means for receiving a first message from the remote device, the first message indicating user input received with respect to the first image;
means for applying the user input to the virtual desktop at a location corresponding to a location at which the user input is received with respect to the first image at the remote device;
means for generating, at the host, a second image of the virtual desktop, the second image indicating a state of the virtual desktop after the user input is applied to the virtual desktop; and
means for sending the second image of the virtual desktop to the remote device.

2. A host as in claim 1, wherein the user input comprises a click on a point on the first image; and, to generate the second image, the host applies a click to the virtual desktop at a point that corresponds to the point on the first image.

3. A host as in claim 2, further comprising:
means for sending, to the remote device, a second message from the host, the second message instructing the remote device to prompt for text input;
wherein the click applied to the virtual desktop allows text input at a location on the virtual desktop.

4. A host as in claim 1, wherein the user input comprises a double-click on a point on the first image; and, to generate the second image, the host applies a double-click to the virtual desktop at a point that corresponds to the point on the first image.

5. A host as in claim 1, wherein the user input comprises a drag-and-drop on the first image; and, the host applies a drag-and-drop to the virtual desktop at locations that correspond to locations where the drag-and-drop on the first image is received at the remote device.

6. A host as in claim 1, wherein the virtual desktop comprises a virtual web browser; and, the virtual web browser renders web pages requested by the remote device at the host into images.

7. A host as in claim 1 further comprising:
means for dividing the first image into a plurality of sections;
wherein the plurality of sections are sent to the remote device in a sequence according to a display priority in the compressed image format.

8. A host as in claim 1, wherein the first image is sent from the host to the remote device through a wireless telecommunication link.

9. A host as in claim 1, wherein a size of the first image is different from a size of a display of the remote device.

10. A host as in claim 9, wherein the first image is larger than the display of the remote device.

11. A method to serve a remote device, the method comprising:
generating, at a host, a first image of a virtual desktop to indicate a state of the virtual desktop, the virtual desktop representing a graphical desktop environment for controlling the host;
sending the first image in a compressed image format to the remote device;
receiving a first message from the remote device, the first message indicating user input received with respect to the first image;
applying the user input to the virtual desktop at a location corresponding to a location at which the user input is received with respect to the first image at the remote device;
generating, at the host, a second image of the virtual desktop, the second image indicating a state of the virtual desktop after the user input is applied to the virtual desktop; and
sending the second image of the virtual desktop to the remote device.

12. A method as in claim 11, wherein the user input comprises a click on a point on the first image; and, to generate the second image, the host applies a click to the virtual desktop at a point that corresponds to the point on the first image.

13. A method as in claim 12, further comprising:
sending, to the remote device, a second message from the host, the second message instructing the remote device to prompt for text input;
wherein the click applied to the virtual desktop allows text input at a location on the virtual desktop.

14. A method as in claim 11, wherein the user input comprises a double-click on a point on the first image; and, to generate the second image, the host applies a double-click to the virtual desktop at a point that corresponds to the point on the first image.

15. A method as in claim 11, wherein the user input comprises a drag-and-drop on the first image; and, the host applies a drag-and-drop to the virtual desktop at locations that correspond to locations where the drag-and-drop on the first image is received at the remote device.

16. A method as in claim 11, wherein the virtual desktop comprises a virtual web browser; and, the virtual web browser renders web pages requested by the remote device at the host into images.

17. A method as in claim 11 further comprising:
dividing the first image into a plurality of sections;
wherein the plurality of sections are sent to the remote device in a sequence according to a display priority in the compressed image format.

18. A method as in claim 11, wherein the first image is sent from the host to the remote device through a wireless telecommunication link.

19. A method as in claim 11, wherein a size of the first image is different from a size of a display area of the remote device.

20. A method as in claim 19, wherein the first image is larger than the display area of the remote device.

21. A machine readable medium containing executable computer program instructions which when executed by a data processing system cause said system to perform a method to serve a remote device, the method comprising:
generating, at a host, a first image of a virtual desktop to indicate a state of the virtual desktop, the virtual desktop representing a graphical desktop environment for controlling the host;
sending the first image in a compressed image format to the remote device;
receiving a first message from the remote device, the first message indicating user input received with respect to the first image;
applying the user input to the virtual desktop at a location corresponding to a location at which the user input is received with respect to the first image at the remote device;
generating, at the host, a second image of the virtual desktop, the second image indicating a state of the virtual desktop after the user input is applied to the virtual desktop; and
sending the second image of the virtual desktop to the remote device.

22. A medium as in claim 21, wherein the user input comprises a click on a point on the first image; and, to generate the second image, the host applies a click to the virtual desktop at a point that corresponds to the point on the first image.

23. A medium as in claim 22, wherein the method further comprises:
sending, to the remote device, a second message from the host, the second message instructing the remote device to prompt for text input;
wherein the click applied to the virtual desktop allows text input at a location on the virtual desktop.

24. A medium as in claim 21, wherein the user input comprises a double-click on a point on the first image; and, to generate the second image, the host applies a double-click to the virtual desktop at a point that corresponds to the point on the first image.

25. A medium as in claim 21, wherein the user input comprises a drag-and-drop on the first image; and, the host applies a drag-and-drop to the virtual desktop at locations that correspond to locations where the drag-and-drop on the first image is received at the remote device.

26. A medium as in claim 21, wherein the virtual desktop comprises a virtual web browser; and, the virtual web browser renders web pages requested by the remote device at the host into images.

27. A medium as in claim 21 wherein the method further comprises:
dividing the first image into a plurality of sections;
wherein the plurality of sections are sent to the remote device in a sequence according to a display priority in the compressed image format.

28. A medium as in claim 21, wherein the first image is sent from the host to the remote device through a wireless telecommunication link.

29. A medium as in claim 21, wherein a size of the first image is different from a size of a display area of the remote device.

30. A medium as in claim 29, wherein the first image is larger than the display area of the remote device.