CN1864151A - 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
CN1864151A
CN1864151A CN 200480029394 CN200480029394A CN1864151A CN 1864151 A CN1864151 A CN 1864151A CN 200480029394 CN200480029394 CN 200480029394 CN 200480029394 A CN200480029394 A CN 200480029394A CN 1864151 A CN1864151 A CN 1864151A
Authority
CN
China
Prior art keywords
module
protocol
data
proxy
mobile radio
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.)
Pending
Application number
CN 200480029394
Other languages
Chinese (zh)
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.)
TeamOn Systems Inc
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
Application filed by TeamOn Systems Inc filed Critical TeamOn Systems Inc
Publication of CN1864151A publication Critical patent/CN1864151A/en
Pending legal-status Critical Current

Links

Images

Abstract

A communications system may include data storage devices and mobile wireless communications devices for accessing the data storage devices, each using one or more 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, and a front-end proxy module coupled to the protocol engine module. The front-end proxy module may include a respective proxy module for communicating with the mobile wireless communications devices using each different operating protocol, and at least one common core service module coupled to the proxy modules. The protocol interface device may also include a configuration file module coupled to the front-end proxy module for storing a plurality of different sets of configuration files relating to different allocations of resources of the at least one common core service module.

Description

The communication system and the correlation technique of extensible protocol translation and configuration feature are provided
Technical field
The present invention relates to field of wireless communications, more specifically, relate to and use a plurality of operating protocols to carry out the communication system and the correlation technique of data access operation.
Background technology
On computer system or with the software client of computer system joint operation, be generally used for visiting and be stored in the data that computer system can be set up the server place of communicate by letter (for example, passing through Local Area Network) with it.In many cases, the data on the server can only conduct interviews by certain protocol, tend to conversely the user is limited to specific client.Similarly, the client of particular type typically configurable being used for only operates with the server or the agreement of particular type.For example, in e-mail system, the user has related mailbox on mail server, need certain protocol, and needs specific information receiving and transmitting client to bring in usually to carry out electronic mail access.There is not the single standard method that is used to visit the Email that is stored on the server.Instead, there are several incompatible agreements by different suppliers and standard substantial definition.
Every class client of access application may have different abilities and needs.For example, the POP client of access mail server may be tabulated from the unique identifier (UID) of server, and the WAP client may not only need UID, also needs theme.The desktop browsers client may not only need UID and theme, also needs and relevant information such as informed source, date, importance.When exploitation can be handled the service of all these demands, will be to the bandwidth in server and the target data system such as the email storage device and the more efficiently use of processing power, as long as under possible situation, ask and return required attribute.
Another problem is in response to request, and each in these clients may need slightly different behavior.For example, the POP client may ask to delete the message on the server, rather than removes when request, and service has to wait for, till the POP client is sent the QUIT order.On the other hand, for the WAP client, should delete message immediately in response to removal request.
Recurrent another problem is must processing memory consumption and application program capacity when making up application program.In order to improve performance, often want the result of high-speed cache, so that respond request subsequently more quickly from client from data-carrier store.If in storer, application program will be used up all available memories very soon with data storage.Even data cache also will be caused the disk space problem on dish.
Also can visit a plurality of data sources that have different abilities or support different information inquiry mechanism.In this case, when attempting a plurality of different request type of management, it is pondered-over that code becomes very soon.
Developed multiple prior art the system of the different operating protocol of use and the communication between the equipment are provided.A kind of such solution has been described in the U.S. Patent No. 6,615,212 of authorizing people such as Dutta, wherein the transcoding proxy server receive from client computer to requests for content.The transcoding proxy server is retrieved this content from originating server.The content that retrieves is provided with first Format Type.In response to by before content code is converted to second Format Type, allow the content of client process first Format Type, with obtain efficient increase determine that the transcoding proxy server sends this content with first Format Type to client.
In addition, do not have the determining of contents processing software of the content that is used to handle first form in response to client, the transcoding proxy server will send to client with the content of first Format Type at the contents processing software of first Format Type.Then, the transcoding proxy server is second Format Type with content from the first Format Type code conversion, and the content of second form is sent to client.
Except these prior art schemes, in specific application, need other protocol translation and/or translation function.
Summary of the invention
Therefore, consider aforementioned background art, the purpose of this invention is to provide a kind of communication system, be used to provide the operating protocol converting characteristic of enhancing, and correlation technique.
Provide according to this and other purposes of the present invention, feature and advantage by a kind of communication system, described communication system can comprise: a plurality of data storage devices, each data storage device use at least one in a plurality of different operating agreements; And a plurality of mobile radio communication apparatus, be used to visit described a plurality of data storage device.Each mobile radio communication apparatus also can use at least one in described a plurality of different operating agreement.Described system can also comprise protocol apparatus.Particularly, described protocol apparatus can comprise: protocol engine module, be used to use corresponding operating protocol, and communicate with described a plurality of data storage devices; And the front-end proxy agent module, link to each other with described protocol engine.Described protocol apparatus can also comprise: corresponding proxy module, be used to use every kind of different operating protocol, and communicate with described a plurality of mobile radio communication apparatus; And at least one public core services module, link to each other with described proxy module.
In addition, described front-end proxy agent module also can comprise: profile module, link to each other with described front-end proxy agent module, and be used to store with the different resource of described at least one public core services module and distribute many groups of relevant different configuration files.The different configuration files of described many groups can comprise and corresponding elementary configuration file group of core resource batch operation and the secondary configuration file group that is used for the custom core resource allocation operations.Therefore, for example, if stipulated second grade file, then defined resource will cover the resource of defined in the corresponding elementary configuration file in the second grade file.This allows the user to stipulate the core resource group, and allows the user at specific application program, as required, revises these core resources.
More specifically, described at least one public core services module can be used for routing service between described proxy module and described protocol engine module, visit is from the data of described a plurality of data storage devices, and/or at described a plurality of mobile radio communication apparatus, reproduces data.In other words, described front-end proxy agent module can advantageously be used with polytype operating protocol, but still uses public kernel service to come route business, visit data and/or reproduction data.This provides the bigger efficient and the complicacy of reduction.
Described at least one public core services module can comprise a plurality of processors (handler), is used to make described proxy module and described protocol engine module to carry out interface.More specifically, described a plurality of proxy module can be converted to the request of access from described a plurality of mobile radio communication apparatus public access parameter.In addition, described front-end proxy agent module also can comprise the stream controller module, is used to receive the described public access parameter from described a plurality of proxy modules, and selects required processor that it is handled.In addition, described a plurality of processor and described protocol engine module can use the common interface agreement to communicate.
In addition, described at least one public core services module can comprise the reconstructor module, is used for and described proxy module cooperation, at described a plurality of mobile radio communication apparatus, data is formatd.In addition, described at least one public core services module also can comprise extensible markup language (XML) engine modules, links to each other with described reconstructor module, changes (XSLT) engine modules etc. as Extensible Stylesheet Language (XSL).And described at least one public core services module can also comprise storer, links to each other with described XML engine modules, is used for storage and the corresponding a plurality of templates of each operating protocol (template).
Method scheme of the present invention is used to make a plurality of mobile radio communication apparatus and a plurality of data storage device to carry out interface.In described mobile radio communication apparatus and the described data storage device each can be used at least one in a plurality of different operating agreements.Described method can comprise: protocol engine module is set, is used to use corresponding operating protocol, communicate with described a plurality of data storage devices; And the front-end proxy agent module linked to each other with described protocol engine module.More specifically, described front-end proxy agent module can comprise: corresponding proxy module, be used to use every kind of different operating protocol, and communicate with described a plurality of mobile radio communication apparatus; And at least one public core services module, link to each other with described proxy module.Described method can also comprise: be provided with at described front-end proxy agent modules configured file module, be used to store with the different resource of described at least one public core services module and distribute many groups of relevant different configuration files.
Can comprise front-end proxy agent module and protocol engine module and profile module according to protocol apparatus of the present invention, for example, as described briefly above those.In addition, can comprise front-end proxy agent module, protocol engine module and profile module similarly 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 that shows the protocol apparatus in the communication system shown in Figure 1 in more detail.
Fig. 3 is the schematic block diagram that shows the front-end proxy agent the expanded module in the protocol apparatus shown in Figure 2 in more detail.
Figure 4 and 5 show the agent architecture expanded that realized being similar to Fig. 3, according to the schematic block diagram of the optional embodiment of communication system of the present invention.
Fig. 6 is the schematic block diagram of the optional embodiment of protocol apparatus shown in Figure 2.
Fig. 7 further shows the protocol engine module in the protocol apparatus shown in Figure 3 and the schematic block diagram of interface connector module thereof.
Fig. 8 is the schematic block diagram of the optional embodiment of protocol engine module shown in Figure 7 and interface connector module.
Fig. 9 is the schematic block diagram of another optional embodiment of protocol apparatus shown in Figure 2.
Figure 10 is the schematic block diagram of another optional embodiment of protocol apparatus shown in Figure 2.
Figure 11 shows the process flow diagram of the operation of protocol apparatus shown in Figure 2.
Figure 12 shows the process flow diagram of the operation of front-end proxy agent module shown in Figure 3.
Figure 13 shows the process flow diagram of the operation of communication system shown in Figure 5.
Figure 14 shows the process flow diagram of the operation of protocol interface module shown in Figure 6.
Figure 15 shows the process flow diagram of the operation of protocol engine shown in Figure 7 and interface connector module.
Figure 16 shows the process flow diagram of the operation of protocol apparatus shown in Figure 9.
Figure 17 shows the process flow diagram of the operation of protocol apparatus shown in Figure 10.
Figure 18 is the schematic block diagram of the typical mobile radio communication apparatus that uses with the present invention.
Embodiment
Now, with reference to the accompanying drawings, the present invention is more comprehensively described, in the accompanying drawings, show the preferred embodiments of the present invention.But the present invention can come specific implementation according to multiple different form, and not should be understood to be confined to embodiment as described herein.But, these embodiment are provided, thereby make the disclosure, and scope of the present invention is passed to those of ordinary skill in the art fully more thoroughly with complete.In the text, similar numeral similar elements, elementary label and multiple elementary label are used for representing the like of optional embodiment.
Turn to Fig. 1 now, the protocol apparatus 14 that provides the visit of a plurality of data storage devices or system 16,18,20 is provided communication system 10.Communication system 10 schematically comprises a plurality of communication facilitiess, i.e. mobile radio communication apparatus 11 and the communication facilities 12 that links to each other with described system by wired connection.As example, can use multiple mobile radio communication apparatus according to the present invention, as personal digital assistant (PDA), cell phone etc.In the following example that provides with reference to Figure 18, described and be suitable for the typical mobile radio communication apparatus 11 that uses with the present invention.In addition, the example of wire communication facility comprises personal computer, phone, facsimile recorder etc.Certainly, can use a plurality of wired and wireless devices, although in exemplary embodiments, clear only show two in order to illustrate.
Communication facilities 11,12 typically comprises software client, software client is to be incorporated into the software module or the application program of line operate on corresponding communication apparatus or with corresponding communication apparatus, is used for by protocol apparatus 14, the visit to the data at least one or a plurality of places that are stored in data storage device 16,18 and 20 is provided.Those of ordinary skills should recognize that this communication facilities also comprises other assemblies and/or software module, and are clear in order to illustrate, and are not shown specifically in Fig. 1.For mobile radio communication apparatus 11, (and other possible networks (for example by cordless communication network 13 for its software client, public switch telephone network (PSTN) or the Internet)) communicate with protocol apparatus 14, known as those of ordinary skills.
Preferably, realize the multiple function and the operation of protocol apparatus 14 with the software that is incorporated into line operate thereon or with it.The software client and the data storage device 16,18,20 of protocol apparatus 14 n-lustrative ground bridge communications equipment 11,12.Communication between protocol apparatus 14, communication facilities 11,12 and the data storage device 16,18,20 is preferably passed through as wide area networks such as the Internet (WAN).That is, communication facilities 11,12 can communicate by the Internet and protocol apparatus 14, and as mentioned above, protocol apparatus also can communicate with data storage device 16,18,20.
Certainly, also it is contemplated that other embodiment.For example, can in the dedicated network that comprises data storage device 16,18,20, communication facilities 11,12 or data storage device and communication facilities equally, (for example, in WAN) realize protocol apparatus 14.Should be noted that the present invention is not limited to any specific connection or communication plan.
Data storage device 16,18,20 storage will be by the data of the software client visit of communication facilities 11,12.Although some software clients can be configured to directly visit the data storage device of particular type, its normally the data system special use or protocol-specific, such as described briefly above.More specifically, for example, on as electronic equipment such as constraint such as mobile radio communication apparatus 11 grades, processor ability, memory resource and communication channel characteristics have obstruction and the installation and the operation that are used in the software client of the software client same capabilities on desktop and the laptop system usually.In addition, for desktop and laptop system, be easy although a plurality of software clients that are used to visit the data storage device that is associated with different agreement are installed, it will be impossible that the multi-protocols support is provided on this restraint device.
Can use different operating protocols or access scheme to visit data storage device 16,18,20.Like this, protocol apparatus 14 visits data storage device 16,18,20 by the operating protocol by each data storage device support, and by the operating protocol that corresponding client is supported, data is offered communication facilities 11,12.The unified scheme that the protocol conversion function of protocol apparatus 14 provides support that polytype data system is conducted interviews.As described in detail later, protocol apparatus 14 provides " arbitrarily to any " between different agreement or access scheme bridge (" any-to-any " bridge).
In Fig. 2, at length show protocol apparatus 14.As mentioned above, dissimilar communication facilities and the data of different types memory devices of protocol apparatus 14 bridge joints.In the embodiment shown, data storage device the 24,26, the 28th is used for the systems/servers of storage of e-mails (e-mail).But, should be noted in the discussion above that the present invention is not limited to the mailing system visit.In the mailing system 24,26,28 each is supported different operating protocol or access scheme.More specifically, mailing system 24 is supported Outlook accesss to netwoks (OWA), and mailing system 26 is supported Microsoft's information receiving and transmitting application programming interface (MAPI), and mailing system 28 supports proprietary protocols, for example, and the agreement of using by America Online (AOL) etc.
Protocol interface system 14 schematically comprises front-end proxy agent module 30.The front-end proxy agent module schematically comprises proxy module 34,36,38,40, support wireless application protocol (wap), post office protocol (POP), Internet Message Access Protocol (IMAP) and HTTP (HTTP) respectively, so that communicate with client.
Front-end proxy agent 30 also communicates with protocol engine module 32.(and other agreements are translated as form with front-end proxy agent module 30 compatibilities to protocol engine module 32 if necessary) with the proprietary protocol of OWA, MAPI, mailing system 28.For this reason, every kind of operating protocol at being used by mailing system 24,26,28 can link to each other respective interface connector module 70-77 (Fig. 7) with protocol engine module 32, will further discuss after a while.In a preferred embodiment, front-end proxy agent module 30 and protocol engine module 32 are extendible, but so that become the time spent at extra operating protocol, hold these extra operating protocols, will further discuss after a while.
In operation, the user is by the mailbox in one of client software access mail system 24,26,28 on its communication facilities.For example, WAP browser and WAP proxy module 34 on the mobile radio communication apparatus communicate, with access mail system 24.To act on behalf of 34 visit orders that receive or instruction transformation by WAP and be the form compatible mutually with protocol engine module 32.Preferably, by common interface agreement (can be proprietary protocol or the common protocol set up), realize communicating by letter between front-end proxy agent module 30 and the protocol engine module 32.
Then, protocol engine module 32 visit order that will receive from front end proxy module 30 or instruction translation are the agreement that is associated with the mailing system that will visit the OWA of mailing system 24 (for example, at).The data that will receive from mailing system (for example, email message, new information tabulation, calendar appointment, task dispatching, depend on specific mailing system), the feature of its access protocal support and the characteristic of visit order be translated as the common interface agreement, and send front-end proxy agent to.
Then, effectively proxy module (that is, the WAP proxy module 34 in this example) at requesting client, formats data or at least a portion that receives.Protocol apparatus 14 is also translated other orders from client.Handle visit order similarly from the other types client.Should be noted that the user and enabled under the situation of a plurality of mailbox access of passing through protocol apparatus 14, can visit several mailing systems in response to single visit order.
Therefore, protocol apparatus 14 allows the client-access of use different operating agreement to use the mailing system 24,26,28 of different operating agreement equally.As the visit order influence that produces at the client place such as move, delete, create, send, obtain and check and be stored in the data at mailing system 24,26,28 places rather than the copy of these data.By protocol apparatus 14, to proxy module 34,36,38,40 in any one compatible mutually client provide the one or more visit in the mailing system 24,26,28.Client itself does not advantageously need to support the access protocal or the scheme that are associated with the mailing system that will visit.
Because it is compatible that mailing system agreement and client protocol do not need, the feature of being supported between the agreement also can be different.For example, the POP client is not supported the feature identical with OWA.Preferably, the interface protocol that design is used between protocol engine module 32 and front-end proxy agent module 30 can show at agreement required operating protocol, requirement it and supports element or feature.More specifically, the common interface agreement preferably can show at institute's protocols having of the agreement that " ability " arranged most (OWA in this example) and support element, the most widely may the feature support to provide.In addition, if desired, the common interface agreement can support to cross over the complete characterization set of all supported protocols.
As example, the common interface agreement can be based on the distributed works of network and the proprietary protocol of version (WebDAV:Web-based Distributed Authoring and Versioning) agreement.Below, will use the example shown of the checking request of this common interface agreement to be program listing #1.This typical checking request routine allows mailing system to use customer-furnished user identifier and password to come indentification protocol interfacing equipment 14, and retrieves the root folder and the basic tankage of target mailbox on the mailing system.
Below, as program listing #2 the typical inbox request of basis based on the common interface agreement of WebDAV described.According to this routine, in response to the inbox request, the capacity of inbox in the query aim mailbox is inquired about its content then.Below, provide another example as program listing #3, at file searching request according to above-mentioned common interface agreement based on WebDAV.Here, in response to this request, return the sub-folder tabulation of given file.Those of ordinary skills should be understood that also can use multiple other request and operation.
Should be noted that software client needn't initiate data access request in all embodiment.For example, in certain embodiments, protocol apparatus 14 can comprise poll or assemble engine modules (not shown) (or communicating with it), the message that described poll or gathering engine modules prompting protocol engine module 32 are assembled at each user from mailing system 24,26,28 with predetermined interval, just as one of ordinary skill in the known.Then, protocol apparatus 14 will be cooperated with front-end proxy agent module 30, so that the message of assembling is offered corresponding software client, as mentioned above.In addition, front-end proxy agent module 30 needn't be in all embodiment directly and communication facilities 11,12 communicate, but also can be by mailing system or server communicate with it between two parties.Therefore, using under the situation of assembling engine modules, can be at first send the message of assembling to mail server between two parties by front-end proxy agent module 30, and by mail server between two parties message be offered suitable communication facilities, this also is that those of ordinary skills are known.Equally, front-end proxy agent module 30 will use the suitable agreement by the support of this mail server between two parties to communicate with it.
Figure 11 illustrates use agreement interfacing equipment 14, provide method as the visit of a plurality of data storage devices such as mailing system 24,26,28.110 places begin at square frame, at first in square frame 111 places, received access command or data.At square frame 112, be the common interface agreement with visit order or data translation.Then, visit order is translated as the data system agreement that (square frame 113) is associated with the data system that will visit, as OWA at mailing system 24.
On the other hand, at square frame 113 places, be client protocol with data translation.According to the special characteristic that client protocol is supported, during this step, only translate the corresponding that part of data of element with the interface protocol of supporting by client protocol.Protocol apparatus 14 can produce mistake in response to unsupported operating protocol.More specifically, preferably,, ignore or handle unsupported interface protocol element according to default or fault processing scheme.Then, at square frame 114 places, send visit order or data after the translation to data system or client, thereby finish shown method (square frame 115).
Turn to Fig. 3 now, the exemplary embodiments of front-end proxy agent module 30 is described.Front-end proxy agent module 30 schematically comprises proxy module 34,36,38,40; Reconstructor module 44; Extensible Stylesheet Language (XSL) conversion (XSLT) engine modules 46, storer or template storage 48, stream controller module 50 and processor 52a-52n.
As mentioned above, each proxy module 34,36,38,40 is " reply (front) " protocol engine module 32 effectively, and at different client types, translates corresponding operating protocol.For example, the WAP proxy module provides the one or more information that retrieve from processor 52a-52n to be the form of the XML document of target as the display on the equipment such as cell phone or PDA.The POP agency can use at least some identical Agent components, comprises stream controller module 50 and reconstructor module 44, so that reproduce data according to the required form of POP agreement.
Shown in a particularly advantageous benefit of front-end proxy agent module 30 be that each proxy module 34,36,38,40 uses identical kernel service to come route business, visit data and reproduction data.In other words, reconstructor module 44, XSLT engine modules 46, template storage 48, stream controller module 50 and processor 52a-52n provide the public core services module at proxy module 34,36,38,40.Unique difference between the translation of different proxy modules 34,36,38,40 is the configuration of stream controller 50, processor 52a-52n and is used for the XSL template of data translation for its final form.Under multiple situation, identical processor 52a-52n will be used between the multiple proxy module 34,36,38,40 again, and will be known as those of ordinary skills.
During operation, use standard mechanism, will pass to suitable proxy module 34,36,38,40 from the data access request of client at client protocol.For example, at the WAP client, transmit parameter by query string and/or table variable.WAP proxy module 34 is determined component identifier (identification is as destination items such as mail folder), action identifier (action that identification will be carried out) and any parameter according to the data in the request.Under the situation of WAP, transmitting assembly and action identifier in query string or table.Other parameters in query string or the table are packaged into parameter list.
Then, effectively proxy module calls stream controller 50, transmits identifier and parameter list.Stream controller is searched suitable processor by assembly and action identifier, and makes up processor, transmits described parameter, as the independent variable (argument) that makes up the device (not shown).Use processor 52a as example, this processor will use data Layer (Fig. 5) to handle request, to collect the required information of response.
For example, for mailing system visit, data Layer at user's relevant information of content such as mailbox, calendar or address book, communicate with protocol engine module 32.Can as the information relevant, set up and other communication between components at different kinds of information with the service for checking credentials and user's electronic mail account.Then, whether processor 52 decisions are transmitted to another processor with this request, perhaps whether should produce its result.
Preferably, all information of being transmitted back by processor 52a-52n are common format, as org.xml.sax.InputSource, and the provider of extensible markup language (XML) data.Then, effectively proxy module calls reconstructor module 44, transmits InputSource, positional information, the template name that will reproduce and OutputStream.Reconstructor module 44 is utilized XSLT engine 46, and the page is reproduced as OutputStream.Then, utilize client protocol, OutputStream is offered client by effective proxy module.
Said system provides the general application framework of following the classical model of having realized most of application infrastructure/check/controller (MVC) architecture.An important feature is can be at similar service, and the set of definition basic function is expanded then, realizes the peculiar function of the required service of given service fully to provide.In given embodiment, stream controller 50, processor 52a-52n and/or data access layer are fully extendible or removable.
Consider this, support brand-new service only to relate to definition and realize control stream and discrete action (being stream controller module 50) and the definition in data Layer, the define system and realize with serve between interface (being reconstructor module 44).On the other hand, the existing service of utilization supports novel client to relate to convection current controller module 50 and processor 52a-52n carries out small change, and expansion action wherein, supporting extra client required function, and definition and realize interface (being reconstructor module 44) between client and the system.
With reference to the block scheme of Figure 12, the operation of the front-end proxy agent module of translating carrying on an agreement 30 is further described.Some illustrated operations are described in detail above, therefore following will simply the description it is to avoid unnecessary repetition.120 places begin at square frame, and at square frame 121 places, proxy module 34,36,38,40 receives request of access or order.At square frame 122 places, request of access is translated as the common interface agreement by one or more among the processor 52a-52n.
At square frame 123 places,, receive data from given mailing system 24,26,28 in response to described request.Reproduction has been translated as the data (square frame 124) of common interface agreement by protocol engine module 32, and at square frame 125 places, returns to client, thereby finishes shown method (square frame 126).According to the special characteristic of supporting by client protocol, only reproduce or translation and the corresponding partial data of element by the common interface agreement of client protocol support.As mentioned above, can be according to default or fault processing scheme, ignore or handle unsupported interface protocol element.
Should be noted that the expanding of front-end proxy agent module 30, public kernel service architecture also can be used for multiple application.A kind of such application is used to solve the multiple shortcoming that network application response HTTP asks employed complete different method.Referring now to Figure 4 and 5, to being described according to network data access system 100 of the present invention, as to have expandable system structure.The assembly of network data access system 100 carries out two-way communication, and it schematically comprises, and the user asks 101, the webserver 102, acting server 104 and extensible controller system 106.
More specifically, the user asks 101 expressions to use the user of web browser or web application requested webpage (for example by PDA or personal computer).In case make request, the webserver 102 will be handled this request.In the process of handling request, acting server 104 auxiliary network server 102.For purpose relatively, the function class of the acting server 104 here is similar to above-mentioned protocol apparatus 14, and with extensible controller system 106 be embodied as operate on the acting server or with it in conjunction with the operation software module, as one of ordinary skill in the known.Certainly, in certain embodiments, for example, can in different physical equipments or server, realize acting server 104 and extensible controller system 106.
Acting server 104 provides following processing: it is slow or to available high-speed cache or stored items on other servers of visiting resource intensive more to be provided at visit.Acting server 104 accepts to have the URL of particular prefix.When the request that receives at this URL, it peels off described prefix, and searches resulting URL in its local cache.If find, it returns the document immediately, otherwise it obtains document from remote server, preserves copy in Cache, and it is returned to the requesting party.The page that is returned by acting server 104 can be static state or dynamic in essence.Acting server 104 can communicate with application server or data server (being extensible controller system 106 in this specific embodiment).
More specifically, the assembly of acting server 104 schematically comprises aggregation server 202, reconstructor module 212, XSLT engine modules 214 and is used to store the storer 216 of a series of templates, is similar to above-mentioned those modules.The assembly of extensible controller system 106 comprises action mapping 204 and a series of processor 206, is similar to above-mentioned those modules equally.
Aggregation server 202 is carried out the processing of input information, and for auxiliary, it is passed to other assemblies.Reconstructor module 212 is a visual format with resulting data reproduction.Reconstructor module 212 is used XSLT engine modules 214 and is reproduced the page from any required template of storer 216.
Aggregation server 202 sends the data to action mapping 204, and action mapping 204 maintains control stream, the service logic in the concurrency processing system.Action mapping 204 is carried out with a series of processors 206 alternately.Processor 206 utilizes data Layer 208 from other data source 210 retrieving informations.For example, other data sources 210 can comprise XML at network data, at the general agency of any information relevant or at the service for checking credentials relevant and the regulation API of data with user account with the content (for example Email, calendar or contact method) of user application.
The effect of described system is to make the user to submit to URL to ask 101 as the user.102 places receive this request at the webserver, and it is passed to acting server 104, handle at the standard mechanism of agreement so that utilize.For example, the WML request will be transmitted WAP parameter query string and/or table variable.Aggregation server 202 assemblies of acting server 104 are determined assembly ID, action ID and any parameter according to the data in the request.Use identical WAP example, transmitting assembly and action ID in query string or table.Every other parameter in query string or the table is packaged as parameter list.
Then, aggregation server 202 calls the action mapping 204 of extensible controller system 106, and transmits ID and parameter list.Action mapping 204 is searched suitable processor 206, and is made up processor by assembly and action ID, transmits described parameter, as the independent variable that makes up device.Processor 206 processes said request use data Layer 208 to collect the required information of response.Data Layer 208 will be from being arranged in other data source 210 retrieving informations of network or network-external.Then, whether processor 206 decisions should be transmitted to described request another processor 206, perhaps whether should reproduce its result.
If data are reproduced in this system's decision, then data are transmitted to reverse from processor 206 and do mapping 204, and transmit the aggregation server 202 of back substitution reason server 104.Then, aggregation server 202 calls reconstructor module 212, and reconstructor module 212 is called XSLT engine modules 214 and is the required any template of visual output with data reproduction.Then, this output is returned to the webserver 102, ask 101 result, these data are used as viewable web page as the user.
Now, with reference to Figure 13, related a plurality of steps in use extensible controller system 106 network datas are further described.More specifically, this synoptic diagram shows the processing and the interactive action of acting server 104 and extensible controller system 106 in more detail.This system flow is asked 101 beginnings with the user.This request is sent to the webserver 102, and the webserver 102 passes to acting server 104 with this information and handles.Acting server 104 calls aggregation server 202 and handles.
At square frame 302, aggregation server 202 determines whether context is available.If available, system will move to next step to excavate ID (square frame 306).If unavailable, system will be at first at square frame 304, creates context, proceeds to the step of square frame 306 places, excavation ID then.Equally, from system, excavate action ID and assembly ID.At square frame 308, these ID are packaged into required parameter and any table data seal, and be collected in together.
Call out calling program, data are passed to the action mapping 204 of extensible controller system 106 from aggregation server 202.This calling program will with seal, the information of action code, assembly ID and context-sensitive passes to action mapping 204.At square frame 310 places, action mapping 204 is searched this action, and at square frame 312 places, determines whether this action exists.If exist, then shift to next step, so that at square frame 316 places, determine whether this action needs checking.If this action does not exist, then system then at square frame 316 places, determines whether this action needs checking in square frame 314 places retrieval default action.
In this point, if action does not need checking, then system determines whether to exist any pendent request at square frame 320 places.If this action does not need checking, then system determines at square frame 318 places whether context is in proofing state.If context is in proofing state, then system determines whether to exist pendent request at square frame 320 places.But if context is not in proofing state, then system returns request with the retrieval default action, up to accepting checking at square frame 314 places.
At square frame 320 places, system determines whether to exist pendent request.If there is pendent request, then system carries out pendent request, and jumps to next stage, at square frame 346 places, determines whether there is processing in formation.If there is no pendent request, then system carries out action at square frame 322 places, and confirms enveloping data, and at square frame 324 places, transmits control to processor 206 to create action processor.In case action processor is created, then it is carried out initialization at square frame 326 places.
Then, system determines whether to allow background process at square frame 328 places.If allow, then create background processor, and at square frame 346 places, system determines whether there is processing in formation at square frame 344 places.But if do not allow background process, then system manages action processor everywhere at square frame 330, then at square frame 332 place's return results.Again access system, at square frame 346 places, described system determines whether there is processing in formation.Handle if in formation, exist,, determine whether this action is finished then at square frame 350 places.If in formation, there is not processing, then, it is submitted to formation at square frame 348 places, then at square frame 350 places, determine whether action processor is finished.
If action processor is finished, then system is in the square frame 352 return action processor results of place.If action processor is not finished, then system returns pendent reproduction result at square frame 354 places.The output (return action processor result or pendent reconstructor result) of step shown in square frame 352 and 354 is used for determining whether to reproduce this result at square frame 334 places.
More specifically, the result with step shown in square frame 332 (return results), 352 (return action processor result) and 354 (the returning pendent reproduction result) is used to determine whether to reproduce this result (square frame 334).If this result is reproduced in system's decision, then system sends to acting server 404 with data from extensible controller system 106, and at square frame 340, this data are reproduced at 212 places in the reconstructor module.Then, with this data transfer to the webserver 102, so that show this result, as the response of the user being asked 101 at square frame 342 places.But, if this result is not reproduced in system's decision,, decision handles but being transmitted to another action processor with this request, then suitable action at square frame 338 places retrieval enveloping data, is searched at square frame 310 places at square frame 336 places retrieval ID key then by system.System will circulate in this point, up at square frame 334 places, determine the final result that accepts to reproduce.
Said method relates to the single resource of use and comes the interior assembly of define system.In this specific embodiment, described source is the XML file, but also can use extended formatting, just as one of ordinary skill in the known.This source with the code of definition process request, URL grammer and parameter, be used to produce to the template of request responding or the routing iinformation of code and request etc.
System uses the code and the parameter-definition of the request of processing to create action processor, transmits the parameter of right type, and transmits the control to it, to handle.Described parameter comprises the type information that allows strongly-typed data (strongly typed data).Can be optional or essential also with parameter-definition.Template is used for producing request responding.If attempt producing other responses except defined, then produce mistake.
Described source also defines the routing iinformation of request.Usually, need processor execution work in its scope, pass control to another processor then, carry out its work to allow it.But,, then produce mistake if processor illustrates undefined other things in the source of passing control to.
Other variants also are possible.For example, can when being used in this intrasystem URL, generation use described source.In addition, the actual treatment of request route and these requests can be separated.So, by an assembly processing controls stream in the system, rather than each processor.So processor will require controller that request is transmitted to another processor simply.Therefore, can in specific request life cycle, will import data and remain on known state.
Another solution relates to the control stream of strengthening by system, and in this case, a processor does not directly call another processor and carries out its work.It is less relatively and simple that another solution relates to the maintenance processor.That is, this purpose and scope with processor is limited to the request of reception, and calls suitable service logic and collect required result.Another variant relates to each processor of maintenance and concentrates on a task, and allows to reproduce the result or the result is transmitted to next processor when finishing this task.
Another variant relates to the extensible mechanism that is provided for handling the request that can handle instant demand, with and increase but the overcomplicated that can not become along with the time.When loading system, the user can stipulate elementary and the two-step action mapping.In this manner, stipulated general business logic and control stream, provide to the user simultaneously to be used to add or the method for modify feature with elementary action mapping.Another solution is the mechanism that is provided for responding fast the request of long-time running to the developer, and is overtime to avoid producing.This makes that the developer can be in processor level or total system, the regulation background process.
Above-mentioned extensible controller is particularly advantageous in the shortcoming of the application that solves Network Based or HTTP.Certainly, those of ordinary skills should be understood that and can expand this identical architecture, with support other types, based on the application of non-HTTP.
Turn to Fig. 6 now, the optional embodiment of protocol apparatus 14 ' is described.In the embodiment shown, in the configuration file in being stored in configuration file reservoir or storer 31 ', defined all requests as mailing system 24 ', 26 ', data storage device such as 28 '.In this manner, for given client-class, application developers can easily only ask to support at those required attributes of the client that it write.
The explorer that can be used as the separation assembly of the part of front-end proxy agent module 30 ' or protocol apparatus 14 ' advantageously allows the user to stipulate elementary and secondary configuration file group.If stipulated the secondary configuration file, wherein defined any resource will cover those of defined in the elementary configuration file.This allows the user to stipulate the core resource set, and makes it to be suitable for specific
Embodiment.
In addition, can store configuration files, so that handle the operation of heterogeneous networks layer.For example, can with at the configuration file stores of the data Layer operation that is used for interface front end proxy module 30 ' and protocol engine module 32 ' at storer 31 ', and at the configuration file of the upper layer network layer operation of carrying out by stream controller module 50 etc.Also can use the configuration file of other types, just as one of ordinary skill in the known.
Preferably, configuration file has also stipulated to create the implementation of class that is used to handle at given request responding.This makes the behavior (even being alternative fully) that changes the object in the data model a little become simple.High-speed cache behavior and intensity in configuration file, have also been stipulated at each request.Utilize this two combination of attributes, the developer is control store consumption and response/request performance more.
In addition, configuration file also allows the user to stipulate multiple request to given resource.This makes it can support to have the data system of different request forms.Below, typical configuration file is provided as program listing #4.This configuration file is suitable for supporting the data-carrier store of WebDAV interface, as mentioned above, perhaps under the situation of protocol apparatus 14 ', supports the protocol engine of WebDAV interface.But, also can be used for the interface/data-carrier store of other types.
Should be noted that equally that except content class the user can also stipulate further to discern the order of given resource at resource specifies.This allows the user that given resource type is carried out multiple different operation, just as one of ordinary skill in the known.
Now, with reference to Figure 14, the operation of the protocol apparatus 14 ' of using configuration file is further described.140 places begin at square frame, at square frame 141 places, receive request of access or order at the proxy module place.At square frame 142 places, processor 52a-52n is translated as the common interface agreement with reference to one or more configuration files with request of access.At square frame 144 places, (square frame 143) that will receive from data system in response to request and by protocol engine module 32, the data layout of translating into the common interface agreement turns to response, and reproduce.Equally, finish with reference to one or more configuration files.Then, will reproduce response and return to client (square frame 145), thereby, finish shown method at square frame 146 places.
Now, with reference to Fig. 7, protocol engine module 32 is made a more detailed description.Protocol engine module 32 provides the framework that merges a plurality of interface connector module 70-77 that communicate with the multiple mailing system of using different agreement.Protocol engine module 32 also provides common interface XML and WebDAV, and for example, client uses it to visit a plurality of email account by front-end proxy agent module 30.Be similar to the basic header of a retrieving novel mail and determine the existence of annex and size and the normal operations that do not need to download is highly effective.Directly all operations is carried out in the source, and only retrieved master data.
Protocol engine module 32 uses suitable among a plurality of interface connector module 70-77 one to visit email account.All connector modules 70-77 preferably support common application DLL (dynamic link library) (API), thereby by adding the new interface connector modules simply, make protocol engine module 32 support new agreement amount.For example, connector modules 70-77 can write with Java, although also can use other suitable language or agreements.For example, can improve the performance and the availability of total system by the protocol engine machine that a plurality of balancing dynamic loads are provided.
Similarly, protocol engine module 32 is translated as the common interface agreement from the result that mailing system 24,26,28 receives,, is translated as the agreement that client is supported, and is transferred to client so that when needed.Preferably, communicate by letter the back result of client includes only the data that client is asked.Can be with the support of mailing system agreement but the corresponding data translation of the unsupported feature of client protocol is the common interface agreement, but also can be according to default or fault processing scheme, ignore or handle it, as mentioned above.
Now, with reference to Figure 15, the protocol translation method of use agreement engine modules 32 and interface connector module 71-77 is described.150 places begin at square frame, receive request of access or order at square frame 151 places.At square frame 152, request of access is translated as the agreement that the target data system is supported.At square frame 153,, receive data from data system, and, be translated into the common interface agreement at square frame 154 in response to described request.If desired, can be at square frame 155, carrying out data translation is the further translation of client protocol, and at square frame 156, transfers data to client, thereby at square frame 157 places, finishes shown method.
Equally, depend on the special characteristic that client protocol is supported, only translate the corresponding partial data of element of the common interface agreement of supporting with client protocol.As mentioned above, can be according to default or fault processing scheme, ignore or handle unsupported interface protocol element.
Turn to Fig. 8 now, the optional embodiment of above-mentioned protocol conversion module architecture is described.Here, protocol engine module 32 adopts the form of general agency (UP) servlet (servlet) modules 80, and each interface connector module 81,82,83 and corresponding supplier module 84,85,86 are associated with different operating protocol.In the example shown, different agreements are OWA, IMAP and POP.Other or different agreements can be by corresponding supplier/connection to supports, just as one of ordinary skill in the known.
For the common interface agreement, as above-mentioned privately owned interface protocol, UP servlet module 80 receives the request of input common format, and utilizes defined interface, is translated into calling of docking port connector modules 81-83.UP servlet module 80 also receives the result that these call, and it is formatted as the common format request.Each common format request comprises the path of method request and URL form.The XML document that provides at the additional parameter of request also can be provided.
Conceptive, below 80, there is supplier module 84-86 in UP servlet module at each mailing system agreement of supporting.What suppliers reason UP servlet module 80 was made calls.As shown in the figure, each supplier have be used for the targeted mails system on being connected of communicating of source mailbox/account.At first, described connection also is supplier.
By UP servlet 80 use and the interface definition realized by supplier module 84-86 loose folder hierarchy.In fact, can be conceptualized as one group of project set.For example, project can be any other data item that message, file or contact method maybe will be represented.Each project has defined type (as mail, contact method, appointment etc.).At the interface definition of every kind of project can be used for the attribute and the action of this intermediate item.The file project comprises one group of project, and the method for enumerating the project in the file is provided.
Attachment unit interface module 81-83 provides the public mode that communicates with different supplier module/interface connector module for UP servlet module 80.Some connector modules can only be realized the subclass of agreement and/or can only support the single file (set) of project, as under the situation of POP.
Carry out at the basic procedure of typical common format request is following.UP servlet module 80 receives request, its retrieval or create suitable supplier/connection.Then, UP servlet module 80 is called suitable " obtaining file " of being associated with interface connector module or similar function, transmits the targeted mails system identifier, as is included in URL in the common format request etc.The interface link block is returned quoting some objects of having realized the file that file interface and expression are asked.In its simplest embodiment (for example POP), single object can be used as interface connector module and also represents the mailbox file.
UP servlet module 80 uses the file that returns to quote, and carries out extra calling, to satisfy the common format request.For example,, can at first call " obtaining file " function, transmit the URL that is asked, after it obtains file, will call " obtaining project " function, and transmit URL once more if UP servlet module 80 needs the project of retrieval appointment.Then, these results that call are formatted as suitable form,, and in http response, return as XML etc.
To import the decipher of URL by supplier module/interface link block, and return suitable quoting.This is also uncomplicated, because supplier module/interface link block at first provides URL.Unique URL that any interface link block all needs to know be " ".Every other URL is produced by supplier/connection.As long as the URL in hierarchical structure/set is unique, supplier just can parse correct project when calling " obtaining " function.
Supplier module 84-86 and interface link block 81-83 be the prop root file preferably.If prop root file only, if can conduct interviews by protocol engine, then inbox, calendar and contact project (suitable) should be the projects in this document folder.
According to a scheme of the present invention, provide single, the favourable mechanism of visit various protocols.This mechanism is supported the complete function of every kind of data system agreement at the client protocol of similar capabilities, and degenerates when client protocol is not supported specific data system protocol characteristic.Before request is transmitted to the destination server, will be translated as supplier/protocol-specific form with the request that common format receives.To translate back common format from the response destination server, supplier/protocol-specific form.
Also provide the mechanism of the support function of inquiring about specific supplier module, for client provides how producing the bigger control at supplier's request for client.Be written as any client of supporting common protocol form (directly or by acting on behalf of) visit to any email storage device can easily be provided, and need not to consider himself whether to have the details of email storage device supplier module/agreement.
Now, with reference to Fig. 9, to protocol apparatus 14 " another embodiment be described.Here, will with will be by protocol apparatus 14 " the user email account information that is associated of the electronic mail account of visit is stored in data-carrier store 90 " in.Each account's information preferably includes the indication of the access protocal that each electronic mail account supports.
Data-carrier store 90 " in record can arrange according to account identifier; as e-mail address etc.; perhaps according to protocol apparatus 14 " user's name that is associated arranges, thereby at data-carrier store 90 " in will be together at all electronic mail account information block of specific user.In the access protocal support for each mailing system 24 ", 26 " on all identical situation of all electronic mail accounts under, each account's information can comprise the mailing system information of the operating protocol that each mailing system of indication is supported.
Data-carrier store 91 " storage protocol engine modules 32 " tabulation of whole operating protocols of supporting and corresponding the measuring (that is ordering) of presentation protocol preference degree.Calculate these according to volumetric standards and measure, as each mailing system 24 ", 26 " feature in the degree supported by agreement and safe class of agreement etc.Also can use other standards, just as one of ordinary skill in the known.At data-carrier store 91 " in, OWA will typically have higher the measuring or sorting than MAPI, and IMAP will be higher than the ordering of POP usually.For example, can be in protocol apparatus 14 " in the local hard drive located or the database on other storeies or can on the file server that protocol apparatus is communicated by letter with it, realize data-carrier store 90 ", 91 " in each.
Protocol engine module 32 " determine that order or instruction are relevant with which (which) mailbox or account, accesses data memory 90 then " in each account's information, at each account that will visit, whether support more than one access protocal with definite.If only support an access protocal, then select this agreement.At this account, support under the situation more than an access protocal protocol engine module 32 " accesses data memory 91 " determining that the agreement which is supported is preferred or required, and select to have the agreement of being supported of maximum amount degree or ordering.At mailing system 24 ", it is selected that OWA has precedence over MAPI, and at mailing system 26 ", it is selected that IMAP has precedence over POP.
Therefore, protocol apparatus 14 " allow to use institute having great ability supported protocol, visit mailing system 24 ", 26 ".By protocol apparatus 14 ", to proxy module 34 ", 36 ", 38 ", 40 " in any one compatible mutually client provide one or more mailing systems 24 ", 26 " visit.This client itself does not need to support the access protocal or the scheme that are associated with the mailing system that will visit.
Now, with reference to Fig. 9, to use agreement interfacing equipment 14 " the system of selection of data system access protocal be described.160 places begin at square frame, at square frame 161 places, from the client received access command.Determine whether (square frame 162) will be supported more than an access protocal in response to each data system of described command access.If then select institute having great ability supported protocol at square frame 164 places.Otherwise,, select unique institute's supported protocol at square frame 163 places.At square frame 165 places, use selected agreement, visit each data system, thereby, finish shown method at square frame 166 places.Under situation about will visit, preferably,, repeat to select step in the agreement shown in the square frame 162-164 place at each data system more than a data system.
Should be noted that agreement and metric data storer 91 " typical case in the agreement ordering of optimization preference technology that just can be used according to the invention.For example, the agreement preference can be that the ordering of tabulation of institute's supported protocol is intrinsic.
When selecting agreement, also can consider except that measure or whole preference other standards.Also can influence agreement from its type that receives the client of visit order selects.For example, receiving under the situation of visit order from the POP client, the multiple enhancing feature that OWA supported can not show at the POP that is used for to equipment transmits.Be used for access protocal interfacing equipment 14 if the user only has a kind of client ", the information that then can adjust each account is with type that reflects client or the tabulation that limits institute's supported protocol according to the type of client.Otherwise another step during agreement is selected can be to determine to receive the type of the client of request of access from it.
Alternatively, always select the most capable agreement by the data system support that will visit, and during data translation is client protocol, any incompatibility between the agreement that treatment of selected access protocal and client are supported.The corresponding partial data of interface protocol element that translation is supported with client protocol, and ignore or handle unsupported interface protocol element according to default or fault processing scheme.
In general, client is usually by the proxy access server.And, the reaction time usually with cardinality of a set (for example, the quantity of the email message in the mailbox that the visit) positive correlation that will visit.By following description as can be known, the invention provides and to be used for providing the set that to visit equipment and technology by the agency than its in fact little illusion (illusion) to client.For example, the agency can only show 100 nearest in mailbox message, though mailbox itself has 2000+ message.What the present invention allowed advantageously that this agency selects to be shown to client replaces whole set than smaller subset, and need not user's experience is caused bigger impact.
More specifically, turn to Figure 10 now, another advantageous embodiment of protocol apparatus 14  is described.In general, when when client receives data access request, protocol apparatus 14  visit one or more data system 24 , 26 .But in some cases, the visit data system also provides response may cause the overtime of particular clients agreement to client, and longer than the desired stand-by period after user's request of sending of client.According to this scheme of the present invention, can be used to reduce the response time with specific data storage at protocol apparatus 14  places.
Whether more specifically, protocol engine module 32  carry out poll to 24  of data system, 26 , store at present and the data item that is configured to its user who conducts interviews is associated to determine it.For example, by setting up user account associated therewith, configure user in protocol apparatus 14 .Preferably, carry out poll according to the polling interval.The polling interval can be static predetermined polling interval or the adaptive polling that can adjust according to the generation of operating conditions or particular event at interval, just as one of ordinary skill in the known.
In response to the poll from protocol engine module 32 , given data system 24 , 26  return to protocol apparatus 14  with data item (perhaps can be used in the data item identifiers of retrieve item at least).Then, protocol engine module 32  are stored in these data item or identifier among data storage or storer 92 .
Particularly, protocol engine module 32  can determine whether to store the new data at the user in any data system 24 , 26 .For example, be under the situation of e-mail system at data system 24 , 26 , the mailbox that is associated with each user that protocol engine module 32  dispose at electronic mail access by protocol apparatus 14  inquiry.For each mailbox inquiry, email message associated unique identification symbol (UID) tabulation in the mailbox is returned and be stored in to mailing system at least.
Then, the tabulation of UID formerly at this mailbox among current UID tabulation and UID storer 92  is compared, to determine whether new information has been stored in the mailbox of mailing system.If detect new information, preferably, by protocol engine module 32  and front-end proxy agent module 30  (or another assembly of protocol apparatus 14 ) cooperation, send warning to user client, and the current UID list storage that will comprise new information is in UID storer 92 .
One of prevailing data access operation is to check the current tabulation that is stored in the data item at data system place, is to be stored under the situation of the message on the mailing system in data item especially.As mentioned above, one or more among 24  of protocol engine module 32  polling data systems, 26  are to tabulate and detect new data item according to being stored in UID among UID storer 92 .Therefore, protocol apparatus 14  have last time during the polling data system, are stored in the local UID tabulation of the data item at data system 24 , 26  places.
According to this programme of the present invention, protocol engine module 32  retrieve the UID tabulation of being stored from UID storer 92  when receiving " checking project " or similar request of access.Then, will in current polling interval, store the UID tabulation accurately and return to requesting client.This provides than receiving when request visit data 24  of system, 26  response time faster, just as one of ordinary skill in the known.
For example, under the situation of POP client, if in 30 seconds, do not receive to request responding, client timeout then.Under the POP client operated in situation on the mobile radio communication apparatus, the reaction time in the cordless communication network may cause limited very relevant delay of response time therewith.In this case, with provide in response to data access request that to store the very fast response time that UID tabulation is associated be particularly favourable.Even lacking under the situation of this time-constrain, the response time also will be improved the user experience at client place by reducing the stand-by period that sends data access request and receive between the response faster.
As mentioned above, having stored the UID tabulation is accurate in the polling interval.When in response to data access request, will store UID and tabulate when offering client, whether protocol engine module 32  preferably 24  of polling data system, 26  are still accurate to determine the having stored UID tabulation.If stored new projects since the poll, then new UID tabulation is sent to client at data system 24 , 26  places from last time.Can carry out or initiate this further poll according to the polling interval for data system 24 , 26  by data access request.
Should be understood that above description relates to " checking project " or similar data request of access.Can be by other assemblies of protocol apparatus 14  or the data access request of resume module other types.For example, as mentioned above, if desired, 30  translate these data access request by the front-end proxy agent module.
Thus, protocol apparatus 14  allow the visit to 24  of data system, 26 , and the response time at the minimizing of several data request of access is provided.By protocol apparatus 14 , to providing the one or more visit among 24  of data system, 26  with the compatible mutually client of any agreement of handling by front-end proxy agent module 30 .Client itself do not need to support and data system 24  that will visit, access protocal or scheme that 26  are associated, as mentioned above.
Now, with reference to Figure 17, the method that use agreement interfacing equipment 14  were reduced response time of data system request of access is described.170 places begin at square frame, receive data access request at square frame 171 places.Then, at square frame 172 places, determine whether that this locality stored the data relevant with data access request (be UID tabulation).Be arranged in this data under the situation of local storage 92 ,, will store data and offer requesting client at square frame 173 places.Storing data transmission to after the client, if perhaps do not store these data, at square frame 174 places, data system 24 , 26  that the polling data request of access is related.
Then, can be at square frame 175 places, carry out the optional step of determining that the polling data that receives in response to poll is whether different with storing data.If different, this means that new data is stored on data system 24 , 26 , and at square frame 176 places, the data that will receive in response to poll offer client.At square frame 177 places, it also is stored among data-carrier store 92  this locality, thereby finishes shown method (square frame 178).
As example, the data access system of each scheme and method can be applied to data storage device and other agreements and the access scheme except that above specific descriptions and agreement illustrated in the accompanying drawings and access scheme of the other types except that mailing system according to the present invention.
Additional features of the present invention can find in following undelegated application: COMMUNICATIONS SYSTEM PROVIDING REDUCED ACCESS LATENCY ANDREALTED METHODS, agent docket ID-494; COMMUNICATIONS SYSTEMINCLUDING PROTOCOL INTERFACE FOR MULTIPLE OPERATING PROTOCOLSAND RELATED METHODS, agent docket ID-493; COMMUNICATIONS SYSTEMPROVIDING EXTENSIBLE PROTOCOL TRANSLATION FEATURES AND RELATEDMETHODS, agent docket ID-507; COMMUNICATIONS SYSTEM WITH DATASTORAGE DEVICE INTERFACE PROTOCOL CONNECTORS AND RELATEDMETHODS, agent docket ID-506; COMMUNICATIONS SYSTEM PROVIDINGMULTI-LAYERED EXTENSIBLE PROTOCOL INTERFACE AND RELATEDMETHODS, agent docket ID-503; With COMMUNICATION SYSTEM INCLUDINGPROTOCOL INTERFACE DEVICE PROVIDING ENHANCED OPERATING PROTOCOLSELECTION FEATURES AND RELATED METHODS, agent docket ID-495, it is all open in the lump at this as a reference.
Example
In following example with reference to Figure 18, further describing can typical hand-held mobile radio communication facilities 1000 used in this invention.Equipment 1000 comprises shell 1200, keyboard 1400 and output device 1600.Shown in output device be display 1600, full graphics LCD preferably.Also can adopt the output device of other types.Comprise treatment facility 1800 in the shell 1200, it is connected between keyboard 1400 and the display 1600.Treatment facility 1800 is controlled the operation of display 1600 in response to the shake-up of user to the button on the keyboard 1400, and the integrated operation of mobile device 1000.
Shell 1200 can be extend longitudinally or can adopt other size and dimensions (comprising freshwater mussel formula shell mechanism).Other hardware or software that keyboard can comprise mode selecting key or be used for switching between text input and phone input.
Except treatment facility 1800, in Figure 18, schematically show the miscellaneous part of mobile device 1000.Comprise communication subsystem 1001; Short-range communication subsystem 1020; Keyboard 1400 and display 1600, and other input-output apparatus 1060,1080,1100 and 1120; And memory device 1160,1180 and multiple other equipment subsystems 1201.Preferably, mobile device 1000 is two-way RF communication facilitiess, has the voice communications versus data communications ability.In addition, preferably, mobile device 1000 has the ability that communicates by the Internet and other computer systems.
Preferably, will be stored in the permanent storage,, but also can be stored in the memory device of other types, as ROM (read-only memory) (ROM) or similar memory element as flash memory 1160 etc. by the operating system software that treatment facility 1800 is carried out.In addition, system software, specific device applications or a part wherein can be loaded in the volatile memory temporarily, as random-access memory (ram) 1180 etc.The signal of communication that mobile device is received also is stored among the RAM 1180.
Except its operation system function, treatment facility 1800 can also be on equipment 1000 executive software application program 1300A-1300N.Can during manufacture the predetermined application collection (as data and voice communication 1300A and 1300B) of controlling basic device operations be installed on the equipment 1000.In addition, can during manufacture personal information manager (PIM) application program be installed.Preferably, PIM can organization and management such as data item such as Email, calendar event, voice mail, appointment and task items.Preferably, the PIM application program can also be by wireless network 1401 item that transmits and receive data.Preferably, the pim data item is seamlessly integrated with storage or with host computer system associated device user's corresponding data item, synchronously and upgrade by wireless network 1401.
By communication subsystem 1001 and may pass through short-range communication subsystem, carry out the communication function that comprises data and voice communication.Communication subsystem 1001 comprises receiver 1500, transmitter 1520 and one or more antenna 1540 and 1560.In addition, communication subsystem 1001 also comprises processing module (as digital signal processor (DSP) 1580 etc.) and local oscillator (LO) 1601.The specific design of communication subsystem 1001 and embodiment depend on the communication network that mobile device 1000 will be operated therein.For example, mobile device 100 can comprise and being designed for and Mobitex TM, Data TAC TMOr general packet radio service (GPRS) the mobile data communication network communication subsystem 1001 of operating, and can be designed for multiple voice communication network in arbitrary network operate, as AMPS, TDMA, CDMA, PCS, GSM etc.The data and voice network of other types (separation with integrated) also can use with mobile device 1000.
Access to netwoks requires to change according to the type of communication system.For example, in Mobitex and DataTAC network, mobile device uses the unique individual's identification number or the PIN that are associated with each equipment to be registered on the network.But in GPRS network, access to netwoks is associated with the subscriber or the user of equipment.Therefore, GPRS equipment needs subscriber identity module, is commonly referred to SIM card, so that at the enterprising line operate of GPRS network.
When finishing required network registration or active program, mobile device 1000 can send and receiving communication signal on communication network 1401.To be routed to receiver 1500 by the signal that antenna 1540 receives from communication network 1401, receiver 1500 provides conversion under signal amplification, the frequency, filtering, channel selection etc., and the analog digital conversion also can be provided.The conversion of the analog digital of received signal allows DSP 1580 to carry out more complicated communication function, as the demodulation sign indicating number etc.In a comparable manner, 1580 couples of DSP will be transferred to the signal of network 1401 and handle (as modulation and coding etc.), provide it to transmitter 1520 then, carry out conversion on digital-to-analogue conversion, the frequency, filtering, amplification, and be transferred to communication network 1401 (or network) by antenna 1560.
Except process communication signals, DSP 1580 provides the control to receiver 1500 and transmitter 1520.For example, can be applied to the gain of signal of communication adaptively in receiver control 1500 and the transmitter 1520 by the automatic gaining controling algorithm in DSP 1580, realized.
Under data communication mode, handle the signal (as text message or page download etc.) that receives by communication subsystem 1001, and input processing equipment 1800.Then, be further processed to the received signal,, perhaps instead output to some other auxiliary I/O equipment 1060 so that output to display 1600 by treatment facility 1800.The equipment user also can utilize other auxiliary I/O equipment 1060 (as the input equipment of touch pad, rocker switch, thumb wheel or some other types) of keyboard 1400 and/or some to write data item, as email message etc.Then, can pass through communication subsystem 1001, the data item that transmission is write on communication network 1401.
Under voice communication mode, the integrated operation of equipment is similar to data communication mode in fact, and except the signal that will receive outputs to loudspeaker 1100, and the signal that will transmit is by beyond microphone 1120 generations.Can on equipment 1000, realize optional voice or audio frequency I/O subsystem, as speech message recording subsystem etc.In addition, under voice communication mode, also display 1600 be can use, for example, the identity of show Calls side, duration or other voice call related of audio call are used for.Short-range communication subsystem realized mobile device 100 with other near communicating by letter between system or equipments (needing not to be similar equipment).For example, short-range communication subsystem can comprise infrared equipment and interlock circuit and assembly or bluetooth TMCommunication module is enabled communicating by letter between system and the equipment so that provide with similar.
According to above description and relevant drawings, those of ordinary skills will recognize multiple modification of the present invention and other embodiment.Therefore, be to be understood that the present invention is not limited to specific embodiment disclosed herein, but tend to modification and embodiment are comprised within the scope of the appended claims.
The computer program tabulation
Program listing #1-typical case checking request
PROPFIND/ups?HTTP/1.1
Depth:O
Brief:t
Pragma:no-cache
Content-Type:text/xml
X_UP_LOGIN:svt=login.oscar,aol.com&prt=5190&ssl=0&pcol=aol&uld=******&pwd=******&pwp=
X_UP_SYNC:false
X_UP_REFRESH_CACHE:force
X_UP_NEWCON:1
User-Agent:Mozilla/4.0(compatible;MSIE?5.5;Windows?NT?5.0)
Connection:Keep-Alive
Host.loccalhost: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:inbox/>
<hm:outbox/>
<hm:sendmsg/>
<hm:sentitems/>
<hm:deleteditems/>
<hm:drafts/>
<hm:msgfolderroot/>
<up:corporatecontacts/>
<h:maxpoll/>
<h:sig/>
</D:prop>
</D:propfind>
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="um:schemas:corp?universalproxy"xmlns?c="urn:schemas:calendar:" xmlns:a="um:schemas:contacts:"xmlns:hm="urn:schemas.httpmail."xmlns:m="urn:schemas:mailheader."> <D:response>
<D:href>http://localhost9080/ups/</D:href>
<D:propstat>
<D:status>HTTP/1.1?200?OK</D_status>
<D:prop>
<hm:inbox>http://localhost9080/ups/INBOX/</hm:inbox><hm:sendmsg>http://localhost9080/ups/AOL_MAIL_SUBMISSION_URL/</hm:sendmsg>
<hm:sentitems>http://localhost:9080/ups/Sent?Items/</hm:sentitems>
<hm:msgfolderroot>http://localhost:9080/ups/</hm:msgfolderroot>
</D.prop>
</D:propsta> </D:response></D:multistatus>
The request of program listing #2-typical case inbox
Query?Folder?Capabilities:
REQUEST:
OPTlONS/ups/INBOX/HTTP/1.1
User-Agent.Mozilla/4.0(compatible;MSIE?5.5;Windows?NT?5.0)
Connection:Keep-Alive
Host?localhost9080
Cookle:JSESSIONID=C70CD1AED7D2BE210B34D93F7ACD6935
Content-Length:0
RESPONSE:
HTTP/1.1?200?OK
allow:OPTIONS,PROPFIND,MOVE,DELETE,BDELETE,BMOVE,SEARCH
dasl:<urn:schemas:corp?universalproxy?basicsearch>
Content-Type:text/plain
Content-Length:0
Date:Wed,06?Aug?2003?18.20:28?GMT
Server:Apache?Coyote/1?0
List?messages?in?INBOX:
REQUEST:
PROPFIND/ups/INBOX/HTTP/1.1
Range:rows=0-24
Deplh: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:localhost:9080
Cookie:JSESSIONID=C70CD1AED7D2BE210B34D93F7ACD6935
Content-Length:586
<?xml?version="1?0"?>
<D?propfind?xmlns?D="DAV:"xmlns:hm="um:schemas:httpmail."xmlns:m="um:schemas:mailtheader."xmlns:up="urn.schemas?corp:universalproxy">
<D:prop>
<D:uid/>
<D:isfolder/>
<D:ishidden/>
<hm:read/>
<hm:hasa:tachment/>
<hm:importance/>
<m:from/>
<m:subject/>
<m:date/>
<up:isdeleted/>
<D:getcontentlength/>
<D:contentclass/>
</D:prop>
</D:propfind>
RESPONSE:
HTTP/1.1?207?Multi-Status
Content-Range:rows?0-8;total=9
Content-Type:text/xml
Transfer-Encoding:chunked
Date:Wed.06?Aug?2003?18:20:28?GMT
Server.Apache?Coyote/1.0
<?xml?version="1.0"encoding="UTF-8"?>
<D:multistatus xmlns:D="DAV:" xmlns:up="um.schemas.corp:universalproxy"xmlns:c="um:schemas:calendar" xmlns:a="um:schemas:contacts:"?xmlns:hm="um:schemas:httpmail:"xmlns:m="um: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.1?200?OK</D: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</hm:hasattachment>
<hm:importance>1</hm:importance>
<m:from>Mail?Delivery?Subsystem?&It,MAILER-DAEMON@aol.com></m:from>
<m:subject>Returned?mail:User?unknown</m:subject>
<m:date>2003-08-05T23:12:48Z</m:date>
<up:isdeleted>0</up:isdeleted>
<D:getcontentlength>3247</D:getcontentlength>
<D:contentclass>um: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.1200?OK</D:status>
<D: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://localhost:9080/ups/INBOX/6623926;1</D:href>
<D:propstat>
<D:status>HTTP/1.1?200?OK</D:status>
<D:prop>
<D:uid>b072c3748ceff1320f9fa746f797e64b</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:xxxFVVD:Re:Test#1</m:subject>
<m:date>2003-08-05T23:07:18Z</m:date>
<up:isdeleted>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://localhost9080/ups/INBOX/6623922;1</D:href> <D:propstat>
<D:status>HTTP/1.1?200?OK</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:hasaltachment>
<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>um: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.1?200?OK</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</m: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:contentclass> </D:prop>?</D:propstat></D:response><D:response> <D:href>http://localhost:9080/ups/INBOX/6623910;1</D:href> <D:propstat>
<D:status>HTTP/1.1?200?OK</D:status>
<D:prop>
<D:uid>07cdf24a06f8e849754f90fe6dc8bf4f</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</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://localhost:9080/ups/INBOX/6623909;1</D:href> <D:propstat>
<D:status>HTTP/1.1?200?OK</D:status>
<D:prop>
<D:uid>0e79a3593253ffb9596bf9d86873f498</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</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.1?200?OK</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:hasattachmen>0</hm:hasattachment>
<hm:importance>1</hm:importance>
<mm:from>aolmbrsecurty@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>um:content-classes:message</D:contentclass>
</D:prop> </D:propstat></D:response><D:response> <D:href>http://localhost:9O80/ups/INBOX/6567082;1</D:href> <D:propstat>
<D:status>HTTP/1.1?200?OK</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:isdeleted>0</up:isdeleted>
<D:getcontentlength>10012</D:getcontentlength>
<D:contentclass>um:content-classes:message</D:contentclass>
</D:prop>
</D:propstat> </D:response>?</D:multistatus>
Program listing #3-typical 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.1?200?OK
allow:OPTIONS,PROPFIND,MOVE,DELETE,BDELETE,BMOVE,SEARCH
dasl:<urn:schemas corp?universalproxy:basicsearch>
Content-Type:text/plain
Content-Length:0
Date:Wed,06?Aug?2003?18:20:28?GMT
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?50)
Connection:?Keep-Alive
Host?locslhost:9080
Cookie:JSESSIONID=C70CD1AED7D2BE210B34D93F7ACD6935
Content-Length:922
<?xml?version="1.0"?>
<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>
</tbasicsearch>
</D:searchrequest>
RESPONSE:
HTTP/1.1?207?Multi-Status
Content-Type:text/xml
Transfer-Encoding:chunked
Date:Wed,06?Aug?2003?18:20:28?GMT
Server:Apache?Coyote/1.0
<?xml?version="1.0"encoding="UTF-8"?>
<D:multistatus xmlns:D="DAV:" xmlns:up="um:schemas:corp:universalproxy"xmlns:c="urn:schemas:calendar."xmlns:a="urn:schemas:contact:"xmlns:hm="urn:schemas:httpmail:"xmlns:m="urn:schemas:mailheader:">
<D:response>
<D:href>http://localhost:9080/ups/INBOX/</D:href>
<D:propstat>
<D:status>HTTP/1.1?200?OK</D:status>
<D:prop>
<D:uid>c90d66b2362a1a0bc3df1852021a6f63</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-MAIL/</D:href>
<D:propstat>
<D:status>HTTP/1.1?200?OK</D:status>
<D:prop>
<D:uid>cabbce34709ab79d2ad2d5334d998272</D:uid>
<D:contentclass>urn:content-classes:mailfolder</D:contentclass>
<D:displayname>VOICE-MAIL/</D:displayname>
</D:prop>
</D:propstat> </D:response></D:multistatus>
Program listing #4-Typical Disposition file
<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" />
<header?name="Content-Type" value="text/xml"/>
<header?name="Depth" value="1,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:hasattachment/>
<hm:importance/>
<m:from/>
<m:subject/>
<m:date/>
<up:isdeleted/>
<D:getcontentlength/>
<D:contentclass/>
</D:prop>
</D:propfind>
]]>
</body> </request></resource>

Claims (23)

1. communication system comprises:
A plurality of data storage devices, each data storage device use at least one in a plurality of different operating agreements;
A plurality of mobile radio communication apparatus are used to visit described a plurality of data storage device, and each mobile radio communication apparatus also can use in described a plurality of different operating agreement at least one; And
Protocol apparatus comprises:
Protocol engine module is used to use corresponding operating protocol, communicates with described a plurality of data storage devices;
The front-end proxy agent module links to each other with described protocol engine, and comprises:
Corresponding proxy module is used to use every kind of different operating protocol, communicates with described a plurality of mobile radio communication apparatus; And
At least one public core services module links to each other with described proxy module; And
Profile module links to each other with described front-end proxy agent module, is used to store with the different resource of described at least one public core services module distribute many groups of relevant different configuration files.
2. communication system according to claim 1 is characterized in that the different configuration files of described many groups comprise and corresponding elementary configuration file group of core resource batch operation and the secondary configuration file group that is used for the custom core resource allocation operations.
3. communication system according to claim 1 is characterized in that described at least one public core services module is used for routing service between described proxy module and described protocol engine module.
4. communication system according to claim 1 is characterized in that described at least one public core services module is used to visit the data from described a plurality of data storage devices.
5. communication system according to claim 1 is characterized in that described at least one public core services module is used at described a plurality of mobile radio communication apparatus, reproduces data.
6. communication system according to claim 1 is characterized in that described at least one public core services module comprises a plurality of processors, is used to make described proxy module and described protocol engine module to carry out interface.
7. communication system according to claim 6 is characterized in that described a plurality of proxy module will be converted to public access parameter from the request of access of described a plurality of mobile radio communication apparatus; And described front-end proxy agent module also comprises the stream controller module, is used to receive the described public access parameter from described a plurality of proxy modules, and selects required processor that it is handled.
8. communication system according to claim 6 is characterized in that described a plurality of processor and described protocol engine module use the common interface agreement to communicate.
9. communication system according to claim 1 is characterized in that also comprising the reconstructor module, is used for and described proxy module cooperation, at described a plurality of mobile radio communication apparatus, data is formatd.
10. communication system according to claim 9 is characterized in that also comprising extensible markup language (XML) engine modules, links to each other with described reconstructor module.
11. protocol apparatus, be used for a plurality of mobile radio communication apparatus and a plurality of data storage device are carried out interface, in described mobile radio communication apparatus and the described data storage device each is used at least one in a plurality of different operating agreements, and described protocol apparatus comprises:
Protocol engine module is used to use corresponding operating protocol, communicates with described a plurality of data storage devices;
The front-end proxy agent module links to each other with described protocol engine, and comprises:
Corresponding proxy module is used to use every kind of different operating protocol, communicates with described a plurality of mobile radio communication apparatus; And
At least one public core services module links to each other with described proxy module; And
Profile module links to each other with described front-end proxy agent module, is used to store with the different resource of described at least one public core services module distribute many groups of relevant different configuration files.
12. protocol apparatus according to claim 11 is characterized in that the different configuration files of described many groups comprise and corresponding elementary configuration file group of core resource batch operation and the secondary configuration file group that is used for the custom core resource allocation operations.
13. protocol apparatus according to claim 11, it is characterized in that described at least one public core services module is used for routing service between described proxy module and described protocol engine module, visit is from the data of described a plurality of data storage devices, and, reproduce data at described a plurality of mobile radio communication apparatus.
14. protocol apparatus according to claim 11 is characterized in that described at least one public core services module comprises a plurality of processors, is used to make described proxy module and described protocol engine module to carry out interface.
15. protocol apparatus according to claim 14 is characterized in that described a plurality of proxy module will be converted to public access parameter from the request of access of described a plurality of mobile radio communication apparatus; And described front-end proxy agent module also comprises the stream controller module, is used to receive the described public access parameter from described a plurality of proxy modules, and selects required processor that it is handled.
16. method that is used for a plurality of mobile radio communication apparatus and a plurality of data storage device are carried out interface, in described mobile radio communication apparatus and the described data storage device each is used at least one in a plurality of different operating agreements, and described method comprises:
Protocol engine module is set, and described protocol engine module is used to use corresponding operating protocol, communicates with described a plurality of data storage devices;
The front-end proxy agent module is linked to each other with described protocol engine module, and described front-end proxy agent module comprises:
Corresponding proxy module is used to use every kind of different operating protocol, communicates with described a plurality of mobile radio communication apparatus; And
At least one public core services module links to each other with described proxy module; And
Setting is at described front-end proxy agent modules configured file module, and described profile module is used to store with the different resource of described at least one public core services module distributes many groups of relevant different configuration files.
17. method according to claim 16 is characterized in that the different configuration files of described many groups comprise and corresponding elementary configuration file group of core resource batch operation and the secondary configuration file group that is used for the custom core resource allocation operations.
18. method according to claim 16, it is characterized in that described at least one public core services module is used for routing service between described proxy module and described protocol engine module, visit is from the data of described a plurality of data storage devices, and, reproduce data at described a plurality of mobile radio communication apparatus.
19. method according to claim 16 is characterized in that described at least one public core services module comprises a plurality of processors, is used to make described proxy module and described protocol engine module to carry out interface.
20. method according to claim 19 is characterized in that described a plurality of proxy module will be converted to public access parameter from the request of access of described a plurality of mobile radio communication apparatus; And described front-end proxy agent module also comprises the stream controller module, is used to receive the described public access parameter from described a plurality of proxy modules, and selects required processor that it is handled.
21. computer-readable medium, has computer-executable modules, be used for a plurality of mobile radio communication apparatus and a plurality of data storage device are carried out interface, in described mobile radio communication apparatus and the described data storage device each is used at least one in a plurality of different operating agreements, and described computer-readable medium comprises:
Protocol engine module is used to use corresponding operating protocol, communicates with described a plurality of data storage devices;
The front-end proxy agent module links to each other with described protocol engine, and comprises:
Corresponding proxy module is used to use every kind of different operating protocol, communicates with described a plurality of mobile radio communication apparatus; And
At least one public core services module links to each other with described proxy module; And
Profile module links to each other with described front-end proxy agent module, is used to store with the different resource of described at least one public core services module distribute many groups of relevant different configuration files.
22. computer-readable medium according to claim 21 is characterized in that the different configuration files of described many groups comprise and corresponding elementary configuration file group of core resource batch operation and the secondary configuration file group that is used for the custom core resource allocation operations.
23. computer-readable medium according to claim 21, it is characterized in that described at least one public core services module is used for routing service between described proxy module and described protocol engine module, visit is from the data of described a plurality of data storage devices, and, reproduce data at described a plurality of mobile radio communication apparatus.
CN 200480029394 2003-08-11 2004-02-26 Communications system providing multi-layered extensible protocol interface and related methods Pending CN1864151A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US49423403P 2003-08-11 2003-08-11
US60/494,234 2003-08-11
US10/777,936 2004-02-12

Publications (1)

Publication Number Publication Date
CN1864151A true CN1864151A (en) 2006-11-15

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 Before (1)

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

Country Status (1)

Country Link
CN (2) CN1867906B (en)

Cited By (2)

* 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
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

Families Citing this family (6)

* 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
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
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

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1106613C (en) * 1997-03-24 2003-04-23 格维康姆公司 Method and structure for wireless access to the internet
US6314108B1 (en) * 1998-04-30 2001-11-06 Openwave Systems Inc. Method and apparatus for providing network access over different wireless 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
CN100432998C (en) * 2003-08-07 2008-11-12 蒂蒙系统公司 Communication system providing reduced access latency and related methods
CN1867906B (en) * 2003-08-11 2010-06-16 蒂蒙系统公司 Communications system providing multi-layered extensible protocol interface and related methods
CN100511222C (en) * 2003-08-11 2009-07-08 蒂蒙系统公司 Communications system with data storage device interface protocol connectors and related methods

Cited By (2)

* 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
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

Also Published As

Publication number Publication date
CN1867906A (en) 2006-11-22
CN1867906B (en) 2010-06-16

Similar Documents

Publication Publication Date Title
CN1293500C (en) Data processing system and method for archiving and accessing electronic messages
CN100336352C (en) Content releasing system, descripting data releasing apparatus and content releasing method
CN1223157C (en) Receiver and method, transmitting equipment and method, recording medium and communication system
CN1154298C (en) Distributed network computing system and information exchanging device and method for said system
CN1183439C (en) Personal digital terminal and data output control system
CN1510875A (en) System and method for controlling infomation processing apparatus
CN1269337C (en) Content adaptive service control system
CN1526246A (en) Mobile instant messaging and presence service
CN1859393A (en) System and method of consulting device information
CN1575466A (en) Realization of presence management
CN1846375A (en) Between-load-and-vehicle communication system
CN1794705A (en) Method and system of instant message user to use other immediate news system
CN1703700A (en) Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display
CN1565105A (en) Handheld wireless conferencing technology
CN1928861A (en) Immediate communication client machine for project share and method thereof
CN1384689A (en) Storing and accessing method and device of multimedia message transmitting service related information
CN1969292A (en) User profile management system
CN1845505A (en) Household network device controlling method and equipment management apparatus
CN1863095A (en) Electric device and management system
CN1968251A (en) Data communication apparatus
CN1703699A (en) Method and apparatus for relaying session information from a portal server
CN1701568A (en) Multi-modal web interaction over wireless network
CN1453687A (en) Communication apparatus and system, insert module control method and recording media
CN1832457A (en) Packet communication apparatus with function enhancement module
CN1444356A (en) Data communication method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20061115