Abstract:
A method is provided for use in an XML Document Management Architecture. An Aggregation Proxy of Remote Network to use for accessing an XCAP document in the remote network is determined by performing a DNS lookup.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to a method and apparatus for use in the XML Document Management Architecture. 
       BACKGROUND 
       [0002]    According to the Open Mobile Alliance (OMA) Architecture Document “XML Document Management Architecture” (currently at OMA-AD-XDM-V2 — 0-20070724-C; XML is an abbreviation for “Extensible Markup Language”), the XML Document Management (XDM) enabler defines a common mechanism that makes user-specific service-related information accessible to the service enablers that need them. Such information is expected to be stored in the network where it can be located, accessed and manipulated (e.g. created, changed, deleted, etc.). XDM specifies how such information will be defined in well-structured XML documents, as well as the common protocol for access and manipulation of such XML documents. 
         [0003]    The XDM Specification [“XML Document Management (XDM) Specification”, Version 2.0, Open Mobile Alliance, OMA-TS-XDM_Core-V2 — 0, URL: http://www.openmobilealliance.org/] defines the features of the XDM enabler, which include the following:
       The common protocol, XML Configuration Access Protocol (XCAP) [IETF RFC 4825 “The Extensible Markup Language (XML) Configuration Access protocol (XCAP)”, J. Rosenberg, May 2007, URL: http://www.ietf.org/rfc/rfc4825.txt], by which Principals can store and manipulate their service-related data, stored in a network as XML documents.   The SIP (Session Initiation Protocol) subscription/notification mechanism by which Principals can be notified of changes to such documents.   The mechanism by which Principals can search service-related data stored in a network as XML documents using limited XQuery [W3C Recommendation “XQuery 1.0: An XML Query Language”, Scott Boag et al, Jan. 23 2007, World Wide Web Consortium (W3C), URL: http://www.w3.org/TR/xquery].       
 
         [0007]    Documents accessed and manipulated via XCAP are stored in logical repositories in the network, called XDMS (XDM Server). Each repository may be associated with a functional entity which uses its data to perform its functions. 
         [0008]    Each XML document stored in an XDMS is described as an XCAP Application Usage, which enables applications to use the document via XCAP. The XDM enabler describes Application Usages which can be reused by multiple enablers and are stored in the Shared XDMSs, of which there are four types: Shared List XDMS, Shared Group XDMS, Shared Policy XDMS and Shared Profile XDMS. The documents supported by these XDMSs are as follows:
       URI List and Group Usage List documents in the Shared List XDMS [“Shared List XDM Specification”, Version 2.0, Open Mobile Alliance, OMA-TS-XDM_Shared-V2 — 0, URL: http://www.openmobilealliance.org/];   Group document in the Shared Group XDMS [“Shared Group XDM Specification”, Version 1.0, Open Mobile Alliance, OMA-TS-XDM_Shared_Group-V1 — 0, URL: http://www.openmobilealliance.org/];   User access policy document in the Shared Policy XDMS [“Shared Policy XDM Specification”, Version 1.0, Open Mobile Alliance, OMA-TS-XDM_Shared_Policy-V1 — 0, URL: http://www.openmobilealliance.org/]; and       
 
         [0012]    User Profile document in the Shared Profile XDMS [“Shared Profile XDM Specification”, Version 1.0, Open Mobile Alliance, OMA-TS-XDM_Shared_Profile-V1 — 0, URL: http://www.openmobilealliance.org/]. 
         [0013]    In addition to the above documents, the XDM Enabler also defines the Extended Group Advertisement. 
         [0014]    Due to the reusable nature of the XDM enabler, there will be interactions with other service enablers, and therefore, the architectural design of the XDM enabler accommodates the needs of those enablers. 
         [0015]    It can be seen that the XML Document Manager (XDM) provides an architecture for managing service specific data. The XML Document Management defines a common mechanism that makes user-specific service-related information accessible to the service enablers that need them. The service-specific information is expressed and exchanged by means of XML documents, and this information is stored in the network where it can be located, accessed and manipulated (created, changed, deleted, etc.). The network entity assumed responsible for storing and manipulation of such information is the XDM Server (XDMS). 
         [0016]      FIG. 1  of the accompanying drawings illustrates some of the network entities defined in the above-referenced OMA Architecture Document. In  FIG. 1 , two XDM Clients  2 - 1  and  2 - 2  are in communication with respective different XDM Servers  6 - 1  and  6 - 2  via an Aggregation Proxy  4 . The XDM Clients  2 - 1  and  2 - 2  are client entities that provide access to the various XDMS features. They provide an end user with the possibility to create, modify or delete an XML document, and by that create, modify or delete service specific data. The Aggregation Proxy  4  is the contact point for the XDM Clients  2 - 1  and  2 - 2  to access XML documents stored in any XDM Server; the Aggregation Proxy  4  performs functions like authentication or routing of requests. The XDM Servers  6 - 1  and  6 - 2  hold the service specific data, and implement the procedures to create, modify or delete such data. 
         [0017]      FIG. 2  shows in more detail the currently-proposed XML Document Management Architecture solution, this Figure being extracted from the OMA-AD-XDM-V2 — 0-20070724-C document. Parts shown in  FIG. 2  will now be described. 
         [0018]    According to OMA-AD-XDM-V2 — 0-20070724-C, the Aggregation Proxy of  FIG. 2  is the contact point for the XDMC (XDM Client) to access XML documents stored in any XDMS. The Aggregation Proxy performs the following functions: (a) performs authentication of the XDMC; (b) routes individual XCAP requests to the correct XDMS or Aggregation Proxy of Remote Network; (c) routes individual Search requests to the Search Proxy; (d) optionally performs compression/decompression; and (e) supports secure data transfer between the Aggregation Proxy and the Aggregation Proxy of Remote Network, using TLS or other means. 
         [0019]    The Search Proxy of  FIG. 2  is the contact point for the XDMC to search information from XML documents stored in any XDMS. The Search Proxy performs the following functions: (a) forwards search requests to the XDMS, also to the Aggregation Proxy of Remote Networks when needed; (b) receives responses from the XDMS, and from the Aggregation Proxy of Remote Networks when needed; (c) combines results from the XDMS, and also from the Aggregation Proxy of Remote Networks before sending responses to the XDMC; (d) sends search responses to the XDMC; and (e) supports secure data transfer between Search Proxy and the Aggregation Proxy of Remote Network, using TLS or other means. 
         [0020]    The Aggregation Proxy of Remote Network of  FIG. 2  is the contact point for a trusted network to access XML documents stored in any XDMS of the remote network. The Aggregation Proxy of Remote Network performs the following functions: (a) performs authorization of the trusted network; (b) routes individual XCAP requests to the correct XDMS; (c) routes individual search requests to the Search Proxy; (d) optionally performs compression/decompression; (e) supports secure data transfer between the Aggregation Proxy of Remote Network and the trusted network, using TLS or other means. 
         [0021]    The XDM- 8  reference point of  FIG. 2  is between the Aggregation Proxy and the Aggregation Proxy of Remote Network. The protocol for the XDM- 8  reference point is XCAP. The XDM- 8  reference point provides the following functions: (a) secure data transfer between the Aggregation Proxy and the Aggregation Proxy of Remote Network; and (b) forwarding of requests/responses to the Aggregation Proxy of Remote Network. 
         [0022]    The XDM- 9  reference point of  FIG. 2  is between the Search Proxy and the 
         [0023]    Aggregation Proxy of Remote Network. The protocol for the XDM- 9  reference point is “Limited XQuery over HTTP”. The XDM- 9  reference point provides the following functions: (a) secure data transfer between the Search Proxy and the Aggregation Proxy of Remote Network; (b) forwarding of search requests/responses between the Search Proxy and the Aggregation Proxy of Remote Network. 
         [0024]    In this OMA defined XDM solution it would be possible to fetch XCAP documents and search for information in XCAP documents in another operator&#39;s domain using an NNI (Network-to-Network Interface). 
         [0025]    The traffic to the remote network is routed via an Aggregation Proxy entity of the remote network (Aggregation Proxy of Remote Network). The protocol used is HTTP over some secure transport, such as for example TLS (Transport Layer Security). The requesting network requires some kind of service agreement with the remote network in order to be accepted by the remote network. 
         [0026]    The OMA defined solution for NNI between domains specifies that the address to the Aggregation Proxy of Remote Network is inserted using a configuration in the servers that contact the Aggregation Proxy of Remote Network. 
         [0027]    The solution also assumes that other parameters like the XCAP Root URI of the remote domain is known by the calling servers. 
         [0028]    As the name of an Aggregation Proxy of Remote Network may be changed by the service provider, this means that all other service providers that have a service agreement with this operator also must change their configuration. 
         [0029]    There also exist situations when the service provider for a domain is changed from one service provider to another service provider. One example is when a user has their own domain and has an agreement with one service provider to host the XDM and SIP traffic for this domain and wants to change service provider. 
         [0030]    It is desirable to address the above-mentioned issues. 
       SUMMARY 
       [0031]    According to a first aspect of the present invention there is provided a method for use in an XML Document Management Architecture, comprising determining an Aggregation Proxy of Remote Network to use for accessing an XCAP document in the remote network, the Aggregation Proxy of Remote Network being determined by performing a DNS lookup. 
         [0032]    The method may comprise performing a DNS lookup for an SRV record of the DNS provided particularly for the purpose of identifying an Aggregation Proxy of Remote Network and having a service name identifying it as such. 
         [0033]    The method may comprise sending a DNS Query to obtain TXT information relating to the determined Aggregation Proxy of Remote Network. 
         [0034]    The step of determining the Aggregation Proxy of Remote Network may comprise determining its host name and/or address. 
         [0035]    The DNS lookup may specify a domain of the remote network. 
         [0036]    The step of accessing may comprise at least one of: reading, creating, modifying and deleting. 
         [0037]    The method may comprise performing the steps in an Aggregation Proxy and/or a Search Proxy of the local network. 
         [0038]    According to a second aspect of the present invention there is provided an apparatus for use in an XML Document Management Architecture, comprising means for determining an Aggregation Proxy of Remote Network to use for accessing an XCAP document in the remote network, the Aggregation Proxy of Remote Network being determined by performing a DNS lookup. 
         [0039]    The apparatus may comprise an Aggregation Proxy and/or a Search Proxy of the home network. 
         [0040]    According to a third aspect of the present invention there is provided a Dynamic Name Server comprising at least one SRV record provided particularly for the purpose of identifying an Aggregation Proxy of Remote Network of an XML Document Management Architecture and having a service name identifying it as such. 
         [0041]    The or each SRV record may comprise a host name or address of the Aggregation Proxy of Remote Network to which it relates. 
         [0042]    The or each SRV record may comprise an indication of a domain that is served by the Aggregation Proxy of Remote Network to which it relates. 
         [0043]    The Dynamic Name Server may comprise at least one TXT record for holding additional information relating to an Aggregation Proxy of Remote Network. 
         [0044]    According to a fourth aspect of the present invention there is provided a program for controlling an apparatus to perform a method according to the first aspect of the present invention or which, when loaded into an apparatus, causes the apparatus to become an apparatus according to the second or third aspect of the present invention. The program may be carried on a carrier medium. The carrier medium may be a storage medium. The carrier medium may be a transmission medium. 
         [0045]    According to a fifth aspect of the present invention there is provided an apparatus programmed by a program according to the fourth aspect of the present invention. 
         [0046]    According to a sixth aspect of the present invention there is provided a storage medium containing a program according to the fourth aspect of the present invention. 
         [0047]    By using an embodiment of the present invention it is no longer required to change the configuration in all severs in all domains that have an agreement with a certain domain to fetch or search for XCAP data (which is currently the case). It is sufficient to change data in one place in the network: that is in the DNS server serving the remote domain. It is also possible to have “service provider portability” for a domain in a simple way as it is only required to update one&#39;s own DNS when changing service provider for one&#39;s own domain. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0048]      FIG. 1 , discussed hereinbefore, is a block diagram schematically illustrating network entities of an existing XML Document Management Architecture solution; 
           [0049]      FIG. 2 , also discussed hereinbefore, shows the currently-proposed XML Document Management Architecture solution in more detail, and is from OMA-AD-XDM-V2 — 0-20070724-C; 
           [0050]      FIG. 3  is a schematic block diagram illustrating parts of an embodiment of the present invention; 
           [0051]      FIG. 4  is a schematic flowchart illustrating steps performed in an embodiment of the present invention; and 
           [0052]      FIG. 5  is a schematic block diagram illustrating parts of an embodiment of the present invention in more detail. 
       
    
    
     DETAILED DESCRIPTION 
       [0053]    An embodiment of the present invention provides a solution to the detection of remote XDM Aggregation Proxy servers (Aggregation Proxies of Remote Network) and their configuration for a domain by using the DNS (Domain Name System; see RFC 2181 at http://www.ietf.org/rfc/rfc2181.txt and RFC 2782 at http://www.ietf.org/rfc/rfc2782.txt). DNS is used to keep track of the host name of the Aggregation Proxy of Remote Network and other parameters related to the remote XDM service. 
         [0054]    This is functionality is provided in an embodiment of the present invention by defining a new SRV record (or Service record; see RFC 2782). According to RFC 2782, a SRV record holds the following information:
       Service: the symbolic name of the desired service.   Proto: the symbolic name of the desired protocol.   Name: The domain this record refers to.   TTL: standard DNS time to live field [RFC 1035].   Class: standard DNS class field [RFC 1035].   Priority: the priority of this target host.   Weight: a relative weight for entries with the same priority.   Port: the port on this target host of this service.   Target: the domain name of the target host.       
 
         [0064]    An embodiment of the present invention defines a new type of SRV record with a new service name, e.g. “remote_XDM”, in the DNS, and a number of new TXT keys (see RFC 1464 at ftp://ftp.rfc-editor.org/in-notes/rfc1464.txt), e.g. “RemoteXCAPURI=” related to the Aggregation Proxy of Remote Network. DNS TXT records are used to store arbitrary name/value pairs conveying additional information about the named service; certain protocols use this field to store protocol-specific data. In this context, “remote_XDM” is used to supply the actual host address of the Aggregation Proxy of Remote Network that is serving a certain domain. 
         [0065]    In an embodiment of the present invention, before a server contacts an Aggregation Proxy of Remote Network, it performs a DNS lookup for the SRV record of a remote domain using the service name “remote_XDM” to obtain the host name/address of the server. It then uses this host address to find and contact the correct physical server. The defined TXT record include keys the calling server will use to fetch other dynamic data needed for the connection to the domain. 
         [0066]    As a specific example, a server that needs to contact an Aggregation Proxy of Remote Network performs a DNS Query of the type: 
         [0000]      _remote_XDM._tcp-ericsson.com, QCLASS=IN, QTYPE=SRV 
         [0000]    to obtain the host address of the Aggregation Proxy of Remote Network serving domain=ericsson.com. The server will also perform a DNS QUERY for QTYEP=TXT to obtain the other parameters. 
         [0067]      FIG. 3  is a schematic block diagram illustrating parts of an embodiment of the present invention.  FIG. 4  is a schematic flowchart illustrating steps performed in an embodiment of the present invention.  FIG. 5  is a schematic block diagram illustrating parts of an embodiment of the present invention in more detail. 
         [0068]    Referring to  FIGS. 3 to 5 , an XDM Client  20  is in communication with a (local) Aggregation Proxy  40  to request access to (e.g. to read, create, modify or delete) an XCAP document in a remote network. This request is received in step S 1  by the Aggregation Proxy  40 . In step S 2 , the Aggregation Proxy  40  sends a DNS Query to the DNS  80 , which is received in step S 3  by the DNS  80 . The DNS Query comprises at least the service name (e.g. “remote_XDM”), query type (e.g. “SRV”) and the remote domain (e.g. “tcp-ericsson.com”) to enable the DNS  80  to determine a suitable Aggregation Proxy of Remote Network to be used. 
         [0069]    In step S 4 , the DNS  80  performs a lookup to find an SRV record that matches the information received in the DNS Query in step S 3 , and this results in the Aggregation Proxy of Remote Network  60  being identified. Details of the Aggregation Proxy of Remote Network  60  found in step S 4  are sent to the Aggregation Proxy  40  in step S 5 , such as the host name and/or address of the Aggregation Proxy of Remote Network  60 . 
         [0070]    These details are received by the Aggregation Proxy  40  in step S 6 , and this allows the Aggregation Proxy  40  to arrange for access to be provided for the XDM Client  20  to the requested XCAP Document via the Aggregation Proxy of Remote Network  60  determined from the DNS lookup. 
         [0071]    Parts of the Aggregation Proxy  40  and DNS  80  for performing the steps of  FIG. 4  are illustrated schematically in  FIG. 5 , with parts P 1  to P 7  of  FIG. 5  being adapted to perform the steps S 1  to S 7  respectively of  FIG. 4 . 
         [0072]    Although  FIGS. 3 to 5  describe a situation in which the (local) Aggregation Proxy  40  is performing a DNS lookup before contacting the Aggregation Proxy of Remote Network  60 , an embodiment of the present invention applies equally to any server in the local network that has a need to contact an Aggregation Proxy of Remote Network; for example a Search Proxy can also perform such a DNS lookup in a corresponding manner. A local Aggregation Proxy might be used when an XDMC needs to access a remote domain. This is one of the advantages with a solution according to an embodiment of the present invention: it is not required to configure every server that might need to contact an Aggregation Proxy of Remote Network with the hostname of the Aggregation Proxy of Remote Network for every domain. 
         [0073]    It will be appreciated that operation of one or more of the above-described components can be controlled by a program operating on the device or apparatus. Such an operating program can be stored on a computer-readable medium, or could, for example, be embodied in a signal such as a downloadable data signal provided from an Internet website. The appended claims are to be interpreted as covering an operating program by itself, or as a record on a carrier, or as a signal, or in any other form.