CN1867906B - Communications system providing multi-layered extensible protocol interface and related methods - Google Patents

Communications system providing multi-layered extensible protocol interface and related methods Download PDF

Info

Publication number
CN1867906B
CN1867906B CN2004800296310A CN200480029631A CN1867906B CN 1867906 B CN1867906 B CN 1867906B CN 2004800296310 A CN2004800296310 A CN 2004800296310A CN 200480029631 A CN200480029631 A CN 200480029631A CN 1867906 B CN1867906 B CN 1867906B
Authority
CN
China
Prior art keywords
module
protocol
data
layer
proxy
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 - Lifetime
Application number
CN2004800296310A
Other languages
Chinese (zh)
Other versions
CN1867906A (en
Inventor
戴维·詹姆斯·克拉克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
TeamOn Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US10/778,709 external-priority patent/US7774486B2/en
Application filed by TeamOn Systems Inc filed Critical TeamOn Systems Inc
Publication of CN1867906A publication Critical patent/CN1867906A/en
Application granted granted Critical
Publication of CN1867906B publication Critical patent/CN1867906B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

A communications system may include data storage devices each using at least one of a plurality of different operating protocols, and mobile wireless communications devices (MWCDs) for accessing the data storage devices and each using at least one of the different operating protocols. The system may further include a protocol interface device, which may include a protocol engine module for communicating with the data storage devices using respective operating protocols. The protocol interface device may further include a front-end proxy module coupled to the protocol engine. The front-end proxy module may include a respective proxy module for communicating with the MWCDs using each different operating protocol. The front-end proxy module may also include one or more common core service modules coupled to the proxy modules and communicating therewith at a first layer, and communicating with the protocol engine module at a second layer lower than the first layer.

Description

The communication system and the correlation technique of multi-layered extensible protocol interface are provided
Technical field
The present invention relates to field of wireless communications, particularly utilize multiple operating protocol to carry out the communication system and the correlation technique of data access operation.
Background technology
Internet (World Wide web) has become the media of most popular visit information now.Utilize Internet protocol, the user only needs to specify uniform resource locator (URL) or network address just can download webpage from the Internet simply on their web browser.Obtain the Web webpage from Web server, the browser that downloads to the user is translated into visual format then, so that by watching and appreciating.
Except Web server, the collaborative Web server of some application server helps it to handle and the translation content.Application server also comprises other function, for example route requests, act on request, translation will send it back the document of client.
The popular distinct methods of having created visit and having handled webpage of Web webpage.But,, but still have many defectives with the method that visits the Web data even access websites is very universal.
In Web uses, often be not used in the single source of URL definition, grammer and parameter.A kind of scheme of handling this defective is that URL is encoded into source file.Yet this method is easy to occur mistake and causes complicated logic in the service of handling many exceptions.According to the URL of input, the developer is difficult to know that this request should response request by route and which module of system in addition.
Second defective is to control the parameter that passes to request processor.This can cause and similar problem above-mentioned.Along with the stronger function of needs, in inquiry string, increase more parameter a position, but will ignore these parameters in other place, cause and need confirm input parameter with the logic of complexity.
The 3rd scarce filling relates to the use of the monolithic request processor with convolution logic.In a lot of Web used, function did not have actual level.Request is mixed with public classification, is sent to suitable processor then.Processor must be able to be handled any one in these requests.Time has been grown, and the coding of these processors can increase a lot, becomes to be difficult to management.
The 4th defective is to have multiple mode to be used for handling the pattern of definition usually.Do not formulate justice owing to the URL pattern is run business into strong one, so the developer must be responsible for correctly and effectively safeguarding his code.In due course, the form of URL can be led to divergence, and makes indigestion and maintenance applications.
Another defective is to lack the control flow that defines in system.Should work as that another processor needs function and promptly become very complicated when directly beginning to call other processor by the control flow of system by the developer.Usually, can return to called side, or pass to another called side after revising from the response of the processor that is called.The data of transmitting in the system are made amendment the indigestion that becomes when it is mobile in system.
Another defective relates to and will do not passed to the HTTP request by the parameter of classification or classification.The required logic of each parameter of the affirmation that obtains may be very loaded down with trivial details and be subject to the explanation of developer to the code write.This also can cause misunderstanding or be chaotic
Also have a defective to relate to the at interval short of request timed out.Do not control and attempt to address this problem and to cause complexity, wrong code by single-point.
Summary of the invention
In view of above-mentioned background, the purpose of this invention is to provide a kind of the possess protocol conversion of enhancing and the communication system and the correlation technique thereof of data access feature.
A kind of communication system can provide according to this and other purpose of the present invention, feature and advantage, and this communication system comprises: a plurality of data storage devices, each data storage device use at least a in the multiple different operating protocol; A plurality of mobile radio communication apparatus are used to visit described a plurality of data storage device, and each mobile radio communication apparatus uses at least a in the described multiple different operating protocol; And protocol interface device, be used for coming deal with data according to the multi-layer protocol model, described protocol interface device comprises: protocol engine module, be used to use corresponding operating protocol to communicate by letter with described a plurality of data storage devices, with the front-end proxy agent module, be coupled to described protocol engine, and comprise corresponding proxy module, be used to use each different operating protocol to communicate by letter with described a plurality of mobile radio communication apparatus, with at least one public core services module, described public core services module is coupled to described proxy module, and communicate by letter with described proxy module at the ground floor of described multi-layer protocol model, communicate by letter with described protocol engine module with the second layer lower than ground floor in described multi-layer protocol model, described at least one public core services module comprises a plurality of processors, described a plurality of processor is used for described proxy module and described protocol engine module interface, polling engine module with cooperating with described protocol engine module and described front-end proxy agent module is used to accumulate the email message from email data storage device to the corresponding mobile Wireless Telecom Equipment.
Described protocol interface device can also comprise the front-end proxy agent module with the protocol engine coupling.Particularly, described front-end proxy agent module can comprise corresponding proxy module, is used to use each different operating protocol to communicate by letter with described a plurality of mobile radio communication apparatus.Described front-end proxy agent module can also comprise at least one public core services module, and described public core services module is coupled to described proxy module, and communicates by letter with described proxy module at ground floor, and communicates by letter with protocol engine at the second layer lower than ground floor.
As an example, ground floor can be a network layer, and the second layer can be a data Layer.In addition, described protocol interface device can also comprise the profile module that is coupled at least one public core services module, be used to be stored in ground floor dispose public kernel service configuration file first set and be stored in second set that the second layer disposes the configuration file of public kernel service.Therefore, described front-end proxy agent module provides to be modified and is used for that the two holds the extensible architecture such as those the extra public kernel services related with new operating protocol at first and second data Layers.
More particularly, described at least one public core services module can be used for the route traffic between described proxy module and the protocol engine module, visit is from the data of described a plurality of data storage devices, and at least one of data of translating described a plurality of mobile radio communication apparatus.In other words, advantageously, described front-end proxy agent module is used with polytype operating protocol, and still utilizes public kernel service to come route portfolio, visit data and/or translation data, higher efficient can be provided and reduce complicacy.
In addition, described at least one public core services module can comprise a plurality of processors, is used for as the interface between described proxy module and the described protocol engine module.In addition, described a plurality of proxy module can convert the request of access from described a plurality of mobile radio communication apparatus to public access parameter.Therefore, described front-end proxy agent module can also comprise the process controller module, is used for receiving public access parameter and selecting its required processor of handling from described a plurality of proxy modules.
Described at least one public core services module can also comprise translator module, is used for and described proxy module cooperation, is described a plurality of mobile radio communication apparatus formatted datas.In addition, described at least one public nucleus module service can also comprise extend markup language (XML) engine modules that is coupled to described translator module, for example, but resembles extensible stylesheet code-switching (XSLT) engine modules.In addition, described at least one public core services module can also comprise the storer that is coupled to the XML engine modules, is used to store and the corresponding corresponding a plurality of templates of operating protocol.
A method aspect of the present invention provides a kind of protocol interface device, as the interface between a plurality of mobile radio communication apparatus and a plurality of data storage device, described mobile radio communication apparatus and data storage device respectively use at least a in the multiple different operating protocol, described protocol interface device comes deal with data according to the multi-layer protocol model, described protocol interface device comprises: protocol engine module, be used to use corresponding operating protocol to communicate by letter with described a plurality of data storage devices, with the front-end proxy agent module, be coupled to described protocol engine, and comprise corresponding proxy module, be used to use each different operating protocol to communicate by letter with described a plurality of mobile radio communication apparatus, with at least one public core services module, described public core services module is coupled to described proxy module, and communicate by letter with described proxy module at the ground floor of described multi-layer protocol model, communicate by letter with described protocol engine module with the second layer lower than ground floor in described multi-layer protocol model, described at least one public core services module comprises a plurality of processors, described a plurality of processor is used for described proxy module and described protocol engine module interface, polling engine module with cooperating with described protocol engine module and described front-end proxy agent module is used to accumulate the email message from email data storage device to the corresponding mobile Wireless Telecom Equipment.
The present invention also provides a kind of method, be used for connecting a plurality of mobile radio communication apparatus and a plurality of data storage device based on the multi-layer protocol model, described mobile radio communication apparatus and data storage device respectively use at least a in the multiple different operating protocol, this method comprises: protocol engine module is provided, is used to use corresponding operating protocol to communicate by letter with described a plurality of data storage devices; With the front-end proxy agent module is provided, described front-end proxy agent module comprises corresponding proxy module, be used to use each different operating protocol to communicate by letter with described a plurality of mobile radio communication apparatus, with at least one public core services module, described at least one public core services module is communicated by letter with described proxy module with the ground floor that described proxy module coupling is incorporated in described multi-layer protocol model, communicate with the second layer and described protocol engine lower than ground floor in described multi-layer protocol model, described at least one public core services module comprises a plurality of processors, described a plurality of processor is used for described proxy module and described protocol engine module interface, polling engine module with cooperating with described protocol engine module and described front-end proxy agent module is used to accumulate the email message from email data storage device to the corresponding mobile Wireless Telecom Equipment.
Protocol interface device according to the present invention can comprise concise and to the point those protocol engine modules and the front-end proxy agent module of describing above resembling as the interface between a plurality of communication facilitiess and a plurality of data storage device.In addition, can comprise a protocol engine module and front-end proxy agent module too according to computer-readable medium of the present invention.
Description of drawings
Fig. 1 is the schematic block diagram according to communication system of the present invention.
Fig. 2 is the schematic block diagram of protocol interface device that is described in more detail the communication system of Fig. 1.
Fig. 3 is the schematic block diagram of the front-end proxy agent expanded module that is described in more detail the protocol interface device of Fig. 2.
Fig. 4 and Fig. 5 are that explanation realizes similarly can expanding the schematic block diagram according to another embodiment of communication system of the present invention of acting on behalf of framework with Fig. 3.
Fig. 6 is the schematic block diagram of another embodiment of the protocol interface device among Fig. 2.
Fig. 7 further specifies the protocol engine module of protocol interface device of Fig. 3 and the schematic block diagram of its interface connector module.
Fig. 8 is the schematic block diagram of another embodiment of the protocol engine module of Fig. 7 and interface connector module.
Fig. 9 remains the schematic block diagram of another embodiment of the protocol interface device of Fig. 2.
Figure 10 is the schematic block diagram of another embodiment of the protocol interface device of Fig. 2.
Figure 11 is the process flow diagram of the protocol interface device operation of key diagram 2.
Figure 12 is the process flow diagram of the front-end proxy agent module operation of key diagram 3.
Figure 13 is the process flow diagram of the communication system operation of key diagram 5.
Figure 14 is the process flow diagram of the protocol interface module operation of key diagram 6.
Figure 15 is the protocol engine of key diagram 7 and the process flow diagram of interface connector module operation.
Figure 16 is the process flow diagram of the protocol interface device operation of key diagram 9.
Figure 17 is the process flow diagram of the protocol interface device operation of explanation Figure 10.
Figure 18 is the schematic block diagram of the mobile radio communication apparatus example used among the present invention.
Embodiment
Below with reference to the accompanying drawing that the preferred embodiment of the present invention is shown the present invention is described more fully.The embodiment that the present invention can implement and be not limited to here to be proposed by multiple different form.Provide these embodiment to make this announcement, and scope of the present invention is informed those skilled in the art all sidedly more thoroughly with complete.Identical numbering is pointed to identical element all the time, and " ' " symbol and a plurality of " ' " symbol are used for representing the similar element in the alternate embodiments.
Forward Fig. 1 now to, communication system comprises the protocol interface device 14 that a plurality of data storage devices of visit or system 16,18,20 are provided.Communication system as example comprises a plurality of communication facilitiess, i.e. mobile radio communication apparatus 11 and the communication facilities 12 that links to each other with system by wired connection.As an example, can various mobile radio communication apparatus used according to the invention, as PDA(Personal Digital Assistant), cell phone etc.The example of the mobile radio communication apparatus that is adapted at the present invention's use is provided below with reference to the example that provides among Figure 18.In addition, the example of wire communication facility comprises personal computer, phone, facsimile recorder etc.Certainly, though only shown two kinds among the embodiment, in fact can use multiple wired and wireless device as the example explanation.
Communication facilities 11,12 generally includes client software, as operating on its corresponding communication apparatus or the software module of its corresponding communication facilities collaborative work or application program, so that data by storing on protocol interface device 14 visit one or more data storage devices 16,18 and 20.It will be understood by those skilled in the art that these communication facilitiess also comprise assembly and/or software module, these equipment do not utilize diagram to show in Fig. 1.It will be understood by those skilled in the art that for mobile radio communication apparatus 11 its client software is communicated by letter with protocol interface device 14 by cordless communication network 13 or other network (for example, public switched telephone network (PSTN) or the Internet).
The various functions of protocol interface device 14 and operation preferably realize by operation thereon or in its crew-served software.Protocol interface device 14 conducts as example connect the client software of communication facilities 11,12 and the bridge of data storage device 16,18,20.Preferably set up communication between protocol interface device 14, communication facilities 11,12 and the data storage device 16,18,20 by the wide area network resemble the Internet (WAN).That is, as mentioned above, communication facilities 11,12 can be communicated by letter with protocol interface device 14 by the Internet, and communicating by letter between protocol interface device and the data storage device 16,18,20 also can be like this.
Certainly, also can consider other implementation method.For example, can comprise data storage device 16,18,20, communication facilities 11,12 equally, or realize protocol interface device 14 on the private network of data storage device and communication facilities (for example, on the WAN).Be noted that and the invention is not restricted to any specific connection or communication pattern.
Data storage device 16,18,20 storage will be by the data of the client software visit of communication facilities 11,12.Though some client software can be configured to directly to visit the data storage device of some type, their particular data system normally recited above or specific protocols.More particularly, resembling on the electronic equipments that mobile radio communication apparatus 11 limits like this, processor power, memory resource and communication channel characteristics may hinder those with for example desktop and notebook computer system in the installation and the operation of the client software that generally function of use is identical.In addition, if client software with a plurality of data storage devices that visit related different agreement can be installed, on the equipment of this qualification, unlikely provide support in desktop and notebook computer system to various protocols.
Can utilize different operating protocols or access module to visit data storage device 16,18,20.Similarly, the operating protocol visit data memory storage 16,18,20 of protocol interface device 14 by supporting by corresponding data storage device, the operating protocol by corresponding client support provides data to communicator 11,12 then.The protocol conversion function of protocol interface device 14 provides unified approach to support visit to the several data system.Describe in further detail as following meeting, protocol interface device 14 is for providing the bridge of " arbitrarily to arbitrarily " between different agreement or the access module.
Fig. 2 has explained protocol interface device 14 in more detail.As mentioned above, protocol interface device 14 is as the bridge between dissimilar communication facilitiess and the data of different types memory storage.In an illustrated embodiment, data storage device the 24,26, the 28th, the systems/servers of storage of e-mails (e-mail).But, be noted that the visit that the invention is not restricted to mailing system.Each mailing system 24,26,28 is supported different operating protocol or access module.More particularly, mailing system 24 is supported Outlook Web Access (OWA), mailing system 26 is supported MicrosoftMessaging Application Programming Interface (MAPI), and mailing system 28 is supported proprietary protocol, for example resembles the sort of that America Online (AOL) uses.
Protocol interface system 14 as example comprises front-end proxy agent module 30.The proxy module 34,36,38,40 that comprises wireless application protocol (wap), post office protocol (POP), Internet Message Access Protocol (IMAP) and the HTTP(Hypertext Transport Protocol) of support respectively and client communication as the front-end proxy agent module of example.
Front-end proxy agent 30 is also communicated by letter with protocol engine module 32.Protocol engine module 32 converts the proprietary protocol of OWA, MAPI, mailing system 28 (if desired, also having other agreement) to front-end proxy agent module 30 compatibilities form.For this reason, respective interface connector module 70-77 (Fig. 7) can be coupled to protocol engine module 32 for each operating protocol that mailing system 24,26,28 is used, and can further discuss below.In a preferred embodiment, front-end proxy agent module 30 and protocol engine module 32 are extendible, but perhaps can expand to the additional operations agreement that is contained in other operating protocol time spent, also can further discuss below.
In operation, the user is by the mailbox in one of client software access mail system 24,26,28 on his communication facilities.For example, the WAP browser on the mobile radio communication device is communicated by letter with access mail system 24 with WAP proxy module 34.Visit order that WAP agency 34 receives or instruction are converted into the form with protocol engine module 32 compatibilities.Preferably by the general-purpose interface agreement, can be that proprietary protocol or the common protocol set up are realized the communication between front-end proxy agent module 30 and the protocol engine module 32.
After this, protocol engine module 32 will become the agreement (OWA that for example, be used for mailing system 24) related with the mailing system that will visit from visit order or the instruction transformation that front end proxy module 30 receives.The data that receive from mailing system email message, new information tabulation, calendar appointment, the task dispatching of specific mail system (for example, according to), the feature of its access protocal support and the attribute of visit order are converted into the general-purpose interface agreement and send front-end proxy agent to.
After this, the data that used proxy module (that is, the WAP proxy module 34 in this example) receives for the client format of sending request, or at least a portion data.Protocol interface device 14 is also changed other order from client.Can be to doing similar processing from the visit order of other type client.Be noted that when the user can visit a plurality of mailbox by protocol interface device 14, can respond a visit order and can visit several mailing systems.
Therefore, protocol interface device 14 allows the client-access of use different operating agreement also to use the mailing system 24,26,28 of different operating agreement.Move, delete, create, send, collect and check that such visit order influence the data of storing in the mailing system 24,26,28 rather than the data of copy for example resembling of producing of client.By protocol interface device 14, provide with proxy module 34,36,38,40 in any one compatible client visit one or more mailing systems 24,26,28.Help making client itself needn't support access protocal related or pattern like this with the mailing system that will visit.
Because mailing system agreement and client protocol needn't be compatible, so the feature of supporting between the agreement can be different.For example, the POP client is not supported the feature identical with OWA.The interface protocol that uses between protocol engine module 32 and the front-end proxy agent module 30 preferably is designed to key element and the feature that desired operating protocol presents the agreement support of desired quantity.More particularly, the general-purpose interface agreement preferably can be for great majority " competent " agreements (being OWA in this example) present the key element that institute's protocols having is supported, so that the most possible feature support is provided.In addition, if desired, the general-purpose interface agreement can support to stride whole characteristic sets on the supported protocol to some extent.
As an example, the generic interface agreement can be according to writing and the proprietary protocol of Version Control (WebDAV) agreement based on Web is distributed.Following procedure inventory #1 provides the checking request that utilizes this general-purpose interface agreement example.User identifier and PAP interface arrangement 14 that this checking requestor demonstration allows mailing system to utilize the user to provide, it also retrieves the root folder and the key property of the target mailbox of mailing system.
Following procedure inventory #2 has provided the inbox request demonstration of basis based on the general-purpose interface agreement of WebDAV.According to this program, in order to respond the inbox request, need the inbox performance in the query aim mailbox, and then the content of inquiring about it.The following procedure inventory #3 provide another example, and it is used for according to the searching request of aforesaid general-purpose interface agreement based on WebDAV to file.At this,, return the sub-folder tabulation of given file for responding this request.It will be understood by those skilled in the art that and to use a lot of other request and operations.
Be noted that in all embodiments client software all needn't the initialization data request of access.As will be understood by the skilled person in the art, for example, in certain embodiments, protocol interface device 14 can comprise that (or communication) with it can point out protocol engine module 32 to be spaced apart poll or accumulation (aggregation) engine modules (not shown) that each user accumulates the message on the mail server 24,26,28 on schedule.Protocol engine module 14 provides aforesaid accumulation message with front-end proxy agent module 30 to correspondent customer terminal software then.In addition, in all embodiments, front-end proxy agent module 30 needn't directly be communicated by letter with communication facilities 11,12, and with for example mailing system or the server communication got involved.Therefore, those skilled in the art are appreciated that also when using the accumulation engine modules, front-end proxy agent module 30 at first sends accumulation message to the mail server of getting involved, and mail server gives information to the communication facilities that is fit to successively.At this, front-end proxy agent module 30 uses the suitable agreement of this intervention mail server support to communicate with it.
Illustrated among Figure 11 and utilized protocol interface system 14 that visit a plurality of data storage devices, for example method of mailing system 24,26,28 are provided.From square frame 110, in square frame 111 at first received access command or data.At square frame 112, visit order or data are converted into the general-purpose interface agreement.Then, visit order is converted (square frame 113) and becomes the data system agreement related with the data system that will visit, for example the OWA that uses in the mailing system 24.
On the other hand, at square frame 113, data are converted into client protocol.According to the special characteristic that client protocol is supported, in this step, only change those parts of those data corresponding with the key element of the interface protocol of client protocol support.Protocol interface device 14 can produce errored response to unsupported operating protocol.More particularly, preferably ignore unsupported interface protocol key element or according to default or error handling processing is machine-processed handles.Then,, be sent to data system or client, finish (square frame 115) to method shown in this through visit order or the data of changing at square frame 114.
Turn to Fig. 3 now, describe the reality demonstration of front-end proxy agent module 30 and execute example.Front-end proxy agent module 30 as example comprises proxy module 34,36,38,40, but translator module 44 extensible stylesheet code-switching (XSLT) engine modules 46, storer (MEMORY) or template storage (STORE) 48, process controller module 50 and processor 52a-52n.
As mentioned above, each proxy module 34,36,38,40 is positioned at protocol engine module 32 " before " effectively and changes corresponding operating protocol for different client types.For example, the WAP proxy module provides from the information of one or more processor 52a-52n retrieval with the WML document form, so that show resembling on the such equipment of cell phone and PDA.POP agency utilizes at least some identical Agent components, comprises that process controller module 50 and translator module 44 translate the required data of POP agreement.
A particularly advantageous advantage as the front-end proxy agent module 30 of example is that each proxy module 34,36,38,40 uses identical kernel service to come route portfolio, visit data and translation data.In other words, translator module 44, XSLT engine modules 46, template storage 48, process controller module 50 and processor 52a-52n provide general core services module for proxy module 34,36,38,40.Unique difference by 34,36,38,40 conversions of different proxy modules is process controller 50, processor 52a-52n and the configuration that data-switching is become the employed XSL template of its final form.It will be understood by those skilled in the art that in many cases, can reuse identical processor 52a-52n between the various proxy modules 34,36,38,40.
In operating process, utilize the standard mechanism of client protocol, be delivered to suitable proxy module 34,36,38,40 from the data access request of client.For example, for the client of WAP, transmit parameter by inquiry string and/or list variable.WAP proxy module 34 is determined component identifier (target item of identification such as mail folder), action identifier (action that identification will be carried out) and based on any parameter of the data in the request.Under the situation of WAP, assembly and action identifier are transmitted in inquiry string or list.Other parameter in inquiry string or the list is packetized in the parameter list.
Then, used proxy module call flow controller 50 transmits with identifier and parameter list.Process controller is searched suitable processor by assembly and action identifier, makes up processor then, parameter is used as independent variable passes to the constructor (not shown).With processor 52a is example, and this processor utilizes data Layer (Fig. 5) to handle this request and replys required information with collection.
For example, for the mailing system visit, data Layer exchanges with protocol engine module 32 and relates to for example any information of subscriber mailbox, calendar or address book content.Also can be different kinds of information, for example relevant information with the service for checking credentials and user's e-mail accounts, foundation is communicated by letter with other assembly.Then, whether processor 52a decision should forward request to another processor, still should translate its result.
All information that processor 52a-52n returns are general format preferably, for example the org.xml.sax.InputSource of the provider of extend markup language (XML) data.Then, now call translator module 44, InptSource, positional information, the template name that will translate and OutputStream are transmitted together with proxy module.Translator module 44 uses XSLT engine 46 that paginal translation is OutputStream.Then, now utilize client protocol that OutputStream is offered client with proxy module.
Said system provides a kind of general application framework, and it follows (MVC) structure of typical model (model)/observation (view)/controller (controller) that can realize most of application architectures.An important feature is to expand then, to be provided as the required particular service functionality of the given service of round Realization for the baseset of similar service definition function.In given realization, process controller 50, processor 52a-52n and/or data access layer can be expanded or replace fully.
Should remember, support the service of new brand as long as comprise definition simply and realize control flow and concrete action (that is process controller module 50) and the definition in data Layer, the define system and realize and the interface (that is, translator module 44) of serving.On the other hand, be included in the existing new client type of service support and do minimum change on process controller module 50 and the processor 52a-52n and extra client required function is supported in expansion action in the above, and the interface between definition and realization client and the system (that is, translator module 44).
Block scheme with reference to Figure 12 further describes the operation that front-end proxy agent module 30 carries on an agreement and changes.Described some operation example above in detail, for avoiding excessive repetition, below only do concise and to the point the description.From square frame 120, at square frame 121, proxy module 34,36,38,40 receives request of access or order.At square frame 122, one or more processor 52a-52n convert request of access to the general-purpose interface agreement.
At square frame 123, respond this request, receive data from given mailing system 24,26,28.Translate these and converted to the data (square frame 124) of general-purpose interface agreement and return to client, arrive this at square frame 125 by protocol engine module 32, shown in method finish (square frame 126).According to the specific characteristic that client protocol is supported, the corresponding that part of data of general-purpose interface protocol element of a translation or conversion and client protocol support.Can ignore unsupported interface protocol key element or as mentioned above according to default or error handling processing is machine-processed handles.
The extensible universal kernel service structure that is noted that front-end proxy agent module 30 can also be used for various application.A kind of such application is various shortcomings of pointing out to be used to respond the irrelevant method of the HTTP request of using from Web.With reference now to Fig. 4 and Fig. 5,, the Web data access system 100 that has according to expandable structure of the present invention is described.As example, the assembly of the Web data access system 100 of two-way communication comprises that the user asks 101, Web server 102, acting server 104 and extensible controller system 106.
More particularly, the user asks 101 to refer to the user and utilize Web browser or Web application request Web webpage (for example, from PDA or PC).In case ask, Web server 102 is handled this request.Acting server 104 assists Web server 102 to handle this request.It will be appreciated by those skilled in the art that, in order to compare, at this, the function of acting server 104 and protocol interface device discussed above 14 are similar, with move on the acting server or realize extendible controller system 106 with the collaborative software module of acting server.Certainly, in certain embodiments, acting server 104 can be realized with different physical equipments or server with extendible controller system 106.
Acting server 104 is provided as the process that access speed other server slow or that resource is nervous provides available speed buffering or Storage Item.Acting server 104 is accepted the URL of band special prefix.After it receives the request of this URL, remove prefix and in the high-speed buffer of this machine, search the URL that obtains then.If find, return to document immediately, otherwise obtain from far-end server, at copy of high-speed buffer storage, then it is returned to the requestor.The page that acting server 104 returns can be static or dynamic in essence.Acting server 104 can be communicated by letter with application server or data server, is extensible controller system 106 in this particular example.
More particularly, as the assembly of the acting server 104 of example and above-mentioned similar, comprise accumulation server 202, translator module 212, XSLT engine modules 214 and store the storer 216 of a series of templates.The assembly of extensible controller system 106 comprises action map (map) 204 and a series of processor 206 also with above-mentioned similar.
202 pairs of input informations of accumulation server are handled, and then it are passed to other accessory part.Translator module 212 is a visual format with the data translation that obtains.Translator module 212 use XSLT engine modules 214 and from any necessary template of storer with the translation page.
Accumulation server 202 sends data to action map 204, the control flow and the logic of managing business in action map 204 maintenance systems.Action map 204 and a series of processor 206 are mutual.Processor 206 uses data Layer 208 from other data source 210 retrieving informations.Other data source 210 can comprise, for example, the XML of web data, relate to the API that the unified agent that any information of user application (for example, e-mail, calendar or contact person) content uses or the service for checking credentials that relates to user account and data use and prepare.
System asks 101 to play a role by making the user send a URL as the user.Web server 102 receives this request, and request is passed to acting server 104, utilizes the standard mechanism of agreement to handle.For example, a WML request can be transmitted a WAP parameter query character string and/or list variable.Accumulation server 202 assemblies of acting server 104 are determined assembly ID, action ID and any parameter according to the data in the request.Utilize the example of same WAP, assembly and action ID are by inquiry string or list transmission.Other parameter of in inquiry string or the list all is packaged in the parameter list.
Then, accumulation server 202 calls the action map 204 of extensible controller system 106, and transmits with ID and parameter list.Action map 204 is searched suitable processor 206 and is made up processor by assembly and action ID, and parameter is passed to the structure device as independent variable.Processor 206 utilizes data Layer 108 to handle request, uses data Layer to collect the required information of replying.Data Layer 208 is from being positioned at other data source 210 retrieving informations of network or network-external.Then, whether processor 206 decisions should be transferred to request another processor 206, still translate its result.
If system's decision translation data, data transfer back to the accumulation server 202 of action map 204 and acting server 104 from processor 206 so.Then, the translator module 212 of accumulation server 202 call request XSLT engine modules 214 and the template of any needs are to become data translation visual output.This output is returned to Web server 102 then, makes data become visual web webpage and asks 101 result as the user.
With reference now to Figure 13, further describes each step of utilizing extendible controller system 106 processing Web data to be comprised.More particularly, this figure has explained that in more detail the processing procedure of acting server 104 and extensible controller system 106 is with mutual.System flow asks 101 from the user.This request is sent to Web server 102, and it passes to acting server 104 with information and handles.Acting server 104 request accumulation servers 202 are handled.
At square frame 302, accumulation server 202 determines whether context is available.If available, system moves on to next step and excavates ID (square frame 306).If unavailable, so at square frame 304, context is at first created by system, proceeds to next step then, excavates ID at square frame 306.Action ID and assembly ID also excavate in system.At square frame 308, these ID are with required parameter and any form data envelope of packing into of packing.
The call request process is so that pass to data the action map 204 of extensible controller system 106 from accumulation server 202.The information that this request process will belong to envelope, action code, assembly ID and contextual information passes to action map 204.At square frame 310, action map 204 is searched action, determines whether to exist action at square frame 312 then.If exist, then move on to next step, determine at square frame 316 whether action needs checking.If there is no action, system determines at square frame 316 whether action needs checking then in the default action of square frame 314 retrievals.
Herein, if action does not need checking, so at square frame 320, system determines whether that any request is all in wait.If action needs checking, so at square frame 318, system determines that whether context is proofing state.If context is a proofing state, so at square frame 320, system determines that request is whether in wait.And if context is a proofing state not, so at square frame 314, system returns to the default action of acquisition with request, is accepted up to checking.
At square frame 320, system determines that request is whether in wait.If request is in waiting status, system carries out waiting request and jumps to next stage at square frame 346 so, determines whether process is arranged in the formation.If request is not in waiting status, so at square frame 322, system carries out action and makes envelope data effective, then at square frame 324, passes control to processor 206 and creates action processor.In case created action processor, then carried out initialization at square frame 326.
At square frame 328, system determines whether to allow background process then.If allow, create background processor at square frame 328, then at square frame 346, system determines whether process is arranged in the formation.And if do not allow background process, so at square frame 320, the system handles action processor, then at square frame 332, return results.Again access system determines in square frame 346 systems whether process is arranged in the formation.If process is arranged in the formation, so at square frame 350, it determines whether action is finished.If there is not process in the formation, at square frame 348, it submits process to formation so, then at square frame 350, determines whether action processor is finished.
If action processor is finished, so at square frame 352, the result of system's return action processor.If action processor is not finished, so at square frame 354, system returns result to be translated.At square frame 334, determine whether to translate this result with the output of step shown in the square frame 352 and 354 (return action processor result or result to be translated).
More particularly, the result of step shown in square frame 332 (return results), 352 (result of return action processor) and 354 (the returning result to be translated) is used for determining whether to translate this result (square frame 334).If system's decision translation result, system sends to data acting server 404 and at square frame 340, translates these data in translator module 212 from extensible controller system 106 so.Data are passed on the Web server 102 then, in square frame 342 display result, as the response of the user being asked 101.But decision is transferred to another action processor with request if this result is not translated in system's decision handles, and suitable action is searched at square frame 310 then at square frame 336 retrieval ID key words, at square frame 338 retrieval envelope datas by system so.System circulates herein up to the decision of finally accepting translation result at square frame 334.
Said method comprises and utilizes single source to come assembly in the define system.In this particular example, the source is the XML file, but also can use other form, it will be appreciated by those skilled in the art that.This source with code, URL grammer and the parameter of definition process request, be used for producing the template that the request science is replied or the routing iinformation of code and request.
System uses the code and the parameter-definition of the request of processing to create action processor together, transmits the parameter of right type, transmits control to it then and handles.Parameter comprises the type information that allows the data represented clearly.Parameter can be defined as optional or essential.Template is used for creating request responding.If a trial is to produce response, rather than what defines, will produce an error message.
The source also is request definition routing iinformation.All wish processor execution work in its scope in the time of many, then control is transferred to another processor and carried out its work by it.But,, will produce an error message if processor is attempted to transfer control in the source undefined thing.
The variant that other also can be arranged.For example, when the URL of establishment system, can use this source in interior use.In addition, the request route can be separated with the actual treatment of these requests.Control flow is then by an assembly of system, rather than each processor processing.Processor just allows controller that request is transferred to another processor simply.Like this, the input data can keep known state in specific RQ cycle.
Another kind method does not comprise when a processor does not directly call passes through this system's pressure control flow when another processor is carried out its work.There is a kind of method to comprise again and keeps processor relatively little and simple.In other words, limiting processor receives request and calls purpose and the scope of suitable service logic to collect desirable result.Another kind of variant comprises task of each processor concern of maintenance, after finishing this task, allows the result to be translated or to transfer to next processor.
Another variant comprises provides extensible mechanism, is used for handling can handling instant demand and increasing in a period of time and the request that do not complicate.When system loads, the user can specify main and less important action map.In this method, add or during the method for modify feature, can specify general business logic and control flow by main action map when still providing to the user.Another kind method provides general mechanism from the long playing request of quick response to the developer is overtime to avoid taking place.Can make the developer at processor layer like this, or the total system specific context is handled.
Above-mentioned extensible controller system is particularly conducive to and proposes Web or based on the shortcoming of the application of HTTP.Certainly, it will be understood by those skilled in the art that same structure also can expand to other type that support is used based on non-HTTP.
Forward Fig. 6 now to, describe protocol interface device 14 ' a kind of alternate embodiment.In the embodiment shown, in the configuration file of profile memory or internal memory 31 ' middle storage, define to the data memory storage, as all requests of mailing system 24,26,28.In this mode, for given client-class, the Application developer can only ask those to be supported in the required characteristic of developing above of client at an easy rate.
Advantageously, can be used as front-end proxy agent module 30 ' part or allow the main collection and time collection of user's specified configuration file as the explorer of protocol interface device 14 ' stand-alone assembly.If specified inferior configuration file, will ignore the resource of appointment in the master configuration file so in its any resource defined above.Can make the core set of user's allocated resource like this, make them be fit to specific implementation then with all strength.
In addition, can store configuration files be used for the processing operation of heterogeneous networks layer.For example, as front-end proxy agent module 30 ' and the configuration file stores of the data Layer of protocol engine module 32 ' interface operation storer 31 ' in, also can be used for, for example the upper layer network layer operation carried out of process controller module 50.It will be understood by those skilled in the art that the configuration file that also can use other type.
Since preferably also specifying and be created, handled configuration file realization classification to given request responding.Easy like this goal behavior in the data model is done little change, or even replace fully.Can also specify the high-speed buffer behavior and the dynamics of each request in the configuration file.By making up this two character, the developer can more effectively control whole memory consumption and reply/ask performance.
In addition, configuration file also permits a user to given resource and specifies a plurality of requests.Can support difference to ask/reply the data system of form like this.Following procedure inventory #4 is the demonstration of configuration file.This configuration file is fit to the data storage of above-mentioned support WebDAV interface, or protocol interface device 14 ' situation under, support the protocol engine of WebDAV interface.But it also can be used for the interface/data of other type.
Should also be noted that the user can also specify the order of the given resource of further identification except being the content type of resource appointment.It will be understood by those skilled in the art that and to make the user that given resource type is carried out multiple different operation like this.
With reference now to Figure 14 further describe the protocol interface device 14 that utilizes configuration file ' operation.From square frame 140, at square frame 141, proxy module receives request of access or order.By the one or more configuration files of reference, at square frame 142, processor 52a-52n converts request of access to the general-purpose interface agreement.Respond this request and receive (square frame 143) from data system and be formatted as at square frame 144 and reply and be translated by the data of protocol engine module 32 ' convert to general-purpose interface agreement.This refers again to one or more configuration files and carries out.After this, through the replying and be returned client (square frame 145) of translation, at square frame 146, shown in method finish.
With reference now to Fig. 7,, protocol engine module 32 is described in more detail.The various interface connector modules 70-77 that protocol engine module 32 provides framework to make up to utilize different agreement to communicate by letter with various mailing systems.Protocol engine module 32 also provides general-purpose interface, and for example XML and WebDAV make client come by the various email account of front-end proxy agent module 30 visits with it.Resemble and only obtain new mail title main points and do not download that mail and only definite annex exist and the efficient of the normal operations of size is very high.All operations is all directly carried out on the source, only obtains significant data.
Protocol engine module 32 utilizes suitable among an a plurality of interface connector module 70-77 access mail system.Preferably all connector modules 70-77 support universal applications program interface (API), only need add new interface connector module simply to adapt to protocol interface engine 32 when supporting a new agreement amount.Can write connector modules 70-77 with for example Java, also can be with other suitable language or agreement.For example, can improve total system performance and availability by the protocol engine machine of multiple dynamic load balance is provided.
Be converted into the general-purpose interface agreement equally so that convert the agreement that client is supported to by protocol engine module 32 from the result that mailing system 24,26,28 receives, if desired, send to client.The result who turns back to client preferably includes only the data by client-requested.The data corresponding with the feature support of mailing system agreement rather than the client protocol support can be converted into the general-purpose interface agreement, also can as mentioned above it be ignored or according to the default or machine-processed processing of error handling processing.
With reference now to Figure 15, the method for converting protocol that utilizes protocol engine module 32 and interface connector module 71-77 is described.From square frame 150,, receive request of access or order at square frame 151.At square frame 152, request of access is converted into the agreement that the target data system supports.At square frame 153, respond this request and receive data from data system, after this,, convert thereof into the general-purpose interface agreement at square frame 154.If desired,, further data-switching is become client protocol, and sends the data to client at square frame 156 at square frame 155, at square frame 157, shown in method finish.
In addition, according to the specific characteristic that client is supported, only change the corresponding data division of key element of the general-purpose interface agreement of supporting with client protocol.As mentioned above, can ignore unsupported interface protocol key element or according to the default or machine-processed processing of fault processing.
Forward Fig. 8 now to, describe an alternative embodiment of above-mentioned protocol conversion module structure.At this, protocol engine module 32 adopts the form of unified agent (UP) servlet (servlet) module 80, and each interface connector module 81,82,83 is related with different operating protocols with corresponding provider module 84,85,86.In the example shown, different agreements are OWA, IMAP and POP.It will be understood by those skilled in the art that the pairing of corresponding provider/connection can support other or different agreements.
For the general-purpose interface agreement, for example above-mentioned privately owned interface protocol, UP servlet (servlet) module 80 obtains the general format request of input and utilizes the interface of definition to convert them to docking port connector modules 81-83 call.UP servlet (servlet) module 80 also obtains these and calls the result and they are formatted into the general format request.Each general format request comprises the path of a method request and a URL form.The request of can also being included as provides the XML document of additional parameter.
In concept, be the provider module 84-86 that is used for each mail protocol of supporting under UP servlet (servlet) module 80.Provider is responsible for handling calling that UP servlet (servlet) module 80 carries out.As shown in the figure, each provide the commercial city have one be responsible for the targeted mails system on being connected of communicating of source mailbox/account.During initialization, connection also provides the merchant.
The loose folder hierarchy of interface definition that use by UP servlet (servlet) 80 and that realize by provider module 84-86.In fact, it can be conceptualized as a set in the project set.Project can be for example a piece of news, a file or a contact person, or any data item that other will show.Each project all has the type (for example, mail, contact person, appointment) of a definition.Attribute and action that this intermediate item of the interface definition of every intermediate item can be used.Portfolio item comprises project set, and the method for enumerating project in the file is provided.
Attachment unit interface module 81-83 is that UP servlet (servlet) module 80 provides the general mode of communicating by letter with different provider module/interface connector module.Under the situation of POP, some connector modules can only be realized protocol subset and/or only support a file (set) of project.
Be the basic procedure of general format request example process below.UP servlet (servlet) module 80 receives request, and it obtains or create suitable provider/connection.Then, UP servlet (servlet) module 80 is called suitable " get folder (obtaining file) " or the similar functions related with interface connector module, transmits the targeted mails system identifier, as the URL that comprises in the general format request.The interface link block is to realizing the file interface and showing that certain object of institute's demand file folder returns an index.The simplest realization (for example, POP) in, a single object can be an interface connector module, also can represent the mailbox file.
UP servlet (servlet) module 80 is utilized the file index that returns to carry out other and is called to satisfy the general format request.For example, if UP servlet (servlet) module 80 needs to obtain technical routine, it can at first call " get folder " function so, transmit the URL that is asked, after it obtains file, call " get item (obtaining item) " function again, transmit URL once more.The result who calls is formatted into suitable form, as XML, returns with the HTTP form of replying then.
Whether translate the URL that imports into and return suitable index by provider module/interface link block decision.Because provider module/interface link block at first provides URL, implement uncomplicated.Unique URL that any interface link block all needs to know be " ".Generate all other URL by provider/connection.As long as the URL in level/set is unique, provider just can decompose correct when calling " get " function.
Preferably, provider module 84-86 and interface link block 81-83 prop root file.If prop root file only, if inbox, calendar and contacts (depending on the circumstances) can be visited by protocol engine so, they should be the items in the file so.
According to an aspect of the present invention, provide a kind of single, favourable mechanism to visit variety of protocol.This mechanism is the repertoire that the similar client protocol of ability is supported each data system agreement, and demotes when client protocol is not supported specific data system protocol feature.The request that receives by general format was translated into provider/agreement specified format before being transferred to destination server.The form specific with provider/agreement is converted back to general format from replying of destination server.
Also provide a kind of client of giving to how to produce the mechanism of asking to have more controls to provider, it makes client is the function of specifying the provider module inquiry to be supported.No matter be directly or by the agency, any client of supporting the puppy parc form of being write into can both provide visit to any email storage device at an easy rate, and need not be concerned about its details own and email storage provider module/agreement.
With reference now to Fig. 9, protocol interface device 14 is described " another embodiment.At this, and will be by in the protocol interface device 14 " the user e-mail account information of e-mail account association of visit is stored in data-carrier store 90 ".Each account information preferably includes the explanation of the access protocal that each e-mail account supports.
Data-carrier store 90 " in record can be by account identifier, e-mail address for example, or with protocol interface device 14 " related user name is arranged and made that all e-mail account informations of specific user are at data-carrier store 90 " in groups.When all the e-mail accounts on each mailing system 24 ", 26 " supported identical access protocal, each account information can comprise the mailing system information of the operating protocol that each mailing system of expression is supported.
The tabulation of all operations agreement that data-carrier store 91 " storage protocol engine modules 32 " is supported and the corresponding scale (that is grade) of presentation protocol preference.According to the powers and functions standard, for example the feature level of each mailing system 24 of supporting of agreement ", 26 " and the level of security of agreement calculate these yardsticks.It will be understood by those skilled in the art that also and can adopt other standard.At data-carrier store 91 " in, the yardstick of OWA or grade are usually than MAPI height, and the grade of IMAP is usually above POP.Can be at for example local hard drive or protocol interface device 14 " other storer, or with file server that protocol interface device is communicated by letter on realize each data-carrier store 90 ", 91 ".
Each account information in the protocol engine module 32 " determine which (or which) mailbox or account order or instruction relate to, accesses data memory 90 then " determines whether each account that will visit supports more than one access protocal.If only support a kind of access protocal, select this agreement so.If the account supports more than one agreement, protocol engine module 32 " accesses data memory 91 " is determined agreement preferred or that wish which support, selecting scale or the highest grade the agreement of being supported then so.For mailing system 24 ", OWA and MAPI preferentially select OWA, and for mailing system 26 ", IMAP and POP preferentially select IMAP.
So protocol interface device 14 " can utilize the protocol access mailing system 24 having great ability of supporting ", 26 ".", provide and any proxy module 34 ", 36 ", 38 ", 40 " the compatible one or more mailing systems 24 of client-access ", 26 by protocol interface device 14 ".Client itself does not need to support access protocal related with the mailing system that will visit or pattern.
With reference now to Fig. 9, describe and to utilize protocol interface device 14 " the system of selection of data system access protocal.From square frame 160, at square frame 161 from the client received access command.Whether each data system that definite (square frame 162) will visit for response command supports more than one access protocal.If support, the agreement of being supported in square frame 164 selections having great ability so.Otherwise,, select a kind of agreement of supporting at square frame 163.At square frame 165, each data system of protocol access of utilize selecting, at square frame 166, shown in method finish.If visit more than one data system, preferably repeat the agreement shown in the square frame 162-164 for each data system and select step.
" just operable a kind of agreement is selected giving an example of grade show-how according to the present invention to be noted that agreement and yardstick data-carrier store 91.Below the agreement first-selection according to, the tab sequential of institute's supported protocol for example.
When selecting a kind of agreement,, it is also conceivable that other standard except yardstick or all selecting.Also can influence the agreement selection from the client received access command of which kind of type.For example, if from POP client received access command, many enhancing features of OWA support show not come out in POP so, can't send to device.If the user has only a kind of client to be used for access protocal interface arrangement 14 ", each account information can be used for reflecting the tabulation of client type or the agreement that restriction is supported according to client type so.Otherwise next step of agreement selection can be determined client type from the request of access that receives.
As an alternative, can always select any incompatible between access protocal that treatment of selected is selected during data-switching is become client protocol and the client institute supported protocol by the agreement having great ability of wanting the visit data system to support.The corresponding data division of interface protocol key element of conversion and client protocol support, and ignore unsupported interface protocol key element or according to default or fault processing is machine-processed handles.
Generally speaking, client visits server by the agency usually.In addition, the propagation delay time often relevant (for example, just the quantity of email message in accessed mailbox) with accessed cardinality of a set.Can confirm that from the following description the invention provides a kind of device and the technology that can be used by the agency, it gives a kind of set sizes of visiting of client than actual little sensation.For example, when the mail of envelope more than 2000 itself was arranged in the mailbox, the agency only showed 100 nearest in mailbox message.The present invention can make this agency select to be shown to the user set replace whole set than smaller subset, and can not influence user's sensation significantly.
More particularly, forward Figure 10 now to, describe protocol interface device 14 " ' another advantageous embodiments.Generally speaking, after receiving data access request from client, protocol interface device 14 " ' visit one or more data systems 24 " ', 26 " '.But, in some cases, visit data system and provide to reply to client and may cause that certain client protocol is overtime, after request had sent a period of time, client user's stand-by period was longer than expection.Yet according to this aspect of the invention, certain data can be stored in the protocol interface device 14 that can be used for shortening the response time " ' in.
More particularly, protocol engine module 32 " ' polling data system 24 " ', 26 " ' currently whether store the data item related to determine them with the user that visit is set.Related with it by setting up, user account for example, " ' middle configure user at protocol interface device 14.Preferably carry out poll according to the polling interval.It will be understood by those skilled in the art that polling interface can be the predetermined static polling interval, or the adaptive polling that can adjust according to the special event of operating conditions or generation at interval.
" ' poll, given data system 24 " ', 26 " ' " ' return data item in order to respond to protocol interface device 14 from protocol engine module 32, or be the data item identifiers that can be used to retrieve item at least.Then protocol engine module 32 " ' these data item or identifier are stored in data-carrier store or internal memory 92 " ' in.
Especially, protocol engine module 32 " ' can determine whether " at any data system 24 ', 26 " ' in for user storage new data item.For example, if data system 24 " ', 26 " ' be the e-mail system, what protocol engine module 32 " ' by protocol interface device 14 " ' inquiry was related with each user so visits the mailbox that disposes for e-mail.For the inquiry of each mailbox, mailbox system return with mailbox in unique identifier (UID) tabulation of the e-mail message relating stored.
Then, " the UID tabulation the before ' middle mailbox is stored in the mailbox of mailing system to determine whether new information for more current UID tabulation and UID storer 92.If detected new information, preferably send a notice by protocol engine module 32 " ' collaborative front-end proxy agent module 30 " ' (or protocol interface device 14 " ' another assembly) to user client, " ' middle storage comprises the current UID tabulation of new information then at UID storer 92.
The most general a kind of data access operation is to check the current stored data items tabulation of data system, and particularly working as data item is the message of storing in the mailing system.As mentioned above, protocol engine module 32 " the one or more data systems 24 of ' poll " ', the UID tabulation of 26 " ' with according to UID storer 92 " ' middle storage detects new data item.Therefore, protocol interface device 14 " ' when having a last polling data system, data system 24 " ', 26 " ' go up this machine of UID tabulation of stored data items.
According to this aspect of the invention, when receiving " check " or similarly during request of access, the UID tabulation of protocol engine module 32 " ' retrieval is from UID storer 92 " ' stored.This accurate UID tabulation of storing in current polling interval returns to the client of request then.It will be understood by those skilled in the art that after receiving this request, can provide than visit data system 24 " ', 26 " ' faster response time.
For example, under the situation of POP client, if in 30 seconds, do not receive to request responding, client timeout so.If on mobile radio communication apparatus operation POP client, the propagation delay time on the cordless communication network can produce with respect to the limited response time and more obviously delay time so.In this class situation, provide the related advantageous particularly of being stored of response time faster of UID tabulation with the response data request of access.Even without this time restriction,, can strengthen the client user to the sensation of fast response time more by shortening from sending data access request to the stand-by period that receives the response.
The UID tabulation of being stored as mentioned above, is very accurate in the polling interval.Provide the UID that is stored when tabulation when the response data request of access to client, protocol engine module 32 " ' preferably polling data system 24 " ', 26 " ' whether still accurate with the UID tabulation of determining to be stored.If since last time poll have new project be stored in data system 24 " ', 26 " ' in, send new UID tabulation to client so.Then according to the polling interval or by the data access request initialization carry out to data system 24 " ', 26 " ' further poll.
Be appreciated that the front relates to the description of " checking item " or similar data access request.Protocol interface device 14 " ' other assembly or the module data access request that can handle other type.For example, as mentioned above, if desired, front-end proxy agent module 30 " ' can change this data access request.
So, allow protocol interface device 14 " ' visit data system 24 " ', 26 " ', and provide response time of shortening for various types of data access request.By protocol interface device 14 " ', provide with by front-end proxy agent module 30 " client of ' any protocol-compliant of handling visits one or more data systems 24 " ', 26 " '.As mentioned above, client itself needn't be supported and the data system 24 that will visit " ', 26 " ' related access protocal or pattern.
With reference now to Figure 17, describe and to utilize protocol interface device 14 " ' method of data system request of access response time shortened.From square frame 170, receive data access request at square frame 171.Determine at square frame 172 whether the data relevant with data access request (that is UID tabulation) are stored on this machine then.If this data storage is at local memory 92 " ' in, so at square frame 173, the data of being stored offer the client of the request of sending out.After the data of being stored are sent to client, if perhaps do not store such data, so at square frame 174, the data system 24 that the polling data request of access relates to " ', 26 " '.
After this, at square frame 175, carry out the polling data that is used for determining the response poll and receives and whether be different from the optional step of storing data.If like this, mean data system 24 " ', 26 " ' on exist the data of new storage, and provide this poll of response and the data that receive to client at square frame 176.At square frame 177, repayment of principal machine is stored in data storage 92 " ', then, method shown in the end (square frame 178).
As an example, the data access system of this aspect and method can be applied on the data storage device of other type except that mailing system according to the present invention, and other agreement and access module outside showing in above-mentioned those specific and accompanying drawings.
Further feature of the present invention can find in the common co-pending application below: communication system and the method thereof that shortens access delay that provide of ID-494 is provided the procurator; The procurator is numbered the communication system and the method thereof of the protocol interface that is used for multiple operating protocol comprising of ID-493; The procurator is numbered communication system that the extensible protocol converting characteristic is provided and the method thereof of ID-507; The procurator is numbered communication system with data storage device interface protocol connectors and the method thereof of ID-506; The procurator is numbered communication system and the method thereof that extensible protocol conversion and configuration feature are provided of ID-502; And the procurator is numbered can provide comprising of ID-495 and strengthens communication system and the method thereof that operating protocol is selected the protocol interface device of feature, quotes whole announcement conducts at this.
Example
Further describe the example of the hand-held mobile radio communication facilities 1000 that can use in the present invention below with reference to the example of Figure 18.Equipment 1000 comprises shell 1200, keyboard 1400 and output unit 1600.Output unit is a display screen 1600, and it is the LCD of full graphics preferably.Also can use the output unit of other type to substitute.Treating apparatus 1800 is included in the shell 1200 and is connected between keyboard 1400 and the display screen 1600.The operation for the treatment of apparatus 1800 control display screen 1600, and according to the whole operation of the button activity controlling mobile equipment 1000 of user on keyboard 1400.
Shell 1200 can vertical elongated or employing size and dimension (shell mechanism that comprises folded form).Keyboard can comprise mode selecting key, or is used for switching other hardware or the software of text input and phone input.
Except treating apparatus 1800, also show the other parts of mobile device 1000 among Figure 18.These parts comprise communication subsystem 1001; Short-range communications subsystem 1020; Together with other input/ output device 1060,1080,1100 and 1120 keyboard 1400 and display screen 1600 together; And the subsystem 1201 of memory device 1160,1180 and various other devices.Mobile device 1000 preferably has the duplexing RF communication facilities of voice-and-data function.In addition, mobile device 1000 preferably possesses the ability that can communicate by letter with other computer system by the Internet.
The operating system software that treating apparatus 1800 is carried out preferably is stored in the permanent memory such as flash memory 1160, but also can be stored in the memory storage of other type for example ROM (read-only memory) (ROM) or similarly memory storage.In addition, system software, specific appliance applications or its parts can be loaded in the volatile memory such as random-access memory (ram) 1180 temporarily.The signal of communication that mobile device receives also can be stored among the RAM 1180.
The software application 1300A-1300N for the treatment of apparatus 1800 on can also actuating equipment 1000 except operation system function.One cover can inside be installed when manufacturing equipment can control basic device operations, as the predetermined application of data and voice communication 1300A and 1300B.In addition, personal information manager (PIM) application program can also be installed during device fabrication.PIM preferably can the organization and management data item, as Email, calendar event, voice mail, appointment, and task item.The PIM application program preferably can also be by wireless network 1401 item that transmits and receive data.The pim data item preferably can be stored in host computer system with the equipment user or related corresponding data item carries out seamless integration, synchronously and upgrade by wireless network 1401.
By communication subsystem 1001, also may carry out the communication function that comprises data and voice communication by short-range communications subsystem.Communication subsystem 1001 comprises receiver 1500, transmitter 1520 and one or more antenna 1540 and 1560.In addition, communication subsystem 1001 also comprises the processing module such as digital signal processor (DSP) 1580, and local oscillator (L0) 1601.Can will be in the communication network of wherein working according to mobile device 1000 comes specific design and realizes communication subsystem 1001.For example, mobile device 1000 can be included as at Mobitex TM, Data TAC TMOr operation and the communication subsystem 1001 of design on general packet radio service (GPRS) mobile data communication network, can also be on any voice communications network, operating, as AMPS, TDMA, CDMA, PCS, GSM etc. and design of communications subsystem 1001.Mobile device 1000 can also be used in separately and the data and voice network of integrated other type on.
Network access requirements changes with the type of communication system.For example, on Mobitex and DataTAC network, the mobile device utilization is with the unique person identfication number or the PIN of device association register on network separately.But, on GPRS network, access to netwoks and user or user's device association.Therefore at the enterprising line operate of GPRS network, GPRS equipment needs a subscriber identity module, so-called SIM card.
After required network registry or activation were finished, mobile device 1000 can send and receiving communication signals by communication network 1401.The signal that is received from communication network 1401 by antenna 1540 is routed to receiver 1500, and it provides signal amplification, frequency downconversion, filtering, channel selection etc., and the conversion of analog to digital also is provided.The analog to digital conversion of received signal makes DSP 1580 carry out more complicated communication function, for example demodulation sign indicating number.Equally, DSP 1580 (for example handles, modulation and coding) send to the signal of network 1401, signal sends to transmitter 1520 and does the conversion of digital to analogy, frequency upconversion, filtering, amplification and send on the communication network 1401 (or network) by antenna 1560 then then.
DSP 1580 is except process communication signals, also to the control of receiver 1500 and transmitter 1520.For example, the gain that can apply signal of communication in receiver control 1500 and the transmitter 1520 adaptively by the automatic gaining controling algorithm realized on the DSP 1580.
Under data communication mode, the received signal that communication subsystem 1001 is handled such as text message or page download, received signal is input to treating apparatus 1800.Do further processing to received signal by treating apparatus 1800 then, so that output to display screen 1600, or the auxiliary I/O equipment 1060 of other type.The equipment user also can utilize keyboard 1400 and/or other auxiliary I/O equipment 1060, writes data item as the input equipment of touch pad, rocker switch, thumb type spinning roller or some other types, as email message.The data item that writes is sent out away by communication network 1401 through communication subsystem 1001.
Under voice communication mode, basic identical under whole operations of equipment and the data communication mode, the signal that just receives is exported to loudspeaker 1100, generates the signal that will send by microphone 1120.Can also realize interchangeable voice or audio frequency I/O subsystem on the equipment 1000, as the speech message Voice Recording Subsystem.In addition, display screen 1600 also can use under voice communication mode, for example the relevant information of the identity of display of calling side, the duration of call or other voice conversation.
Short-range communications subsystem can set up mobile device 1000 with other near communicating by letter between system or equipment, they need not to be similar equipment.For example, short-range communications subsystem can comprise infrared facility and relevant circuit and element, or bluetooth TM communication module, with provide with function similar system and equipment between communicate by letter.
Description and relevant drawings that those skilled in the art have benefited from the front can draw many changes of the present invention and other embodiment.Therefore, be appreciated that the present invention is not limited to the specific embodiment that is disclosed, those change just and are included in the scope of claims of the present invention with other embodiment.
The computer program tabulation
Program listing #1-example checking request t
PROPFIND/ups?HTTP/i.i
Depth:0
Brief:t
Pragma:no-cache
Content-Type:text/xml
X_UP_LOGIN:
svr=login.oscar.aol.com&prt=5190&ssl=0&pcol=aol&uid=******&pwd=******&pwp=
X_UP_SYNC:false
X_UP_REFRESH_CACHE:force
X_UP_NEWCON:I
User-Agent:Mozilla/4.0(compatible;MSIE?5.5;Windows?NT?5.0)
Connection:Keep-Alive
Host:localhost:9080
Content-Length:664
<?xml?version=”1.0”?>
<D:propfind?xmlns:D=”DAV:”xmlns:h=”http://schemas.
microsoft.com/hotmail/”xmlns:hm=”urn:schemas:httpmail:”
xmlns:up=”urn:schemas:corp:universalproxy”>
<D:prop>
<hm:contacts/>
<hm:calendar/>
<hm:journal/>
<hm:notes/>
<hm:outbox/>
<hm:sendmsg/>
<hm:sentitems/>
<hm:deleteditems/>
<hm:drafts/>
<hm:msgfolderroot/>
<up:corporatecontacts/>
<h:maxpoll/>
</D:prop>
</D:propofipnd>
HTTP/1.1207Multi-Status
Set-Cookie:JSESSIONID=C70CD1AED7D2BE210B34D93F7ACD6935;
Path=/ups
Content-Type:text/xml
Transfer-Encoding:chunked
Date:Wed,06Aug?2003?18:20:28?GMT
Server:Apache?Coyote/1.0
<?xml?version=”1.0”encoding=”UTF-8”?>
<D:multistatus xmlns:D=”DAV:”
xmlns:up=”urn:schemas:corp:universalproxy”xmlns:c=”um:schemas:calendar:”
xmlns:a=”urn:schemas:contacts:”
xmlns:hm=”um:schemas:httpmail:”xmlns:m?=”urn:schemas:mailheader:”
<D:response>
<D:href>http://localhost:9080/ups/<D:href>
<Dpropstat>
<D:status>HTTP/1.1200OK</D:status>
<D:prop>
<hm:inbox>http://localhost:9080/ups/INBOX/<hm:inbox>
<hm:sendmsg>http://localhost:9080/ups/AOL-MAIL-SUMBMISSION-URL</hm:sendmsg
>
<hm:sentitems>http://localhost:9080/ups/Sent?Items/</hm:sentitems>
<hm:msgfolderroot>http://localhost:9080/ups/</hm:msgfolderroot>
<D:prop>
<B:propstat>
</D:response>
</D:multistatus>
The request of program listing #2-example inbox
Query?Folder?Capabilities:
REQUEST:
OPTIONS/ups/INBOX/HTTP/1.1
User-Agent:Mozilla/4.0(compatible;MSIE?5.5;Windows?NT?5.0)
Connection:Keep-Alive
Host:Iocalhost:9080
Cookie:JSESSIONID=C7OCD1AED7D2BE210B34D93F7ACD6935
Content-Length:0
RESPONSE:
HTTP/1.1200OK
allow:OPTIONS,PRDPFIND,MOVE,DELETE,BDELETE,BMOVE,SEARCH
dasl:<urn:schemas:corp:universalproxy:basicsearch>
Content-Type:text/plain
Content-Length:0
Date:Wed,06Aug?200318:20:28GMT
Server:Apache?Coyote/1.0
List?messages?in?INBOX:
REQUEST:
PROPFIND/ups/INBOX/HTTP/1.1
Range:rows=0-24
Depth:1,noroot
Brief:t
Pragma:no-cache
Content-Type:text/xml
X_UP_REFRESH_CACHE:force
User-Agent:Mozilla/4.0(compatible;MSIE?5.5;Windows?NT?5.0)
Connection:Keep-Alive
Host:Iocalhost:9080
Cookie:JSESSIONIE=C70CD1AED7D2BE210B34D93F7ACD6935
Content-Length:586
<?xml?version=”I.O”?>
<D:propfind?xmlns:D=”DAV:xmlns:hm=”urn:schemas:httpmail:”
xmlns:m=”urn:schemas:mailheader:”xmlns:
up=’urn:schemas:corp:universalproxy”>
<D:prop>
<D:uid/>
<D:isfolder/>
<D:ishidden/>
<hm:read/>
<hm:has?attachment/>
<hm:importance/>
<m:from/>
<in:subject/>
<m:date/>
<up:isdeleted/>
<D:getcontentlength/>
<D:contentclass/>
</D:prop>
</D:propfind>
RESPONSE:
HTTP/1.1207Multi-Status
Content-Range:rows?0-8;total=9
Content-Type:texf]xml
Transfer-Encoding:chunked
Date:Wed,06Aug?2003?18:20:28GMT
Server:Apache?Coyote/1.0
<?xml?version=”1.0encoding=”UTF-8”?>
<D:multistatus xenlns:D=DAV:”
xmlns:up=”urn:schemas:corp:universalproxy”
xmlns:c=”um:schemas:calendar:”xmlns:a=”urn:schemas:contacts:”
xmlns:hm=’urn:schemas:httpmail:”xmlns:m=”urn:schemas:mailheader:”>
<D:contentrange>0-8</D:contentrange>
<D:response>
<D:href>http://localhost:9080/ups/INBOX/6623963;1</D:href>
<D:propstat>
<D:status>HTTP/1.1200OK<ID:status>
<D:prop>
<D:uid>3ac59b38c08ad3356435efea144660e3</D:uid>
<D:isfolder>0</D:isfolder>
<D:ishidden>0</D:ishidden>
<hm:read>0</hm:read>
<hm:hasattachment>0<Ihm:hasattachment>
<hm:importance>1</hm:importance>
<m:from>Mail?Delivery?Subsystem
&lt;MAILER-DAEMON@aol.com></m:from>
<m:subject>Returned?mail:User?unknown</m:subject>
<m:date>2003-08-05T23:1?2:48Z</m:date>
<up:isdeleted>0</up:isdeleted>
<D:getcontentlength>3247</D:getcontentlength>
<D:contentclass>urn:content-classes:message</D:contentclass>
</D:prop>
</D:propstat>
</D:response>
<D:response>
<D:href>http://localhost:9080/ups/INBOX/6623954;1</D:href>
<D:propstat>
<D:status>HTTP/1.1200OK</D:status>
<0:prop>
<D:uid>51073b22a28c2820115bc80d42e8c6ec</D:uid>
<D:isfolder>0</D:isfolder>
<D:ishidden>0</D:ishidden>
<hm:read>1</hm:read>
<hm:hasattachment>0</hm:hasattachment>
<hm:importance>1</hm:importance>
<m:from>johnsmith@demo.com</m:from>
<m:subject>Re:Test#1-All-French?template</m:subject>
<m:date>2003-08-05T23:10:30Z</m:date>
<up:isdeleted>0</up:isdeleted>
<D:getcontentlength>1577</D:getcontentlength>
<D:contentclass>urn:content-classes:message</D:contentclass>
</D:prop>
</D:propstat>
</D:response>
<D:response>
<D:href>http://lccalhost:9080/ups/INBOX/6623926;1<ID:href>
<D:propstat>
<D:status>HTTP/1.1200OK</D:status>
<D:prop>
<D:uid>b072c3748ceff1320f9fa746f797e64b</D:uid>
<D:isfolder>0</D:isfolder>
<D:ishidden:’O</D:ishidden>
<hm:read>1<fhm:read>
<hm:hasattachment>0</hm:hasattachment>
<hm:importance>1</hm:importance>
<m:from>johnsmith@demo.com</m:from>
<m:subject>Re:xxxFWD:Re:Test#1<m:subject>
<m:date>2033-08-05T23:07:1?8Z</m:date>
<up:isdeletei>0</up:isdeleted>
<D:getcontentlength>1927</D:getcontentlength>
<D:contentclass>urn:content-classes:message</D:contentclass>
</D:prop>
</D:propstat>
</D:response>
<D:response>
<D:href>http://localhost:9080/ups/INBOX/6623922;1<D:href>
<D:propstat>
<D:status>HTTP/1.1200OK</D:status>
<D:prop>
<D:uid>11f1c8e69555d33971aea12c09be5021</D:uid>
<D:isfolder>0</D:isfolder>
<D:ishidden>0</D:ishidden>
<hm:read>1</hm:read>
<hm:hasattachment>0</hm:hasattachment>
<hm:importance>1</hm:importance>
<m:from>johnsmith@demo.com</m:from>
<m:subject>Re:xxxFWD:Re:Test#1<m:subject>
<m:date>2003-08-05T23:06:45Z</m:date>
<up:isdeleted>0</up:isdeleted>
<D:getcontentlength>1930</D:getcontentlength>
<D:contentclass>urn:content-classes:message</D:contentclass>
</D:prop>
</D:propstat>
</D:response>
<D:response>
<D:href>http://localhost?9080/ups/INBOX/6623915;1</D:href>
<D:propstat>
<D:status>HTTP/1.1200OK</D:status>
<D:prop>
<D:uid>55bc30adfb4fb66f3d11b0416c82b701</D:uid>
<D:isfolder>0</D:isfolder>
<D:ishidden>0</D:ishidden>
<hm:read>1</hm?read>
<hm:hasattachment>1</hm:hasattachment>
<hm:importance>1</hm:importance>
<m:from>johnsmith@demo.com</m:from>
<m:subject>xxxFWD:Re:Test#1<Jm:subject>
<m:date>2003-08-05T23:05:27Z</m:date>
<up:isdeleted>0</up:isdeleted>
<D:getcontentlength>3254</D:getcontentlength>
<D:contentclass>urn:content-classes:message</D:contentcIass>
</D:prop>
</D:propstat>
</D:response>
<D:response>
<D:href>http://loca!host:9080/ups/INBOX/6623910;1<ID:href>
<D:propstat>
<D:status>HTTP/1.1200OK</D:status>
<D:prop>
<D:uid>07cdf24a06f8e849754f90fe6dc8bf4f</D:uid>
<D:isfolder>0</D:isfolder>
<Dishidden>0</D:ishidden>
<hm:read>1</hm:read>
<hm:hasattachment>0</hm:hasattachment>
<hm:importance>1</hm:iinportance>
<m:from>johnsmith@demo.com</m:from>
<m:subject>Re:Test#1-All</m:subject>
<m:date>2003-08-05T23:04:31Z</m:date>
<up:isdeleted>0</up:isdeleted>
<D:getcontentlength>1258</D:getcontentlength>
<D:contentclass>urn:content-classes:message</D:contentclass>
</D:prop>
</D:propstat>
</D:response>
<D:response>
<D:href>http://localhast:9080/ups/INBOX/6623909;1</D:href>
<D:propstat>
<D:status>HTTP/1.1200OK</D:status>
<D:prop>
<D:uid>0e79a3593253ffb9596bf9d86873f498</Duid>
<D:isfolder>0</D:isfolder>
<D:ishidden>0</D:ishidden>
<hm:read>i</hm:read>
<hm:hasattachment>0</hm:hasattachment>
<hm:importance>1</hm:importance>
<m:from>johnsmith@demo.com</m:from>
<m:subject>Re:Test#1</m:subject>
<m:date>2003-08-05T23:04:13Z</m:date>
<up:isdeleted>0</up:isdeleted>
<D:getcontentlength>1241</D:getcontentlength>
<D:contentclass>urn:content-classes:message</D:contentclass>
</D:prop>
</D:propstat>
</D:response>
<D:response>
<D:href>http://localhost:9080/ups/INBOX/6605332,1</D:href>
<D:propstat>
<D:status>HTTP/1.1200OK</D:status>
<D:prop>
<D:uid>6060b944e60256c814498af29e5f0e47</D:uid>
<D:isfolder>0</D:isfolder>
<D:ishidden>0</D:ishidden>
<hm:read>0</hm:read>
<hm:hasattachment>0</hm:hasattachment>
<hm:importance>1</hm:importance>
<m:from>aolmbrsecurity@aol.com</m:from>
<m:subject>Security?Notice?to?AOL?Members</m:subject>
<m:date>2003-08-01T23:00:58Z</m:date>
<up:isdeleted>0</up:isdeleted>
<D:getcontentlength>5137</D:getcontentlength>
<D:contentclass>urn:content-classes:message</D:contentclass>
</D:prop>
<D:propstat>
</D:response>
<D:response>
<D:href>http://localhost:9080/ups/INBOX/6567082;1</D:href>
<D:propstat>
<D:status>HTTP/1.1200OK</D:status>
<D:prop>
<D:uid>f47b72c8c1aa91458f40f81fce3b5e05</D:uid>
<D:isfolder>0</D:isfolder>
<D:ishidden>0</D:ishidden>
<hm:read>0</hm:read>
<hm:hasattachment>0</hm:hasattachment>
<hm:importance>1</hm:importance>
<m:from>aolmemberinfo@aol.com</m:from>
<m:subject>Coming?Soon-AOL?9.0?Optimized</m:subject>
<m:date>2003-07-25T21:15:22Z</m:date>
<up:isdeleteci>0</up:isdeleted>
<D:getcontentlength>10012</D:getcontentlength>
<D:contentclass>urn:content-classes:message</D:contentclass>
<D:prop>
</D:propstat>
</D:response>
<D:multistatus>
Program listing #3-example file folder searching request
Capabilities?of?folder:
REQUEST:
OPTIONS/ups?HTTP/1.1
User-Agent:Mozilla’4.0(compatible;MSIE?5.5;Windows?NT?5.0)
Connection:Keep-Alive
Host:localhost:9080
Cookie:JSESSIONID=C70CD1AED7D2BE210B34D93F7ACD6935
Content-Length:0
RESPONSE:
HTTP/1.1200OK
allow:OPTIONS,PROPFIND,MOVE,DELETE,BDELETE,BMOVE,SEARCH
dasl:<urn:schemas:corp:universalproxy:basicsearch>
Content-Type:text/plain
Content-Length:0
Date:Wed,06Aug?200318:20:28GMT
Server:Apache?Coyote/1.0
Search?for?folders:
REQUEST:
SEARCH/ups?HTTP/1.1
Depth:1,noroot
Brief:t
Pragma:no-cache
Content-Type:text/xml
User-Agent:Mozilla/4.0(compatible;MSIE?5.5;Windows?NT?5.0)
Connection:Keep-Alive
Host:localhost:9080
Cookie:JSESSIONID=C70CD1AED7D2BE210B34D93F7ACD6935
Content-Length:922
<?xml?version=”1.0”2>
<D:searchrequest?xmlns:D=”DAV:”xmlns:t=”urn:schemas:corp:universalproxy”>
<t:basicsearch>
<D:select>
<D:prop><D:uid/></D:prop>
<D:prop><D:contentclass/></D:prop>
<D:prop><D:displayname/></D:prop>
</D:select>
<D:from>
<D:scope>
<D:href>url</D:href>
<D:depth>1</D:depth>
</D:scope>
</D:from>
<D:where>
<D:eq>
<D:prop><D:contentclass/></D:prop>
<D:literal>urn:content-classes:mailfolder</D:literal>
</D:eq>
</D:where>
</t:basicsearch>
</D:searchrequest>
RESPONSE:
HTTP/1.1207Multi-Status
Content-Type:text/xml
Transfer-Encoding:chunked
Date:Wed,06Aug?200318:20:28GMT
Server:Apache?Coyote/1.0
<?xml?version=”1.0”encoding=”UTF-8”?>
<D:multistatus xmlns:D=”DAV:”
xmlns:up=”urn:schemas:corp:universalproxy”
xmlns:c=”urn:schemas:calendar:”xmlns:a=”urn:schemas:contacts:”
xmlns:hm=”urn:schemas:httpmail”xrnlns:m=”urn:schemas:mailheader>
<D:response>
<D?:href>http://localhost:9080/ups/INBOX/</D:href>
<D:propstat>
<D:status>HTTP/1.1200OK</D:status>
<D:prop>
<D:uid>c90d66b2362a1a0bc3dfl852021a6f63</D:uid>
<D:contentclass>urn:content-classes:mailfolder</D:contentclass>
<D:displayname>INBOX/</D:displayname>
</D:prop>
</D:propstat>
</D:response>
<D:response>
<D:href>http://localhost:9080/ups/VOICE-MAI?L/</D:href>
<D:propstat>
<D:status>HTTP/1.1200OK</D:status>
<0:prop>
<D:uid>cabbce34709ab79d2ad2d5334d998272</D:uid>
<D:contentclass>urn:content-classes:mailfolder</D:contentclass>
<D:displayname>VOICE-MAIL/</D:dispiayname>
</D:prop>
</D:propstat>
</D:response>
</D:multistatus>
Program listing #4-sample profile
<resource
contentclass=”urn:content-classes:mailfolder”
javaclass=”com.teamon.proxy.data.impl.MailFolderlmpl”
responsecacheduration=”0”
cachestrength=”0”
<request?method=”PROPFIND”>
<header?name=”Brief”value=”t”I>
<header?name=”Content-Type”value=”text/xml”/>
<header?name=”Depth”value=”l,noroot”/>
<header?name=”Range”value=”rows=$rangeStart$-$rangeEnd$”/>
<header?name=”Pragma”value=”no-cache”/>
<header?name=”X-UP-REFRESH-CACHE”value=”force”/>
<body><![CDATA[—_
<?xml?version=”1.0”?>
<D:propfind
xmlns:D=”DAV:”=
xmlns:hm=’urn:schemas:httpmail:”
xmlns:m=”urn:schemas:mailheader:’
xmlns:up=”urn:schemas:teamon:universalproxy”>
<D:prop>
<D:uid/>
<D:isfolder/>
<D:ishidden/>
<hm:read/>
<hm:has?attachment/>
<hm:importance/>
<m:from/>
<m:subect/>
<m:date/>
<up:isdeleted/>
<D:getcontentlength/>
<D:contentclass/>
</D:prop>
</D:propfind>
]]>
</body>
<request>
<resource>

Claims (17)

1. communication system comprises:
A plurality of data storage devices, each data storage device use at least a in the multiple different operating protocol;
A plurality of mobile radio communication apparatus are used to visit described a plurality of data storage device, and each mobile radio communication apparatus uses at least a in the described multiple different operating protocol; With
Protocol interface device is used for coming deal with data according to the multi-layer protocol model, and described protocol interface device comprises:
Protocol engine module, be used to use corresponding operating protocol communicate by letter with described a plurality of data storage devices and
The front-end proxy agent module is coupled to described protocol engine, and comprises
Corresponding proxy module, be used to use each different operating protocol communicate by letter with described a plurality of mobile radio communication apparatus and
At least one public core services module, described public core services module is coupled to described proxy module, and communicate by letter with described proxy module at the ground floor of described multi-layer protocol model, communicate by letter with described protocol engine module with the second layer lower than ground floor in described multi-layer protocol model
Described at least one public core services module comprises a plurality of processors, described a plurality of processors be used for described proxy module and described protocol engine module interface and
Polling engine module with described protocol engine module and described front-end proxy agent module are cooperated is used to accumulate the email message from described data storage device to the corresponding mobile Wireless Telecom Equipment.
2. communication system according to claim 1, wherein said ground floor comprises network layer, and the wherein said second layer comprises data Layer.
3. communication system according to claim 1, wherein said protocol interface device also comprises at least one profile module with described at least one public core services module coupling, be used to be stored in ground floor dispose public kernel service configuration file first set and be stored in second set that the second layer disposes the configuration file of public kernel service.
4. communication system according to claim 1, wherein said at least one public core services module is used for the route traffic between described proxy module and the described protocol engine module, visit is from the data of described a plurality of data storage devices, and translates in the data of described a plurality of mobile radio communication apparatus at least one.
5. communication system according to claim 1, wherein said a plurality of proxy modules will convert the public access parameter of being supported by all described data storage devices from the request of access of described a plurality of mobile radio communication apparatus to; Also comprise the process controller module with wherein said front-end proxy agent module, be used for receiving public access parameter and selecting its required processor of handling from described a plurality of proxy modules.
6. communication system according to claim 1, wherein said at least one public core services module comprises translator module, is used for and described proxy module cooperation, is described a plurality of mobile radio communication apparatus formatted datas.
7. communication system according to claim 6, wherein said at least one public nucleus module service also comprises the extend markup language engine modules that is coupled to described translator module.
8. communication system according to claim 7, but wherein said extend markup language engine modules comprises extensible stylesheet code-switching engine modules.
9. communication system according to claim 7, wherein said at least one public core services module also comprises the storer that is coupled to described extend markup language engine modules, is used to store and the corresponding corresponding a plurality of templates of operating protocol.
10. protocol interface device, as the interface between a plurality of mobile radio communication apparatus and a plurality of data storage device, described mobile radio communication apparatus and data storage device respectively use at least a in the multiple different operating protocol, described protocol interface device comes deal with data according to the multi-layer protocol model, and described protocol interface device comprises:
Protocol engine module, be used to use corresponding operating protocol communicate by letter with described a plurality of data storage devices and
The front-end proxy agent module is coupled to described protocol engine, and comprises
Corresponding proxy module, be used to use each different operating protocol communicate by letter with described a plurality of mobile radio communication apparatus and
At least one public core services module, described public core services module is coupled to described proxy module, and communicate by letter with described proxy module at the ground floor of described multi-layer protocol model, communicate by letter with described protocol engine module with the second layer lower than ground floor in described multi-layer protocol model
Described at least one public core services module comprises a plurality of processors, described a plurality of processors be used for described proxy module and described protocol engine module interface and
Polling engine module with described protocol engine module and described front-end proxy agent module are cooperated is used to accumulate the email message from described data storage device to the corresponding mobile Wireless Telecom Equipment.
11. protocol interface device according to claim 10, wherein said ground floor comprises network layer, and the wherein said second layer comprises data Layer.
12. protocol interface device according to claim 10, also comprise at least one profile module with described at least one public core services module coupling, be used to be stored in ground floor dispose public kernel service configuration file first set and be stored in second set that the second layer disposes the configuration file of public kernel service.
13. protocol interface device according to claim 10, wherein said at least one public core services module is used for the route traffic between described proxy module and the described protocol engine module, visit is from the data of described a plurality of data storage devices, and translates in the data of described a plurality of mobile radio communication apparatus at least one.
14. a method that is used for connecting based on the multi-layer protocol model a plurality of mobile radio communication apparatus and a plurality of data storage devices, described mobile radio communication apparatus and data storage device are respectively used at least a in the multiple different operating protocol, this method comprises:
Protocol engine module is provided, is used to use corresponding operating protocol to communicate by letter with described a plurality of data storage devices; With
The front-end proxy agent module is provided, and described front-end proxy agent module comprises corresponding proxy module, be used to use each different operating protocol communicate by letter with described a plurality of mobile radio communication apparatus and
At least one public core services module, described at least one public core services module is communicated by letter with described proxy module with the ground floor that described proxy module coupling is incorporated in described multi-layer protocol model, communicate with the second layer and described protocol engine lower than ground floor in described multi-layer protocol model
Described at least one public core services module comprises a plurality of processors, described a plurality of processors be used for described proxy module and described protocol engine module interface and
Polling engine module with described protocol engine module and described front-end proxy agent module are cooperated is used to accumulate the email message from described data storage device to the corresponding mobile Wireless Telecom Equipment.
15. method according to claim 14, wherein said ground floor comprises network layer, and the wherein said second layer comprises data Layer.
16. method according to claim 14, also comprise at least one profile module is coupled to described at least one public core services module, be used to be stored in ground floor dispose public kernel service configuration file first set and be stored in second set that the second layer disposes the configuration file of public kernel service.
17. method according to claim 14, wherein said at least one public core services module is used for the route traffic between described proxy module and the described protocol engine module, visit is from the data of described a plurality of data storage devices, and translates in the data of described a plurality of mobile radio communication apparatus at least one.
CN2004800296310A 2003-08-11 2004-02-25 Communications system providing multi-layered extensible protocol interface and related methods Expired - Lifetime CN1867906B (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US49423403P 2003-08-11 2003-08-11
US49425503P 2003-08-11 2003-08-11
US60/494,255 2003-08-11
US60/494,234 2003-08-11
US10/778,709 US7774486B2 (en) 2003-08-11 2004-02-12 Communications system providing multi-layered extensible protocol interface and related methods
US10/778,709 2004-02-12
PCT/US2004/005475 WO2005020039A2 (en) 2003-08-11 2004-02-25 Communications system providing multi-layered extensible protocol interface and related methods

Publications (2)

Publication Number Publication Date
CN1867906A CN1867906A (en) 2006-11-22
CN1867906B true CN1867906B (en) 2010-06-16

Family

ID=37390860

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2004800296310A Expired - Lifetime CN1867906B (en) 2003-08-11 2004-02-25 Communications system providing multi-layered extensible protocol interface and related methods
CN 200480029394 Pending CN1864151A (en) 2003-08-11 2004-02-26 Communications system providing multi-layered extensible protocol interface and related methods

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN 200480029394 Pending CN1864151A (en) 2003-08-11 2004-02-26 Communications system providing multi-layered extensible protocol interface and related methods

Country Status (1)

Country Link
CN (2) CN1867906B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103347037A (en) * 2013-05-29 2013-10-09 成都瑞科电气有限公司 WCF realization-based communication front-end processor system and communicating method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1867906B (en) * 2003-08-11 2010-06-16 蒂蒙系统公司 Communications system providing multi-layered extensible protocol interface and related methods
CN103618791B (en) * 2013-11-29 2016-07-13 北京神州绿盟信息安全科技股份有限公司 A kind of WEB reverse proxy methods, devices and systems supporting XSLT file
CN105049225B (en) * 2015-06-05 2018-06-26 江苏国电南自海吉科技有限公司 A kind of electric system front-end processor system based on dynamic character weight
CN106856434B (en) 2015-12-08 2020-06-30 阿里巴巴集团控股有限公司 Method and device for converting access request
CN109784718A (en) * 2019-01-14 2019-05-21 四川长虹电器股份有限公司 It is a kind of that system and method is dispatched using the Discrete Manufacturing Process for more acting on behalf of edge calculations
CN110365710A (en) * 2019-08-13 2019-10-22 睿思半导体(重庆)有限公司 Multi-protocols aggregation transfer device, system and method
CN114531500B (en) * 2021-12-27 2023-11-21 新纳传感系统有限公司 Extensible equipment data acquisition terminal, method and system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201944A (en) * 1997-03-24 1998-12-16 格维康姆公司 Method and structure for wireless access to the internet
CN1244087A (en) * 1998-04-30 2000-02-09 电话通有限公司 Method and device for visiting on different networks
US20010042100A1 (en) * 2000-04-14 2001-11-15 David Guedalia Unified system and methodology for remote access to e-mail
US20030093565A1 (en) * 2001-07-03 2003-05-15 Berger Adam L. System and method for converting an attachment in an e-mail for delivery to a device of limited rendering capability
CN1823508A (en) * 2003-08-07 2006-08-23 蒂蒙系统公司 Communication system providing reduced access latency and related methods
CN1864151A (en) * 2003-08-11 2006-11-15 蒂蒙系统公司 Communications system providing multi-layered extensible protocol interface and related methods
CN1867913A (en) * 2003-08-11 2006-11-22 蒂蒙系统公司 Communications system with data storage device interface protocol connectors and related methods

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201944A (en) * 1997-03-24 1998-12-16 格维康姆公司 Method and structure for wireless access to the internet
CN1244087A (en) * 1998-04-30 2000-02-09 电话通有限公司 Method and device for visiting on different networks
US20010042100A1 (en) * 2000-04-14 2001-11-15 David Guedalia Unified system and methodology for remote access to e-mail
US20030093565A1 (en) * 2001-07-03 2003-05-15 Berger Adam L. System and method for converting an attachment in an e-mail for delivery to a device of limited rendering capability
CN1823508A (en) * 2003-08-07 2006-08-23 蒂蒙系统公司 Communication system providing reduced access latency and related methods
CN1864160A (en) * 2003-08-07 2006-11-15 蒂蒙系统公司 Communication system providing reduced access latency and related methods
CN1864151A (en) * 2003-08-11 2006-11-15 蒂蒙系统公司 Communications system providing multi-layered extensible protocol interface and related methods
CN1867913A (en) * 2003-08-11 2006-11-22 蒂蒙系统公司 Communications system with data storage device interface protocol connectors and related methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103347037A (en) * 2013-05-29 2013-10-09 成都瑞科电气有限公司 WCF realization-based communication front-end processor system and communicating method

Also Published As

Publication number Publication date
CN1867906A (en) 2006-11-22
CN1864151A (en) 2006-11-15

Similar Documents

Publication Publication Date Title
US8285805B2 (en) Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
US8135759B2 (en) Communications system including protocol interface device for use with multiple operating protocols and related methods
US8205002B2 (en) Communications system providing extensible protocol translation features and related methods
CA2533291C (en) Mobile wireless communication protocol interface storage devices
US20100293259A1 (en) Communications system providing multi-layered extensible protocol interface and related methods
US7739407B1 (en) Systems for customizing behaviors and interfaces in service invocations
US20100153493A1 (en) Communications system providing extensible protocol translation and configuration features and related methods
US20120030296A1 (en) Communications system providing reduced access latency and related methods
CN1867906B (en) Communications system providing multi-layered extensible protocol interface and related methods
CN100432998C (en) Communication system providing reduced access latency and related methods
CN100511222C (en) Communications system with data storage device interface protocol connectors and related methods

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211112

Address after: Ontario, Canada

Patentee after: BlackBerry Ltd.

Address before: Washington, USA

Patentee before: TEAMON SYSTEMS, Inc.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20100616