US20070180127A1 - Preconfigured syncml profile categories - Google Patents

Preconfigured syncml profile categories Download PDF

Info

Publication number
US20070180127A1
US20070180127A1 US11/617,253 US61725306A US2007180127A1 US 20070180127 A1 US20070180127 A1 US 20070180127A1 US 61725306 A US61725306 A US 61725306A US 2007180127 A1 US2007180127 A1 US 2007180127A1
Authority
US
United States
Prior art keywords
client
server
profile
syncml
preconfigured
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.)
Abandoned
Application number
US11/617,253
Inventor
Janne Vuori
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.)
Conversant Wireless Licensing SARL
2011 Intellectual Property Asset Trust
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Priority to US11/617,253 priority Critical patent/US20070180127A1/en
Assigned to NOKIA CORPORATION reassignment NOKIA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VUORI, JANNE
Publication of US20070180127A1 publication Critical patent/US20070180127A1/en
Assigned to MICROSOFT CORPORATION, NOKIA CORPORATION reassignment MICROSOFT CORPORATION SHORT FORM PATENT SECURITY AGREEMENT Assignors: CORE WIRELESS LICENSING S.A.R.L.
Assigned to NOKIA 2011 PATENT TRUST reassignment NOKIA 2011 PATENT TRUST ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NOKIA CORPORATION
Assigned to 2011 INTELLECTUAL PROPERTY ASSET TRUST reassignment 2011 INTELLECTUAL PROPERTY ASSET TRUST CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: NOKIA 2011 PATENT TRUST
Assigned to CORE WIRELESS LICENSING S.A.R.L reassignment CORE WIRELESS LICENSING S.A.R.L ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: 2011 INTELLECTUAL PROPERTY ASSET TRUST
Priority to US14/987,468 priority patent/US9807166B2/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION UCC FINANCING STATEMENT AMENDMENT - DELETION OF SECURED PARTY Assignors: NOKIA CORPORATION
Priority to US15/722,541 priority patent/US10419535B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles

Definitions

  • aspects of the invention relate generally to a method and device for handling synchronization related information between portable and/or mobile devices and databases.
  • Data of portable terminals such as portable computers, PDA terminals (personal digital assistant), mobile stations or pagers
  • PDA terminals personal digital assistant
  • data of calendar and e-mail applications are typically synchronized between desktop computers or other databases and portable devices.
  • additional devices may include the ability to synchronize information.
  • a digital camera may be able to synchronize pictures with a central picture managing server, providing an easy way to upload images from a digital camera.
  • SyncML synchronized markup language
  • XML extensible markup language
  • the synchronization markup language (SyncML) technology is an open specification for data synchronization.
  • synchronization takes place between a terminal device (e.g., a mobile phone) and a server device (e.g., an application in a local PC).
  • the SyncML client the mobile phone
  • SyncML server the PC
  • the coding or decoding/parsing of SyncML document can be performed by separate application components available to end-user applications (for instance, a user interface).
  • the use of the SyncML protocol provides interoperability between different devices when trying to synchronize information between them.
  • each instance of the server generally requires a separate profile on the client with its own session history for each server. Unless the separate profile exists for a server, the client refuses the synchronization requests from the server.
  • the profile creation process commonly involves opening a SyncML configuration utility, creating a new profile for a new server on the client, and defining one or more settings to permit communication with the new server. Only after manual creation of the profile does the client permit synchronization with the server. This manual interaction may prohibit the adoption of SyncML as a usable standard among various platforms.
  • SyncML-enabled cell phone may continually attempt to sync with the server in the car yet timeout because of the lack of an appropriate profile on the client. This is a poor user experience.
  • aspects of the invention relate to providing a system and method that promote easy activation of new servers for client devices (which may or may not include portable devices or mobile devices).
  • client devices which may or may not include portable devices or mobile devices.
  • the client may automatically create a new profile for a newly uncovered server based on preconfigured profiles.
  • the preconfigured profiles may or may not be hidden from a user.
  • FIG. 1 shows various devices that may be interconnected using the SyncML protocol in accordance with aspects of the present invention.
  • FIG. 2 shows the interaction between applications using a SyncML framework in accordance with aspects of the present invention.
  • FIG. 3 shows synchronization between a client and server and accordance with aspects of the present invention.
  • FIG. 4 shows initialization between a client and a server in accordance with aspects of the present invention.
  • FIG. 5 shows an example of the conventional manual creation of a new profile on a client by a user.
  • FIG. 6 shows the creation of a new profile by the client based on discovery of a new server in accordance with aspects of the present invention.
  • FIG. 7 shows the creation of a new profile by the client based on discovery of a new remote server in accordance with aspects of the present invention.
  • FIG. 8 shows a process for retrieving a hidden, preconfigured SyncML profile in a client in accordance with aspects of the present invention.
  • FIG. 9 shows the retrieval and use of a preconfigured SyncML profile based on discovery of a new server in accordance with aspects of the present invention.
  • FIG. 10 shows the retrieval and use of a preconfigured SyncML profile based on discovery of a new remote server in accordance with aspects of the present invention.
  • FIG. 11 shows an illustrative example of the storage and the retrieval of a hidden, preconfigured SyncML profile in accordance with aspects of the present invention.
  • FIG. 1 shows the various devices between which synchronization based on the synchronization markup language (SyncML) may occur.
  • a certain database content of preferably mobile terminals may be harmonized with database content provided by designated devices.
  • mobile terminals act as synchronization clients harmonizing or synchronizing certain pre-defined data with the content of a database or several databases provided by dedicated server devices.
  • FIG. 1 illustrates a plurality of possible client devices and server devices for the synchronization operation.
  • client devices may be mobile stations like mobile phones 105 or personal digital assistants (PDA), mobile computers like notebooks 101 , 106 , digital cameras 104 or desktop computers 103 .
  • PDA personal digital assistants
  • dedicated synchronization server devices may include desktop computers like personal computer 103 , a dedicated network server 102 or even a mobile computer as notebook 101 , 106 .
  • client device functionality is not limited to mobile terminals as described above although the presented concept of synchronization is described in view of mobile terminals connected to dedicated serving devices.
  • client devices may include mobile and/or portable devices (including but not limited to cell phones, PDAs, notebook computers, and the like) and non-mobile/non-portable devices (including but not limited to desktops, televisions, video projection systems, corded telephones, various household appliances, multi-function printers, and the like).
  • the participating synchronization devices, the client device and the server device offer the possibility of using the SyncML synchronization service in order to harmonize data stored in both the client device and the server device. Therefore, the SyncML synchronization service allows the establishment of a synchronization session via a logical end-to-end connection between the participating devices.
  • the SyncML synchronization service itself is based on the exchange of a synchronization document, which may be divided into a plurality of messages, comprising instructions in order to synchronize the data.
  • the client device may include a dedicated synchronization client agent implementing the SyncML synchronization protocol for controlling the communication of the corresponding messages, whereas the server device includes a dedicated synchronization server agent implementing also the SyncML synchronization protocol.
  • the synchronization protocol may control communication of the corresponding messages.
  • the system may further include a synchronization server engine for analyzing which changes have to be made in accordance with the synchronization document.
  • the synchronization may be understood as harmonizing data in accordance with the analysis results, e.g., modifying, replacing, deleting or similar operation of the data of the database but also the sending back of a synchronization message to the client device in order to process data stored therein.
  • the term database is to be understood broadly as referring to a set of data of any data source or data storage that can be updated by one and more applications.
  • the assigning of the term client device and server device, respectively, may based on the place of the analyzing operation.
  • the synchronization server operates the necessary analyzing of the synchronization.
  • the analyzing operation is operated by the server device, since the server device offers usually higher processing capabilities in comparison to the client device.
  • a processing device may also act as a client device and as a server device.
  • the description above has introduced the synchronization service based on the SyncML synchronization standard.
  • the following description will describe components of the client device and the server device, adapted for synchronizing content in accordance with the SyncML synchronization standard.
  • FIG. 2 shows components of a client device and a server device which allow a synchronization operation between the client device and a server device based on the SyncML synchronization standard.
  • a server application A 201 represents a networked service that provides synchronization with another counterpart client application B 211 .
  • the synchronization data may be provided or processed by the server application 201 or client application 212 , respectively.
  • the server application 201 is hosted by the server 200 , which may be a server device corresponding with the server device mentioned with reference to FIG. 1 .
  • the client application 211 is hosted by the client 212 , which may be a client device corresponding with the client device mentioned with reference to FIG. 1 .
  • the synchronization is performed between a server 200 and a client 212 .
  • the server 200 and client 212 are connected over any network.
  • the network provides a logical communication connection between the server 200 and client 212 , allowing the establishment of the end-to-end communication during the synchronization which may be termed as a synchronization session.
  • the server 200 and client 212 may include inputs for receiving communication from each other, directly or indirectly. Further, the client 212 and server 200 may include various processors and storage systems that support the SyncML data synchronization processes.
  • the client 212 may use the synchronization client agent 210 to access the network and send messages to the server via the synchronization adapter 207 and synchronization interface 208 .
  • SyncML XML objects may be exchanged between SyncML adaptors 206 and 207 , using transport layer 209 .
  • the server 200 or server application 201 through the synchronization server agent 203 , receives or sends messages, and manages the entire synchronization process through the synchronization server engine 202 .
  • Synchronization operations are conceptually bound into a synchronization package, which is a conceptual frame for one or more required synchronization messages.
  • a synchronization message is a well-formed extended markup language (XML) document identified by the SyncML root or document element type.
  • the document consists of a header (SyncHdr element type) and a body (SyncBody element type).
  • the header specifies over all routing and versioning information, while the body is a container for one or more SyncML synchronization instructions.
  • the instructions are containers for other element types that describe the specifics of the instruction, including any synchronization data or meta-information.
  • SyncML data formats a common set of media types for commonly accepted information such as calendars and contacts
  • SyncML capabilities exchange in which a SyncML client and server determine what device, user, and application features each supports
  • a mobile phone acts as the SyncML client 212
  • a server acts as the SyncML server 200
  • the client 212 sends a message to the server 200 regarding changes to data made on the client 212 .
  • the server 200 then synchronizes the data within the SyncML messages with data stored on the server 200 , and returns modifications back to the client 212 .
  • the client 212 contains a synchronization client agent 210 , and typically has the role of sending modifications first to the server 200 .
  • the client 212 is typically a mobile phone or PDA, and must also be capable of receiving messages back from the server 200 .
  • the server 200 contains the synchronization server agent 203 and the synchronization server engine 202 , and usually waits for the client 212 to initiate synchronization, although the server 200 can initiate synchronization if unsolicited instructions are supported on the transport protocol level.
  • FIG. 3 shows a data synchronization client 301 exchanging messages with a data synchronization server 302 .
  • the data synchronization client 301 may send SyncML messages and client modifications to data synchronization server 302 .
  • the data synchronization server 302 may send SyncML messages and server modifications to data synchronization client 301 .
  • FIG. 4 shows an initialization process between client 401 and server 402 .
  • client 401 sends client initialization with client credentials and device information 403 to server 402 .
  • server 402 sends server initialization information with server credentials including initial management operations and/or user interaction commands from the server 404 to the client 401 .
  • FIG. 4 shows the client and server initialization processes after server 402 has been activated for use with the client 401 .
  • the process for activating a server with a client is showing with respect to FIG. 5 .
  • FIG. 5 shows client 401 , new server 502 , and user 501 .
  • a client is modified to activate a server for its first use with the client.
  • new server 502 sends a synchronization request 504 to client 401 .
  • client 401 may send a denial 505 of the synchronization request 504 .
  • client 401 may send a request to user 501 regarding new server 502 's synchronization request 504 .
  • the user 501 may create a new profile on client 401 as shown by arrow 507 . It is noted here that the creation of the new profile is a manual process performed by user 501 .
  • the client may include one or more processors that control the creation of the profile as well as using a storage to store the profile.
  • FIG. 6 shows client 401 automatically creating a new profile for the new server 502 .
  • client 401 may create a new profile for the server as shown by arrow 601 .
  • the profile may be generated using default client configuration information as well as information provided from new server 502 .
  • One of the benefits of having the client perform the automatic profiling of new server 502 is that the synchronization process may begin within the same session.
  • the client may send initialization information as shown by arrow 508 to new server 502 .
  • the server 502 may send server initialization information 509 to client 401 .
  • the rest of the synchronization process may occur as shown in FIG. 1 .
  • the local synchronization host address for the local server may be a local IP address (http://10.0.0.x for instance) or some other shared identification between the client and server.
  • the shared information may define which client profile and session history is used.
  • the software that operates the synchronization procedures on the client may be in the form of a program that is executed by the client.
  • the program may be stored in a storage medium including but not limited to a RAM, ROM, Flash memory, hard drive, optical memory, magneto-optical memory, and the like. Further the program may be permanently or only temporarily stored in the memory.
  • FIG. 7 shows a similar profile creation process to that of FIG. 6 .
  • the server is a new remote server 701 .
  • One of the issues associated with new remote servers 701 is that there is a greater likelihood of fraud or malicious phishing for information possible from remote entities.
  • users may or may not be asked to authorize a profile creation for a new remote server 701 in client 401 .
  • client 401 may send request 702 to a user 501 (for instance, a visual alert on a user interface).
  • the user 501 may then respond by authorizing 703 the new profile creation.
  • the client 401 may then create ( 601 ) the new profile for the new remote server 701 .
  • the remaining client and server initializations 508 , 509 may occur as above.
  • client 401 may wish to authenticate that the user 501 is indeed the correct user. To do this, client 401 may send an authentication request 704 to user 501 , to which the user 501 responds with response 705 .
  • the server sends unique identification information so that client is able to separate the different server instances from each other.
  • the server can generate its unique identification information, for example, randomly or from license key, hardware configuration or separate protected identity module.
  • the client can also identify the server indirectly, for example, from IP address or OBEX capability serial number from information received from the server. The client may accordingly create separate profiles for each unique instance of the server.
  • a car adaptor may act as a SyncML server and attempt to connect to a SyncML client (for instance, a phone) to exchange data.
  • the car adaptor (or kit) may wish to retrieve a user's address book to permit a user to access the address book using the car's user interface rather than the phone's user interface.
  • the server (the car adaptor) is local.
  • the client may then automatically configure a new profile for the car adaptor without user interaction.
  • synchronization may continue without user input.
  • a remote SyncML server is trying to connect over the air to a SyncML client (for instance, a phone) to exchange data.
  • a SyncML client for instance, a phone
  • the SyncML client configures the profile automatically (with user confirmation) and synchronization can continue.
  • the SyncML client may create a new synchronization profile for every separate instance of an unknown data synchronization server using available information on the client and/or from the new server.
  • the profile information may include one or more of the following:
  • At least one benefit for creating new profiles by the client is that creating new profiles automatically allows ad hoc configuration and improves usability. For example, a synchronization service provider can activate and actually start a first synchronization during the same session. For example, separate sessions are not needed.
  • a new server is requesting synchronization with a client, the client may start creating a new profile based on the synchronization request.
  • the process for creating the new profile is described herein.
  • the new profile may contain both information regarding the server (at least one of directly provided information (for example, server ID) or implicit information (IP address of server retrieved from packet header)) and default settings.
  • the client acts like the new server was previously known to the client.
  • the client may then request a slow synchronization with the server.
  • synchronization may start between the client and server.
  • the server may or may not limit the content types from the client as based on a default configuration on either the server or client. If limited in the current session, the next synchronization session (either client or server initiated) may then permit synchronization of the previously non-synchronized content types. In the next synchronization session, the already existing profile can be used so the client-server binding and session history from the first synchronization remain valid.
  • FIG. 8 shows a process for retrieving a hidden, preconfigured SyncML profile in a client in accordance with aspects of the present invention.
  • a client receives a synchronization message from a server.
  • the client determines if a matching profile for the specific server already exists in the client. If a matching profile does exist in the client, the client retrieves the stored profile in step 803 and continues with the synchronization with the server in step 804 . If the client does not have any profile for the specific server, then the client attempts to match the server with a preconfigured profile in step 805 .
  • the preconfigured profile may or may not be hidden from access by the user.
  • having the existence of the preconfigured profile exposed to the user provides the user with a better understanding and appreciation that the client may readily communicate with a number of different servers.
  • the client retrieves the preconfigured profile in step 808 and conducts synchronization with the server in step 804 .
  • the client may or may not need to perform additional configuration steps to communicate with or improve its commutation with the server.
  • the client may attempt to create a new profile in step 806 as described above and conducts synchronization with the server in step 804 .
  • the client may not perform synchronization because it lacks a profile for use with the new server as shown in step 807 .
  • steps 806 and/or 807 the user may or may not be alerted by the client that a new server has been found in the status of synchronization between the client and server.
  • the server may automatically attempt to synchronize with a new client.
  • the server may request confirmation from a user to prevent accidental data exchange.
  • the server may request confirmation prior to sending initialization information in step 509 .
  • the server may request confirmation prior to actually synchronizing information with the client after a step 509 .
  • FIG. 10 shows the retrieval and use of a preconfigured SyncML profile based on discovery of a new remote server in accordance with aspects of the present invention.
  • steps 901 - 903 may be performed in accordance with the description of FIG. 9 .
  • FIG. 11 shows an illustrative example of the storage and the retrieval of a hidden, preconfigured SyncML profile in accordance with aspects of the present invention.
  • FIG. 11 shows a storage 1101 associated with the client.
  • Storage 1101 includes one or more profiles 1102 .
  • the profiles may include previously configured profiles 1103 - 1104 for servers 1 -N.
  • Profiles 1102 may optionally further include a default profile for new servers 1106 .
  • Profiles 1102 may further include preconfigured profiles 1107 - 1108 for servers 2 -M.
  • Preconfigured profiles 1107 - 1108 for servers 2 -M may or may not be hidden from a user.
  • one of the default profile 1106 and preconfigured profiles 1107 - 1108 may be used to create a new profile 1105 for new server N+1.
  • the client may or may not further configure new profile 1105 to comport with new server N+1.
  • the hidden profiles may be issued by or licensed to enterprise partners or third-party developers. These enterprise partners or third-party developers may desire to have their profiles placed in all SyncML clients or a subset.
  • access to a range of devices may be limited by selectively licensing specific preconfigured SyncML profiles or a range or category of profiles.
  • the licensed SyncML profiles may be licensed to an enterprise partner (for example, a car company, a computer manufacturer, a personal device manufacturer or provider, and the like).
  • an enterprise partner for example, a car company, a computer manufacturer, a personal device manufacturer or provider, and the like.
  • a factory defined hidden profile in all or a subset of devices already existing on the market may be provided to a car company.
  • the business value of the profile may depend on the selected subset of the devices.
  • This way synchronization support in numerous devices can be activated without modifying the actual client devices end users already have.
  • a car company may have an exclusive arrangement with a cell phone company to only support synchronization with their cell phones. Accordingly, profiles from the car company may only be provided to the manufacturer the cell phone company and not to other cell phone companies or made otherwise available.
  • the preconfigured profiles may or may not be categorized based on various criteria.
  • the categories may include supported device range and/or enabled or disabled features (such as content types, authentication, local databases, etc.) and the like.

Abstract

A system and method for storing and retrieving preconfigured, hidden SyncML server profiles on a client is described. Conventionally, users of client devices need to manually configure the devices to allow for synchronization with new servers via SyncML. Preconfigured SyncML profiles allow a client to synchronize with a SyncML server without having to generate a new SyncML profile, thereby improving user experience. The preconfigured SyncML profiles may be hidden from a user or displayable to a user.

Description

    FIELD OF THE INVENTION
  • Aspects of the invention relate generally to a method and device for handling synchronization related information between portable and/or mobile devices and databases.
  • BACKGROUND OF THE INVENTION
  • Users desire to keep data synchronized on their portable devices. Data of portable terminals, such as portable computers, PDA terminals (personal digital assistant), mobile stations or pagers, can be synchronized with network applications, applications of desktop computers, or with other databases of the telecommunications system. In particular, data of calendar and e-mail applications are typically synchronized between desktop computers or other databases and portable devices. Also, additional devices may include the ability to synchronize information. For instance, a digital camera may be able to synchronize pictures with a central picture managing server, providing an easy way to upload images from a digital camera.
  • To improve synchronization of application data, a language known as synchronized markup language SyncML, which is based on the XML (extensible markup language), has been developed. By using a SyncML synchronization protocol, which dictates the encoding and decoding of messages into and out of the SyncML format, data of various applications can be synchronized between network terminals. The SyncML synchronization protocol functions both in wireless and in fixed networks and supports several transmission protocols.
  • The synchronization markup language (SyncML) technology is an open specification for data synchronization. In general, synchronization takes place between a terminal device (e.g., a mobile phone) and a server device (e.g., an application in a local PC). To be able to understand each other, the SyncML client (the mobile phone) and SyncML server (the PC) encode data to be transmitted between them as a SyncML document. The coding or decoding/parsing of SyncML document can be performed by separate application components available to end-user applications (for instance, a user interface). The use of the SyncML protocol provides interoperability between different devices when trying to synchronize information between them.
  • Despite the ease of interoperability once a client and a server has been authenticated and initialized with respect to each other, the initial setup process between a client and a new server can be difficult. In particular, user interaction is required to manually set up a new profile for each new server. While similar servers may exist, each instance of the server generally requires a separate profile on the client with its own session history for each server. Unless the separate profile exists for a server, the client refuses the synchronization requests from the server. The profile creation process commonly involves opening a SyncML configuration utility, creating a new profile for a new server on the client, and defining one or more settings to permit communication with the new server. Only after manual creation of the profile does the client permit synchronization with the server. This manual interaction may prohibit the adoption of SyncML as a usable standard among various platforms.
  • Further, user experience is often poor for devices requiring profiles. For instance, if a user has a Bluetooth and SyncML-enabled cell phone in a handbag or briefcase, the user is required to remove the SyncML-enabled cell phone and manually configure it to work with a new SyncML server in a car supporting Bluetooth. Otherwise, the SyncML-enabled cell phone may continually attempt to sync with the server in the car yet timeout because of the lack of an appropriate profile on the client. This is a poor user experience.
  • SUMMARY OF THE INVENTION
  • Aspects of the invention relate to providing a system and method that promote easy activation of new servers for client devices (which may or may not include portable devices or mobile devices). In the first aspect, the client may automatically create a new profile for a newly uncovered server based on preconfigured profiles. The preconfigured profiles may or may not be hidden from a user. These and other aspects are described below.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows various devices that may be interconnected using the SyncML protocol in accordance with aspects of the present invention.
  • FIG. 2 shows the interaction between applications using a SyncML framework in accordance with aspects of the present invention.
  • FIG. 3 shows synchronization between a client and server and accordance with aspects of the present invention.
  • FIG. 4 shows initialization between a client and a server in accordance with aspects of the present invention.
  • FIG. 5 shows an example of the conventional manual creation of a new profile on a client by a user.
  • FIG. 6 shows the creation of a new profile by the client based on discovery of a new server in accordance with aspects of the present invention.
  • FIG. 7 shows the creation of a new profile by the client based on discovery of a new remote server in accordance with aspects of the present invention.
  • FIG. 8 shows a process for retrieving a hidden, preconfigured SyncML profile in a client in accordance with aspects of the present invention.
  • FIG. 9 shows the retrieval and use of a preconfigured SyncML profile based on discovery of a new server in accordance with aspects of the present invention.
  • FIG. 10 shows the retrieval and use of a preconfigured SyncML profile based on discovery of a new remote server in accordance with aspects of the present invention.
  • FIG. 11 shows an illustrative example of the storage and the retrieval of a hidden, preconfigured SyncML profile in accordance with aspects of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Aspects of the present invention are described below that relate to automatic retrieval of preconfigured, hidden profiles for a new server so as to be able to synchronize information with a client. For the purposes of explanation, equivalent parts as described herein are referenced by the same reference numerals.
  • It is noted that various connections are set forth between elements in the following description. It is noted that these connections in general and, unless specified otherwise, may be direct or indirect and that this specification is not intended to be limiting in this respect.
  • FIG. 1 shows the various devices between which synchronization based on the synchronization markup language (SyncML) may occur. A certain database content of preferably mobile terminals may be harmonized with database content provided by designated devices. Conventionally, mobile terminals act as synchronization clients harmonizing or synchronizing certain pre-defined data with the content of a database or several databases provided by dedicated server devices. FIG. 1 illustrates a plurality of possible client devices and server devices for the synchronization operation. Typically, client devices may be mobile stations like mobile phones 105 or personal digital assistants (PDA), mobile computers like notebooks 101, 106, digital cameras 104 or desktop computers 103. Further, dedicated synchronization server devices may include desktop computers like personal computer 103, a dedicated network server 102 or even a mobile computer as notebook 101, 106. It should be noted that the client device functionality is not limited to mobile terminals as described above although the presented concept of synchronization is described in view of mobile terminals connected to dedicated serving devices. For the purposes of description here, client devices may include mobile and/or portable devices (including but not limited to cell phones, PDAs, notebook computers, and the like) and non-mobile/non-portable devices (including but not limited to desktops, televisions, video projection systems, corded telephones, various household appliances, multi-function printers, and the like).
  • The participating synchronization devices, the client device and the server device, offer the possibility of using the SyncML synchronization service in order to harmonize data stored in both the client device and the server device. Therefore, the SyncML synchronization service allows the establishment of a synchronization session via a logical end-to-end connection between the participating devices. The SyncML synchronization service itself is based on the exchange of a synchronization document, which may be divided into a plurality of messages, comprising instructions in order to synchronize the data. The client device may include a dedicated synchronization client agent implementing the SyncML synchronization protocol for controlling the communication of the corresponding messages, whereas the server device includes a dedicated synchronization server agent implementing also the SyncML synchronization protocol. The synchronization protocol may control communication of the corresponding messages. The system may further include a synchronization server engine for analyzing which changes have to be made in accordance with the synchronization document. The synchronization may be understood as harmonizing data in accordance with the analysis results, e.g., modifying, replacing, deleting or similar operation of the data of the database but also the sending back of a synchronization message to the client device in order to process data stored therein. The term database is to be understood broadly as referring to a set of data of any data source or data storage that can be updated by one and more applications.
  • It should be further noted that the assigning of the term client device and server device, respectively, may based on the place of the analyzing operation. Commonly, the synchronization server operates the necessary analyzing of the synchronization. The analyzing operation is operated by the server device, since the server device offers usually higher processing capabilities in comparison to the client device. Naturally, a processing device may also act as a client device and as a server device.
  • The description above has introduced the synchronization service based on the SyncML synchronization standard. The following description will describe components of the client device and the server device, adapted for synchronizing content in accordance with the SyncML synchronization standard.
  • FIG. 2 shows components of a client device and a server device which allow a synchronization operation between the client device and a server device based on the SyncML synchronization standard.
  • In FIG. 2, a server application A 201 represents a networked service that provides synchronization with another counterpart client application B 211. The synchronization data may be provided or processed by the server application 201 or client application 212, respectively. The server application 201 is hosted by the server 200, which may be a server device corresponding with the server device mentioned with reference to FIG. 1. Analogously, the client application 211 is hosted by the client 212, which may be a client device corresponding with the client device mentioned with reference to FIG. 1. The synchronization is performed between a server 200 and a client 212.
  • The server 200 and client 212 are connected over any network. The network provides a logical communication connection between the server 200 and client 212, allowing the establishment of the end-to-end communication during the synchronization which may be termed as a synchronization session. The server 200 and client 212 may include inputs for receiving communication from each other, directly or indirectly. Further, the client 212 and server 200 may include various processors and storage systems that support the SyncML data synchronization processes.
  • The client 212 may use the synchronization client agent 210 to access the network and send messages to the server via the synchronization adapter 207 and synchronization interface 208. SyncML XML objects may be exchanged between SyncML adaptors 206 and 207, using transport layer 209. The server 200 or server application 201, through the synchronization server agent 203, receives or sends messages, and manages the entire synchronization process through the synchronization server engine 202. Synchronization operations are conceptually bound into a synchronization package, which is a conceptual frame for one or more required synchronization messages. A synchronization message is a well-formed extended markup language (XML) document identified by the SyncML root or document element type. The document consists of a header (SyncHdr element type) and a body (SyncBody element type). The header specifies over all routing and versioning information, while the body is a container for one or more SyncML synchronization instructions. The instructions are containers for other element types that describe the specifics of the instruction, including any synchronization data or meta-information. Incorporated here, too, are features such as SyncML data formats (a common set of media types for commonly accepted information such as calendars and contacts) and SyncML capabilities exchange (in which a SyncML client and server determine what device, user, and application features each supports) are incorporated.
  • For example, a mobile phone acts as the SyncML client 212, and a server acts as the SyncML server 200. The client 212 sends a message to the server 200 regarding changes to data made on the client 212. The server 200 then synchronizes the data within the SyncML messages with data stored on the server 200, and returns modifications back to the client 212. The client 212 contains a synchronization client agent 210, and typically has the role of sending modifications first to the server 200. The client 212 is typically a mobile phone or PDA, and must also be capable of receiving messages back from the server 200. The server 200 contains the synchronization server agent 203 and the synchronization server engine 202, and usually waits for the client 212 to initiate synchronization, although the server 200 can initiate synchronization if unsolicited instructions are supported on the transport protocol level.
  • FIG. 3 shows a data synchronization client 301 exchanging messages with a data synchronization server 302. For instance, the data synchronization client 301 may send SyncML messages and client modifications to data synchronization server 302. Also, the data synchronization server 302 may send SyncML messages and server modifications to data synchronization client 301.
  • FIG. 4 shows an initialization process between client 401 and server 402. Here, client 401 sends client initialization with client credentials and device information 403 to server 402. In response, server 402 sends server initialization information with server credentials including initial management operations and/or user interaction commands from the server 404 to the client 401. It is noted however that FIG. 4 shows the client and server initialization processes after server 402 has been activated for use with the client 401. The process for activating a server with a client is showing with respect to FIG. 5.
  • FIG. 5 shows client 401, new server 502, and user 501. In a first session 503, a client is modified to activate a server for its first use with the client. First, new server 502 sends a synchronization request 504 to client 401. If client 401 does not desire to synchronize with new server 502, client 401 may send a denial 505 of the synchronization request 504. Alternatively, client 401 may send a request to user 501 regarding new server 502's synchronization request 504. If desired, the user 501 may create a new profile on client 401 as shown by arrow 507. It is noted here that the creation of the new profile is a manual process performed by user 501. For descriptive purposes herein the client may include one or more processors that control the creation of the profile as well as using a storage to store the profile.
  • One of the difficulties with requiring a user to establish a new profile for every new server is that users may become frustrated or tired of adding new servers to a client's list. Once users stop adding new server profiles, the benefits of synchronization are lost.
  • FIG. 6 shows client 401 automatically creating a new profile for the new server 502. Here, when client 401 detects a connection a letter from a previously unknown SyncML server 502, the client 401 may create a new profile for the server as shown by arrow 601. The profile may be generated using default client configuration information as well as information provided from new server 502.
  • One of the benefits of having the client perform the automatic profiling of new server 502 is that the synchronization process may begin within the same session.
  • Once the new profile for server 502 has been created in step 601, the client may send initialization information as shown by arrow 508 to new server 502. In response, the server 502 may send server initialization information 509 to client 401. The rest of the synchronization process may occur as shown in FIG. 1.
  • The local synchronization host address for the local server may be a local IP address (http://10.0.0.x for instance) or some other shared identification between the client and server. For example, the shared information may define which client profile and session history is used.
  • The software that operates the synchronization procedures on the client may be in the form of a program that is executed by the client. The program may be stored in a storage medium including but not limited to a RAM, ROM, Flash memory, hard drive, optical memory, magneto-optical memory, and the like. Further the program may be permanently or only temporarily stored in the memory.
  • FIG. 7 shows a similar profile creation process to that of FIG. 6. Here however the server is a new remote server 701. One of the issues associated with new remote servers 701 is that there is a greater likelihood of fraud or malicious phishing for information possible from remote entities. In this regard, users may or may not be asked to authorize a profile creation for a new remote server 701 in client 401. For instance, client 401 may send request 702 to a user 501 (for instance, a visual alert on a user interface). The user 501 may then respond by authorizing 703 the new profile creation. The client 401 may then create (601) the new profile for the new remote server 701. The remaining client and server initializations 508, 509 may occur as above.
  • Further, the client 401 may wish to authenticate that the user 501 is indeed the correct user. To do this, client 401 may send an authentication request 704 to user 501, to which the user 501 responds with response 705.
  • As multiple different instances of a server can exist (for example separate car kits), the server sends unique identification information so that client is able to separate the different server instances from each other. The server can generate its unique identification information, for example, randomly or from license key, hardware configuration or separate protected identity module. The client can also identify the server indirectly, for example, from IP address or OBEX capability serial number from information received from the server. The client may accordingly create separate profiles for each unique instance of the server.
  • The following provides a first example of how a user may wish to have a profile automatically setup for a new server. Here, a car adaptor may act as a SyncML server and attempt to connect to a SyncML client (for instance, a phone) to exchange data. The car adaptor (or kit) may wish to retrieve a user's address book to permit a user to access the address book using the car's user interface rather than the phone's user interface. Here, the server (the car adaptor) is local. The client may then automatically configure a new profile for the car adaptor without user interaction. Next, synchronization may continue without user input.
  • The following provides a second example of how a user may wish to have a profile automatically set up for a new server. Here, a remote SyncML server is trying to connect over the air to a SyncML client (for instance, a phone) to exchange data. Instead of configuring the new profile manually, the SyncML client configures the profile automatically (with user confirmation) and synchronization can continue.
  • The SyncML client may create a new synchronization profile for every separate instance of an unknown data synchronization server using available information on the client and/or from the new server.
  • The profile information may include one or more of the following:
      • Profile name generated from server information;
      • Activated content types;
      • Default local database for each content type;
      • Remote databases as defined by server;
      • Host address from originator (where a SyncML server is accessible through this IP address or some other identifier)
      • Server ID;
      • Bearer (http for remote connection or OBEX for local connection) ID;
      • Default internet access point to be used for the connection establishment (also referred to as an access point identification);
      • Authentication including username and password; and
      • Port number (if not available then client uses generic default value).
  • At least one benefit for creating new profiles by the client is that creating new profiles automatically allows ad hoc configuration and improves usability. For example, a synchronization service provider can activate and actually start a first synchronization during the same session. For example, separate sessions are not needed. Where a new server is requesting synchronization with a client, the client may start creating a new profile based on the synchronization request. The process for creating the new profile is described herein. The new profile may contain both information regarding the server (at least one of directly provided information (for example, server ID) or implicit information (IP address of server retrieved from packet header)) and default settings.
  • In effect, the client acts like the new server was previously known to the client. In some instances, the client may then request a slow synchronization with the server. Then synchronization may start between the client and server. Here, the server may or may not limit the content types from the client as based on a default configuration on either the server or client. If limited in the current session, the next synchronization session (either client or server initiated) may then permit synchronization of the previously non-synchronized content types. In the next synchronization session, the already existing profile can be used so the client-server binding and session history from the first synchronization remain valid.
  • Also, other mobile devices, various enhancements, car kits and third party accessories using SyncML, can connect to the client without the manual configuration generally required by the standard SyncML protocol.
  • The following describes how a preconfigured profile may be used by any client with a new server.
  • FIG. 8 shows a process for retrieving a hidden, preconfigured SyncML profile in a client in accordance with aspects of the present invention. In step 801, a client receives a synchronization message from a server. In step 802, the client determines if a matching profile for the specific server already exists in the client. If a matching profile does exist in the client, the client retrieves the stored profile in step 803 and continues with the synchronization with the server in step 804. If the client does not have any profile for the specific server, then the client attempts to match the server with a preconfigured profile in step 805. The preconfigured profile may or may not be hidden from access by the user. Having the preconfigured profile hidden from the user simplifies the amount of information that user needs to be concerned with during the operation of the client. Alternatively, having the existence of the preconfigured profile exposed to the user provides the user with a better understanding and appreciation that the client may readily communicate with a number of different servers.
  • Next, if a preconfigured profile does exist in the client, then the client retrieves the preconfigured profile in step 808 and conducts synchronization with the server in step 804. The client may or may not need to perform additional configuration steps to communicate with or improve its commutation with the server.
  • If no preconfigured profile exists in the client from step 805, the client may attempt to create a new profile in step 806 as described above and conducts synchronization with the server in step 804. Alternatively, the client may not perform synchronization because it lacks a profile for use with the new server as shown in step 807. With steps 806 and/or 807, the user may or may not be alerted by the client that a new server has been found in the status of synchronization between the client and server.
  • In one aspect, the server may automatically attempt to synchronize with a new client. Alternatively, the server may request confirmation from a user to prevent accidental data exchange. For instance, the server may request confirmation prior to sending initialization information in step 509. Alternatively, the server may request confirmation prior to actually synchronizing information with the client after a step 509.
  • FIG. 9 shows the retrieval and use of a preconfigured SyncML profile based on discovery of a new server in accordance with aspects of the present invention. Here, after receiving a synchronization message 504, the client obtains information from the synchronization message 901. In step 902, the client determines if it has a matching preconfigured profile for the new server 502. In step 903, the client retrieves the preconfigured profile. Thereafter, the client and server initialize communication with each other and perform synchronization. Optionally, in step 904, the client may attempt to configure the profile to comport with specifics regarding new server 502.
  • FIG. 10 shows the retrieval and use of a preconfigured SyncML profile based on discovery of a new remote server in accordance with aspects of the present invention. Here, steps 901-903 may be performed in accordance with the description of FIG. 9.
  • FIG. 11 shows an illustrative example of the storage and the retrieval of a hidden, preconfigured SyncML profile in accordance with aspects of the present invention. FIG. 11 shows a storage 1101 associated with the client. Storage 1101 includes one or more profiles 1102. The profiles may include previously configured profiles 1103-1104 for servers 1-N. Profiles 1102 may optionally further include a default profile for new servers 1106. Profiles 1102 may further include preconfigured profiles 1107-1108 for servers 2-M. Preconfigured profiles 1107-1108 for servers 2-M may or may not be hidden from a user. As shown up by arrows 1109, one of the default profile 1106 and preconfigured profiles 1107-1108 may be used to create a new profile 1105 for new server N+1. The client may or may not further configure new profile 1105 to comport with new server N+1.
  • The hidden profiles may be issued by or licensed to enterprise partners or third-party developers. These enterprise partners or third-party developers may desire to have their profiles placed in all SyncML clients or a subset.
  • Further, access to a range of devices may be limited by selectively licensing specific preconfigured SyncML profiles or a range or category of profiles. The licensed SyncML profiles may be licensed to an enterprise partner (for example, a car company, a computer manufacturer, a personal device manufacturer or provider, and the like). For instance, a factory defined hidden profile in all or a subset of devices already existing on the market may be provided to a car company. The business value of the profile may depend on the selected subset of the devices. This way synchronization support in numerous devices can be activated without modifying the actual client devices end users already have. Or, for instance, a car company may have an exclusive arrangement with a cell phone company to only support synchronization with their cell phones. Accordingly, profiles from the car company may only be provided to the manufacturer the cell phone company and not to other cell phone companies or made otherwise available.
  • Further, the preconfigured profiles may or may not be categorized based on various criteria. For instance, the categories may include supported device range and/or enabled or disabled features (such as content types, authentication, local databases, etc.) and the like.
  • Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. Numerous other embodiments, modifications and variations within the scope and spirit of the appended claims will occur to persons of ordinary skill in the art from a review of this disclosure.

Claims (35)

1. A method of initializing a connection between a client and a server using the SyncML protocol, comprising:
receiving at said client a synchronization request from said server;
determining that a specific profile for said server does not exist on said client;
retrieving a preconfigured profile on said client that allows said client to use said server for a SyncML data synchronization; and
performing SyncML data synchronization based on said profile.
2. The method according to claim 1, wherein said retrieving a preconfigured profile is performed by said client.
3. The method according to claim 1, wherein said performing SyncML data synchronization is after said server receives confirmation of said data synchronization from a user.
4. The method according to claim 1, further comprising:
authenticating a user to said client.
5. The method according to claim 1, wherein said server is a remote server.
6. The method according to claim 1, said generating further comprising adding information to said preconfigured profile to be used with said server.
7. The method according to claim 6, wherein said information includes a profile name generated from information from said server.
8. The method according to claim 6, wherein said information includes activated content types.
9. The method according to claim 7, wherein said information includes a default local database for each content type.
10. The method according to claim 6, wherein said information includes remote databases as defined by said server.
11. The method according to claim 6, wherein said information includes a host address, where the server is accessible through the host IP address or some other identifier.
12. The method according to claim 6, wherein said information includes a Server ID item.
13. The method according to claim 6, wherein said information includes a Bearer item.
14. The method according to claim 6, wherein said information includes an access point item.
15. The method according to claim 6, wherein said information includes authentication information including a username and password.
16. The method according to claim 6, wherein said information includes a port number for the server.
17. The method according to claim 1, wherein a user may view preconfigured profiles.
18. The method according to claim 1, wherein preconfigured profiles are hidden from a user.
19. A client comprising:
an input that receives a synchronization request from a SyncML server;
a processor that 1) determines that a profile for said SyncML server does not exist on said client and 2) creates a new profile for said SyncML server based on a preconfigured profile in said client; and
a storage that stores the new profile for the SyncML server.
20. The client according to claim 19, wherein said processor creates said profile based on information in the synchronization request.
21. The client according to claim 20, wherein said information includes a profile name generated from information from said server.
22. The client according to claim 20, wherein said information includes activated content types.
23. The client according to claim 20, wherein said information includes a host address, where the SyncML server is accessible through the host IP address address or some other identifier.
24. The client according to claim 19, wherein said information includes a server ID item.
25. The client according to claim 19, wherein said information includes a bearer item.
26. The client according to claim 19, wherein said information includes an access point item.
27. The client according to claim 19, wherein said information includes authentication information including a username and password.
28. The client according to claim 19, wherein a user may view preconfigured profiles.
29. The client according to claim 19, wherein preconfigured profiles are hidden from a user.
30. The client according to claim 19, where the preconfigured profile is provided in only a subset of all SyncML enabled devices for use by an enterprise partner.
31. The client according to claim 30, where the preconfigured profile from the enterprise partner is added to all or a subset of SyncML enabled devices.
32. A computer-readable medium having a program stored thereon, said program for initializing a connection between a client and a server using the SyncML protocol, said program comprising:
receiving at said client a synchronization request from said server;
determining that a specific profile for said server does not exist on said client;
retrieving a preconfigured profile on said client that allows said client to use said server for a SyncML data synchronization; and
performing SyncML data synchronization based on said profile.
33. The computer-readable medium according to claim 32, wherein preconfigured profiles are hidden from a user.
34. A client that initializes a connection between said client and a server using the SyncML protocol, comprising:
means for receiving at said client a synchronization request from said server;
means for determining that a specific profile for said server does not exist on said client;
means for retrieving a preconfigured profile on said client that allows said client to use said server for a SyncML data synchronization; and
means for performing SyncML data synchronization based on said profile.
35. The client according to claim 34, wherein said means for retrieving a preconfigured profile is performed by said client.
US11/617,253 2003-11-11 2006-12-28 Preconfigured syncml profile categories Abandoned US20070180127A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/617,253 US20070180127A1 (en) 2003-11-11 2006-12-28 Preconfigured syncml profile categories
US14/987,468 US9807166B2 (en) 2006-12-28 2016-01-04 Preconfigured SyncML profile categories
US15/722,541 US10419535B2 (en) 2006-12-28 2017-10-02 Preconfigured syncML profile categories

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FIM20030265 2003-11-11
US11/617,253 US20070180127A1 (en) 2003-11-11 2006-12-28 Preconfigured syncml profile categories

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/987,468 Continuation US9807166B2 (en) 2006-12-28 2016-01-04 Preconfigured SyncML profile categories

Publications (1)

Publication Number Publication Date
US20070180127A1 true US20070180127A1 (en) 2007-08-02

Family

ID=50241630

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/617,253 Abandoned US20070180127A1 (en) 2003-11-11 2006-12-28 Preconfigured syncml profile categories
US14/987,468 Expired - Fee Related US9807166B2 (en) 2006-12-28 2016-01-04 Preconfigured SyncML profile categories
US15/722,541 Active 2027-06-02 US10419535B2 (en) 2006-12-28 2017-10-02 Preconfigured syncML profile categories

Family Applications After (2)

Application Number Title Priority Date Filing Date
US14/987,468 Expired - Fee Related US9807166B2 (en) 2006-12-28 2016-01-04 Preconfigured SyncML profile categories
US15/722,541 Active 2027-06-02 US10419535B2 (en) 2006-12-28 2017-10-02 Preconfigured syncML profile categories

Country Status (1)

Country Link
US (3) US20070180127A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2120166A1 (en) * 2008-05-12 2009-11-18 Research In Motion Limited Synchronizing media files available from multiple sources
CN101645894A (en) * 2009-09-01 2010-02-10 成都市华为赛门铁克科技有限公司 Network agent realizing method and device
US20110125850A1 (en) * 2008-03-11 2011-05-26 Ryerson University Method, apparatus and system for social networking
CN107302552A (en) * 2016-04-15 2017-10-27 福建华渔未来教育科技有限公司 A kind of file migration method and system
US9986013B2 (en) 2008-05-12 2018-05-29 Blackberry Limited Systems and methods for space management in file systems
US10419535B2 (en) 2006-12-28 2019-09-17 Conversant Wireless Licensing S.a.r.l. Preconfigured syncML profile categories
US10552384B2 (en) 2008-05-12 2020-02-04 Blackberry Limited Synchronizing media files available from multiple sources
US20200295997A1 (en) * 2019-03-14 2020-09-17 Nokia Solutions And Networks Oy Device management clustering
US20210243174A1 (en) * 2018-04-26 2021-08-05 Google Llc Auto-Form Fill Based Website Authentication
US11579949B2 (en) 2019-03-14 2023-02-14 Nokia Solutions And Networks Oy Device application support
US11579998B2 (en) 2019-03-14 2023-02-14 Nokia Solutions And Networks Oy Device telemetry control

Citations (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010051981A1 (en) * 2000-06-05 2001-12-13 Microsoft Corporation Methods and systems for discovering object-exchange resources on a network
US6477543B1 (en) * 1998-10-23 2002-11-05 International Business Machines Corporation Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
US20030191827A1 (en) * 2002-04-02 2003-10-09 Nokia Corporation Method and apparatus for synchronizing how data is stored in different data stores
US20030204640A1 (en) * 2002-04-30 2003-10-30 Nokia Corporation Method and device for management of tree data exchange
US20030212826A1 (en) * 2002-04-15 2003-11-13 Nokia Corporation Method and device for handling synchronization related information
US20030217181A1 (en) * 2002-05-20 2003-11-20 Nokia Corporation Method and apparatus for enabling synchronizing data in different devices having different capabilities
US20030220966A1 (en) * 2002-05-24 2003-11-27 International Business Machines Corporation System and method for dynamic content dependent conflict resolution
US20040006551A1 (en) * 2002-04-17 2004-01-08 Nokia Corporation Method and network device for synchronization of database data routed through a router
US20040025072A1 (en) * 2002-07-30 2004-02-05 International Business Machines Corporation Method, system and program for synchronizing data
US20040064480A1 (en) * 2002-07-19 2004-04-01 Bartlett Troy L. System and method for utilizing profile information
US20040093342A1 (en) * 2001-06-27 2004-05-13 Ronald Arbo Universal data mapping system
US20040143836A1 (en) * 2003-01-21 2004-07-22 Mccormack Jonathan Ian System and method for sharing objects among two or more electronic devices
US20040203653A1 (en) * 2003-03-18 2004-10-14 Cheng-Shing Lai Method for automatically completing settings of network parameters in wireless terminals
US20040209610A1 (en) * 2003-04-17 2004-10-21 Adwankar Sandeep M. Method and apparatus for managing wireless terminals
US20040215669A1 (en) * 2001-03-26 2004-10-28 Nokia Corporation Application data synchronization in telecommunications system
US20050138211A1 (en) * 2003-12-19 2005-06-23 Mobile Action Technology Inc. Data synchronization system with data security and proxy capabilities
US20050165947A1 (en) * 2003-12-29 2005-07-28 Auriemma Stephen T. System and method for optimizing synchronization
US20050203905A1 (en) * 2004-03-12 2005-09-15 Samsung Electronics Co., Ltd. Method of synchronizing data between server and user terminal using messenger service system and system using the same
US20060031228A1 (en) * 2004-05-20 2006-02-09 Bea Systems, Inc. Adaptive user interface for occasionally-connected application server
US20060047837A1 (en) * 2004-06-14 2006-03-02 Jukka-Pekka Rissanen Arrangement for informing application capabilities by an object exchange protocol
US7024491B1 (en) * 2001-05-23 2006-04-04 Western Digital Ventures, Inc. Remotely synchronizing a mobile terminal by adapting ordering and filtering synchronization rules based on a user's operation of the mobile terminal
US20060174103A1 (en) * 2004-09-16 2006-08-03 Nokia Corporation System and method for integrating PKI and XML-based security mechanisms in SyncML
US20060199568A1 (en) * 2005-03-07 2006-09-07 Samsung Electronics Co., Ltd. Method for providing a search service using a mobile communication terminal and mobile communication terminal and server therefor
US20060200596A1 (en) * 2005-03-03 2006-09-07 Samsung Electronics Co., Ltd. SyncML data sync system and data exchanging method for data exchange between clients
US20060212937A1 (en) * 2005-02-18 2006-09-21 Microsoft Corporation SyncML based OMA connectivity object to provision VPN connections
US20060236325A1 (en) * 2005-03-21 2006-10-19 Rao Bindu R Mobile device client
US7149813B2 (en) * 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
US20070083612A1 (en) * 2005-10-07 2007-04-12 Samsung Electronics Co., Ltd. Method and system for displaying progress of synchronization
US7239877B2 (en) * 2003-10-07 2007-07-03 Accenture Global Services Gmbh Mobile provisioning tool system
US20070168535A1 (en) * 2005-12-22 2007-07-19 Ilmo Ikonen System and method for data communication between devices
US20070250607A1 (en) * 2006-04-19 2007-10-25 Samsung Electronics Co., Ltd. Apparatus, system and method for executing discovery in network
US7292588B2 (en) * 2001-05-01 2007-11-06 Milley Milton E Wireless network computing
US20080026729A1 (en) * 2006-07-31 2008-01-31 Research In Motion Limited Method and apparatus for configuring unique profile settings for multiple services
US7340244B1 (en) * 2002-04-05 2008-03-04 John Osborne Method and apparatus for storing and retrieving profile data for electronic devices
US7353289B2 (en) * 2000-11-06 2008-04-01 Telecommunication Systems, Inc. System for an open architecture development platform with centralized synchronization
US20080104277A1 (en) * 2005-10-27 2008-05-01 Huawei Technologies Co., Ltd. Method, system, client and server for implementing data sync
US20080102821A1 (en) * 2006-10-31 2008-05-01 Julien Jacques Jalon Control of electronic devices
US7404011B2 (en) * 2002-05-31 2008-07-22 International Business Machines Corporation System and method for accessing different types of back end data stores
US20080215758A1 (en) * 2004-08-14 2008-09-04 Telefonaktiebolaget Lm Ericsson (Publ) Method For Software Program Synchronization
US20080320114A1 (en) * 2002-12-12 2008-12-25 International Business Machines Corporation Client Device Configuration With Configuration Services Providers
US7623469B2 (en) * 2004-10-25 2009-11-24 Nokia Corporation Service provision in a communication system

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100366286B1 (en) * 1997-04-24 2003-01-08 가부시키가이샤 엔.티.티.도코모 Mobile communication method and mobile communication system
US6393434B1 (en) * 1999-09-14 2002-05-21 International Business Machines Corporation Method and system for synchronizing data using fine-grained synchronization plans
CN1214330C (en) * 1999-11-18 2005-08-10 松下电器产业株式会社 Network connection apparatus and network system using this
US7702760B2 (en) * 2001-03-26 2010-04-20 Nokia Corporation Configuration method and system
US7339939B2 (en) * 2001-06-29 2008-03-04 Nokia Corporation Apparatus, method and system for an object exchange bridge
US8107937B2 (en) * 2001-07-31 2012-01-31 Nokia Corporation System and method for automatic provisioning detection and notification
EP1388792A1 (en) * 2001-09-05 2004-02-11 Matsushita Electric Industrial Co., Ltd. Synchronization message processing method
US7570668B2 (en) * 2001-10-03 2009-08-04 Nokia Corporation Data synchronization
US7155521B2 (en) * 2001-10-09 2006-12-26 Nokia Corporation Starting a session in a synchronization system
FI112015B (en) * 2001-11-12 2003-10-15 Nokia Corp Arranging data synchronization in a communications system
EP1451975B1 (en) * 2001-12-03 2018-01-24 Nokia Technologies Oy Apparatus and associated method for retrieving mobile node logic tree information
AU2002314432A1 (en) * 2002-06-28 2004-01-19 Nokia Corporation Method and device for retrieving data store access information
EP1537491A1 (en) * 2002-09-11 2005-06-08 Nokia Corporation Method, device and system for automated synchronization between terminals
FI114948B (en) * 2002-09-20 2005-01-31 Nokia Corp Instructions for control objects
US8154741B2 (en) * 2002-10-16 2012-04-10 Xerox Corporation Apparatus for low cost embedded platform for device-side, distributed services enablement
AU2003284292A1 (en) * 2002-10-21 2004-05-13 Bitfone Corporation System with required enhancements to syncml dm environment to support firmware updates
FI114245B (en) * 2002-11-13 2004-09-15 Nokia Corp Organizing a synchronization session
FI115083B (en) * 2002-11-21 2005-02-28 Nokia Corp Prioritizing control objects
US7526800B2 (en) * 2003-02-28 2009-04-28 Novell, Inc. Administration of protection of data accessible by a mobile device
US7366460B2 (en) * 2003-01-23 2008-04-29 Dexterra, Inc. System and method for mobile data update
FI116958B (en) * 2003-07-01 2006-04-13 Nokia Corp Determination of management nodes in a device management system
US8694620B2 (en) * 2003-09-08 2014-04-08 Microsoft Corporation System and method for an OMA DM extension to manage mobile device configuration settings
US20070180127A1 (en) 2003-11-11 2007-08-02 Nokia Corporation Preconfigured syncml profile categories
FI116592B (en) * 2003-11-24 2005-12-30 Nokia Corp Configuration of a terminal
US20050220080A1 (en) * 2004-04-01 2005-10-06 Nokia Corporation System, method, computer program product, and business method for device group management using virtual device domain
US20050232175A1 (en) * 2004-04-16 2005-10-20 Vadim Draluk System and method for provisioning device management tree parameters over a client provisioning protocol
US9542076B1 (en) * 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
EP1601163A1 (en) * 2004-05-28 2005-11-30 moxite GmbH System and method for replication, integration, consolidation and mobilisation of data
US8392545B2 (en) * 2004-07-01 2013-03-05 Nokia Corporation Device management system
US20060031449A1 (en) * 2004-07-01 2006-02-09 Mika Hallamaa Selection of management method
US9077611B2 (en) * 2004-07-07 2015-07-07 Sciencelogic, Inc. Self configuring network management system
US20070088707A1 (en) * 2004-09-15 2007-04-19 Scott Durgin Method for providing extensible software components within a distributed synchronization system
PL1839182T3 (en) * 2004-12-30 2017-08-31 Nokia Technologies Oy Use of configurations in device with multiple configurations
US7673325B2 (en) * 2005-02-01 2010-03-02 Microsoft Corporation Configuration of WiFi network parameters
US20060190608A1 (en) * 2005-02-18 2006-08-24 Nokia Corporation Method for the obtaining of deployment components to electronic devices
WO2006125183A2 (en) * 2005-05-19 2006-11-23 Fusionone, Inc. Mobile device address book builder
KR100941540B1 (en) * 2005-06-02 2010-02-10 엘지전자 주식회사 System and method for setting configuration-value inthereof
US7467162B2 (en) * 2005-06-27 2008-12-16 Microsoft Corporation Pre-configured settings for portable devices
CN100370758C (en) * 2005-09-09 2008-02-20 华为技术有限公司 Method for implementing protection of terminal configuration data
EP1791293A1 (en) * 2005-11-29 2007-05-30 Ipanto Network service configuration management
US20070250645A1 (en) * 2006-04-20 2007-10-25 Robert Meadows Mobile phone data backup system
US8966018B2 (en) * 2006-05-19 2015-02-24 Trapeze Networks, Inc. Automated network device configuration and network deployment
EP2084629A1 (en) * 2006-11-14 2009-08-05 Johnson Controls Technology Company System and method of synchronizing an in-vehicle control system with a remote source
US8135798B2 (en) * 2006-11-15 2012-03-13 Hewlett-Packard Development Company, L.P. Over-the-air device services and management
US20080155112A1 (en) * 2006-12-22 2008-06-26 Nokia Corporation System and method for updating information feeds

Patent Citations (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477543B1 (en) * 1998-10-23 2002-11-05 International Business Machines Corporation Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
US20010051981A1 (en) * 2000-06-05 2001-12-13 Microsoft Corporation Methods and systems for discovering object-exchange resources on a network
US7353289B2 (en) * 2000-11-06 2008-04-01 Telecommunication Systems, Inc. System for an open architecture development platform with centralized synchronization
US20040215669A1 (en) * 2001-03-26 2004-10-28 Nokia Corporation Application data synchronization in telecommunications system
US7571194B2 (en) * 2001-03-26 2009-08-04 Nokia Corporation Application data synchronization in telecommunications system
US7292588B2 (en) * 2001-05-01 2007-11-06 Milley Milton E Wireless network computing
US7024491B1 (en) * 2001-05-23 2006-04-04 Western Digital Ventures, Inc. Remotely synchronizing a mobile terminal by adapting ordering and filtering synchronization rules based on a user's operation of the mobile terminal
US20040093342A1 (en) * 2001-06-27 2004-05-13 Ronald Arbo Universal data mapping system
US7149813B2 (en) * 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
US20030191827A1 (en) * 2002-04-02 2003-10-09 Nokia Corporation Method and apparatus for synchronizing how data is stored in different data stores
US20040225731A1 (en) * 2002-04-02 2004-11-11 Jussi Piispanen Method and apparatus for synchronizing how data is stored in different data stores
US7340244B1 (en) * 2002-04-05 2008-03-04 John Osborne Method and apparatus for storing and retrieving profile data for electronic devices
US20030212826A1 (en) * 2002-04-15 2003-11-13 Nokia Corporation Method and device for handling synchronization related information
US20040006551A1 (en) * 2002-04-17 2004-01-08 Nokia Corporation Method and network device for synchronization of database data routed through a router
US20030204640A1 (en) * 2002-04-30 2003-10-30 Nokia Corporation Method and device for management of tree data exchange
US20030217181A1 (en) * 2002-05-20 2003-11-20 Nokia Corporation Method and apparatus for enabling synchronizing data in different devices having different capabilities
US20030220966A1 (en) * 2002-05-24 2003-11-27 International Business Machines Corporation System and method for dynamic content dependent conflict resolution
US7404011B2 (en) * 2002-05-31 2008-07-22 International Business Machines Corporation System and method for accessing different types of back end data stores
US20040064480A1 (en) * 2002-07-19 2004-04-01 Bartlett Troy L. System and method for utilizing profile information
US20040025072A1 (en) * 2002-07-30 2004-02-05 International Business Machines Corporation Method, system and program for synchronizing data
US20080320114A1 (en) * 2002-12-12 2008-12-25 International Business Machines Corporation Client Device Configuration With Configuration Services Providers
US20040143836A1 (en) * 2003-01-21 2004-07-22 Mccormack Jonathan Ian System and method for sharing objects among two or more electronic devices
US20040203653A1 (en) * 2003-03-18 2004-10-14 Cheng-Shing Lai Method for automatically completing settings of network parameters in wireless terminals
US20040209610A1 (en) * 2003-04-17 2004-10-21 Adwankar Sandeep M. Method and apparatus for managing wireless terminals
US7239877B2 (en) * 2003-10-07 2007-07-03 Accenture Global Services Gmbh Mobile provisioning tool system
US20050138211A1 (en) * 2003-12-19 2005-06-23 Mobile Action Technology Inc. Data synchronization system with data security and proxy capabilities
US20050165947A1 (en) * 2003-12-29 2005-07-28 Auriemma Stephen T. System and method for optimizing synchronization
US20050203905A1 (en) * 2004-03-12 2005-09-15 Samsung Electronics Co., Ltd. Method of synchronizing data between server and user terminal using messenger service system and system using the same
US20060031228A1 (en) * 2004-05-20 2006-02-09 Bea Systems, Inc. Adaptive user interface for occasionally-connected application server
US20060047837A1 (en) * 2004-06-14 2006-03-02 Jukka-Pekka Rissanen Arrangement for informing application capabilities by an object exchange protocol
US20080215758A1 (en) * 2004-08-14 2008-09-04 Telefonaktiebolaget Lm Ericsson (Publ) Method For Software Program Synchronization
US20060174103A1 (en) * 2004-09-16 2006-08-03 Nokia Corporation System and method for integrating PKI and XML-based security mechanisms in SyncML
US7623469B2 (en) * 2004-10-25 2009-11-24 Nokia Corporation Service provision in a communication system
US20060212937A1 (en) * 2005-02-18 2006-09-21 Microsoft Corporation SyncML based OMA connectivity object to provision VPN connections
US20060200596A1 (en) * 2005-03-03 2006-09-07 Samsung Electronics Co., Ltd. SyncML data sync system and data exchanging method for data exchange between clients
US20060199568A1 (en) * 2005-03-07 2006-09-07 Samsung Electronics Co., Ltd. Method for providing a search service using a mobile communication terminal and mobile communication terminal and server therefor
US20060236325A1 (en) * 2005-03-21 2006-10-19 Rao Bindu R Mobile device client
US20070083612A1 (en) * 2005-10-07 2007-04-12 Samsung Electronics Co., Ltd. Method and system for displaying progress of synchronization
US20080104277A1 (en) * 2005-10-27 2008-05-01 Huawei Technologies Co., Ltd. Method, system, client and server for implementing data sync
US20070168535A1 (en) * 2005-12-22 2007-07-19 Ilmo Ikonen System and method for data communication between devices
US20070250607A1 (en) * 2006-04-19 2007-10-25 Samsung Electronics Co., Ltd. Apparatus, system and method for executing discovery in network
US20080026729A1 (en) * 2006-07-31 2008-01-31 Research In Motion Limited Method and apparatus for configuring unique profile settings for multiple services
US20080102821A1 (en) * 2006-10-31 2008-05-01 Julien Jacques Jalon Control of electronic devices

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419535B2 (en) 2006-12-28 2019-09-17 Conversant Wireless Licensing S.a.r.l. Preconfigured syncML profile categories
US10257675B2 (en) 2008-03-11 2019-04-09 Flybits Inc. Method, apparatus and system for social newtworking
US11064318B2 (en) 2008-03-11 2021-07-13 Flybits Inc. Method, apparatus and system for social networking
US11877214B2 (en) 2008-03-11 2024-01-16 Flybits Inc. Method, apparatus and system for social networking
US8924483B2 (en) 2008-03-11 2014-12-30 Flybits, Inc. Method, apparatus and system for social networking
US9002948B2 (en) 2008-03-11 2015-04-07 Flybits, Inc. Method, apparatus and system for social networking
US9247405B2 (en) 2008-03-11 2016-01-26 Flybits, Inc. Method, apparatus and system for social networking
US9572001B2 (en) 2008-03-11 2017-02-14 Flybits, Inc. Method, apparatus and system for social networking
US20110125850A1 (en) * 2008-03-11 2011-05-26 Ryerson University Method, apparatus and system for social networking
US8661081B2 (en) 2008-03-11 2014-02-25 Flybits, Inc. Method, apparatus and system for social networking
US10552384B2 (en) 2008-05-12 2020-02-04 Blackberry Limited Synchronizing media files available from multiple sources
US9986013B2 (en) 2008-05-12 2018-05-29 Blackberry Limited Systems and methods for space management in file systems
EP2120166A1 (en) * 2008-05-12 2009-11-18 Research In Motion Limited Synchronizing media files available from multiple sources
CN101645894A (en) * 2009-09-01 2010-02-10 成都市华为赛门铁克科技有限公司 Network agent realizing method and device
CN107302552A (en) * 2016-04-15 2017-10-27 福建华渔未来教育科技有限公司 A kind of file migration method and system
US11909729B2 (en) * 2018-04-26 2024-02-20 Google Llc Auto-form fill based website authentication
US20210243174A1 (en) * 2018-04-26 2021-08-05 Google Llc Auto-Form Fill Based Website Authentication
US20200295997A1 (en) * 2019-03-14 2020-09-17 Nokia Solutions And Networks Oy Device management clustering
US11579949B2 (en) 2019-03-14 2023-02-14 Nokia Solutions And Networks Oy Device application support
US11579998B2 (en) 2019-03-14 2023-02-14 Nokia Solutions And Networks Oy Device telemetry control

Also Published As

Publication number Publication date
US20160197991A1 (en) 2016-07-07
US9807166B2 (en) 2017-10-31
US20180091592A1 (en) 2018-03-29
US10419535B2 (en) 2019-09-17

Similar Documents

Publication Publication Date Title
US10419535B2 (en) Preconfigured syncML profile categories
US7266594B2 (en) Method and system for configuring a computer for real-time communication
US6477576B2 (en) Methods, systems and computer program products for the automated discovery of a services menu
US8812702B2 (en) System and method for globally and securely accessing unified information in a computer network
EP1924046B1 (en) A system, method and device for negotiating the equipment information
US7392040B2 (en) Method and apparatus for negotiating mobile services
KR100750142B1 (en) Method and Apparatus for Synchronizing Content with a Collection of Home Devices
US20070250645A1 (en) Mobile phone data backup system
KR101089596B1 (en) Method, apparatus, network entity, system and computer program product for sharing content
EP2302872A2 (en) System and method for globally and securely accessing unified information in a computer network
US20150195338A1 (en) File fetch from a remote client device
US20100174791A1 (en) Short distance wireless communication system and method for accessing instant messenger
BRPI0614201A2 (en) method implemented by processor; computer readable medium; communication device; and non-hierarchical network of communication devices
US20070220111A1 (en) Personal communications browser client for remote use in enterprise communications
EP2518972A1 (en) System and method for device addressing
US20080294778A1 (en) Network connection manager
JP3434209B2 (en) Communication tool use status transmission method, server device, client terminal device, and program recording medium thereof
US8719434B2 (en) Agnostic peripheral control for media communication appliances
US20080133723A1 (en) Extended home service apparatus and method for providing extended home service on p2p networks
US20030145089A1 (en) System and method for enabling arbitrary components to transfer data between each other
US20080195769A1 (en) Method of identifying devices in mobile and desktop environments
US7774464B2 (en) Automatic syncML client profile creation for new servers
US20170272477A1 (en) Conference system, connection control device and connection control method
KR100640401B1 (en) System and methdo for synchronization between mobile e-mail server and client terminal and the terminal thereof
EP2671366B1 (en) Determining a location address for shared data

Legal Events

Date Code Title Description
AS Assignment

Owner name: NOKIA CORPORATION, FINLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VUORI, JANNE;REEL/FRAME:019093/0102

Effective date: 20070226

AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: SHORT FORM PATENT SECURITY AGREEMENT;ASSIGNOR:CORE WIRELESS LICENSING S.A.R.L.;REEL/FRAME:026894/0665

Effective date: 20110901

Owner name: NOKIA CORPORATION, FINLAND

Free format text: SHORT FORM PATENT SECURITY AGREEMENT;ASSIGNOR:CORE WIRELESS LICENSING S.A.R.L.;REEL/FRAME:026894/0665

Effective date: 20110901

AS Assignment

Owner name: 2011 INTELLECTUAL PROPERTY ASSET TRUST, DELAWARE

Free format text: CHANGE OF NAME;ASSIGNOR:NOKIA 2011 PATENT TRUST;REEL/FRAME:027121/0353

Effective date: 20110901

Owner name: NOKIA 2011 PATENT TRUST, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOKIA CORPORATION;REEL/FRAME:027120/0608

Effective date: 20110531

AS Assignment

Owner name: CORE WIRELESS LICENSING S.A.R.L, LUXEMBOURG

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:2011 INTELLECTUAL PROPERTY ASSET TRUST;REEL/FRAME:027485/0316

Effective date: 20110831

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION

AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: UCC FINANCING STATEMENT AMENDMENT - DELETION OF SECURED PARTY;ASSIGNOR:NOKIA CORPORATION;REEL/FRAME:039872/0112

Effective date: 20150327