CA2155773C - Progressive execution technique for mobile computing devices - Google Patents
Progressive execution technique for mobile computing devicesInfo
- Publication number
- CA2155773C CA2155773C CA002155773A CA2155773A CA2155773C CA 2155773 C CA2155773 C CA 2155773C CA 002155773 A CA002155773 A CA 002155773A CA 2155773 A CA2155773 A CA 2155773A CA 2155773 C CA2155773 C CA 2155773C
- Authority
- CA
- Canada
- Prior art keywords
- computing device
- result
- mobile computing
- user
- mobile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Abstract
A process for efficiently distributing processing between a mobile computing device having limited resources and at least one remote computing device having substantially greater resources than the mobile computing device, comprises establishing wireless communication between the mobile computing device and the remote computing device in response to a user's invoking of an application at the mobile device. The mobile computing device executes, in parallel, a first version of an algorithm for performing a function associated with the user-invoked application to obtain a first result, and the remote computing device executes a second version of an algorithm for performing the same function associated with the user-invoked application to obtain a second result. The results that are available first (generally the locally generated results) are presented to the invoked application on the mobile device. The application is thereafter updated with the most reliable results, which are determined by comparing the remotely-generated result with those locally generated at the mobile computing device and evaluating any difference therebetween.
Description
2~5~'~'~~
o PROGRESSIVE EXECUTION TECHNIQUE
FOR MOBILE COMPUTING DEVICES
FIELD OF THE INVENTION
The present invention relates generally to mobile computing devices and, more particularly, to an apparatus and method for distributing processing between a remote mobile computing device and a backbone network, so as to optimally deliver and utilize personal communication services.
BACKGROUND OF THE INVENTION
Interest in mobile computing, a relatively new field, has been largely driven by the miniaturization of electronics and by the focus in technical literature on wireless communications and personal communication services (PCS). As mobile computing machines continue to shrink in size, it has become evident that a practical implementation of "data-oriented" PCS will require a delicate balance between the competing objectives of reduced size and acceptable system performance.
Examples of currently available mobile computing devices include modem-equipped notebook computers and personal digital assistants (PDAs) PCMCIA (Personal Computer Memory Card International Association) cards advantageously provide the notebook computer or PDA user with an opportunity to enhance or to expand the unit's basic capabilities where space is at a premium.
Although PCMCIA cards may be utilized for such diverse applications as modems, 2 o exterior storage devices, sound cards, and printers, they are particularly well suited for wireless communications applications in which a communications link must be established between the mobile computer and a remote processing device or network of such processing devices.
Reductions in the size of portable or mobile computing machines have 2 5 come at the expense of certain resource limitations which, in turn, substantially limit ~1~~7'~3 0 system performance. One obvious example of a resource constraint which directly impacts the operating performance of mobile computers is battery size. Smaller machines carry smaller batteries. To support "uninterrupted" operation for 4-6 hours, a typical performance benchmark, power consumption is minimized by setting the clock speed below a given rate. Other performance-affecting resource limitations of mobile computing machines relate to memory size, CPU cycles, wireless transmission bandwidth, display size, and the like. In some cases, there is a dependency between the limitations. For example, smaller battery capacity may necessitate less wireless bandwidth.
SUMMARY OF THE INVENTION
The present invention avoids the disadvantages and limitations associated with conventional mobile computing devices by utilizing a progressive execution technique (PET) that optimally distributes the processing load between the mobile computer and a remotely accessible backbone network in a wireless communications environment.
In accordance with one aspect of the present invention, processing is distributed between a mobile computing device having limited resources and at least one remote computing device having substantially more resources than the mobile computing device. Connectivity between the mobile computing device and the remote computing devices may, for example, be achieved either by way of a wireless local-area 2 o network or through a wide-area wireless network.
Optimal distribution of processing in accordance with the present invention is functionally dependent upon several considerations which include, but are not limited to, power consumption (i.e. battery life) and wireless bandwidth usage (e.g.
the cost of communication in a cellular environment). A process for efficiently 2 5 distributing processing between the mobile computing device and the remote computing devices) comprises establishing wireless communication between the mobile computing device and the remote computing device when the user invokes an application.
The o mobile computing device executes a first version of an algorithm for performing a function associated with the user-invoked application to obtain a first result, and the remote computing device executes, in parallel, a second version of an algorithm for performing the function associated with the user invoked application to obtain a second result. The results available first, generally the locally-generated results, are initially passed to the local user or to an application. The results are then updated with the most reliable results, which may generally be those determined by or in conjunction with the remote device.
Other features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying 1 o drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims.
DETAILED DESCRIPTION OF THE D WIN
In the drawings, wherein like reference characters denote similar elements throughout the several views:
FIG. 1 is a block diagram depicting an illustrative system in which the processing distribution technique of the present invention may be employed;
FIG. 2 is a flow chart depicting the distribution of processing between a mobile computer and a backbone network in an illustrative application employing the 2 o teachings of the present invention;
FIG. 3 is a flow chart depicting the distribution of processing between a mobile computer and a backbone network in a further illustrative application employing the teachings of the present invention; and FIG. 4 is a flow chart depicting the distribution of processing between 2 5 a mobile computer and a backbone network in yet another illustrative application employing the teachings of the present invention.
~1~~'~7~
o PROGRESSIVE EXECUTION TECHNIQUE
FOR MOBILE COMPUTING DEVICES
FIELD OF THE INVENTION
The present invention relates generally to mobile computing devices and, more particularly, to an apparatus and method for distributing processing between a remote mobile computing device and a backbone network, so as to optimally deliver and utilize personal communication services.
BACKGROUND OF THE INVENTION
Interest in mobile computing, a relatively new field, has been largely driven by the miniaturization of electronics and by the focus in technical literature on wireless communications and personal communication services (PCS). As mobile computing machines continue to shrink in size, it has become evident that a practical implementation of "data-oriented" PCS will require a delicate balance between the competing objectives of reduced size and acceptable system performance.
Examples of currently available mobile computing devices include modem-equipped notebook computers and personal digital assistants (PDAs) PCMCIA (Personal Computer Memory Card International Association) cards advantageously provide the notebook computer or PDA user with an opportunity to enhance or to expand the unit's basic capabilities where space is at a premium.
Although PCMCIA cards may be utilized for such diverse applications as modems, 2 o exterior storage devices, sound cards, and printers, they are particularly well suited for wireless communications applications in which a communications link must be established between the mobile computer and a remote processing device or network of such processing devices.
Reductions in the size of portable or mobile computing machines have 2 5 come at the expense of certain resource limitations which, in turn, substantially limit ~1~~7'~3 0 system performance. One obvious example of a resource constraint which directly impacts the operating performance of mobile computers is battery size. Smaller machines carry smaller batteries. To support "uninterrupted" operation for 4-6 hours, a typical performance benchmark, power consumption is minimized by setting the clock speed below a given rate. Other performance-affecting resource limitations of mobile computing machines relate to memory size, CPU cycles, wireless transmission bandwidth, display size, and the like. In some cases, there is a dependency between the limitations. For example, smaller battery capacity may necessitate less wireless bandwidth.
SUMMARY OF THE INVENTION
The present invention avoids the disadvantages and limitations associated with conventional mobile computing devices by utilizing a progressive execution technique (PET) that optimally distributes the processing load between the mobile computer and a remotely accessible backbone network in a wireless communications environment.
In accordance with one aspect of the present invention, processing is distributed between a mobile computing device having limited resources and at least one remote computing device having substantially more resources than the mobile computing device. Connectivity between the mobile computing device and the remote computing devices may, for example, be achieved either by way of a wireless local-area 2 o network or through a wide-area wireless network.
Optimal distribution of processing in accordance with the present invention is functionally dependent upon several considerations which include, but are not limited to, power consumption (i.e. battery life) and wireless bandwidth usage (e.g.
the cost of communication in a cellular environment). A process for efficiently 2 5 distributing processing between the mobile computing device and the remote computing devices) comprises establishing wireless communication between the mobile computing device and the remote computing device when the user invokes an application.
The o mobile computing device executes a first version of an algorithm for performing a function associated with the user-invoked application to obtain a first result, and the remote computing device executes, in parallel, a second version of an algorithm for performing the function associated with the user invoked application to obtain a second result. The results available first, generally the locally-generated results, are initially passed to the local user or to an application. The results are then updated with the most reliable results, which may generally be those determined by or in conjunction with the remote device.
Other features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying 1 o drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims.
DETAILED DESCRIPTION OF THE D WIN
In the drawings, wherein like reference characters denote similar elements throughout the several views:
FIG. 1 is a block diagram depicting an illustrative system in which the processing distribution technique of the present invention may be employed;
FIG. 2 is a flow chart depicting the distribution of processing between a mobile computer and a backbone network in an illustrative application employing the 2 o teachings of the present invention;
FIG. 3 is a flow chart depicting the distribution of processing between a mobile computer and a backbone network in a further illustrative application employing the teachings of the present invention; and FIG. 4 is a flow chart depicting the distribution of processing between 2 5 a mobile computer and a backbone network in yet another illustrative application employing the teachings of the present invention.
~1~~'~7~
o DETAILED DESCRIPTION OF THE EMBODIMENT
With referenceto FIG. 1, there is shown an illustrative system 10 in which processing responsibilities are distributed between a mobile computing device 12 and one or more host computing devices of a backbone network 14 in accordance with the present invention. Initially, it should be noted that as utilized herein, the term "mobile computing device" is intended to encompass any portable devices having on-board data processing and information display capabilities such, for example, as notebook computers and personal digital assistants (PDAs) and the like.
In the illustrative system depicted in FIG. 1, the mobile computing device 12 is a PDA. PDA devices are commercially available and may include a 1 o pressure sensitive display for enabling the user to launch applications and input information, via a stylus or similar user-controlled hand-held and manipulated device, within a graphical user interface environment or the like. PDA device 12 may also include a conventional Type II PCMCIA slot for receiving a wireless communications interface card (not shown) configured to establish a wireless communication link 16 with backbone network 14 when an application requiring such a link is launched by the user. Power for the PDA is generally provided by several small batteries such, for example, as standard AA size batteries. As indicated above, power consumption may be minimized by limiting the clock speed and number of CPU cycles per unit time.
With continued reference to FIG. 1, it will be seen that a communication 2 o path between the mobile computer 12 and fixed backbone network 14 is illustratively achieved via a wide-area wireless network utilizing a packet switched digital network (PSDN) 17 and a plurality of base stations 18. Via link 16, mobile computer 12 operatively communicates directly with one of the base stations. Although a direct communication link 16 is shown between mobile computer 12 and backbone network 2 5 14, it will be appreciated by those skilled in the art that communication between the mobile computer and host may also be achieved via an indirect link. Thus, for example, a plurality of mobile computers may be linked together in a wireless local o area network arrangement (e.g. Wavelan, Rangelan, Photonics, or the like) in which one mobile computer links another with the remote host. In any event, backbone network 14 may include a single remote host computer or a plurality of such computers, depending, for example, upon the processing resources required for a particular application and the need to access information stored in different locations.
In the illustrative system depicted in FIG. 1, backbone network 14 comprises a plurality of remote host computers 20. The manner in which processing operations are distributed between mobile computer 12 and backbone network 14 in accordance with the present invention will depend upon the relative importance of such parameters as response latency, energy expenditure (i.e. battery life), and the cost of 1o communication (i.e. the amount of wireless bandwidth required). For an important computation, for example, a user may be willing to accept a high cost of communication but not a substantial shortening of the available battery life.
Additional parameters that may be considered for achieving optimal distribution of processing include the availability of a wireless connection as well as the then-current load on the backbone network.
Although the processing power of the backbone network 14 may be utilized by mobile computer 12 in accordance with a predetermined scheme that remains fixed, it will be readily ascertained by those skilled in the art that the relevant importance of the above-noted parameters may be dynamically varied on-the-fly with 2 o respect to time as well as to the particular application. Accordingly, the distribution of processing operations between the mobile computer and backbone network may, for example, be optimized for each transmission, at predetermined intervals, or for every individual session.
Consider an illustrative situation in which the processing latency of the 2 5 mobile computer 12 is to be minimized and the accuracy of the displayed results are to be maximized, while local energy expenditure and cost of processing are secondary issues of lesser importance. In accordance with the progressive execution technique of the present invention, the invoked application is processed in parallel by at least two ,- ~ P
With referenceto FIG. 1, there is shown an illustrative system 10 in which processing responsibilities are distributed between a mobile computing device 12 and one or more host computing devices of a backbone network 14 in accordance with the present invention. Initially, it should be noted that as utilized herein, the term "mobile computing device" is intended to encompass any portable devices having on-board data processing and information display capabilities such, for example, as notebook computers and personal digital assistants (PDAs) and the like.
In the illustrative system depicted in FIG. 1, the mobile computing device 12 is a PDA. PDA devices are commercially available and may include a 1 o pressure sensitive display for enabling the user to launch applications and input information, via a stylus or similar user-controlled hand-held and manipulated device, within a graphical user interface environment or the like. PDA device 12 may also include a conventional Type II PCMCIA slot for receiving a wireless communications interface card (not shown) configured to establish a wireless communication link 16 with backbone network 14 when an application requiring such a link is launched by the user. Power for the PDA is generally provided by several small batteries such, for example, as standard AA size batteries. As indicated above, power consumption may be minimized by limiting the clock speed and number of CPU cycles per unit time.
With continued reference to FIG. 1, it will be seen that a communication 2 o path between the mobile computer 12 and fixed backbone network 14 is illustratively achieved via a wide-area wireless network utilizing a packet switched digital network (PSDN) 17 and a plurality of base stations 18. Via link 16, mobile computer 12 operatively communicates directly with one of the base stations. Although a direct communication link 16 is shown between mobile computer 12 and backbone network 2 5 14, it will be appreciated by those skilled in the art that communication between the mobile computer and host may also be achieved via an indirect link. Thus, for example, a plurality of mobile computers may be linked together in a wireless local o area network arrangement (e.g. Wavelan, Rangelan, Photonics, or the like) in which one mobile computer links another with the remote host. In any event, backbone network 14 may include a single remote host computer or a plurality of such computers, depending, for example, upon the processing resources required for a particular application and the need to access information stored in different locations.
In the illustrative system depicted in FIG. 1, backbone network 14 comprises a plurality of remote host computers 20. The manner in which processing operations are distributed between mobile computer 12 and backbone network 14 in accordance with the present invention will depend upon the relative importance of such parameters as response latency, energy expenditure (i.e. battery life), and the cost of 1o communication (i.e. the amount of wireless bandwidth required). For an important computation, for example, a user may be willing to accept a high cost of communication but not a substantial shortening of the available battery life.
Additional parameters that may be considered for achieving optimal distribution of processing include the availability of a wireless connection as well as the then-current load on the backbone network.
Although the processing power of the backbone network 14 may be utilized by mobile computer 12 in accordance with a predetermined scheme that remains fixed, it will be readily ascertained by those skilled in the art that the relevant importance of the above-noted parameters may be dynamically varied on-the-fly with 2 o respect to time as well as to the particular application. Accordingly, the distribution of processing operations between the mobile computer and backbone network may, for example, be optimized for each transmission, at predetermined intervals, or for every individual session.
Consider an illustrative situation in which the processing latency of the 2 5 mobile computer 12 is to be minimized and the accuracy of the displayed results are to be maximized, while local energy expenditure and cost of processing are secondary issues of lesser importance. In accordance with the progressive execution technique of the present invention, the invoked application is processed in parallel by at least two ,- ~ P
o devices -- the mobile computer 12 and at least one remote host computer 20.
The results are then combined, either by the mobile computer 12 or by the host computer 20, for maximum accuracy.
With reference now to FIG. 2, a technique for performing handwriting recognition utilizing progressive execution in accordance with the present invention will now be described. As discussed above, the local computer device 12 may comprise a PDA having a pressure sensitive overlay for converting the movements of a stylus into "electronic ink" representative of handwritten information. The techniques for receiving, storing and analyzing information input in this manner are deemed to be well known to those skilled in the art and are not considered a novel aspect of the present l0 invention. Accordingly, a detailed discussion of these techniques is believed to be unnecessary and has been omitted. It suffices to say that, at this time, the state of the art in handwriting recognition performed by mobile computing devices such as PDAs is generally poor, mainly because of the limited processing power and memory possessed by these devices. Thus, although more accurate algorithms are available, they cannot be executed by the mobile computer due to the relatively large amounts of processing power and memory required. In accordance with the present invention, however, sophisticated known algorithms may be exploited by the mobile computer user by utilizing the processing capabilities of the backbone network.
Thus, the user of mobile computer 12 enters handwritten text via a stylus 2 0 over the unit's pressure sensitive overlay/display, as discussed above. As indicated in block 30 of FIG. 2, the handwriting recognition application is invoked by the user via, for example, a graphical user interface at the time that the information is to be stored in memory. The "electronic ink" is collected in a conventional manner as shown in block 31, and the mobile computer executes a local version of a handwriting analysis 2 5 algorithm (block 32). A wireless communication link is established between the mobile computer and the remote host, as indicated in block 33, and the collected electronic ink is transmitted to a handwriting recognition server residing on the backbone network or host computer (block 34). A more sophisticated algorithm, which takes full advantage 0 of the enhanced processing capabilities of the backbone network, is executed (block 36) in parallel (i.e. substantially concurrently with the local algorithm).
In general, the results from the local recognition process are available first and are accordingly generated and displayed immediately (block 35).
After the local recognition is displayed, presumably or perhaps with some errors, the user may choose between editing the displayed text or waiting for the backbone to respond.
Editing, especially with a stylus, is a cumbersome and relatively slow process.
Assuming that the user chooses to wait for potentially more reliable results from the more-capable algorithm, the recognition results from the backbone server are transmitted when available and are compared (block 37) -- either by the mobile 1 o computer or the remote host -- with the local recognition results. If the results are the same, no further action need be taken. If however, the results are different and the level of confidence of the backbone results is higher than that of the local results, then the displayed local results are updated with the backbone results (block 39).
As will be readily appreciated by those skilled in the art, the additional costs in the above-described example lie in the energy expenditures and use of wireless bandwidth, as well as the use of the processing power of the remote host.
FIG. 3 depicts another example in which the progressive execution technique of the present invention may be employed to enhance the performance capabilities of a mobile computing device. Specifically, the remote backbone network 2 o may be configured to advantageously execute an algorithm that utilizes information not locally available to the mobile computer. In the example of FIG. 3, a user travelling by car invokes a shortest route-finding application and enters information relating to present location and desired destination (block 40). The mobile computer, despite its diminutive data storage and processing power resources, executes a limited route-2 5 finding algorithm utilizing stored information that is not likely to change with time, such as map distances and driving speed limits, and driving condition information supplied by the user (i.e. snow, rain, night driving, and the like) as shown in block 41.
The route recommended by the mobile computer is displayed (block 42). If wireless ~1~57'~~
_8_ o services are available, a wireless communication link is established between the mobile computer and the remote host, as shown in block 43, and the route request is transmitted to a route estimation server residing on the backbone network or host computer (block 44). A more sophisticated algorithm, which is configured to utilize up-to-date information such as reported road congestion, traffic hazards, road construction, and new routes not yet on the map, is executed by the backbone network (block 45).
The route recommended by the algorithm executed by the backbone network is then compared to the one recommended by the algorithm executed by the mobile computer (block 46), and the shortest or fastest route of the two is displayed l o (blocks 47 and 48). Alternatively, both may be displayed so that the user may make an informed choice based upon other criteria, such as points of interest along each route. In any event, it should be readily apparent to those skilled in the art that the accuracy of the solution is improved by the use of a backbone network which provides access to up-to-date information not locally available to the mobile computer.
Of course, if connectivity to the backbone network is unavailable, the user may still rely on the locally-calculated route.
FIG. 4 depicts yet another example in which the progressive execution technique of the present invention may be employed to enhance the performance capabilities of a mobile computing device. As indicated previously, the remote 2 o backbone network may be configured to advantageously exploit information not locally available to the mobile computer. The illustrative example of FIG. 4 depicts a database querying process utilizing a personal database that is too large for storage by the mobile computer. In accordance with this further example, the mobile computer maintains a somewhat less comprehensive database containing limited entries, such as a listing of 2 5 frequently-called names and selected information associated with each.
The mobile computer user inputs a database query (block 50) --illustratively a request for the facsimile and voice phone numbers of a particular person or business entity. The mobile computer processes the database query and retrieves ._ ~1~5'~73 g _ 0 whatever information it has stored relevant to the subject of the query, as for example the voice phone number (block 51). The retrieved information is then displayed to the user by the mobile computer (block 52). If connectivity to the backbone network is not available, the user may use the locally available information to contact the subject and request the information not supplied by the mobile computer (i.e., the facsimile number). If, however, wireless services are available, a wireless communication link is established between the mobile computer and the remote host, as shown in block 53, and the database query is transmitted to a database server residing on the backbone network or host computer (block 54). The requested information is retrieved by the database server, as shown in block 55, and transmitted to the mobile computer for 1 o display thereby (block 56).
In view of the foregoing examples, it will be readily apparent to those skilled in the art that the quality of service provided by a mobile computing device is greatly improved by the progressive execution technique of the present invention when access to a backbone network or other remote computing or support device is available.
Even when backbone connectivity is unavailable, the user retains access to the same applications though provided at a lower level of quality (e.g., reliability).
While there have been shown and described and pointed out fundamental novel features of the invention as applied to preferred embodiments thereof, it will be understood that various omissions and substitutions and changes in the form and details 2 0 of the disclosed invention may be made by those skilled in the art without departing from the spirit of the invention. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.
The results are then combined, either by the mobile computer 12 or by the host computer 20, for maximum accuracy.
With reference now to FIG. 2, a technique for performing handwriting recognition utilizing progressive execution in accordance with the present invention will now be described. As discussed above, the local computer device 12 may comprise a PDA having a pressure sensitive overlay for converting the movements of a stylus into "electronic ink" representative of handwritten information. The techniques for receiving, storing and analyzing information input in this manner are deemed to be well known to those skilled in the art and are not considered a novel aspect of the present l0 invention. Accordingly, a detailed discussion of these techniques is believed to be unnecessary and has been omitted. It suffices to say that, at this time, the state of the art in handwriting recognition performed by mobile computing devices such as PDAs is generally poor, mainly because of the limited processing power and memory possessed by these devices. Thus, although more accurate algorithms are available, they cannot be executed by the mobile computer due to the relatively large amounts of processing power and memory required. In accordance with the present invention, however, sophisticated known algorithms may be exploited by the mobile computer user by utilizing the processing capabilities of the backbone network.
Thus, the user of mobile computer 12 enters handwritten text via a stylus 2 0 over the unit's pressure sensitive overlay/display, as discussed above. As indicated in block 30 of FIG. 2, the handwriting recognition application is invoked by the user via, for example, a graphical user interface at the time that the information is to be stored in memory. The "electronic ink" is collected in a conventional manner as shown in block 31, and the mobile computer executes a local version of a handwriting analysis 2 5 algorithm (block 32). A wireless communication link is established between the mobile computer and the remote host, as indicated in block 33, and the collected electronic ink is transmitted to a handwriting recognition server residing on the backbone network or host computer (block 34). A more sophisticated algorithm, which takes full advantage 0 of the enhanced processing capabilities of the backbone network, is executed (block 36) in parallel (i.e. substantially concurrently with the local algorithm).
In general, the results from the local recognition process are available first and are accordingly generated and displayed immediately (block 35).
After the local recognition is displayed, presumably or perhaps with some errors, the user may choose between editing the displayed text or waiting for the backbone to respond.
Editing, especially with a stylus, is a cumbersome and relatively slow process.
Assuming that the user chooses to wait for potentially more reliable results from the more-capable algorithm, the recognition results from the backbone server are transmitted when available and are compared (block 37) -- either by the mobile 1 o computer or the remote host -- with the local recognition results. If the results are the same, no further action need be taken. If however, the results are different and the level of confidence of the backbone results is higher than that of the local results, then the displayed local results are updated with the backbone results (block 39).
As will be readily appreciated by those skilled in the art, the additional costs in the above-described example lie in the energy expenditures and use of wireless bandwidth, as well as the use of the processing power of the remote host.
FIG. 3 depicts another example in which the progressive execution technique of the present invention may be employed to enhance the performance capabilities of a mobile computing device. Specifically, the remote backbone network 2 o may be configured to advantageously execute an algorithm that utilizes information not locally available to the mobile computer. In the example of FIG. 3, a user travelling by car invokes a shortest route-finding application and enters information relating to present location and desired destination (block 40). The mobile computer, despite its diminutive data storage and processing power resources, executes a limited route-2 5 finding algorithm utilizing stored information that is not likely to change with time, such as map distances and driving speed limits, and driving condition information supplied by the user (i.e. snow, rain, night driving, and the like) as shown in block 41.
The route recommended by the mobile computer is displayed (block 42). If wireless ~1~57'~~
_8_ o services are available, a wireless communication link is established between the mobile computer and the remote host, as shown in block 43, and the route request is transmitted to a route estimation server residing on the backbone network or host computer (block 44). A more sophisticated algorithm, which is configured to utilize up-to-date information such as reported road congestion, traffic hazards, road construction, and new routes not yet on the map, is executed by the backbone network (block 45).
The route recommended by the algorithm executed by the backbone network is then compared to the one recommended by the algorithm executed by the mobile computer (block 46), and the shortest or fastest route of the two is displayed l o (blocks 47 and 48). Alternatively, both may be displayed so that the user may make an informed choice based upon other criteria, such as points of interest along each route. In any event, it should be readily apparent to those skilled in the art that the accuracy of the solution is improved by the use of a backbone network which provides access to up-to-date information not locally available to the mobile computer.
Of course, if connectivity to the backbone network is unavailable, the user may still rely on the locally-calculated route.
FIG. 4 depicts yet another example in which the progressive execution technique of the present invention may be employed to enhance the performance capabilities of a mobile computing device. As indicated previously, the remote 2 o backbone network may be configured to advantageously exploit information not locally available to the mobile computer. The illustrative example of FIG. 4 depicts a database querying process utilizing a personal database that is too large for storage by the mobile computer. In accordance with this further example, the mobile computer maintains a somewhat less comprehensive database containing limited entries, such as a listing of 2 5 frequently-called names and selected information associated with each.
The mobile computer user inputs a database query (block 50) --illustratively a request for the facsimile and voice phone numbers of a particular person or business entity. The mobile computer processes the database query and retrieves ._ ~1~5'~73 g _ 0 whatever information it has stored relevant to the subject of the query, as for example the voice phone number (block 51). The retrieved information is then displayed to the user by the mobile computer (block 52). If connectivity to the backbone network is not available, the user may use the locally available information to contact the subject and request the information not supplied by the mobile computer (i.e., the facsimile number). If, however, wireless services are available, a wireless communication link is established between the mobile computer and the remote host, as shown in block 53, and the database query is transmitted to a database server residing on the backbone network or host computer (block 54). The requested information is retrieved by the database server, as shown in block 55, and transmitted to the mobile computer for 1 o display thereby (block 56).
In view of the foregoing examples, it will be readily apparent to those skilled in the art that the quality of service provided by a mobile computing device is greatly improved by the progressive execution technique of the present invention when access to a backbone network or other remote computing or support device is available.
Even when backbone connectivity is unavailable, the user retains access to the same applications though provided at a lower level of quality (e.g., reliability).
While there have been shown and described and pointed out fundamental novel features of the invention as applied to preferred embodiments thereof, it will be understood that various omissions and substitutions and changes in the form and details 2 0 of the disclosed invention may be made by those skilled in the art without departing from the spirit of the invention. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.
Claims (11)
1. A process for efficiently distributing processing between a mobile computing device having limited resources and at least one remote computing device having substantially more resources than said mobile computing device, in response to a user invoking an application at the mobile computing device, comprising the steps of:
establishing wireless communication for transferring information between the mobile computing device and the at least one remote computing device;
executing with the mobile computing device a first version of an algorithm for performing a function associated with the user-invoked application to obtain a first result;
executing at the at least one remote computing device, substantially concurrently with said executing at the mobile computing device, a second version of an algorithm for performing the function associated with the user-invoked application to obtain a second result;
supplying to the invoked application on the mobile computing device at least one of the first result and the second result.
establishing wireless communication for transferring information between the mobile computing device and the at least one remote computing device;
executing with the mobile computing device a first version of an algorithm for performing a function associated with the user-invoked application to obtain a first result;
executing at the at least one remote computing device, substantially concurrently with said executing at the mobile computing device, a second version of an algorithm for performing the function associated with the user-invoked application to obtain a second result;
supplying to the invoked application on the mobile computing device at least one of the first result and the second result.
2. The process of claim 1 , wherein the mobile computing device comprises a portable digital assistant.
3. The process of claim 1, wherein the at least one remote computing device comprises a network of computing devices.
4. The process of claim 1, wherein the first result and said second result are supplied to said invoked application, said first result being supplied thereto prior to said second result.
5. The process of claim 1, wherein said second result is supplied to said application when the second version of the algorithm executed by the at least one remote computing device utilizes in its execution information not available to the mobile computing device.
6. The process of claim 5, wherein the substantially more resources available in the remote computing device than in the mobile computing device comprises said information.
7. The process of claim 1, further including a step of comparing the first result to the second result, and wherein said supplying step comprises supplying at least one of the first and second results in accordance with an outcome of said comparison.
8. The process of claim 7, wherein said comparing step is performed after supplying said first result.
9. An apparatus for providing personal communication services to a user, comprising:
mobile computer means for executing a first version of an algorithm for performing a function associated with an application invoked by the user;
remote computer means for executing a second version of an algorithm for performing the function associated with an application invoked by the user;
means for establishing a wireless communication link between said mobile computer means and said remote computer means; and interface means for causing said first and second algorithms to be executed in parallel by said mobile computer means and remote computer means, respectively, in response to invoking of the application by the user.
mobile computer means for executing a first version of an algorithm for performing a function associated with an application invoked by the user;
remote computer means for executing a second version of an algorithm for performing the function associated with an application invoked by the user;
means for establishing a wireless communication link between said mobile computer means and said remote computer means; and interface means for causing said first and second algorithms to be executed in parallel by said mobile computer means and remote computer means, respectively, in response to invoking of the application by the user.
10. The apparatus of claim 9, wherein said mobile computer means includes a visible display.
11. The apparatus of claim 9, wherein said interface means further comprises means for supplying to the invoked application on the mobile computing device at least one of the first result and the second result.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US309,711 | 1994-09-21 | ||
US08/309,711 US5598534A (en) | 1994-09-21 | 1994-09-21 | Simultaneous verify local database and using wireless communication to verify remote database |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2155773A1 CA2155773A1 (en) | 1996-03-22 |
CA2155773C true CA2155773C (en) | 1999-11-23 |
Family
ID=23199351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002155773A Expired - Fee Related CA2155773C (en) | 1994-09-21 | 1995-08-10 | Progressive execution technique for mobile computing devices |
Country Status (4)
Country | Link |
---|---|
US (1) | US5598534A (en) |
EP (1) | EP0705014A1 (en) |
JP (1) | JPH0895911A (en) |
CA (1) | CA2155773C (en) |
Families Citing this family (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5983004A (en) * | 1991-09-20 | 1999-11-09 | Shaw; Venson M. | Computer, memory, telephone, communications, and transportation system and methods |
US20080200225A1 (en) * | 1994-03-11 | 2008-08-21 | Walker Jay S | Methods and apparatus for facilitating game play and generating an authenticatable audit-trail |
RU95103479A (en) * | 1994-03-11 | 1996-12-27 | Уолкер Эссет Мэнеджмент Лимитед Партнершип (US) | Game system, game computer, method for playing or drawing lottery when player participates in it |
US6680694B1 (en) * | 1997-08-19 | 2004-01-20 | Siemens Vdo Automotive Corporation | Vehicle information system |
US6707421B1 (en) * | 1997-08-19 | 2004-03-16 | Siemens Vdo Automotive Corporation | Driver information system |
US6163274A (en) * | 1997-09-04 | 2000-12-19 | Ncr Corporation | Remotely updatable PDA |
US20040107208A1 (en) * | 1997-12-09 | 2004-06-03 | Seet Siew Shon | Method and apparatus for bookmarking telephone numbers for efficient access by wireless phone devices |
EP0927949B1 (en) | 1997-12-29 | 2005-11-09 | Samsung Electronics Co., Ltd. | Character-recognition system for a mobile radio communication terminal and method thereof |
US6343148B2 (en) * | 1998-07-22 | 2002-01-29 | International Business Machines Corporation | Process for utilizing external handwriting recognition for personal data assistants |
US6973300B1 (en) * | 1998-12-23 | 2005-12-06 | Nortel Networks Limited | Intelligent wireless terminal with virtual memory |
US8065155B1 (en) | 1999-06-10 | 2011-11-22 | Gazdzinski Robert F | Adaptive advertising apparatus and methods |
SE9902292L (en) * | 1999-06-17 | 2000-12-18 | Mobilisys Ab | Computer |
US20040215387A1 (en) * | 2002-02-14 | 2004-10-28 | Matsushita Electric Industrial Co., Ltd. | Method for transmitting location information on a digital map, apparatus for implementing the method, and traffic information provision/reception system |
US6859462B1 (en) | 1999-08-10 | 2005-02-22 | Orative Corporation | Minimization and optimization of overall data transfer connect time between handheld wireless communicating devices and remote machines |
US6996599B1 (en) | 2000-06-21 | 2006-02-07 | Microsoft Corporation | System and method providing multi-tier applications architecture |
US8875116B2 (en) * | 2000-11-17 | 2014-10-28 | Hewlett-Packard Development Company, L.P. | Network for updating firmware and / or software in wireless communication devices |
US20030182414A1 (en) * | 2003-05-13 | 2003-09-25 | O'neill Patrick J. | System and method for updating and distributing information |
US7725889B2 (en) | 2003-01-13 | 2010-05-25 | Hewlett-Packard Development Company, L.P. | Mobile handset capable of updating its update agent |
US20040068721A1 (en) * | 2000-11-17 | 2004-04-08 | O'neill Patrick | Network for updating firmware and / or software in wireless communication devices |
US8479189B2 (en) * | 2000-11-17 | 2013-07-02 | Hewlett-Packard Development Company, L.P. | Pattern detection preprocessor in an electronic device update generation system |
US7401320B2 (en) * | 2000-11-17 | 2008-07-15 | Hewlett-Packard Development Company, L.P. | Operator network that routes customer care calls based on subscriber/device profile and CSR skill set |
US7409685B2 (en) | 2002-04-12 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | Initialization and update of software and/or firmware in electronic devices |
US6832373B2 (en) * | 2000-11-17 | 2004-12-14 | Bitfone Corporation | System and method for updating and distributing information |
US7082549B2 (en) * | 2000-11-17 | 2006-07-25 | Bitfone Corporation | Method for fault tolerant updating of an electronic device |
JP3268772B1 (en) | 2001-05-22 | 2002-03-25 | 理世 野津 | Image recognition system, recognition management server, control method therefor, and program |
US7123933B2 (en) * | 2001-05-31 | 2006-10-17 | Orative Corporation | System and method for remote application management of a wireless device |
US7020457B2 (en) * | 2001-05-31 | 2006-03-28 | Orative Corporation | System and method for proxy-enabling a wireless device to an existing IP-based service |
US20020180798A1 (en) * | 2001-05-31 | 2002-12-05 | Poor Graham V. | System and method for extending a wireless device platform to multiple applications |
US7161899B2 (en) * | 2001-07-20 | 2007-01-09 | Bay Microsystems, Inc. | Interlocking SONET/SDH network architecture |
US20040194081A1 (en) * | 2002-03-23 | 2004-09-30 | Iyad Qumei | Update system for facilitating firmware/software update in a mobile handset |
US20070169073A1 (en) * | 2002-04-12 | 2007-07-19 | O'neill Patrick | Update package generation and distribution network |
US7369851B2 (en) * | 2002-04-19 | 2008-05-06 | Hewlett-Packard Development Company, L.P. | Communications network capable of determining SIM card changes in electronic devices |
US20030204582A1 (en) * | 2002-04-29 | 2003-10-30 | Shimoda Marion H. | Wireless personal area network scalable migration of resources |
US20050101257A1 (en) * | 2002-05-30 | 2005-05-12 | 6Lan | Wireless local area network test device |
US8233893B2 (en) * | 2002-08-22 | 2012-07-31 | Hewlett-Packard Development Company, L.P. | Mobile handset update package generator that employs nodes technique |
US7340736B2 (en) * | 2002-08-22 | 2008-03-04 | Hewlett-Packard Development Company, L.P. | Electronic device with an update agent that employs preprocessing techniques for update |
US20040203797A1 (en) * | 2002-09-05 | 2004-10-14 | Jeremy Burr | Method and apparatus for communications using distributed services in a mobile ad hoc network (MANET) |
US7669197B1 (en) | 2002-09-12 | 2010-02-23 | Hewlett-Packard Development Company, L.P. | Embedded system employing component architecture platform |
US7472380B1 (en) | 2002-09-23 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | Processing system with component architecture platform support |
JP3573453B2 (en) * | 2002-09-27 | 2004-10-06 | 松下電器産業株式会社 | Terminal authentication system, terminal authentication method, and terminal authentication server |
US7461372B2 (en) * | 2002-10-11 | 2008-12-02 | Hewlett-Packard Development Company, L.P. | System for optimizing distribution of information employing a universal dictionary |
WO2004038546A2 (en) * | 2002-10-21 | 2004-05-06 | Bitfone Corporation | System with required enhancements to syncml dm environment to support firmware updates |
US7984435B2 (en) * | 2002-11-13 | 2011-07-19 | Hewlett-Packard Development Company, L.P. | Update system employing reference software to reduce number of update packages |
US20040093592A1 (en) | 2002-11-13 | 2004-05-13 | Rao Bindu Rama | Firmware update in electronic devices employing SIM card for saving metadata information |
US7047448B2 (en) * | 2002-11-21 | 2006-05-16 | Bitfone Corporation | Software self-repair toolkit for electronic devices |
US6996818B2 (en) * | 2002-11-22 | 2006-02-07 | Bitfone Corporation | Update system for facilitating software update and data conversion in an electronic device |
US7434216B1 (en) | 2002-11-25 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Update package generator that employs genetic evolution to determine bank order |
AU2003300431A1 (en) * | 2002-12-31 | 2004-07-29 | Bitfone Corporation | Management of service components installed in an electronic device in a mobile services network |
US7890427B1 (en) | 2003-01-09 | 2011-02-15 | Hewlett-Packard Development Company, L.P. | Authentication of notifications received in an electronic device in a mobile services network |
US7480907B1 (en) | 2003-01-09 | 2009-01-20 | Hewlett-Packard Development Company, L.P. | Mobile services network for update of firmware/software in mobile handsets |
WO2004066091A2 (en) * | 2003-01-21 | 2004-08-05 | Bitfone Corporation | Update system capable of updating software across multiple flash chips |
WO2004072773A2 (en) * | 2003-02-11 | 2004-08-26 | Bitfone Corporation | Electronic device supporting multiple update agents |
US8082339B2 (en) | 2003-02-28 | 2011-12-20 | Hewlett-Packard Development Company, L.P. | Electronic device network having graceful denial of service |
US7689981B1 (en) | 2003-02-28 | 2010-03-30 | Hewlett-Packard Development Company, L.P. | Mobile handset with efficient interruption point detection during a multiple-pass update process |
US20040230965A1 (en) * | 2003-02-28 | 2004-11-18 | Harri Okkonen | Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server |
US7881745B1 (en) | 2003-03-10 | 2011-02-01 | Hewlett-Packard Development Company, L.P. | Electronic device network employing provisioning techniques to update firmware and/or software in electronic devices |
US7356727B1 (en) | 2003-03-10 | 2008-04-08 | Hewlett-Packard Development Company, L.P. | Electronic device employing efficient fault tolerance |
US7548986B1 (en) | 2003-03-17 | 2009-06-16 | Hewlett-Packard Development Company, L.P. | Electronic device network providing streaming updates |
US7657884B2 (en) * | 2003-03-24 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Electronic device supporting multiple update agents |
US7587411B2 (en) * | 2003-03-27 | 2009-09-08 | Microsoft Corporation | System and method for filtering and organizing items based on common elements |
US7975147B1 (en) | 2003-03-31 | 2011-07-05 | Hewlett-Packard Development Company, L.P. | Electronic device network supporting enciphering and deciphering and update generation in electronic devices |
US7987449B1 (en) | 2003-05-22 | 2011-07-26 | Hewlett-Packard Development Company, L.P. | Network for lifecycle management of firmware and software in electronic devices |
US7747994B1 (en) | 2003-06-04 | 2010-06-29 | Hewlett-Packard Development Company, L.P. | Generator based on multiple instruction streams and minimum size instruction set for generating updates to mobile handset |
US7644404B2 (en) | 2003-06-04 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Network having customizable generators and electronic device having customizable updating software |
US7584466B1 (en) | 2003-06-16 | 2009-09-01 | Hewlett-Packard Development Company, L.P. | Management tree management in a mobile handset |
US8046753B1 (en) | 2003-06-18 | 2011-10-25 | Hewlett-Packard Development Company, L.P. | Mobile handset with symbian OS and update agent |
WO2005001665A2 (en) * | 2003-06-27 | 2005-01-06 | Bitfone Corporation | System and method for downloading update packages into a mobile handset in a carrier network |
US7343443B1 (en) * | 2003-07-08 | 2008-03-11 | Hewlett-Packard Development Company, L.P. | Updated package generation based on analysis of bank dependency |
WO2005008940A2 (en) * | 2003-07-09 | 2005-01-27 | Bitfone Corporation | Carrier network capable of conducting remote diagnostics in a mobile handset |
US7366125B1 (en) | 2003-07-24 | 2008-04-29 | Bbn Technologies Corp. | Extensible satellite communication system |
US7861211B2 (en) * | 2003-07-29 | 2010-12-28 | Hewlett-Packard Development Company, L.P. | Mobile handset with update agent implemented in hardware |
US7886093B1 (en) | 2003-07-31 | 2011-02-08 | Hewlett-Packard Development Company, L.P. | Electronic device network supporting compression and decompression in electronic devices |
EP1660996A2 (en) * | 2003-09-03 | 2006-05-31 | Bitfone Corporation | Tri-phase boot process in electronic devices |
US8555273B1 (en) | 2003-09-17 | 2013-10-08 | Palm. Inc. | Network for updating electronic devices |
US7668612B1 (en) | 2003-09-18 | 2010-02-23 | Hewlett-Packard Development Company, L.P. | System and method for efficient manufacture and update of electronic devices |
US7694293B2 (en) * | 2003-09-26 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Update package catalog for update package transfer between generator and content server in a network |
ATE539567T1 (en) * | 2003-10-03 | 2012-01-15 | Hewlett Packard Development Co | NETWORK AND METHOD FOR REGISTRATION OF MOBILE DEVICES AND FOR MANAGEMENT OF MOBILE DEVICES |
US7716276B1 (en) | 2003-11-17 | 2010-05-11 | Hewlett-Packard Development Company, L.P. | Network that supports user-initiated device management |
US20050125412A1 (en) * | 2003-12-09 | 2005-06-09 | Nec Laboratories America, Inc. | Web crawling |
US7797693B1 (en) | 2003-12-12 | 2010-09-14 | Hewlett-Packard Development Company, L.P. | NAND mobile devices capable of updating firmware or software in a manner analogous to NOR mobile devices |
US20050132351A1 (en) * | 2003-12-12 | 2005-06-16 | Randall Roderick K. | Updating electronic device software employing rollback |
US7427024B1 (en) | 2003-12-17 | 2008-09-23 | Gazdzinski Mark J | Chattel management apparatus and methods |
US9323515B1 (en) | 2004-01-16 | 2016-04-26 | Qualcomm Incorporated | Network with broker for device management |
US8838754B1 (en) | 2004-01-26 | 2014-09-16 | Qualcomm Incorporated | Mobile device with a management forest in a device management network |
US7984485B1 (en) | 2004-01-29 | 2011-07-19 | Hewlett-Packard Development Company, L.P. | Ingestion interface for transferring update package containers into a distribution network |
WO2005079334A2 (en) * | 2004-02-12 | 2005-09-01 | Bitfone Corporation | Device management network that facilitates selective billing |
US7739679B2 (en) * | 2004-04-06 | 2010-06-15 | Hewlett-Packard Development Company, L.P. | Object ordering tool for facilitating generation of firmware update friendly binary image |
US7904895B1 (en) | 2004-04-21 | 2011-03-08 | Hewlett-Packard Develpment Company, L.P. | Firmware update in electronic devices employing update agent in a flash memory card |
US7971199B1 (en) | 2004-05-03 | 2011-06-28 | Hewlett-Packard Development Company, L.P. | Mobile device with a self-updating update agent in a wireless network |
US7543118B1 (en) | 2004-05-07 | 2009-06-02 | Hewlett-Packard Development Company, L.P. | Multiple variance platform for the management of mobile devices |
US7689982B1 (en) | 2004-05-07 | 2010-03-30 | Hewlett-Packard Development Company, L.P. | Transparent linker profiler tool with profile database |
US7657886B1 (en) | 2004-06-03 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Mobile device with a MMU for faster firmware updates in a wireless network |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US20060175271A1 (en) * | 2005-01-31 | 2006-08-10 | Emrey David A | Apparatus and method of holding a golf score card and writing instrument, and golf bag and system incorporating the same |
US7907966B1 (en) | 2005-07-19 | 2011-03-15 | Aol Inc. | System and method for cross-platform applications on a wireless phone |
US20070207800A1 (en) * | 2006-02-17 | 2007-09-06 | Daley Robert C | Diagnostics And Monitoring Services In A Mobile Network For A Mobile Device |
WO2007146710A2 (en) | 2006-06-08 | 2007-12-21 | Hewlett-Packard Development Company, L.P. | Device management in a network |
US8752044B2 (en) | 2006-07-27 | 2014-06-10 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
US20080079539A1 (en) * | 2006-08-15 | 2008-04-03 | Daley Robert C | Friends Finder Service for a Mobile Device in a Network |
US20080195590A1 (en) * | 2007-02-08 | 2008-08-14 | Mitsuo Nakamura | Network device, image forming device, and data searching method |
US20080294652A1 (en) * | 2007-05-21 | 2008-11-27 | Microsoft Corporation | Personalized Identification Of System Resources |
US8219595B2 (en) * | 2008-02-14 | 2012-07-10 | Hewlett-Packard Development Company, L.P. | System and method for efficient remote data access for server management |
US20110288784A1 (en) * | 2009-02-23 | 2011-11-24 | Wellcore Corporation | Monitoring Energy Expended by an Individual |
US8995630B1 (en) | 2010-08-01 | 2015-03-31 | Tulsa Holdings, Llc | Telephony and applications communication in a non-mobile telephone system |
US20120136802A1 (en) * | 2010-11-30 | 2012-05-31 | Zonar Systems, Inc. | System and method for vehicle maintenance including remote diagnosis and reverse auction for identified repairs |
US10665040B2 (en) | 2010-08-27 | 2020-05-26 | Zonar Systems, Inc. | Method and apparatus for remote vehicle diagnosis |
US10600096B2 (en) | 2010-11-30 | 2020-03-24 | Zonar Systems, Inc. | System and method for obtaining competitive pricing for vehicle services |
US9620122B2 (en) * | 2011-12-08 | 2017-04-11 | Lenovo (Singapore) Pte. Ltd | Hybrid speech recognition |
US10242099B1 (en) * | 2012-04-16 | 2019-03-26 | Oath Inc. | Cascaded multi-tier visual search system |
US9367806B1 (en) | 2013-08-08 | 2016-06-14 | Jasmin Cosic | Systems and methods of using an artificially intelligent database management system and interfaces for mobile, embedded, and other computing devices |
US10255302B1 (en) | 2015-02-27 | 2019-04-09 | Jasmin Cosic | Systems, methods, apparatuses, and/or interfaces for associative management of data and inference of electronic resources |
US10607606B2 (en) | 2017-06-19 | 2020-03-31 | Lenovo (Singapore) Pte. Ltd. | Systems and methods for execution of digital assistant |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60150159A (en) * | 1984-01-17 | 1985-08-07 | Agency Of Ind Science & Technol | Multiplexed processing system |
US4696003A (en) * | 1986-03-10 | 1987-09-22 | International Business Machines Corporation | System for testing interactive software |
JPH02105225A (en) * | 1988-07-15 | 1990-04-17 | Digital Equip Corp <Dec> | Digital data processing syste, |
JP2574892B2 (en) * | 1989-02-15 | 1997-01-22 | 株式会社日立製作所 | Load sharing control method for automobile |
US5276883A (en) * | 1989-08-03 | 1994-01-04 | International Business Machines Corporation | System and method for uniform control of local and remote applications in a data processing network |
US5115432A (en) * | 1989-12-12 | 1992-05-19 | At&T Bell Laboratories | Communication architecture for high speed networking |
US5243607A (en) * | 1990-06-25 | 1993-09-07 | The Johns Hopkins University | Method and apparatus for fault tolerance |
JPH04153764A (en) * | 1990-10-18 | 1992-05-27 | Nec Corp | System for increasing processing speed of decentralized cpu |
JPH04175875A (en) * | 1990-11-07 | 1992-06-23 | Nec Software Kansai Ltd | Image data retrieval system |
US5335342A (en) * | 1991-05-31 | 1994-08-02 | Tiburon Systems, Inc. | Automated software testing system |
US5666530A (en) * | 1992-12-02 | 1997-09-09 | Compaq Computer Corporation | System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between |
JPH06195252A (en) * | 1992-12-22 | 1994-07-15 | Oki Electric Ind Co Ltd | Caching system |
-
1994
- 1994-09-21 US US08/309,711 patent/US5598534A/en not_active Expired - Lifetime
-
1995
- 1995-08-10 CA CA002155773A patent/CA2155773C/en not_active Expired - Fee Related
- 1995-09-14 EP EP95306476A patent/EP0705014A1/en not_active Withdrawn
- 1995-09-18 JP JP7262066A patent/JPH0895911A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH0895911A (en) | 1996-04-12 |
US5598534A (en) | 1997-01-28 |
CA2155773A1 (en) | 1996-03-22 |
EP0705014A1 (en) | 1996-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2155773C (en) | Progressive execution technique for mobile computing devices | |
EP2180335B1 (en) | Method and device for managing positioning requests and reusing positioning results | |
US6842611B2 (en) | Received data processing method in communication device for supporting bluetooth wireless communication | |
US7076269B2 (en) | Radio communication system for notifying incommunicable state, and device and method used for the system | |
US9008692B2 (en) | Method for handling position data in a mobile equipment, and a mobile equipment having improved position data handling capabilities | |
US6897805B2 (en) | Method and apparatus for location based wireless roaming between communication networks | |
EP0883272B1 (en) | Information processing apparatus having a wireless communication function | |
CN1819576B (en) | Client / server application task allocation method and application serving system | |
KR100690304B1 (en) | Optimizing network connections in a data processing system with multiple network devices | |
US7684396B2 (en) | Transmission apparatus having a plurality of network interfaces and transmission method using the same | |
KR20030067715A (en) | Navigation system | |
EP1195949A2 (en) | Using an expert proxy server as an agent for wireless devices | |
JP2007502093A (en) | System and method for electrically generating device pairs | |
JPWO2009104721A1 (en) | Mobile terminal context efficiency utilization method and system | |
JPH10260994A (en) | Daily report generation system | |
EP1158412B1 (en) | Data output controller | |
US7929999B2 (en) | Method and system for harnessing processor power of mobile devices | |
US20100077080A1 (en) | Communication terminal, service kiosk, and service providing system and method | |
US20030163619A1 (en) | Buffer controller and buffer control method | |
US7174380B2 (en) | Communication terminal, service providing system, service use method, storage medium, and program | |
JPH1022908A (en) | Data communication equipment | |
US20030223755A1 (en) | Method for communicating multimedia data between electronic devices by means of IR ray | |
KR100375365B1 (en) | A system for providing stock-related information and trading stocks by using mobile communication devices | |
US8775650B2 (en) | Memory association to folder information | |
Haas | The progressive execution technique for mobile systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |