U.S. patent application number 10/826833 was filed with the patent office on 2005-10-20 for system and method for provisioning device management tree parameters over a client provisioning protocol.
Invention is credited to Draluk, Vadim, Klots, Boris, Latypov, Dmitri R..
Application Number | 20050232175 10/826833 |
Document ID | / |
Family ID | 34963302 |
Filed Date | 2005-10-20 |
United States Patent
Application |
20050232175 |
Kind Code |
A1 |
Draluk, Vadim ; et
al. |
October 20, 2005 |
System and method for provisioning device management tree
parameters over a client provisioning protocol
Abstract
A client device (102) of a communication system (100) comprising
a provisioning and management framework (206). The framework (206)
receives (404) a client provisioning document from a source (110),
and the client provisioning document includes a device management
characteristic. The client device (102) then identifies (408) a
device management characteristic from the client provisioning
document. Thereafter, the client device (102) provides (424) data
based on the device management characteristic of the client
provisioning document to a device management tree (226, 426).
Inventors: |
Draluk, Vadim; (Cupertino,
CA) ; Klots, Boris; (Belmont, CA) ; Latypov,
Dmitri R.; (San Mateo, CA) |
Correspondence
Address: |
MOTOROLA INC
600 NORTH US HIGHWAY 45
ROOM AS437
LIBERTYVILLE
IL
60048-5343
US
|
Family ID: |
34963302 |
Appl. No.: |
10/826833 |
Filed: |
April 16, 2004 |
Current U.S.
Class: |
370/310 ;
709/222; 709/223 |
Current CPC
Class: |
Y10S 707/99948 20130101;
H04L 41/0806 20130101; H04L 67/04 20130101; Y10S 707/99945
20130101; H04L 41/046 20130101; H04L 67/34 20130101 |
Class at
Publication: |
370/310 ;
709/223; 709/222 |
International
Class: |
H04L 012/26 |
Claims
What is claimed is:
1. A method for a client device of a communication system
comprising: receiving a client provisioning document from a source;
identifying a device management characteristic from the client
provisioning document; and storing data based on the device
management characteristic of the client provisioning document to a
device management tree.
2. The method of claim 1, wherein receiving a client provisioning
document from a source includes receiving the client provisioning
document from a remote server over a wireless communication
link.
3. The method of claim 1, wherein identifying a device management
characteristic from the client provisioning document includes
identifying at least one of a URI parameter, an OP parameter and a
DATA parameter corresponding to the device management
characteristic.
4. The method of claim 3, further comprising appending the URI
parameter if the client provisioning document only includes the URI
parameter.
5. The method of claim 3, further comprising setting the OP
parameter to a REPLACE status if the device management
characteristic does not include the OP parameter.
6. The method of claim 3, further comprising resetting the DATA
parameter to a default value if the device management
characteristic does not include the DATA parameter.
7. A client device of a communication system comprising: a
provisioning and management framework configured to receive a
client provisioning document, the client provisioning document
includes a device management characteristic.
8. The client device of claim 7, wherein the provisioning and
management framework receives the client provisioning device from a
remote server over a wireless communication link.
9. The client device of claim 7, wherein the device management
characteristic corresponds to at least one of a URI parameter, an
OP parameter and a DATA parameter.
10. The client device of claim 9, wherein the provisioning and
management framework appends the URI parameter if the client
provisioning document only includes the URI parameter.
11. The client device of claim 9, wherein the provisioning and
management framework sets the OP parameter to a REPLACE status if
the device management characteristic does not include the OP
parameter.
12. The client device of claim 9, wherein the provisioning and
management framework resets the DATA parameter to a default value
if the device management characteristic does not include the DATA
parameter.
13. The client device of claim 7, further comprising a device
management engine communicating with the provisioning and
management framework, the device management engine being configured
to update a device management tree based on the device management
characteristic of the client provisioning document.
Description
FIELD OF THE INVENTION
[0001] The present invention relates generally to the field of
systems and methods for managing mobile electronic devices from a
remote location. More particularly, the present invention relates
to a system and method for updating applications and files of a
client device via a wireless communication network.
BACKGROUND OF THE INVENTION
[0002] Computing devices may have different capabilities and
features based on the applications installed in their memory. The
applications may be pre-installed to a computing device before
purchase by a customer or installed after purchase by a customer or
service technician via a storage media, such as a magnetic or
optical disk. For computing devices that communicate with a
computer network, applications may be installed after a customer or
service technician downloads the applications to the computing
device.
[0003] Installations of applications and updates on client devices
present other issues that are not a concern for wired devices.
Users of client devices frequently need access to a variety of
information, but such information is not as readily available as
wired connections due to the limited bandwidth of wireless
connections. Also, the traffic experienced by a client device
should be minimized in order to minimize power drain on the
device's power source. Thus, communications are challenged to
maximize the quality of information provided to client devices
while minimizing the traffic imposed on the wireless connections to
the devices.
[0004] A communication that utilizes a large number of applications
must have the capability of managing the applications efficiently
and proficiently. Two of the more important functions of these
systems are client provisioning and device management. Generally,
these functions operate independently (with the exception of the
WAP profile used in SyncML device management bootstrapping). On the
other hand, there are advantages for client provisioning and device
management to converge. As application data protocols, both
functions are typically generic and, thus, they are quite similar.
The major difference between client provisioning and device
management is at the level of transport protocols, where client
provisioning is confined to a certain type. Thus, the amount and
complexity of data that can be provisioned is limited. Accordingly,
there is need for a system and method for converging and managing
client provisioning and device management to provide significant
benefit to communication service providers. There is further need
for a system and method that would provide communication service
providers with the ability to perform provisioning while in-call
and without opening a data connection.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] FIG. 1 is a schematic view illustrating an embodiment of a
communication system in accordance with the present invention.
[0006] FIG. 2 is a schematic view illustrating another embodiment
of the communication system in accordance with the present
invention.
[0007] FIG. 3 is a block diagram illustrating exemplary internal
components of various servers, controllers and devices that may
utilize the present invention.
[0008] FIG. 4 is a flow diagram representing an exemplary operation
of a client device in accordance with the present invention.
[0009] FIG. 5 is a code diagram illustrating an exemplary data
format that may be processed by the client device in accordance
with the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Client provisioning and device management functions may be
combined by defining client provisioning characteristics and
parameters that would operate over a device management tree (DMT).
For example, Open Mobile Alliance Client Provisioning (OMA CP)
characteristics and parameters may be mapped to a DMT to create a
new characteristic, namely synchronized markup language-device
management (SYNCML-DM), which is recursive. Thus, communication
service providers may have a generic and simple parameter
provisioning mechanism using existing communication infrastructure.
The mechanism would enable the communication service provider to
perform provisioning while a user of a client device is
communicating with a customer care representative of the
communication service provider. The customer care representative
would be able to address the user's problems efficiently and
provide maximum satisfaction of user experience to the user.
[0011] One aspect of the present invention is a method for a client
device of a communication system. The client device receives a
client provisioning document from a source. The client device then
identifies a device management characteristic from the client
provisioning document. Thereafter, the client device stores data
based on the device management characteristic of the client
provisioning document to a device management tree.
[0012] Another aspect of the present invention is a client device
of a communication system comprising a provisioning and management
framework. The framework receives a client provisioning document
from a source, and the client provisioning document includes a
device management characteristic.
[0013] Referring to FIG. 1, there is provided a schematic view
illustrating a first embodiment 100 of a communication system. The
first embodiment 100 includes a client device 102 communicating
with a wireless communication network 104 through a wireless link
106. Any type of wireless link 106 may be utilized for the present
invention, but it is to be understood that a high speed wireless
data connection is preferred. For example, the wireless
communication network 104 may communicate with a plurality of
client devices, including the client device 102, via a
cellular-based communication infrastructure that utilizes a
cellular-based communication protocols such as Advanced Mobile
Phone System (AMPS), Code Division Multiple Access (CDMA), Time
Division Multiple Access (TDMA), Global System For Mobile
Communications (GSM), Integrated Digital Enhanced Network (iDEN),
General Packet Radio Service (GPRS), Enhanced Data for GSM
Evolution (EDGE), Universal Mobile Telecommunications System
(UMTS), Wideband Code Division Multiple Access (WCDMA) and their
variants. The wireless communication network 104 may also
communicate with the plurality of client devices via a peer-to-peer
or ad hoc system utilizing appropriate communication protocols such
as Bluetooth, IEEE 802.11, IEEE 802.16, and the like.
[0014] The wireless communication network 104 may include a variety
of components for proper operation and communication with the
client device 102. For example, for the cellular-based
communication infrastructure shown in FIG. 1, the wireless
communication network 104 includes at least one base station 108
and a server 110. Although a variety of components may be coupled
between one or more base stations 108 and the server 110, the base
station and server shown in FIG. 1 is connected by a single wired
line 112 to simplify this example.
[0015] The server 110 is capable of providing services requested by
the client device 102. For example, a user of the device 102 may
send a request for assistance, in the form of a data signal (such
as text messaging), to the wireless communication network 104,
which directs the data signal to the server 110. In response, the
server 110 may interrogate the device and/or network state and
identify one or more solutions. For those solutions that require
change or correction of a programmable module of the device 102,
the server 110 may send update data to the device via the wireless
link 106 so that the programmable module may be updated to fulfill
the request. If multiple solutions are available, then the server
110 may send these options to the device 102 and await a response
from the device before proceeding.
[0016] The first embodiment 100 may also include an operator
terminal 114, managed by a service person 116, which controls the
server 110 and communicates with the device 102 through the server.
When the server 110 receives the request for assistance, the
service person may interrogate the device and/or network state to
identify solution(s) and/or select the best solution if multiple
solutions are available. The service person 116 may also correspond
with the device 102 via data signals (such as text messaging) to
explain any issues, solutions and/or other issues that may be of
interest the user of the device.
[0017] The first embodiment 100 may further include a voice client
device 118 connected to the rest of the wireless communication
network 104 via a wired or wireless connection, such as wired line
118, and is available for use by the service person 116. The voice
client device 118 may also connect to the network via the server
110 or the operator terminal 114. Thus, in reference to the above
examples, a user of the device 102 may send a request for
assistance, in the form of a voice signal, to the wireless
communication network 106, which directs the data signal to the
server 110. While the server 110 and or the service person 116 is
interrogating the device and/or network state, identifying one or
more solutions, and/or selecting an appropriate solution, the
service person may correspond with the device 102 via voice signals
to explain any issues, solutions and/or other issues that may be of
interest the user of the device.
[0018] Referring to FIG. 2, there is provided a schematic view
illustrating a second embodiment 200 of the communication system.
For this system, client provisioning and device management are
converged. An example of client provisioning is OMA CP, and an
example of device management is SyncML DM. As application data
protocols, they are similarly generic, though device management
tends to have a meta-data model that is missing from client
provisioning.
[0019] The major difference comes at the level of transport
protocols. For the example shown in FIG. 2, the OMA CP is confined
to Wireless Application Protocol Push (WAP Push), which may limit
the amount and complexity of data that may be provisioned. On the
other hand, the ability to perform provisioning while in-call, and
without opening a data connection, may be a significant benefit for
the communication service provider. The present invention is not
limited to the embodiments shown. For example, SyncML DM binding
over short message service (SMS) may be implemented. Preferably, to
minimize additional cost, the device management may be implemented
on existing infrastructure commonly used by communication service
providers, such as OMA CP.
[0020] The client provisioning characteristics and parameters may
be defined so that they may operate over the device management
tree. A single new characteristic which is recursive may be
utilized and is referenced herein as SYNCML-DM. The parameter names
include, but are not limited to, a uniform resource identifier
(URI) parameter, an operational (OP) parameter and a DATA
parameter. The URI parameter is a sync node device management URI.
An actual URI may be calculated as concatenation of URI's of nested
characteristics and is the only parameter appearing in
non-inner-most characteristics. The OP parameter is a node
operation, with possible values such as ADD, REPLACE, DELETE and
EXECUTE. The DATA parameter is data that may be applied by the
operation, if any.
[0021] As shown in FIG. 2, the second embodiment 200 includes
components at the network 104 and components at one or more client
devices 102. Each component may be a separate device, controller or
server, or two or more components may be combined within the same
device, controller or server. The components at the network 104
include a device management server 202, such as a SyncML DM server,
and a client provisioning server 204, such as an OMA CP server. The
components at the client device 102 include a provisioning and
management framework 206, which includes a device management agent
208 and a client provisioning agent 210. For one embodiment, the
device management agent 208 and the client provisioning agent 210
are managed by a parameter management frame of the provisioning and
management framework 206.
[0022] The device management server 202 of the network 104
communicates with the device management agent 208 of the client
device via communication link 212. For one embodiment, the signal
protocol between the servers 202, 204 and the agents 208, 210 is a
Hyper Text Transfer Protocol/Open Business Engine (HTTP/OBE). The
Open Business Engine is an open source workflow engine written in
JAVA, and OBE workflow definitions are written in XML and are
typically executed by a J2EE container. The provisioning and
management framework 206 also receives sync signals, in the form of
WAP Push, from the device management server 202 via connection link
214 and provides the incoming device management signals to the
device management agent 208 via connection link 218. Likewise, the
provisioning and management framework 206 further receives
provisioning signals, in the form of WAP Push, from the client
provisioning server 204 via connection link 216 and provide the
incoming provisioning signals to the client provisioning agent 210
via connection link 220.
[0023] The client device further includes a device management
engine 222 communicating with the device management agent 208 via
connection link 224 and a device management tree 226 communicating
with the device management engine via communication link 228.
[0024] Referring to FIG. 3, there is provided a block diagram
illustrating exemplary internal components of various servers,
controllers and devices that may utilize the present invention,
such as the client device 102 and the server 110 of FIG. 1. The
exemplary embodiment includes one or more transceivers 302, a
processor 304, a memory portion 306, one or more output devices
308, and one or more input devices 310. Each embodiment may include
a user interface that comprises at least one input device 310 and
may include one or more output devices 308. Each transceiver 302
may be a wired transceiver, such as an Ethernet connection, or a
wireless connection such as an RF transceiver. The internal
components 300 may further include a component interface 312 to
provide a direct connection to auxiliary components or accessories
for additional or enhanced functionality. The internal components
300 preferably include a power supply 314, such as a battery, for
providing power to the other internal components while enabling the
server, controller and/or device to be portable.
[0025] Referring to the client device 102 and the server 110 of
FIG. 1, each machine may have a different set of internal
components. Each server 110 may include a transceiver 302, a
processor 304, a memory 306 and a power supply 314 but may
optionally include the other internal components 300 shown in FIG.
2. The memory 306 of the servers 110 should include high capacity
storage in order to handle large volumes of media content. Each
client device 102 must include a transceiver 302, a processor 304,
a memory 306, one or more output devices 308, one or more input
devices 310 and a power supply 314. Due to the mobile nature of the
client device 102, the transceiver 302 should be wireless and the
power supply should be portable, such as a battery. The component
interface 312 is an optional component of the client device
102.
[0026] The input and output devices 308, 310 of the internal
components 300 may include a variety of visual, audio and/or
mechanical outputs. For example, the output device(s) 308 may
include a visual output device 316 such as a liquid crystal display
and light emitting diode indicator, an audio output device 318 such
as a speaker, alarm and/or buzzer, and/or a mechanical output
device 320 such as a vibrating mechanism. Likewise, by example, the
input devices 310 may include a visual input device 322 such as an
optical sensor (for example, a camera), an audio input device 324
such as a microphone, and a mechanical input device 326 such as a
flip sensor, keyboard, keypad, selection button, touch pad, touch
screen, capacitive sensor, motion sensor, and switch.
[0027] The internal components 300 may include a location circuit
328. Examples of the location circuit 328 include, but are not
limited to, a Global Positioning System (GPS) receiver, a
triangulation receiver, an accelerometer, a gyroscope, or any other
information collecting device that may identify a current location
of the device.
[0028] The memory portion 306 of the internal components 300 may be
used by the processor 304 to store and retrieve data. The data that
may be stored by the memory portion 306 include, but is not limited
to, operating systems, applications, and data. Each operating
system includes executable code that controls basic functions of
the client device, such as interaction among the components of the
internal components 300, communication with external devices via
the transceiver 302 and/or the component interface 312, and storage
and retrieval of applications and data to and from the memory
portion 306. Each application includes executable code utilizes an
operating system to provide more specific functionality for the
client device, such as file system service and handling of
protected and unprotected data stored in the memory portion 306.
Data is non-executable code or information that may be referenced
and/or manipulated by an operating system or application for
performing functions of the client device.
[0029] The processor 304 may perform various operations to store,
manipulate and retrieve information in the memory portion 306. Each
component of the internal components 300 is not limited to a single
component but represents functions that may be performed by a
single component or multiple cooperative components, such as a
central processing unit operating in conjunction with a digital
signal processor and one or more input/output processors. Likewise,
two or more components of the internal components 300 may be
combined or integrated so long as the functions of these components
may be performed by the client device.
[0030] Referring to FIG. 4, there is provided a flow diagram
representing an exemplary operation 400 of a client device. The
exemplary operation 400 begins at step 402. Next, the client device
receives a client provisioning document, such as an OMA CP
document, from a source 406, such as the OMA CP server 204, and
reads the client provisioning document at step 404. The client
device then identifies a characteristic from the client
provisioning document at step 408.
[0031] After identifying a characteristic at step 408, the client
device determines whether the characteristic includes a URI
parameter but does not include an OP parameter or a DATA parameter
at step 410. If the characteristic only includes a URI parameter,
then the client device appends the URI parameter at step 412,
stores the URI parameter by pushing it down on a URI stack at step
414, and returns to step 408 where the client device identifies the
next characteristic from the client provisioning document.
[0032] If the client device determines that the characteristic does
not only include a URI parameter at step 410, then the client
device determines whether the characteristic includes an OP
parameter at step 416. If not, then the client device sets the OP
parameter to "REPLACE" at step 418 and thereafter determines
whether the characteristic includes a DATA parameter step 420. If
the characteristic does include an OP parameter, then the client
device proceeds directly to step 420 without updating the OP
parameter.
[0033] The client device determines whether the characteristic
includes a DATA parameter at step 420. If not, then the client
device sets the DATA parameter to a NULL value at step 422 and sets
device management tree (DMT) data at step 424. If the
characteristic does include a DATA parameter, then the client
device proceeds directly to step 424 to set the DMT data. To set
the DMT data at step 424, the client device provides the data to
the device management tree 226 (shown in FIG. 2). Thereafter, the
client device returns to step 408 where the client device
identifies the next characteristic from the client provisioning
document. The exemplary operation continues until all
characteristics of the client provisioning document have been
reviewed.
[0034] Referring to FIG. 5, there is provided a code diagram
illustrating an exemplary data format 500 that may be processed by
the client device. It is to be understood that FIG. 5 merely
represents an example of the type of data format that may be
utilized by the embodiments shown and described herein, and the
type of data format is not limited to the one shown in FIG. 5. FIG.
5 shows an example of package setting log parameters which may be
encoded in accordance with the present invention. The first line
502 of the exemplary data format 500 identifies the characteristic
type of a first node to be SYNCML-DM. The second line 504 of the
exemplary data format 500 sets the URI parameter of the first node
to be "./DevDetail/Ext/Conf/Log".
[0035] The third line 506 of the exemplary data format 500
identifies a second node, nested within the first node, having a
characteristic type of SYNCML-DM. The fourth line 508 sets the URI
parameter of the second node to be "FileName", the fifth line 510
sets the OP parameter of the second node to be "REPLACE", and the
sixth line 512 sets the DATA parameter of the second node to be
"log.txt". The seventh line 514 refers back to line 506 and
indicates the end of all descriptions of the second node.
[0036] The eighth line 516 of the exemplary data format 500
identifies a third node, nested within the first node along with
the second node, having a characteristic type of SYNCML-DM. The
ninth line 518 sets the URI parameter of the third node to be
"Level", the tenth line 520 sets the OP parameter of the third node
to be "REPLACE", and the eleventh line 522 sets the DATA parameter
of the second node to be "3". The twelfth line 524 refers back to
line 516 and indicates the end of all descriptions of the third
node. Likewise, the thirteenth line 526 refers back to line 502 and
indicates the end of all descriptions of the first node and its
nested sub-nodes.
[0037] While the preferred embodiments of the invention have been
illustrated and described, it is to be understood that the
invention is not so limited. Numerous modifications, changes,
variations, substitutions and equivalents will occur to those
skilled in the art without departing from the spirit and scope of
the present invention as defined by the appended claims.
* * * * *