Embodiments of the present invention relates to the fields of telephony and data processing. More specifically, the present invention is related to serving data and/or application from a wireless mobile phone.
Advances in semiconductor, processor, telecommunication, networking and related technologies have led to the ubiquitous availability of a wide range of general and special purpose computing devices. In particular, wireless mobile phones are now widely available and employed for voice communication. In some cases, wireless mobile phones have replaced desktop phones as the primary voice communication devices for many users.
At the same time, as the capabilities and functionality of wireless mobile phones continue to grow, wireless mobile phones have become the major repositories of the users' data. Today, very often, not only contacts and calendar data are stored on the wireless mobile phones, increasingly, word documents, presentations, including the viewers of the corresponding applications are stored thereon. In other words, increasingly, wireless mobile phones are also being employed to perform data processing functions that were once performed on traditional data processing devices, such as laptop or desktop computers.
However, by virtue of the portability characteristic, which inherently means small display screens and small keypads, wireless mobile phones, when used as data processing/computing devices, remain relatively user-unfriendly.
The term “wireless mobile phone” as used herein refers to the class of telephony devices equipped to make and receive calls wirelessly, notwithstanding movement, as long as the device is within the communication reach of a service or base station of a wireless network service provider. Unless specifically excluded, these terms are to include the analog subclass as well as the digital subclass (of all signaling protocols).
The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:
Embodiments of the present invention include, but are not limited to, methods related to serving data and/or applications from wireless mobile phones, and apparatuses, such as client computers, domain name servers, proxy servers and wireless mobile phones equipped with appropriate logic to practice corresponding aspects of the methods.
Various aspects of the illustrative embodiments will be described using terms commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. However, it will be apparent to those skilled in the art that alternate embodiments may be practiced with only some of the described aspects. For purposes of explanation, specific numbers, materials, and configurations are set forth in order to provide a thorough understanding of the illustrative embodiments. However, it will be apparent to one skilled in the art that alternate embodiments may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the illustrative embodiments.
Parts of the description will be presented in terms, such as data, uniform resource locator, resolution, notification, and so forth, consistent with the manner commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. As well understood by those skilled in the art, these quantities take the form of electrical, magnetic, RF, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through electrical and/or optical components of a processor and its subsystems.
Part of the descriptions will employ various abbreviations, including but are not limited to:
Further, various operations will be described as multiple discrete operations, in turn, in a manner that is most helpful in understanding the illustrative embodiments; however, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations need not be performed in the order of presentation.
The phrase “in one embodiment” is used repeatedly. The phrase generally does not refer to the same embodiment; however, it may. The terms “comprising”, “having”, and “including” are synonymous, unless the context dictates otherwise.
Referring now to
Further, as will be also described in more detail below, for these embodiments, domain name servers 120 and proxy servers 122 are equipped to enable WMP 102 or its mirror 102′ to effectuate the serving of data and applications for computing 104. That is, domain name servers 120 and proxy servers 122 are equipped with the logic and functions to bridge the fact that WMP 102 generally does not have a persistent connection to the Internet, nor a persistent IP address.
Resultantly, a user of WMP 102 may use someone else' computer, e.g. a visitor/co-worker's computer at a visiting location, a public computer at a public library/Internet café, and so forth, to perform data processing functions, using data and/or applications stored on WMP 102 (or on its mirror 102′), to overcome the inherent user unfriendliness of WMP 102 for performing data processing tasks.
Except for the logic/enhancements provided to WMP 102, domain name servers 102 and proxy servers 122, these and other enumerated elements may otherwise be implemented with a wide range of these elements known in the art or to be designed.
Referring now to
As with conventional attempts to access a resource identified by an URL, the attempt results in a request being submitted to one of the domain name servers 120, operation 203. In various embodiments, client computer 104 submits the request over the communication protocol TCP/IP. In other embodiments, other communication protocols may be employed instead.
On receipt of the request, the domain name server 120 having previously stored a record resolving the URL to proxy server 122, resolves the request to proxy server 122 accordingly, operation 204. Additionally, for the embodiments, the domain name server 120 notifies proxy server 122 of the request to resolve a URL to WMP 102, operation 204. In various embodiments, domain name server 120 notifies proxy server 122 using the communication protocol TCP/IP. In other embodiments, other communication protocols may be employed instead.
On receipt of the notification, for the embodiments, proxy server 122 determines whether a data connection has already been established between WMP 102 and proxy server 122, operation 206. Proxy server 122 may make the determination by examining e.g. content of a data connection table/log it maintains or its communication stacks in memory.
If a data connection between WMP 102 and proxy server 122 has not already been established, and mirroring of WMP 102 is not implemented, proxy server 122 sends a message to WMP 102 informing WMP 102 that an attempt to access WMP 102 is in the process of being made, and assuming WMP 102 wants to service the access, WMP 102 should establish a data connection to the proxy server 122, operation 208. In various embodiments, proxy server 122 sends the message to WMP 102 in the form of a SMS message. In other embodiments, other messaging protocols may be employed instead.
In response, assuming WMP 102 does want to service the access, WMP 102 establishes a data connection with proxy server 122, operation 210. In various embodiments, WMP 102 establishes a data connection with proxy server 122 by establishing a GPRS or other connection.
In the meantime, on receipt of the resolution of the URL of WMP 102 to the proxy server 122 (e.g. by receiving the IP address of proxy server 122), operation 203, client computer 104 establishes a data communication connection to proxy server 122 to access WMP 102, operation 205. In various embodiments, client computer 104 establishes a HTTP connection to proxy server 122 to access WMP 102. In other embodiments, other data communication protocols may be employed instead.
On acceptance and establishment of the data communication connection from client computer 104, proxy server 122 forwards the access request of client computer 104 to WMP 102 (if a data connection is established), or WMP 102′ (if a data connection to WMP 102 is not established, and mirroring is implemented), operation 212.
In response, for the embodiments, WMP 102/102′ responds with a login page, operation 214. Proxy server 122, in turn, forwards the login page to the client computer 104, operation 216.
On receipt of the login page, assuming it is a legitimate login, the user completes the login page appropriately, which in due course, results in client computer 104 submitting a completed instance of the login page to proxy server 122, operation 218.
As before, on receipt of the completed instance of the login page, proxy server 122 forwards the completed instance to WMP 102/102′, operation 220. On receipt, operation 222, WMP 102/102′ determines whether the login page was appropriately completed, in particular, whether client computer 104 should be granted access, operation 224.
In alternate embodiments, in lieu of or in addition to the above described login approach, client computer 104 may be granted access to WMP 102/102′ conditioned on the fact that it is a pre-authorized device, or it is proximally located from WMP 102. The former may e.g. be determined based on the IP address of client computer 104, e.g. when it is a known statically pre-allocated IP address. The latter may e.g. be verified based on location information, such as global positioning satellite (GPS) coordinates, provided by the devices. Further, the proximal location of the devices may be verified periodically, and the access may be revoked as soon as WMP 102 is no longer proximally located next to client computer 104.
Assuming client computer 104 should be granted access, for the embodiments, WMP 102/102′ responds with a home page or a terminal server page having a number of applications for the user of client computer 104 to use, operation 224. As before, proxy server 122 forwards the home or terminal server with application page to client computer 104, operation 226.
On receipt, the user of client computer 104 interacts with one or more of the available applications, resulting in the interactions being sent back to proxy server 122, operation 228.
As before, on receipt of the interactions, proxy server 122 forwards the interactions to WMP 102/102′, operation 230. On receipt, operation 232, WMP 102/102′ processes the interactions and responds accordingly to proxy server 124, operation 230. Proxy server 124 again forwards the response to client computer 104, operation 234.
Operations 228-234 are repeated until the user of client computer 104 stops accessing WMP 102/102′, or WMP 102/102′ stops serving client computer 104 (for whatever reason).
For the embodiments supporting the implementation of mirror 102′, a user of WMP 102 may cause a data connection to be established from WMP 102 to mirror 102′ and synchronize their logical content, from time to time.
Thus, a user of WMP 102 may use a computer at a visiting location, with more user friendly display screen and keyboard for performing data processing tasks, using data and running applications stored on WMP 102.
In the foregoing description, for ease of understanding, the embodiments have been described with domain name server 120 notifying proxy server 122 of attempted access of WMP 102, thereby enabling proxy server 122 to ensure WMP 102 has a proper data connection established with proxy server 122. In alternate embodiments, the present invention may nonetheless be practiced without the alert notification. For examples, in alternate embodiments, the present invention may be practiced with the proxy server 122 serving up substitute pages while it is causing WMP 102 to establish its data connection to proxy server 122, or allowing the attempt to “fail” and retried.
Additionally, while mirror 102′ is illustrated as being maintained by proxy server 122, in alternate embodiments, mirror 102′ may be implemented on any networked servers, accessible to proxy server 122.
Further, in various embodiments, WMP 102 may be adapted to download a communication applet onto client computer 104 upon granting access to client computer 104. The communication applet may be adapted to collaborate with the proximally located WMP 102 to determine whether the serving of data and/or applications from WMP 102 may be switched to a local communication connection, such as a short range wireless connection or a wired serial or parallel connection.
Still further, in various embodiments, on granting access to client computer 104, WMP 102/102′ may cause a security applet be downloaded onto client computer 104.
The security applet is adapted to control caching of all data and/or applications downloaded from WMP 102/102′ while accessing WMP 102/102′, and destruction of the downloaded data and applications (possibly including itself) as soon as the access is terminated.
Of course, in various embodiments, the additional communication and security applets may be implemented as a single combined applet.
Still further, in other embodiments, the serving of data and/or applications from WMP 102/102′ may be initiated by WMP 102, or even an authorized third party.
Resultantly, removable accessory cover 302 provides a convenient way of personalizing, customizing and/or enhancing base WMP unit 304, e.g. enhancing WMP unit 304 with a web server, an application server, a terminal server, and/or applications, for facilitating practice of embodiments of the present invention.
Except for web server 214 and optionally, terminal server with one or more applications 216 provided to base WMP unit 304, each of these elements 502-514 performs its conventional function known in the art, and is intended to represent a broad range of such element and its equivalents. Further, TX/RX 512 may be designed to support one or more of any of the known signaling protocols, including but are not limited to CDMA, TDMA, GSM, and so forth. Moreover TX/RX 512 may be implemented using separate transmitter and receiver.
Accordingly, elements 502-514 will not be further described. Further, in alternate embodiments, WMP 102 may assume other form factors, including but not limited to a conventional substantially rectangular unibody form factor, or a conventional substantially rectangular flip/slider phone form factor, with or without a removable accessory cover or faceplate.
Each of these elements performs its conventional functions known in the art. In particular, system memory 704 and mass storage 706 are employed to store a working copy and a permanent copy (not shown) of the programming instructions implementing domain name service 502 or proxy service 504, depending on whether computing device 700 is employed to implement domain name server 120 or proxy server 122.
The permanent copy of the programming instructions may be loaded into mass storage 706 in the factory, or in the field, through e.g. a distribution medium (not shown) or through communication interface 710 (from a distribution server (not shown).
The constitution of these elements 702-712 are known, and accordingly will not be further described.
Thus, it can be seen from the above descriptions, a novel method for serving data/applications from a wireless mobile phone, and apparatuses equipped to practice various aspects of the method, have been described. While the present invention has been described in terms of the earlier described embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described. The present invention can be practiced with modification and alteration within the spirit and scope of the appended claims of the non-provisional application to follow. Thus, the description is to be regarded as illustrative instead of restrictive on the present invention.
This application is a continuation of U.S. patent application Ser. No. 13/020,651 filed Feb. 3, 2011, which is a continuation of U.S. patent application Ser. No. 11/158,308, filed Jun. 21, 2005, which claims the benefit of priority from Provisional Application Ser. No. 60/581,864, filed Jun. 21, 2004. The disclosures of these applications are herein incorporated by references in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
6549773 | Linden et al. | Apr 2003 | B1 |
6732105 | Watson, Jr. et al. | May 2004 | B1 |
6865608 | Hunter | Mar 2005 | B2 |
6895425 | Kadyk et al. | May 2005 | B1 |
6973485 | Ebata et al. | Dec 2005 | B2 |
7103333 | Lazaridis et al. | Sep 2006 | B2 |
7293271 | Trossen et al. | Nov 2007 | B2 |
7400897 | Lazaridis | Jul 2008 | B2 |
7409208 | Clare et al. | Aug 2008 | B1 |
7613810 | Romero et al. | Nov 2009 | B2 |
7904065 | Engstrom | Mar 2011 | B2 |
20020007379 | Wang et al. | Jan 2002 | A1 |
20020055351 | Elsey | May 2002 | A1 |
20020059367 | Romero et al. | May 2002 | A1 |
20030017839 | Mager | Jan 2003 | A1 |
20030028612 | Lin | Feb 2003 | A1 |
20040122965 | Apfel | Jun 2004 | A1 |
20040215824 | Payrits | Oct 2004 | A1 |
20050014489 | Zhigang | Jan 2005 | A1 |
20050033852 | Tenhunen | Feb 2005 | A1 |
20050034158 | DeLaVega | Feb 2005 | A1 |
20050071421 | Calo et al. | Mar 2005 | A1 |
20050074028 | Wugofski et al. | Apr 2005 | A1 |
20050235046 | Carpenter | Oct 2005 | A1 |
20060094403 | Norefors et al. | May 2006 | A1 |
20070165579 | Delibie et al. | Jul 2007 | A1 |
20070202884 | Nykanen et al. | Aug 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20140364109 A1 | Dec 2014 | US |
Number | Date | Country | |
---|---|---|---|
60581864 | Jun 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13020651 | Feb 2011 | US |
Child | 14463601 | US | |
Parent | 11158308 | Jun 2005 | US |
Child | 13020651 | US |