|Publication number||US7734737 B2|
|Application number||US 11/138,906|
|Publication date||Jun 8, 2010|
|Filing date||May 26, 2005|
|Priority date||May 26, 2005|
|Also published as||US20060271659, WO2006125862A1|
|Publication number||11138906, 138906, US 7734737 B2, US 7734737B2, US-B2-7734737, US7734737 B2, US7734737B2|
|Inventors||Gaurav Mittal, Mikko Sahinoja|
|Original Assignee||Nokia Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (31), Non-Patent Citations (9), Referenced by (7), Classifications (15), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This invention relates to a device management, and particularly to a communication of device management data from a server to a client.
Such mobile services as for example browsing, multimedia messaging, mobile e-mail and calendar synchronization can only be used if a mobile phone is configured correctly. The configuration can be done manually by a user, or automatically by downloading the configuration settings. The process of managing device settings and applications is called device management. When receiving the settings the user saves them into the device after which the user is able to use the service.
The device management can be implemented by means of two types of messages. The first message used is aimed for bootstrapping a device management session and the following messages used are for initiating the session. The purpose of the bootstrap message is to change a state for a device. This means that the device is moved from an “unprovisioned” empty state to a “provisioned” state where it can initiate a device management session. The bootstrap process shares a set of configuration information between the device and the network. This configuration information comprises information e.g. about a network access point and a proxy.
There are currently two ways to perform the bootstrapping, customized and server-initiated bootstrap. In customized bootstrap, devices are loaded with device management bootstrap information at manufacture, and in server-initiated bootstrap a device management server sends bootstrap information via a known push mechanism, e.g. WAP Push or OBEX (OBject EXchange). The bootstrap message is transferred to the client device by the server to configure the client for the basic DM/CP (Device Management/Client Provisioning) server settings. The PROVURL parameter (including host and path) of the bootstrap message defines a location of the server. PROVURL should be unique within the device, and does thus identify a separate configuration context. The bootstrapping process needs to be performed only the first time when the DM server needs to establish communication with the DM client. After bootstrapping the bootstrapped parameter is set to “No” in the device, whereby the device cannot be bootstrapped again.
After bootstrapping, the other message, notification message, is used. When the client is bootstrapped, the following sessions are configured by means of a notification message. The DM server informs—by means of the notification message—the DM client to connect and establish the device management session. The notification operation needs to be done each time the server wants the client to establish a management session.
Therefore, when the DM server sends communication to DM client for the first time, the steps are as follows:
Sequence step 2 is optional, if initiation parameters are added to the bootstrap message. This means that for the first time the DM server can send an initiation parameter embedded in the bootstrap message, which tells the client to initiate a DM session after the bootstrapping part is done.
When the DM server sends communication to DM client for the following times after bootstrapping, the steps are as follows:
It can be seen that the whole device management process proceeds via at least two steps, wherein the first steps is for bootstrapping and the second is for initiation.
When e.g. communication configuration is downloaded through a telecommunication network the server usually is aware of whether the device has been bootstrapped or whether the bootstrapping needs to be done. This is possible during one-way communication.
Currently mobile terminals are capable of two-way communication (browsing), where less information is transferred to the corresponding server than in one-way communication. Due to two-way communication the server is not always aware of which terminal is at the other end, and how it is configured. It is also possible that the terminal in question has updated its Firmware, whereby any configuration therein may be lost. Therefore, even if the server identified the terminal in question, it would not know what is the current state of that terminal.
Therefore the server is not able to select which of the two messages is needed at that time. As a result, the server may send a notification message even though a bootstrap message is needed, whereby the DM session fails.
Currently there seems not to be any solution for easing the overall process for the server but also for the client terminal. With existing methods correct information is possible to send, if the server can identify the terminal and identify its configuration. However, that is only possible, if the terminal sends—every time a communication is begun—information about its setting. This, naturally, increases the data transfer between the client and the terminal. For improving user experience when using mobile services and facilitating the device management, all inconvenient tasks should be minimized for the user. As an inconvenient task one can think of the failed device management session, roundtrip messages between client and server and difficult configuration process for the user.
This invention is addressed to problems described above and proposes a solution, which aims to ease the configuration process by reducing the communication between client and server and by securing that correct information is available for the client every time the client needs such information.
Therefore an object of this invention is to provide a method for device management, wherein a device is at first bootstrapped for a DM session, after which the DM session is initiated in said device, wherein a bootstrapping information is transferred within the same data with an initiation information, wherein after determining a state of said device, one of said informations is selected to be used for the DM session.
Another object of this invention is to provide a system for device management (DM) comprising means for bootstrapping a DM session and initiating said DM session, a server for transferring data containing at least both bootstrapping information and initiation information, said system further comprising means for determining a state of said client, wherein the system is capable of selecting one of said informations for the DM session.
Yet another object of this invention is to provide a server for device management (DM) comprising means for transferring bootstrapping information and initiation information for a DM session, said server being configured to form data containing at least both bootstrapping information and initiation information, and to transfer said data substantially at the same time to a client.
Further another object of this invention is to provide a client for device management (DM) comprising means for receiving bootstrapping information and initiation information for a DM session, wherein at least both of said informations are sent in the same data, wherein said client is capable of determining a state of said client, and wherein the client is further capable of selecting one of said informations for the DM session.
Yet another object of this invention is a computer program product for device management of a client comprising code means stored on a readable medium, adapted, when run on a computer, to receive bootstrapping information and initiation information for a DM session, wherein at least both of said informations are received in the same data, wherein the code means is capable of determining a state of said client and further selecting one of said informations for DM session.
Yet another object of this invention is a message structure for device management, comprising at least a bootstrapping information and an initiation information.
According to this invention both the bootstrapping information and the notification information can be transferred to the client at the same time. This prevents the possibility that correct information needed for device management is not available, whereby additional round trips between client and server may be avoided.
A better understanding of the invention may be obtained from the following considerations taken in conjunction with the accompanying drawings and a detailed description of few examples.
This invention is based on an idea that all the information that is needed for device management is transferred from a server to a client device substantially at the same time. This can be implemented by sending both bootstrapping information and initiation information in one message in their own packets, or by containing the bootstrapping information with the initiation information into one packet. In this description, the term “data” is used to refer to both situations. The data can be a message containing a packet pair, one of which contains at least bootstrapping information and the other containing at least the initiation information—or the data can be a packet comprising both of the informations. The data received by the client is analysed in the device and correct information is extracted and used. Initiation information can be a notification message as known from the prior art or information about DM server identification. This idea according to the invention is simpler than solutions of the prior art where two messages at different stages are transferred to the client depending on the state of the client device.
In one example of the invention the data comprises a bootstrap information and device management server identification as initiation information. After receiving such a data, the client can check whether its state is provisioned or not. If the client is in a provisioned state, the client first extracts the device management server identification from the message, deciphers it and uses it. If the client is in an unprovisioned state, the client extracts the bootstrap information and the information contained in it and uses that information for bootstrapping. It will be appreciated that it is also possible—at first—to extract the device management server identification and after that, to check the state. Therefore it also will be appreciated that any order of the previous steps is possible. The main thing is that if the client detects that it is in an unprovisioned state, the device management server identification is discarded and bootstrap information is used. On the other hand if the client is in a provisioned state, the bootstrap information is discarded and the device management server identification is used.
It is possible that when the client detects that it is in an unprovisioned state, the device management server identification is not discarded but the client makes the decision internally to use first the bootstrap information and then use the device management server identification information.
In another example the data comprises bootstrap information and notification information. After receiving such a data, the client can check whether its state is provisioned or not. The notification information is discarded if the client is in an unprovisioned state, wherein the bootstrap is used. On the contrary, when the client is in a provisioned state, the bootstrap information is discarded and the notification is used. Therefore if the client is in an unprovisioned situation the client extracts the bootstrap information and deciphers it. In the provisioned situation the client extracts the notification information and the information contained in it. Naturally, the above-mentioned example of using first the bootstrap information and then the device management server identification information is possible as well.
The following table 1 summarizes the previous examples:
Examples of the device management process
DM server ID and
Discard DM server ID,
Use DM server ID
The client device is capable of discarding the Bootstrap information if same PROVURL, which identifies the configuration context, is used when it is sent. Notification or DM Server ID can be discarded by the client device if the device does not have a corresponding server account.
For the previous examples, it does not matter, how the data is transferred to the client. Whether the information is in two packets contained in one message or in one packet. In both cases, the state of the client is determined according to which one of the informations is used.
An example of a device management system is illustrated in
It will be clear that variations and modifications of the examples of embodiment described are possible without departing from the scope of protection of the invention as set forth in the claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5734659 *||Apr 1, 1994||Mar 31, 1998||Digital Equipment Corporation||Computer network having a virtual circuit message carrying a plurality of session messages|
|US5842011 *||Sep 12, 1995||Nov 24, 1998||Digital Equipment Corporation||Generic remote boot for networked workstations by creating local bootable code image|
|US6199158 *||Dec 16, 1998||Mar 6, 2001||Nokia Mobile Phones Ltd.||Method and apparatus for configuring variant software for electronic devices|
|US6317826 *||Oct 19, 1998||Nov 13, 2001||International Business Machines Corporation||Booting a computer system from a network|
|US6389464 *||Jun 27, 1997||May 14, 2002||Cornet Technology, Inc.||Device management system for managing standards-compliant and non-compliant network elements using standard management protocols and a universal site server which is configurable from remote locations via internet browser technology|
|US6519234 *||Mar 18, 1999||Feb 11, 2003||Sendit Ab||Method and arrangement for transferring information using an existing message based service in a digital network|
|US6651101 *||Jul 9, 2002||Nov 18, 2003||Cisco Technology, Inc.||Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows|
|US6760761 *||Mar 27, 2000||Jul 6, 2004||Genuity Inc.||Systems and methods for standardizing network devices|
|US6856591 *||Dec 15, 2000||Feb 15, 2005||Cisco Technology, Inc.||Method and system for high reliability cluster management|
|US6865428 *||May 22, 2002||Mar 8, 2005||Microsoft Corporation||Method and apparatus for providing distributed control of a home automation system|
|US6865596 *||Jun 9, 1999||Mar 8, 2005||Amx Corporation||Method and system for operating virtual devices by master controllers in a control system|
|US7184758 *||Jun 27, 2001||Feb 27, 2007||Nokia Corporation||Transfer of bookmark information|
|US7269638 *||May 2, 2001||Sep 11, 2007||Nokia Corporation||Display of service provider identity during download|
|US7313728 *||Feb 5, 2003||Dec 25, 2007||American Megatrends, Inc.||Method and system for logging and accessing diagnostic result messages|
|US7363354 *||Nov 29, 2001||Apr 22, 2008||Nokia Corporation||System and method for identifying and accessing network services|
|US20030005096 *||Jun 28, 2001||Jan 2, 2003||International Business Machines Corporation||Method and system for dynamic redistribution of remote computer boot service in a network containing multiple boot servers|
|US20030027581 *||Jul 31, 2001||Feb 6, 2003||Nokia Corporation||System and method for automatic provisioning detection and notification|
|US20030035409 *||Aug 20, 2001||Feb 20, 2003||Wang Jiwei R.||Method and apparatus for providing service selection, redirection and managing of subscriber access to multiple WAP (Wireless Application Protecol) geteways simultaneously|
|US20030037128 *||Aug 13, 2002||Feb 20, 2003||Smartpipes, Incorporated||Device plug-in system for configuring network device over a public network|
|US20030101246 *||Nov 29, 2001||May 29, 2003||Nokia Corporation||System and method for identifying and accessing network services|
|US20030191827 *||Apr 2, 2002||Oct 9, 2003||Nokia Corporation||Method and apparatus for synchronizing how data is stored in different data stores|
|US20040083472 *||Oct 20, 2003||Apr 29, 2004||Rao Bindu Rama||System with required enhancements to syncML DM environment to support firmware updates|
|US20040109454 *||Sep 19, 2003||Jun 10, 2004||Nokia Corporation||Addressing a management object|
|US20050055453 *||May 27, 2004||Mar 10, 2005||Microsoft Corporation||System and method for automatic conversion from WAP client provisioning XML represented objects to OMA DM tree structure represented objects|
|US20050058061 *||Sep 25, 2003||Mar 17, 2005||Siemens Information And Communication Networks, Inc.||System and method for utilizing direct user signaling to enhance fault tolerant H.323 systems|
|US20050078600 *||Oct 9, 2003||Apr 14, 2005||Alcatel||High availability of resources in telecommunications network using synchronized redundancy mechanism|
|US20050080921 *||Sep 16, 2004||Apr 14, 2005||Ruixin Lu||Method of implementing handshaking between 802.1X-based network access device and client|
|US20050234967 *||Dec 29, 2004||Oct 20, 2005||Motorola, Inc.||System and method for providing data storage through a device management tree using non-device management agents|
|US20050235046 *||Apr 15, 2004||Oct 20, 2005||Research In Motion Limited||System and method for implementing a wireless access protocol push|
|US20060101495 *||Nov 5, 2004||May 11, 2006||William Yoshida||Device evaluation using media access control emulator|
|EP1513317A2||Aug 18, 2004||Mar 9, 2005||Microsoft Corporation||System and method for automatic conversion from WAP client provisioning XML represented objects to OMA DM tree structure represented objects|
|1||*||Byung-Yun Lee et al., 5th IEEE International Conference on Data synchronization protocol in mobile computing environment using SyncML,High Speed Networks and Multimedia Communications(2002) pp. 133-137 ISBN: 0-7803-7600-5.|
|2||*||Hansman et al, SyncML®: Synchronizing and Managing Your Mobile Data, Prentice Hall, Sep. 19, 2002 ISBN-10: 0-13-009369-6 ISBN-13: 978-0-13-009369-1.|
|3||*||Huni et al, A Framework for Network Protocol Software, ACM (1995).|
|4||*||SyncML Device Management Bootstrap, Version 1.1, Feb. 15, 2002, Copyright © 2002 Ericsson, IBM, Lotus, Matsushita Communications Industrial Co., Ltd.,Motorola, Nokia, Openwave, Palm, Psion, Starfish Software, Symbian, and others., p. 1-18 http://www.syncml.org/docs/syncml-dm-boot-v11-20020215.pdf.|
|5||*||SyncML Device Management Bootstrap, Version 1.1, Feb. 15, 2002, Copyright © 2002 Ericsson, IBM, Lotus, Matsushita Communications Industrial Co., Ltd.,Motorola, Nokia, Openwave, Palm, Psion, Starfish Software, Symbian, and others., p. 1-18 http://www.syncml.org/docs/syncml—dm—boot—v11—20020215.pdf.|
|6||*||SyncML Device Management ProtocolVersion 1.1, Feb. 15, 2002, Copyright © 2002 Ericsson, IBM, Lotus, Matsushita Communications Industrial Co., Ltd.,Motorola, Nokia, Openwave, Palm, Psion, Starfish Software, Symbian, and others., p. 1-18 http://www.syncml.org/docs/syncml-dm-protocol-v11-20020215.pdf.|
|7||*||SyncML Device Management ProtocolVersion 1.1, Feb. 15, 2002, Copyright © 2002 Ericsson, IBM, Lotus, Matsushita Communications Industrial Co., Ltd.,Motorola, Nokia, Openwave, Palm, Psion, Starfish Software, Symbian, and others., p. 1-18 http://www.syncml.org/docs/syncml—dm—protocol—v11—20020215.pdf.|
|8||*||SyncML Notification Initiated Session Version 1.1 Feb. 15, 2002, Copyright © 2002 Ericsson, IBM, Lotus, Matsushita Communications Industrial Co., Ltd.,Motorola, Nokia, Openwave, Palm, Psion, Starfish Software, Symbian, and others., p. 1-12 http://www.syncml.org/docs/syncml-dm-notification-v11-20020215.pdf.|
|9||*||SyncML Notification Initiated Session Version 1.1 Feb. 15, 2002, Copyright © 2002 Ericsson, IBM, Lotus, Matsushita Communications Industrial Co., Ltd.,Motorola, Nokia, Openwave, Palm, Psion, Starfish Software, Symbian, and others., p. 1-12 http://www.syncml.org/docs/syncml—dm—notification—v11—20020215.pdf.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7995519 *||Mar 21, 2006||Aug 9, 2011||Airwide Solutions Oy||Centralised management for a set of network nodes|
|US8010997 *||Aug 30, 2011||Microsoft Corporation||Enforcing device settings for mobile devices|
|US8341274 *||Dec 25, 2012||Huawei Technologies Co., Ltd.||Method, terminal, and computer readable media for processing message|
|US8626128||Apr 7, 2011||Jan 7, 2014||Microsoft Corporation||Enforcing device settings for mobile devices|
|US9014673||Nov 26, 2013||Apr 21, 2015||Microsoft Technology Licensing, Llc||Enforcing device settings for mobile devices|
|US20070006289 *||Jun 30, 2005||Jan 4, 2007||Microsoft Corporation||Enforcing device settings for mobile devices|
|US20090098861 *||Mar 21, 2006||Apr 16, 2009||Janne Kalliola||Centralised Management for a Set of Network Nodes|
|U.S. Classification||709/220, 713/1, 709/223, 709/227, 713/100, 455/419|
|International Classification||G06F9/00, G06F15/173, G06F15/16, H04M3/00, G06F15/177|
|Cooperative Classification||H04L67/125, H04L41/0806|
|European Classification||H04L41/08A1, H04L29/08N11M|
|Aug 10, 2005||AS||Assignment|
Owner name: NOKIA CORPORATION, FINLAND
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MITTAL, GAURAV;SAHINOJA, MIKKO;REEL/FRAME:016872/0761
Effective date: 20050629
Owner name: NOKIA CORPORATION,FINLAND
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MITTAL, GAURAV;SAHINOJA, MIKKO;REEL/FRAME:016872/0761
Effective date: 20050629
|Nov 6, 2013||FPAY||Fee payment|
Year of fee payment: 4
|May 4, 2015||AS||Assignment|
Owner name: NOKIA TECHNOLOGIES OY, FINLAND
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOKIA CORPORATION;REEL/FRAME:035570/0946
Effective date: 20150116