摘要:
Methods, systems, and computer program products for negotiating a secure end-to-end connection using a proxy server as an intermediary. The client first negotiates a secure connection between the client and the proxy so that any credentials exchanged will be encrypted. After the exchange of authentication credentials, the secure client-proxy connection is altered so that no further encryption takes place. The client and server then negotiate a secure end-to-end connection through the proxy, with the secure end-to-end connection being encapsulated within the insecure client-proxy connection. In this way, the overhead of creating a separate client-proxy connection for the secure end-to-end connection may be avoided, but the insecure client-proxy connection introduces only minimal overhead because it no longer encrypts any data that it carries.
摘要:
Methods, systems, and computer program products for synchronizing data stored at one or more message clients with data stored at a message server where the message clients may receive update notifications and may represent the data using different data structures than the message server uses to represent the same data. A token is associated with each data change that occurs at the message server. The message server sends each change and associated token to the message clients. When the message clients request a synchronization, the tokens they received are returned to the message server for comparison with the tokens the message server sent to the message clients. If the message clients do not return a particular token, the message server determines that the clients did not receive the corresponding change and resends the change to the message clients. Tokens may also be used to divide a change into one or more portions, with only one portion being provided initially. Then, in response to receiving the token associated with the portion, the message server may provide the remaining portion of the message to the message clients.
摘要:
Methods, systems, and computer program products for synchronizing data stored at one or more message clients with data stored at a message server where the message clients may receive update notifications and may represent the data using different data structures than the message server uses to represent the same data. A token is associated with each data change that occurs at the message server. The message server sends each change and associated token to the message clients. When the message clients request a synchronization, the tokens they received are returned to the message server for comparison with the tokens the message server sent to the message clients. If the message clients do not return a particular token, the message server determines that the clients did not receive the corresponding change and resends the change to the message clients. Tokens may also be used to divide a change into one or more portions, with only one portion being provided initially. Then, in response to receiving the token associated with the portion, the message server may provide the remaining portion of the message to the message clients.
摘要:
An expert proxy server is described that is coupled to a number of wireless devices through a wireless network, and to a number of server computer systems through an external network such as, for example, the Internet. The expert proxy server acts as an agent for a wireless device by providing a service for the wireless device. Specifically, the expert proxy server determines that a service is to be provided to the wireless device. Next, the expert proxy server identifies an application that provides the service and then communicates with the identified application that provides the service. The expert proxy server compiles the results of the communication with the application and then transmits the compilation to the wireless device over the wireless network. Thus, the relatively smaller bandwidth of the wireless network is preserved by transmitting a minimal amount of information over the wireless network while leaving more extensive communications to occur over higher bandwidth external networks. Also, since the extensive processing occurs at the expert proxy server rather than at the wireless device, the application on the wireless device may be simplified and smaller as compared to the supporting applications on the expert proxy server thereby preserving the limited memory and processing capability of the wireless device.
摘要:
Methods, systems, and computer program products for synchronizing data stored at one or more message clients with data stored at a message server where the message clients may receive update notifications and may represent the data using different data structures than the message server uses to represent the same data. A token is associated with each data change that occurs at the message server. The message server sends each change and associated token to the message clients. When the message clients request a synchronization, the tokens they received are returned to the message server for comparison with the tokens the message server sent to the message clients. If the message clients do not return a particular token, the message server determines that the clients did not receive the corresponding change and resends the change to the message clients. Tokens may also be used to divide a change into one or more portions, with only one portion being provided initially. Then, in response to receiving the token associated with the portion, the message server may provide the remaining portion of the message to the message clients.
摘要:
Methods, systems, computer program products and data structures are described which allow a client to communicate with a server even though multiple proxies that require different authentication data must be traversed to allow such communication. In operation, the client first authenticates to a first proxy using authentication data appropriate for the first proxy. The client then authenticates to a second proxy using different authentication data that is appropriate for the second proxy. This proxy authentication continues through as many proxies as necessary until the client is in communication with the server.
摘要:
Methods, systems, and computer program products for caching content that has been customized based on one or more operating characteristics of a mobile client. A mobile gateway receives content from a content source and customizes the content using transforms assigned to each mobile client. Transforms account for differences between mobile clients without imposing significant processing burdens on the content server. Copies of the content, the transformed content, and a transform identifier are cached at the mobile gateway so that subsequent requests for the content may be satisfied without requiring access to the content source. Processing that is common among several transforms may be shared. Mobile clients may be any type of computer.
摘要:
Methods, systems, and computer program products for customizing content based on at least one operating characteristic of a mobile client. A mobile gateway receives content from a content source, such as an email server, a Web server, or some other content server. For example, content may include email, calendar, contact, task, Web, notification, financial, sports data, configuration information, etc. The mobile gateway customizes the content based on transforms assigned to each mobile client. Transforms account for differences in the software, display, processor, memory, communication channel, and the like, of each mobile client, without imposing additional processing burdens on the content server. Processing that is common among several transforms may be shared. Mobile clients may be any type of computer, including telephones, pagers, PDAs, laptops, and other mobile gateways.
摘要:
Methods, systems, and computer program products for customizing content based on at least one operating characteristic of a mobile client. A mobile gateway receives content from a content source, such as an email server, a Web server, or some other content server. For example, content may include email, calendar, contact, task, Web, notification, financial, sports data, configuration information, etc. The mobile gateway customizes the content based on transforms assigned to each mobile client. Transforms account for differences in the software, display, processor, memory, communication channel, and the like, of each mobile client, without imposing additional processing burdens on the content server. Processing that is common among several transforms may be shared. Mobile clients may be any type of computer, including telephones, pagers, PDAs, laptops, and other mobile gateways.
摘要:
The dynamic conversion of a data structure from an origin data format into a destination data format is described. Instead of using a single data conversion module to accomplish this data conversion, a gateway computer system identifies a sequence of format conversion modules that, when executed in sequence, converts the data structure from the origin to the destination data format. The conversion occurs dynamically during run time and reduces the amount of needed data conversion modules significantly, particularly when there is a large amount of possible origin data formats and destination data formats. This conversion is particularly useful when communicating over wireless networks since there is little standardization in wireless devices resulting in wireless devices having many different proprietary data formats.