This invention relates to transferring data over a network communication system.
Computers typically require access to databases for information. Accessing a database can result in large amounts of data being transferred to the computer. The computer will often include an application program, for example, a web browser to process the transferred data by sorting and filtering the data into a more manageable and useful data subset. The data subset can then be displayed on the computer for presentation.
Computers can exchange or share information over communication networks. The networks can be in the form of “hard” connections (e.g., wires or cable) or wireless (e.g., radio frequency). Wireless networks provide flexibility to the users and reduces costs associated with installation of cable or wire. However, such advantages and costs may be offset by other considerations. For example, wireless data transfer is typically slower than cable and can require expensive transmission and reception equipment. Data bandwidth is a parameter used to characterize transfers on a communication link. For example, data bandwidth can be defined as the size of the data to be transferred in units of bits or as the transmission rate of the data transferred in units of bits per second. By quantifying and optimizing the data bandwidth for the communication link being used, cost effective communications is achievable.
As will be described in greater detail below, a system and method for transferring data includes transmitting, on the basis of a predetermined criteria, data either unprocessed or processed. The data, depending on whether unprocessed or processed when received, may require further processing.
Referring to
Database server 50 includes a processor 100 which, among other tasks, executes instructions from a web browser 80 to locate and display web pages. In this example, web browser 80 is capable of displaying graphics as well as text and can process multimedia data (e.g., audio and video). Processor 100 executes a series of instructions, received from a web browser 80 located in memory 60, to process the data received. The processor 100 also executes instructions, received from the a driver 150 located in memory 60, to determine whether unprocessed or processed data may be better suited for transmission to the hand-held PDA 40 using transmitter 110. PDA 40 includes a receiver 90 that receives the data transmitted from database server 50 via a wireless link 120. PDA 40 also includes memory 70 that stores the received data, a driver 160, and the same or similar web browser 80 stored at the database server 50, as well as a processor 130 for receiving a series of data processing instructions from the driver 160 for determining if the received data was processed before transmission. If so, the processor transfers the data to the memory 70 of the PDA 40. If, on the other hand, the data is determined to be unprocessed, the processor 130 will process the data with instructions from the web browser 80. The processed data is then transferred to the memory 70 of the PDA 40. Once stored in the memory 70 of the PDA 40, processor 130 transfers the processed data to a display 140, included in the PDA 40, for presentation to a user. By determining which of the processed or unprocessed data from the database 30 should be transferred to the PDA 40, faster data transfer and reduced transmission cost can be achieved.
With reference to
Referring to
The web browser 80 discussed above is one example of an application program that can be stored in the memory 60 of the database server 50 and the memory 70 of the PDA 40. In another example, the application program can be a geographical display program stored in the memory 60 of the database server 50 and the memory 70 of the PDA 40. The geographical display program allows a user of the PDA 40 to request geographical data of a road in a particular city from the database 30. The geographical data of the city can be retrieved from the database 30 and processed by the geographical display program that is stored in the memory 60 of the database server 50. The geographical display program filters the geographical data so that only the particular road of interest is provided. The database server 50 can use the driver 150 to determine whether to transfer the processed road data or the unprocessed city data. The processed or unprocessed data would then be transferred, and received by the receiver 90 in the hand-held PDA 40. The processor 130 of the hand-held PDA 40 would determine, by executing instructions from driver 160, whether the data was processed road data or unprocessed city data. If data is processed road data, the processor 130 would transfer the road data to the display 140 for presentation to the user. If the data is unprocessed city data, the processor 130 would process the city data, using instructions from the geographical display program, to the reduced road data. The road data would then be transferred to the display 140 of the hand-held PDA 40 for use by the user.
Storing web browser 80, in the memory 60 of database server 50, can be accomplished by various methods. In one approach, the web browser 80 is stored in a dedicated portion of memory 60 of the database server 50, as is common practice, and is easily available to the database server 50. Alternatively, the web browser 80 can be stored in the memory 60 of the database server 50 with access limited to particular subscribers. In still another approach, the web browser 80 can be loaded into the memory 60 of the database server 50, for example by the user of the PDA 40.
Driver 150, located in the memory 60 of the database server 50, can be included within the web browser 80 or any application program stored in the memory 60 of the database server 50. Similarly, the driver 160, located in the memory 70 of the hand-held PDA 40, can be included in the web browser 80 or any other application program stores in the memory 70 of the hand-held PDA 40.
In the example discussed above in conjunction with
It is generally preferable to reduce the cost of transmission. Along with monetary cost, transmission cost can also be measured by the amount of resource usage or similar measure. Thus, to lower transmission cost, various criteria can be used to determine whether to transmit processed or unprocessed data from the database server 50. For example, the criteria can be based on the least expensive cost of transmission. In another example, as described above, processor 100 determines which of the processed or unprocessed data has the least number of bits. The database server 50 then transmits the data of smaller size, which is generally less expensive. The criteria can also be based on the transmission speed. Generally, a faster transmission speed provides a smaller transmission period and a lower transmission cost. In many cases, the cost of processing information is less expensive than transmitting the information, regardless of whether the data is processed or unprocessed. Thus, in most cases processing to reduce transmission time is generally worthwhile. The processing time itself can also be the criteria. For example, if the processing time exceeds a predetermined processing time, it would be preferable to transmit the unprocessed data despite the larger transmission cost. Thus, there may be implementations in which it may be preferable to transmit data with a larger cost. Also, the criteria can be based on a combination of the criteria listed above.
The web browser 80, or any other application program stored in the memory 60 of the database server 50 and the memory 70 of the hand-held PDA 40, can be an applet. An applet is an application that has limited features, requires limited memory resources, and is usually portable between operating systems. Also, the web browser 80 that is stored in the hand-held PDA 40 can be executed only when processing at the hand-held PDA 40 is required.
The database server 50 can be located remotely from the database 30 and can access numerous databases 30 in various locations. Similarly, the application program (e.g., web browser 80) can be stored at a site remote from the memory 60 of the database server 50. Thereby, the processing can be done at another entity. For example, the web browser 80 can be stored in a device, that is connected to the database server 50 through a network connection, and has the wireless link 120 with the hand-held PDA 40.
Processor 100 of the database server 50 and processor 130 of the hand-held PDA 40 can be a microprocessor, micro-controller or other computing device. The wireless link 120 is only one example of a communication link. Other examples include cables or other network connections. In another example, the wireless link 120 can be in the form of an electromagnetic or infrared communication link. As described above, the display 140 provides a user interface between the hand-held PDA 40 and a user. An audio speaker, keyboard, or network connection are other examples of user interfaces that can be implemented with the hand-held PDA 40.
A number of examples of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other examples are within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5727159 | Kikinis | Mar 1998 | A |
6002852 | Birdwell et al. | Dec 1999 | A |
6134566 | Berman et al. | Oct 2000 | A |
6230048 | Selvester et al. | May 2001 | B1 |
6267733 | Peterson et al. | Jul 2001 | B1 |
6529757 | Patel et al. | Mar 2003 | B1 |
6633314 | Tuli | Oct 2003 | B1 |
6788980 | Johnson | Sep 2004 | B1 |
6842777 | Tuli | Jan 2005 | B1 |
6920488 | Le Pennec et al. | Jul 2005 | B1 |
7047201 | Chang | May 2006 | B2 |
20010039497 | Hubbard | Nov 2001 | A1 |
20010047359 | Videcrantz et al. | Nov 2001 | A1 |
20020011937 | Tanenhaus et al. | Jan 2002 | A1 |
20020013832 | Hubbard | Jan 2002 | A1 |
20020018451 | Sharony | Feb 2002 | A1 |
20020029384 | Griggs | Mar 2002 | A1 |
20020085497 | Phillips et al. | Jul 2002 | A1 |
20020086706 | Chen et al. | Jul 2002 | A1 |
20020092012 | Shah | Jul 2002 | A1 |
20020123330 | Yen | Sep 2002 | A1 |
20020165721 | Chang | Nov 2002 | A1 |
20020177453 | Chen et al. | Nov 2002 | A1 |
20030054810 | Chen et al. | Mar 2003 | A1 |
20040083273 | Madison et al. | Apr 2004 | A1 |
20040184463 | Dauchy et al. | Sep 2004 | A1 |
20040193499 | Ortiz et al. | Sep 2004 | A1 |
20050034057 | Hull et al. | Feb 2005 | A1 |
20050060237 | Barsness et al. | Mar 2005 | A1 |
20050240672 | Chen et al. | Oct 2005 | A1 |
20070016695 | Rabbers et al. | Jan 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20030110207 A1 | Jun 2003 | US |