HK1113631A - Apparatus and methods for service programming of a wireless device on a wireless communications network - Google Patents
Apparatus and methods for service programming of a wireless device on a wireless communications network Download PDFInfo
- Publication number
- HK1113631A HK1113631A HK08109058.2A HK08109058A HK1113631A HK 1113631 A HK1113631 A HK 1113631A HK 08109058 A HK08109058 A HK 08109058A HK 1113631 A HK1113631 A HK 1113631A
- Authority
- HK
- Hong Kong
- Prior art keywords
- persistent storage
- user
- wireless device
- selectable
- activity
- Prior art date
Links
Abstract
Apparatus, methods, and programs for servicing persistent storage items on a wireless device. Embodiments include a wireless device having a computer platform with a module operable to retrieve and/or change persistent storage items on the wireless device based on a received configuration. The wireless device may further include an access module operable to either permit or deny access to persistent storage items based on information associated with the configuration. The embodiments may also include an apparatus operable to receive information relating to the activity performed with respect to the persistent storage items and to generate a corresponding report.
Description
Priority claim in accordance with 35 U.S.C. § 119
This patent application claims priority from provisional application No. 60/661,782 entitled "Method And Apparatus For providing services Parameters For Wireless Devices", filed on 3/14/2005, which is assigned to the assignee of the present application And is expressly incorporated herein by reference.
Technical Field
The disclosed embodiments relate to wireless devices and wireless communication networks, and more particularly, to apparatus and methods for remote service programming of wireless devices on a wireless network.
Background
Wireless networking connects one or more wireless devices to other computer devices without a direct electrical connection, such as a copper wire or optical cable. Wireless devices typically communicate data in packets over a wireless or partially wireless computer network and establish a "data" or "communication" channel over the network so that the device can send and receive data packets. Wireless devices typically have wireless device resources (e.g., programs and hardware components) that individually and cooperatively operate to use and generate data according to their design and specific protocol or configuration, such as transmitting and receiving data over a network using an open communication connection.
The operation of these wireless devices relies on a number of settings and profiles maintained within persistent storage, referred to herein as Persistent Storage (PS) items. The persistent storage items include data that is maintained in memory on the wireless device whenever the wireless device is started or restarted. The persistent storage items may be stored in many different locations on the wireless device, such as read-only memory, flash memory, a Subscriber Identity Module (SIM), a universal subscriber identity module (U-SIM), a file system, a remote file system, etc., or even at a network device located on the wireless network where the persistent storage items will be accessible by the wireless device. Some examples of these persistent storage items are network preferred roaming lists, transmission strengths, the user's phone book and mobile phone book numbers.
Many groups need to retrieve or change the value of persistent storage data, such as users of wireless devices, network service providers, wireless device manufacturers, and developers of software applications for wireless devices.
Currently, wireless device manufacturers typically write their own applications for changing persistent storage data. This can be expensive and often manufacturers write their applications with different user interfaces, which can make it difficult for various groups of people who need to retrieve or change persistent storage items to learn the various user interfaces written by the manufacturers. Furthermore, applications written by manufacturers typically need to run on a separate computer device that is directly connected to the wireless device. This can lead to a number of problems, for example, because the manufacturer's items may need to be changed or set when the wireless device is purchased, such as the setting of a mobile phone book number. A sales representative of a wireless device must thus learn to operate all user interfaces from all different manufacturers, and typically must attach the wireless device to another computing device.
Many problems with wireless devices encountered by end users may be due to incorrect settings of these persistent storage data items. If the user of the wireless device encounters connectivity and/or operational problems, the resolution of the problem typically requires the user to carry or mail the wireless device to a service center for diagnostic analysis and to correct the persistent storage items accordingly.
This requirement is often cumbersome for the user and it does not allow the manufacturer, network service provider, or software developer to easily change the persistent storage items. This can be a very serious problem because the value of the persistent storage item may need to be changed to reflect changes in software or hardware that have occurred in the service provider's network. In addition, service providers may find more optimal settings for wireless devices, but cannot conveniently load the settings onto the wireless devices. Furthermore, this lack of flexibility may make it very difficult for software developers to modify their software for sold wireless devices.
In addition, wireless devices with incorrect persistent storage item settings may affect the operation of other wireless devices and/or wireless networks. Thus, the problems encountered by one end user can complicate and affect user satisfaction for many users, as well as create operational problems for wireless network service providers.
Updating persistent storage items can be difficult because the values of persistent storage items are typically copied into memory that has a different speed than the original memory, or because other items are derived from the values of persistent storage items when the wireless device boots or reboots, or when software is installed on the wireless device.
Further, some wireless devices allow the user of the wireless device to modify the persistent storage data without entering a password. This may result in persistent storage items being set such that the wireless device can no longer communicate with the network, or it may make troubleshooting problems with the wireless device very difficult. Further, some wireless devices allow service personnel or programs to access confidential persistent storage items, such as a user's personal telephone directory, on the wireless device without entering a password.
Accordingly, there is a need for improved apparatus and methods to maintain connectivity and operational performance of wireless devices on a wireless network with respect to persistent storage items.
Disclosure of Invention
To address one or more shortcomings of the prior art, the disclosed embodiments provide apparatus and methods for remote service programming of wireless devices on a wireless network.
In one aspect, a wireless communication device includes a computer platform having persistent storage that includes a plurality of persistent storage items that each correspond to a characteristic of the wireless device. Additionally, the wireless communication device further comprises a service programming module operable to perform an activity on a user-selectable one of the plurality of persistent storage items based on a predetermined persistent storage configuration.
In another aspect, a method of managing persistent storage items on a wireless device includes obtaining a persistent storage configuration identifying a predetermined activity, and a user-selectable one of a plurality of persistent storage items on the wireless device that is the subject of execution of the activity. The method further includes performing the activity on the user-selectable one of a plurality of persistent storage items. Additionally, the method includes forwarding results of performing an activity on the user-selectable one of a plurality of persistent storage items. In a related aspect, a wireless communications apparatus includes means for performing the various operations defined above. In another related aspect, a machine-readable medium comprises instructions, which when executed by a machine, cause the machine to perform the operations defined above. In yet another related aspect, at least one processor may be configured to perform the operations defined above.
In other aspects, an apparatus for managing persistent storage items on a wireless device includes a service programming module including service programming logic operable to generate a persistent storage configuration and transmit the persistent storage configuration to a predetermined wireless device. The persistent storage configuration includes a user-selectable activity for performing on a user-selectable one of a plurality of persistent storage items associated with the predetermined wireless device. The apparatus also includes an information repository including activity results received by the apparatus based on execution of persistent storage configuration by the wireless device. Additionally, the apparatus includes an analyzer module operable to generate a report based on the activity results.
In a further aspect, a method of managing persistent storage items in a wireless device includes generating a persistent storage configuration including a user-selectable activity to be performed on a user-selectable one of a plurality of persistent storage items associated with a predetermined wireless device. The method also includes forwarding the persistent storage configuration to a predetermined wireless device, and receiving a result of the predetermined wireless device performing the persistent storage configuration on the user-selectable one of the plurality of persistent storage items. Additionally, the method includes generating a report based on the received results. In a related aspect, an apparatus includes means for performing the operations defined above. In another related aspect, a machine-readable medium comprises instructions, which when executed by a machine, cause the machine to perform the operations defined above. In yet another related aspect, at least one processor may be configured to perform the operations defined above.
Additional aspects and advantages of the disclosed embodiments are set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the disclosed embodiments. The aspects and advantages of the disclosed embodiments may also be realized and attained by the means of the instrumentalities and combinations particularly pointed out in the appended claims.
Drawings
The disclosed embodiments will hereinafter be described in conjunction with the appended drawings, which are meant to illustrate and not to limit the disclosed embodiments, wherein like designations denote like elements, and in which:
FIG. 1 is a schematic diagram of one embodiment of a system for retrieving and/or changing persistent storage items on a wireless device;
FIG. 2 is a message flow diagram associated with one embodiment of the operation of the system of FIG. 1;
FIG. 3 is one embodiment of a block diagram of the wireless device of FIG. 1;
FIG. 4 is another embodiment of the configurator module of FIG. 1;
FIG. 5 is another embodiment of the user interface generator module of FIG. 1;
FIG. 6 is a representative diagram of one embodiment of interactions between a programming services module and a user of the device of FIG. 1;
FIG. 7 is a schematic diagram of one embodiment of the cellular telephone network embodiment of FIG. 1;
FIG. 8 is a flow diagram of one embodiment of a method operable on a wireless device for retrieving and/or changing persistent storage items on the wireless device; and
FIG. 9 is a flow diagram of one embodiment of a method operable on an apparatus for retrieving and/or changing persistent storage items on a wireless device.
Detailed Description
FIG. 1 illustrates one embodiment of a wireless device service programming system 10 for setting and retrieving items in Persistent Storage (PS)14, the wireless device service programming system 10 including a wireless device 12 having a resident service programming module 20, the resident service programming module 20 setting or retrieving user-selectable ones of a plurality of persistent storage items 28 in persistent storage 14 based on a user-definable persistent storage configuration 65. Fig. 2 is a message flow diagram associated with one embodiment of a process performed by an operator 23, which operator 23 may be a person or device, to retrieve persistent storage items 28 in persistent storage 14 of wireless device 12 of fig. 1. Referring to fig. 1 and 2, in one embodiment, operator 23 resides on a wireless network help computer 22 connected to user manager computer device 18 with a wired connection 41 and/or via a wireless network 42. In this scenario, the operator 23 decides to set or retrieve an item 28 from the persistent storage 14 of the wireless device 12 (event 200). The decision to set or retrieve an item from persistent storage 14 may be initiated in a number of ways. For example, a user of the wireless device 12 may have complained of device performance issues, such as too fast a rate of power consumption from their wireless device, and an operator accesses the persistent storage to investigate the issues. In other scenarios, items from persistent storage 14 of wireless device 12 may be set or retrieved as part of a regular maintenance check or as an upgrade to item values.
In the next step, wireless network help computer 22 utilized by operator 23 initiates user manager module 40 to interface with the wireless device (event 201). User manager module 40 may reside on computer device 18, such as a server, that is located on wireless network 42 from operator 23 and wireless device 12. In other embodiments, user manager module 40 may reside on wireless device 12 or on operator 23's wireless network help computer 22. In still other embodiments, operator 23 and user manager 40 may reside on wireless device 12.
User manager module 40 executes user interface generator module 79 to generate a user interface for operator 23 (event 202). In one embodiment, the user interface is menu based; however, other embodiments may use other types of interfaces, such as icons or voice recognition. The user interface is then transmitted to the operator 23 via the wireless network 42 and/or the wired connection 41 (event 203). As will be discussed later, the user interfaces may be consistent, i.e., have similar menu sequences and similar configurations within the menus for different device characteristics, such as software and hardware configurations, so that the user (in this case, operator 23) does not need to learn different user interfaces.
In the next step, operator 23 enters persistent storage item identifier 57 and associated activity 52 in a menu on the user interface (event 204). The persistent storage item identifier 57 corresponds to the persistent storage item 28 in persistent storage 14 on which the user wishes to perform an operation. Activity 52 identifies an operation to be performed, such as a read and/or write, and may further include a value associated with the operation (e.g., if a persistent storage item value is set). In one example, the user interface may present a plurality of possible persistent storage items and activities from which the user may select. For example, in the case of the complaint of fast power consumption mentioned above, the operator may select the slot cycle index persistent storage item. The slot cycle index tells the wireless device 12 when to wake up and listen for pages. If the value of the slot cycle index is too large, the wireless device 12 may miss the call, and if the value of the slot cycle index is too short, the wireless device 12 will use too much power. Also, for example, in this scenario, the operator may select the "read" activity 52. Operator 23 then transmits the selected persistent storage item identifier 57 and corresponding activity 52 to user manager 40 via computer 22 (event 205).
In the next step, configurator module 44 generates configuration 65 (event 206), which includes the selected persistent storage item identifier 57, access ID 82, and activity 58. The access ID 82, for example, includes a unique identifier associated with the operator 23 or with the computer device 22 that can be used to authenticate the user. User manager 40 then transmits configuration 65 to the wireless device (event 207).
The wireless device 12 receives the configuration 65 and then the local persistent storage access control 33 on the wireless device 12 processes the configuration 65 to make the access decision 81. In the scenario where the user is authenticated and the user has appropriate access rights, service programming module 20 on wireless device 12 performs configuration 65 and carries out the specified activity with respect to the specified persistent storage item (event 208). For example, module 20 may record persistent storage item activity results 47 for reporting purposes. For example, in the scenario described above, module 20 executes and places the value of the slot cycle index into information log 46, where the slot cycle index value read includes persistent storage item activity result 47. In some aspects, a copy of persistent storage configuration 65 may also be recorded in log 46 along with other relevant information (e.g., a name or identifier associated with the data). In other embodiments, access decision 81 may be made by user manager module 40, and in still other embodiments, local persistent storage access control 33 may further query the originator of configuration 65 for additional access-related information such as passwords, keys, digital signatures, digital certificates, and the like. In addition, access to one or more portions of persistent storage 14 may be provided based on access ID 82. In this way, for example, in the scenario above, operator 23 may be allowed to read the slot cycle index, but not the contents of the phonebook on wireless device 12.
In the next step, wireless device 12 transmits information log 46 to user manager module 40 (event 209). In some aspects, user manager module 40 generates a user interface (event 210) including log information using user interface generator module 79. In this regard, the user interface is then transmitted to the computer 22 of the operator 23 via the wired connection 41 or the wireless network 42 (event 211). Operator 23 then looks at the contents of the log, in this example the value of a persistent storage item called the slot cycle index, and may then determine whether the value is acceptable (event 212). In other aspects, the event 210 may include execution by the analyzer module 49 to automatically evaluate information within the log and generate a report 61 regarding the persistent storage item, such as providing details regarding whether the value is acceptable. In these aspects, event 211 may comprise a forward report, and event 212 may comprise an inspection and evaluation report by an operator.
Accordingly, the present apparatus, methods, computer readable media and processors are used to collect, analyze, report and set items in persistent storage 14 of wireless device 12. For example, in one embodiment, predetermined criteria for the values of the items in persistent storage 14 may be established for all wireless devices 12 having particular device or network parameters, such as an associated network service provider, software configuration, and/or hardware configuration. All relevant wireless devices 12 may then be set according to the predetermined criteria. Furthermore, the described embodiments may provide a consistent user interface in order to increase the efficiency of retrieving and setting items in persistent storage 14 of different wireless devices 12.
Referring to fig. 3, wireless device 12 may include any type of computerized, wireless device 12, such as a cellular telephone 12, a personal digital assistant, a two-way text pager, a portable computer, and even a separate computer platform that has a wireless communication portal, and which also may have a wired connection to a network or the internet. The wireless device 12 may be a remote slave device, or other device that does not have an end user but simply communicates data across the wireless network 42, such as remote sensors, diagnostic tools, data relays, and the like. Thus, the apparatus and method of service programming (i.e., retrieving, setting and reporting) persistent storage items 28 for a wireless device can be performed on any form of wireless device or computer module, including a wired or wireless communication portal, including without limitation, wireless modems, PCMCIA cards, access terminals, personal computers, telephones, or any combination or sub-combination thereof.
In addition, wireless device 12 has an input mechanism 15 for generating inputs into the wireless device, and an output mechanism 17 for generating information for consumption by a user of wireless device 12. For example, input mechanism 15 may include mechanisms such as a key or keyboard, a mouse, a touch screen display, a voice recognition module, and the like. Further, for example, output mechanism 17 may include a display, an audio speaker, a haptic feedback mechanism, and the like.
Further, wireless device 12 has a computer platform 13 that can transmit data across wireless network 42, and that can receive and execute software applications and display data transmitted from user manager module 40 or another computer device connected to wireless network 42. Computer platform 13 includes a data store 31, which may include volatile memory, such as Random Access Memory (RAM), and long-term memory defined by Persistent Storage (PS)14, such as non-volatile memory (NVM), Embedded File System (EFS), Secure File System (SFS), read-only memory (ROM), erasable programmable ROM (eprom), electrically erasable ROM (eeprom), flash cards, and/or any memory common to computer platforms. Further, data store 31 and persistent storage 14 may include one or more flash memory cells, or may be any secondary or tertiary storage device, such as magnetic media, optical media, tape, or soft or hard disk. In another embodiment, the wireless device 12 retrieves the persistent storage 14 from across the wireless network 42. In other words, persistent storage 14 may include any long-term storage mechanism or storage mechanism capable of retaining data in an unpowered state.
Persistent storage items 28 are items of data, settings, profiles, and/or any type of variables associated with characteristics, operating parameters, functionality, and/or service programming parameters of wireless device 12. Persistent storage items 28 may include (but are not limited to): an Electronic Serial Number (ESN), a Preferred Roaming List (PRL), a slot cycle index, a Mobile Directory Number (MDN), communication protocol related transmit and receive settings; setting an air interface; verifying the setting; user identification, password and authentication; booking setting; battery and/or charger settings; device application functionality settings such as text messaging settings, media player settings, group call settings, position location settings, language-based settings, web browser settings, camera-related settings, device mode settings, and operating system settings; setting call management; and a phonebook entry.
Persistent storage items 28 are stored in persistent storage 14, but wireless device 12 may copy persistent storage items 28 into volatile memory 80, such as Random Access Memory (RAM). This may be done because the time (access time) for processing engine 87 to retrieve an item from persistent storage 14 may be longer than the time for processing engine 87 to retrieve an item from volatile memory 80 (e.g., RAM). This may result in the following situation: to update the persistent storage items 28, the wireless device 12 would have to be reset, or the single persistent storage item 28 would have to be changed in both the volatile memory 80 and the non-volatile memory 14. This will be discussed again with reference to virtual machine 54 residing on wireless device 12.
Further, computer platform 13 also includes at least one processing engine 87, which may be an application specific integrated circuit ("ASIC"), or other chipset, processor, logic circuit, or other data processing device. Processing engine 87 or other processor, such as an ASIC, may execute an application programming interface ("API") layer 34 that interfaces with any resident programs, such as service programming module 20, in data store 31 of wireless device 12. API 34 is a runtime environment executing on the respective wireless device. One such runtime Environment is BinaryrRuntime Environment for Wireless ® (BREW ®) software developed by Qualcomm, Inc. of san Diego, Calif. Other runtime environments may be utilized that, for example, operate to control the execution of applications on wireless computing devices.
Processing engine 87 includes various processing subsystems 88 embodied in hardware, firmware, software, and combinations thereof, that enable the functionality of wireless device 12 and the operability of the wireless device on wireless network 42. For example, processing subsystems 88 allow for initiating and maintaining communications, and exchanging data, with other networked devices. In one embodiment, such as in a cellular telephone, communication processing engine 87 may include one processing subsystem 88 or a combination of processing subsystems 88, such as: voice, non-volatile memory, file system, transmit, receive, searcher, layer 1, layer 2, layer 3, master control, remote process, handset, power management, diagnostics, digital signal processor, vocoder, messaging, call manager, Bluetooth ® system, Bluetooth ® LPOS, location determination, positioning engine, user interface, sleep, data services, security, authentication, USIM/SIM, voice services, graphics, USB, multimedia such as MPEG, GPRS, etc. For the disclosed embodiments, processing subsystems 88 of processing engine 87 may include any subsystem components that interact with applications executing on computer platform 13. For example, processing subsystems 88 may include any subsystem components that receive data reads and data writes from API 34 on behalf of resident service programming module 20. Further, all or portions of the persistent storage item activity results 47 gathered and then recorded in the information log 46 may be obtained from these subsystems 88.
Computer platform 13 further includes programming service module 20 to manage persistent storage items 28 on wireless device 12. Programming service module 20 may include any hardware, software, firmware, and/or other set of executable instructions operable to manage the reading and writing of persistent storage items 28 on wireless device 12, as well as to transmit any information regarding the management of persistent storage items 28 of wireless device 12 (i.e., persistent storage activity results 47) across wireless network 42. In one embodiment, service programming module 20 includes service programming logic 24 that provides the ability to retrieve, transmit, set, and store items in persistent storage 14 of wireless device 12 based on persistent storage configuration 65.
Service programming module 20 may be initiated at any time and persistent storage activity results 47 recorded in information log 46 may be stored on wireless device 12 and obtained at any time via a wired or wireless connection to wireless device 12. Further, service programming module 20 may store this information in information log 46, either in data store 31 or another memory device that may be connected to wireless device 12. Information log 46 may include any type of memory or storage. Although illustrated as being associated with service programming module 20, information log 46 may be located anywhere in communication with service programming module 20, such as on another server or computer device connected to wireless network 42, on wireless device 12, or on wireless network help computer 22.
Service programming module 20 may cause wireless device 12 to selectively transmit the value of the selected persistent storage item 28 of the wireless device 12 to another computer device, such as user manager module 40, over wireless network 42. In one embodiment, service programming module 20 transmits persistent storage items 28 collected from the wireless device 12 to user manager module 40 over wireless network 42. Alternatively, persistent storage items 28 are transmitted to user manager module 40 over an open communication connection from wireless device 12 over wireless network 42, and are thus "piggybacked" over an open connection, such as a voice or data call at wireless device 12. In a cellular network configuration, persistent storage items 28 may be transmitted to user manager module 40 through short message service, file transfer protocol, hypertext transfer protocol, etc., in another embodiment, user manager module 40 reads persistent storage items 28 from the respective devices through remotely located service programming module 21. Thus, access to service programming module 20 allows user manager module 40 to remotely retrieve and set the value of persistent storage item 28.
Service programming module 20 operates based on persistent storage configuration 65. Persistent storage configuration 65 may be generated by any computer device connected to wireless network 42, or may be transmitted locally to wireless device 12, such as through manual input by a user and/or by transmission from a locally connected media reader, or may even be loaded on wireless device 12 at the time of manufacture. In one embodiment, for example, persistent storage configuration 65 is generated by user manager module 40, as explained below.
Persistent storage configuration 65 may include instructions and data that specify operations to be performed by service programming module 20. The persistent storage configuration 65 may be fully configurable, i.e., the defined activities and persistent storage items may be selected and/or determined by the user, and thus these defined parameters may be of approximately unlimited variety and form. For example, with continued reference to FIG. 3, in one embodiment, persistent storage configuration 65 may contain persistent storage request 78, which includes persistent storage item identifier 57, activity 52, and access ID 82. Persistent storage item identifier 57 identifies a user-selected persistent storage item of the plurality of persistent storage items 28 on the wireless device 12 to which the activity 52 relates. Activity 52 identifies user-defined and configurable operations (e.g., reads and/or writes) to be performed with respect to the identified persistent storage item, and/or values to be added (in the case of writes). Also, access ID 82 (which is optional) refers to the identity of the party requesting activity 52. For example, persistent storage item identifier 57 may be a persistent storage item 28 called a slot cycle index, and activity 52 may be service programming module 20 reading the value of the slot cycle index and placing the value in information log 46 and transmitting it to user manager module 40. More generally, activity 52 may be retrieving or changing the value of persistent storage item identifier 57 and may include instructions and data for service programming module 20 to execute on virtual machine 54 (e.g., JAVA ® runtime environment). The instructions and data may be a general purpose program (e.g., JAVA ® programming language) that will run on virtual machine 54 to retrieve or change the value of persistent storage item identifier 57. The functionality enabled by the instructions and data contained in activity 52 is described below with a description of virtual machine 54. An access ID 82 that may be included in persistent storage request 78 allows service programming module 20 to control access to persistent storage item 28 based on persistent storage request 78. This will be described later with a description of the local persistent storage access control module 33. Thus, persistent storage configuration 65 provides a flexible method for controlling the operation of service programming module 20.
As described above, service programming module 20 may include virtual machine 54, where virtual machine 54 is operable to execute the instructions and data contained in activity 52, which may be a general purpose programming language such as JAVA ® code. In one embodiment, a general purpose programming language may operate any functionality of the respective wireless device 12. For example, virtual machine 54 may make an actual call on wireless device 12 to gather information for retrieving or changing persistent storage items 28. In other embodiments, the instructions and data contained in activity 52 may be in a relatively simple language. Further, the instructions and data contained in the activity 52 provide functionality such as the ability to retrieve or change the persistent storage item identifier 57 from both the persistent storage 14 and the volatile memory 80. This capability allows the persistent storage item identifier 57 that has been copied to volatile memory 80 to be changed without having to reboot the wireless device 12. As previously discussed, the persistent storage item 28 may be copied to the volatile memory 80 such that the access time for the processing engine 87 to retrieve the persistent storage item 28 will be less than if the item were merely held in persistent storage. For example, the volatile memory 80 may have an access time that is faster than a corresponding access time to the persistent storage 14. In another embodiment, the instructions and data contained in activity 52 may be an executable program that calculates the value of a persistent storage item 28 prior to setting the persistent storage item 28. In this case, the value of persistent storage item 28 may be a function of some other known value. For example, if persistent storage item identifier 57 is a slot cycle index, activity 52 may contain a program and data that calculates the speed of processing engine 87 and then uses this value to derive the value to which to set the slot cycle index. Further, it should be noted that virtual machine 54 may alternatively or additionally include an extensible markup language (XML) processor combined with received scripts that are received and processed to perform any predetermined functionality on the wireless device as described above. Thus, virtual machine 54 provides the ability to change or retrieve persistent storage items 28 by using the instructions and data contained in activity 52, which may perform any operations on wireless device 12.
With continued reference to FIG. 3, in some embodiments, the persistent storage configuration 65 is checked by the local persistent storage access control module 33, which local persistent storage access control module 33 includes access logic 59 that is executable by the local access control module 40 to make an access decision 81 by, for example, allowing or denying execution of the activity 52 on the persistent storage item 28 based on the activity 52 and/or based on the access ID 82. Additionally, the access logic 59 may further include algorithms, decision-making routines, encryption algorithms, etc. for making access decisions 81, and for transmitting, storing, and encrypting/decrypting passwords, digital signatures, digital certificates, keys, etc. Access logic 59 may utilize access data 129, which in one embodiment, access data 129 may be a database containing a set of possible users of wireless device 12, all or some portion of persistent storage items 28 on wireless device 12, all or some portion of possible activities 52 for each persistent storage item 28, and an authorized access ID 82, as well as access permissions for combinations of these items. For example, for persistent storage items 28 such as slot cycle index, the access data 129 may contain information identifying the predetermined operator 23 (as identified by the access ID 82) as being authorized to change the value of the slot index cycle with a predetermined password. The access ID 82 contains information such as an individual user ID, password, user type, and other such information that may be used to make an access decision 81 for persistent storage items 28 on the wireless device 12. In addition, the local persistent storage access control module 33 allows any predetermined functionality to be implemented, such as: denying access to a predetermined portion of the storage device, such as a storage area for personal subscriber information (e.g., a phone book for the user of the wireless device 12), to a predetermined party (e.g., the carrier operator 23); and to prevent a user of the wireless device 12 from changing predetermined persistent storage items 28 that may affect device and/or network operation, such as persistent storage items 28 that would prevent further access to the wireless network 42 when improperly set. In one embodiment, the local persistent storage access control module 33 may request and verify a password or other access-related mechanism before allowing the activity 52 to be performed on the persistent storage item 28. Furthermore, there may be different passwords or access mechanisms for different persistent storage items 28. Thus, for example, persistent storage items 28 associated with the local phone book may have a different password than persistent storage items 28 that affect the operation of the wireless device 12. Local persistent storage access control module 33 may include hardware, software, firmware, and combinations thereof for making access decisions 81. Although illustrated as being associated with service programming module 20, local persistent storage access control module 33 may be located anywhere in communication with wireless network 42, such as on user manager module 40, on another server connected to the network, on wireless device 12, or on operator computer 22. Thus, the local access control module 33 provides functionality to prevent persistent storage items 28 on the wireless device 12 from being improperly retrieved (e.g., private phone book) or improperly changed (e.g., the user accidentally changing persistent storage items 28 that would affect the operation of the wireless device 12). Further, in securing persistent storage items 28, local access control module 33 may be used to prevent intentional intrusion into wireless device 12, such as detection by hackers and/or access attempts by viruses.
Further, service programming module 20 may include a limited service configuration 38 operable to establish a limited access communication channel over wireless network 42. In some aspects, the limited-access communication channel may not be available to an end user of the wireless device 12. For example, a limited-access communication channel may be used for transmitting the information log 46 or for receiving the persistent storage configuration 65. Further, the limited-access communication channel may allow for emergency calls (e.g., "911" calls), or may allow calls to an operator or other designated party associated with the wireless network provider, in the event that communications from the wireless device 12 have otherwise been disabled. Such a limited service channel may be used in scenarios where a change has been made to persistent storage item 28 that disables the communication capabilities of the wireless device, and the limited service channel may be used to gain access to the wireless device and read and/or write values to restore the functionality of the device. Additionally, the identification and establishment of the limited-access communication channel is based on the limited service setting 39. The data service settings 39 may identify the type of communication allowed and may identify the associated communication channels available. The data service configuration 39 may be received over the wireless network 42, may be communicated locally to the wireless device 12 (e.g., over a serial connection), or may be preloaded on the wireless device 12.
Thus, in one embodiment, programming service module 20 provides wireless device 12 with a resident or self-contained capability to retrieve, change, and store persistent storage items 28.
Referring back to FIG. 1, user manager module 40 may comprise at least one of any type of hardware, software, firmware, server, personal computer, mini computer, mainframe computer, or any special purpose or general purpose computing device. Further, user manager module 40 may reside entirely on wireless device 12. Further, there may be separate servers or computer devices associated with user manager module 40 that work together to provide data to parties in a usable format, and/or to provide a separate layer of control in the data flow between wireless device 12 and user manager module 40. User manager module 40 (or modules) may send software agents or applications, such as service programming module 20, to wireless device 12 across wireless network 42 so that wireless device 12 returns information from its resident applications and subsystems. For example, wireless device 12 may transmit the results of applying configuration 65 to persistent storage items 28 (i.e., persistent storage activity result 47 and associated configuration 65) within information log 46, where user manager module 40 may then compare this result to predetermined persistent storage values 126 to generate report 61. For example, the predetermined persistent storage value 126 may be a predetermined value and/or range of values that correspond to an appropriate, authorized, and/or predetermined standard setting for a given persistent storage item 28. The predetermined persistent storage value 126 may vary depending on a number of factors, such as the make or model of the wireless device, the hardware and/or software configuration, the communication protocol used, the associated network operator, and so forth.
User manager 40 includes remote service programming module 21 to manage persistent storage items 28. Remote service programming module 21 may include software, hardware, firmware, and generally any executable instructions operable by user manager module 40. Remote service programming module 21 may download all or a portion of the resident version of service programming module 20 to wireless device 12. Alternatively, the resident version of the remote service programming module may be loaded onto the wireless device 12 during the initial assembly process or via a direct connection during the configuration process. Further, remote service programming module 21 includes service programming logic 25 that is executable by user manager module 40 to generate persistent storage configuration 65 and manage the collection and analysis of information log 46 from wireless device 12. Remote service programming module 21 may "pull" log 46 based on a command from the user, or may "push" the log from wireless device 12.
Referring to fig. 1 and 4, in one embodiment, remote service programming module 21 includes configurator module 44 that includes hardware, firmware, software and/or any other associated logic that allows configurator module 44 to generate persistent storage configuration 65. In one embodiment, configurator module 44 executes configuration logic 121, which configuration logic 121 combines the various components of a given persistent storage configuration 65, which in some aspects may be based on selecting from a number of variable parameters. For example, the parameters that make up persistent storage configuration 65 may vary depending on device-related parameters 71 and/or network-related parameters 73. For example, device-related parameters 71 may include (but are not limited to): type/make/model/manufacturer of wireless device; hardware configuration and/or version; a communication protocol; and software configuration and/or version. Further, for example, network-related parameters 73 may include (but are not limited to): a network service provider associated with the wireless device; and the communication protocol used. It should be noted, however, that the device-related parameters 71 and/or the network-related parameters 73 may include any other predetermined factors. For example, configuration logic 121 may utilize configuration data 122, which in one embodiment may be a database containing a plurality of possible software configurations, a plurality of possible processing engines, a plurality of possible different languages and a plurality of different operators, among other possible data. Configuration logic 121 uses configuration data 124 to help generate user-driven configurations. Further, referring to FIG. 5, configurator module 44 is operable to operate with user interface generator module 79 to provide a consistent user interface 87, as will be discussed in more detail below. Alternatively, instead of selecting the various parameters individually, configuration logic 121 may provide the ability to select from a plurality of predetermined persistent storage configurations 140. This functionality allows all or a subset of persistent storage items 28 on the wireless device 12 to be set according to a criterion. Once persistent storage configuration 65 is generated, configurator module 44 and/or remote service programming module 21 is operable to transmit persistent storage configuration 65 to one or more wireless devices 12 in order to initiate predetermined persistent storage activities 52.
Further, referring to FIGS. 1, 5 and 6, as previously introduced, the remote service programming module 21 may have a user interface generator module 79. User interface generator module 79 includes interface logic 123 executable by user interface generator module 79 to provide a consistent user interface 87 (fig. 6) for programming persistent storage items in different types of wireless devices and/or wireless devices associated with different networks. For example, referring to FIG. 6, the user interface generator module 79 may integrate the process for accessing persistent storage items of a wireless device having different processing engines 209, 210, 211 and different software ("S/W") configurations 200, 201, 202, 203, 204, 205, 206, 207, 208 into a consistently ordered menu sequence 87, represented by views 92, 94, 96, 98 and 100, each having a consistently ordered arrangement 93, 95, 97, 99, 101 of inputs and/or outputs (e.g., menu selections and/or value input locations). Interface logic 123 may include algorithms, decision-making routines, encryption algorithms, etc. for generating consistent sequences of user interfaces 87, and for transmitting, storing, and optionally encrypting consistent user interfaces 87. The user interface 87 may be generated for a user (human) or the user interface 87 may be generated for a device. The generated user interface 87 may take a graphical form or may take a form that is easier to interpret by a computer device, such as extensible markup language (XML). Interface logic 123 may include interface data 124 to generate consistent user interface 87 for a user. For example, the interface data 124 may include device-related parameters 127 and/or network-related parameters 131. For example, device-related parameters 127 may include (but are not limited to): type/make/model/manufacturer of wireless device; hardware configuration and/or version; a communication protocol; and software configuration and/or version. Further, for example, the network-related parameters 131 may include (but are not limited to): a network service provider associated with the wireless device; and the communication protocol used. It should be noted, however, that device-related parameters 127 and/or network-related parameters 131 may include any other predetermined factors. For example, in one embodiment, the interface data 124 may include a database containing a plurality of possible software configurations, a plurality of possible processing engines, a plurality of possible different languages, a plurality of possible device manufacturers, a plurality of possible device models, and a plurality of possible carriers. Interface logic 123 uses interface data 124 to sort through all variables and compose an ordered user interface with the appropriate data corresponding to the parameters associated with a given wireless device. User interface generator module 79 may include hardware, software, firmware, and combinations thereof to generate consistent user interface 87. Although user interface generator module 79 is illustrated as being associated with remote service programming module 21, it may be located anywhere in communication with wireless network 42, such as on user manager module 40, on service programming module 20, on another server connected to the network, on a respective wireless device 12, or on a network help computer 22 accessible through wireless network 42.
Referring back to fig. 1, remote service programming module 21 may include an information repository module 45 for storing information logs 46 received from wireless devices 12 based on executing persistent storage configuration 65. Information repository 45 may include any type of memory or storage device. Although illustrated as being associated with remote service programming module 21, information repository 45 may be located anywhere in communication with user manager 40, such as on another server or computer device connected to wireless network 42, on wireless device 12, or on wireless network help computer 22.
Further, as described above, remote service programming module 21 may include an analyzer 49, which may include hardware, software, firmware, and combinations thereof, for analyzing and processing information regarding persistent storage activity results 47 in information store 45 in order to generate reports 61. Additionally, the analyzer 49 may further include analysis logic 125, including algorithms, decision-making routines, statistical programs, etc., for analyzing and interpreting the information logs 46 included in the information repository module 45. Although illustrated as being associated with remote service programming module 21, analyzer 49 may be located anywhere in communication with user manager module 40, such as on another server connected to wireless network 42, on wireless device 12, or on wireless network help computer 22.
In one embodiment, report 61 and/or information log 46 may be manually reviewed, such as by a technician, field engineer, carrier, operator 23, or user of wireless device 12, for evaluating information regarding persistent storage activity results 47 associated with a particular wireless device 12. Operator 23 or a user of wireless device 12 may generate a new persistent storage configuration 65 for wireless device 12 based on information log 46 and/or report 61. In general, the report 61 may be used to detect and correct problems with persistent storage item 28 values through analysis of the information log 46. Thus, report 61 includes any form of output representing an analysis of information log 46 and other information included in information store 45, as well as any other associated information that may be incorporated in predetermined persistent storage values 126, such as a virus report, an appropriate persistent storage value for wireless device 12, and so forth. The generated report 61 may then be considered a measure of the integrity of the persistent storage items 28 on the wireless device 12.
Although illustrated as generating a report 61, remote service programming module 21 and its corresponding components may provide a ready overview of information collected from wireless device 12 regarding persistent storage activity results 47 in any form, such as a table, a map, a graphical view, plain text, an interactive program or web page, or any other display or presentation of data. For example, remote service programming module 21 may present persistent storage item-related information on a monitor or display device, and/or may transmit such information to another computer device for further analysis or review, such as via email. Also, remote service programming module 21 may be executed to change persistent storage configuration 65 based on information log 46 and/or based on reports 61 generated by analyzer 49.
As previously described with reference to fig. 1, although operator 23 is illustrated as a human in this embodiment, in other embodiments operator 23 may be a computing device that may include hardware, software, firmware, and combinations thereof for analyzing and responding to reports 61 or to external communications, such as from a user of wireless device 12. Further, operator 23 may reside on the same computing device as user manager module 40, which may be wireless device 12. In one embodiment, operator 23 is a person who may respond to report 61. Additionally, operator 23 may further include algorithms, decision-making routines, statistical programs, etc. for analyzing and interpreting report 61. Although illustrated as being associated with wireless network help computer 22, operator 23 may be located anywhere in communication with wireless network 42, such as on user manager module 40, on another server connected to the network, or even on wireless device 12.
Referring to fig. 1, wireless network 42 includes any communication network operable, at least in part, for enabling wireless communication between wireless device 12 and any other device connected to wireless network 42. Further, the wireless network 42 may include all network components, and all connected devices that form a network. For example, wireless network 42 may include at least one or any combination of the following various networks: a cellular telephone network; a terrestrial telephone network; multicast networks, such as single Forward Link (FLO) networks, e.g., MediaFLO available from Qualcomm, Inc. of san Diego, CalifTMA system; digital Video Broadcasting (DVB) networks such as DVB-S for satellite, DVB-C for cable, DVB-T for terrestrial television, DVB-H for handheld terrestrial television; a terrestrial telephone network; a satellite telephone network; infrared networks, such as infrared data association ("IrDA") based networks; a short-range wireless network; bluetooth ® technology network; ZigBee ® protocol network; an ultra-wideband ("UWB") protocol network; a local radio frequency ("HomeRF") network; share nothingA line access protocol ("SWAP") network; broadband networks, such as wireless ethernet compatibility alliance ("WECA") networks, wireless fidelity alliance ("Wi-Fi alliance") networks, and 802.11 networks; a public switched telephone network; a public heterogeneous communications network, such as the internet; a private communication network; and terrestrial mobile radio networks. Suitable examples of telephony networks include at least one or any combination of analog and digital networks/technologies, such as: personal communication services, code division multiple access, wideband code division multiple access, universal mobile telecommunications system, advanced mobile phone services, time division multiple access, frequency division multiple access, orthogonal frequency division multiple access, global system for mobile communications, analog and digital satellite systems, and any other technology/protocol that may be used in at least one of a wireless communication network and a data communication network.
Network interface 43 may be any mechanism that allows user manager module 40 to communicate over wireless network 42. For example, network interface 43 may include a local area network that connects user manager module 40 through an internet service provider to the internet, which in turn will be connectable through a carrier network and base station to related wireless devices.
Fig. 7 is a representative diagram that more fully illustrates the components of a cellular radiotelephone and the interrelation of the elements of one embodiment of the present system. In one embodiment, wireless device 12 comprises a cellular telephone. The cellular telephone system 292 may include a wireless network 42 connected to a wired network 58 via a carrier network 64. Wireless devices 12 are made with increased computing capabilities and typically can communicate packets including voice and data over wireless network 42. As previously described, these "smart" wireless devices 12 have an API 34 on their local computer platform 13 that allows software developers to create software applications that operate on the cellular telephone 12 and control certain functionality on the device. Cellular wireless network 292 is merely exemplary and may include any system whereby remote modules, such as wireless devices 12 communicate over-the-air between and among each other and/or between and among components of a wireless network 42, including, without limitation, wireless network carriers and/or servers.
In system 292, user manager module 40 may communicate with a separate data store 60 over a wired network 58 (e.g., a local area network, LAN) in order to obtain service programming information, such as data logs 46 or interface data 124 or configuration data 122 gathered from wireless devices 12. Further, data management server 62 may communicate with user manager module 40 to provide post-processing capabilities, data flow control, and the like. User manager module 40, data repository 60, and data management server 62 may be present on cellular telephone system 292 along with any other network components needed to provide cellular telecommunication services. User manager module 40 and/or data management server 62 communicate with carrier network 64 via data links 70 and 66, which data links 70 and 66 may be data links such as the internet, a secure LAN, WAN, or other network. The carrier network 64 controls messages (typically data packets) sent to a mobile switching center ("MSC") 68. In addition, the carrier network 64 communicates with the MSC 68 by a network 70, such as the Internet and/or POTS ("plain old telephone service"). Typically, in the network 70, the network or internet portion communicates data and the POTS portion communicates voice information. MSC 68 may be connected to multiple base stations ("BTS") 72 by another network 74, such as a data network and/or internet portion for data transfer and a POTS portion for voice information. BTS 72 ultimately broadcasts messages wirelessly to wireless devices, such as wireless device 12, by short messaging service ("SMS"), or other over-the-air methods.
Referring to FIG. 8, one embodiment of a method of managing items in persistent storage 14 of wireless device 12 and providing a corresponding consistent user interface includes obtaining at least a portion of service programming module 20 for computer platform 13 of wireless device 12 (block 702). For example, service programming module 20 may be included within the hardware and/or firmware of the wireless device during device manufacture. Alternatively, service programming module 20 may be "pushed" by user manager module 40 to wireless device 12 or "pulled" by wireless device 12 from user manager module 40 over wireless network 42. Alternatively, service programming module 20 may be "pulled" or "pushed" depending on whether wireless device 12 has the most recent version of service programming module 20 for the respective wireless device 12. In another alternative embodiment, the loading of service programming module 20 may be configured in any manner, such as by being initiated by a predetermined event, such as wireless device 12 encountering difficulty in communicating with wireless network 42, or wireless device 12 communicating with a different network service provider. In another alternative embodiment, the pushing or pulling of service programming module 20 relative to wireless device 12 may be configured in any manner, such as: initiated by a predetermined event.
Further, this embodiment of the method includes obtaining at least a portion of persistent storage configuration 65 for retrieving and setting items in persistent storage 14 of wireless device 12 (block 704). For example, persistent storage configuration 65 may be included within the hardware and/or firmware of the wireless device during device manufacture. Alternatively, persistent storage configuration 65 may be "pushed" by user manager module 40 to wireless device 12 or "pulled" by wireless device 12 from user manager module 40 across wireless network 42. In another alternative embodiment, acquisition of persistent storage configuration 65 may be initiated in any manner, such as by a predetermined event, such as wireless device 12 experiencing difficulty in communicating with wireless network 42, or wireless device 12 communicating with a different network service provider. In another alternative embodiment, pushing or pulling the configuration 65 relative to the wireless device 12 may be configured in any manner, such as: initiated by a predetermined event. Additionally, as described above, the configuration may be generated by using a user interface generator module 79 that provides a consistent user interface 87 to the user.
Additionally, this embodiment of the method may include determining whether the activity required by configuration 65 is authorized, e.g., based on the access ID 82 from the user (block 706). As previously discussed, local persistent storage access control module 33 makes access decision 78 and may request a password or other authorization mechanism from the user.
Further, this embodiment of the method includes processing the persistent storage configuration (block 708). For example, service programming module 20 carries out the activities required for configuration 65. For example, persistent storage item identifier 57 may be a slot cycle index and activity 52 may be retrieving or setting a value of the slot cycle index. Further, service programming logic 24 may write the results of the requested activity, i.e., information about persistent storage activity result 47, to information log 46.
Further, this embodiment of the method includes forwarding persistent storage activity results 47 included in information log 46 to a user of service programming module 20 (block 710). As noted above, this information includes activities performed on one or more persistent storage items, and may further include configurations associated with the activities as well as any other device-related and/or network-related information that may be of interest to a party sending the configurations.
Referring to fig. 9, one embodiment of a method operable on an apparatus to retrieve or change the value of a persistent storage item 28 on a wireless device 12, which in some aspects utilizes a consistent user interface, includes generating a persistent storage configuration (block 802). In one embodiment, a user, such as a technician or operator 23, accesses remote service programming module 21 and executes configurator module 44 to generate persistent storage configuration 65 for a given wireless device 12. Configurator module 44 may utilize configuration logic 56 to determine and/or customize various parameters including configuration 65, and these parameters may vary depending on device-related and/or network-related information such as the type/make/model of wireless device, the actual network service provider, and the firmware type. Configurator module 44 may also utilize user interface generator module 79 to provide a consistent user interface to the user, as discussed above.
Further, this embodiment of the method includes forwarding the persistent storage configuration to the wireless device (block 804). For example, user manager module 40 may transmit persistent storage configuration 65 to wireless device 12 over wireless network 42. Alternatively, in another embodiment, configuration 65 may be forwarded to wireless device 12 over a static or serial connection. In another alternative embodiment, the configuration 65 may be preloaded on the wireless device 12 during manufacturing.
Further, this embodiment of the method includes receiving persistent storage activity result information from the wireless device 12 based on the persistent storage configuration 65 (block 806). For example, user manager module 40 may receive information log 46 from wireless device 12, including persistent storage activity result 47 and/or configuration 65. The data in the information log 46 corresponds to the processing of persistent storage configuration 65 by the respective wireless device 12. Additionally, in one embodiment, user manager module 40 receives information log 46 over wireless network 42. Further, information log 46 may be received as a whole or in fragments and combined by user manager module 40 and/or remote service programming module 21. In another embodiment, user manager module 40 receives information log 46 through a static or serial connection to wireless device 12, or from some other computer device or storage medium in communication with user manager 40.
Optionally, one embodiment of the method includes generating a report based on the data in the information log 46 (block 808). The report may be generated by analyzer 49 and may report only the results of the wireless device 12 that has processed the persistent storage configuration 65, such as providing the value of the persistent storage item 28, or it may be just a report reporting the results of setting the persistent storage item 28. The report may be part of an interaction with the user and may be part of a consistent user interface generated by the user interface generator module 79. Analyzer 49 may also compare information log 46 to predetermined persistent storage values 126 and report the results of such a comparison, such as persistent storage items being set appropriately on such a wireless device, or requiring persistent storage items to be reset on such a wireless device, etc. Further, the analyzer logic 125 may generate the persistent storage configuration 65 based on the results of the comparison of the information log 46 to the predetermined persistent storage values 126. In this embodiment, the analyzer logic 125 may maintain the persistent storage items of the wireless device 12 as a standard set of predetermined persistent storage values 126, or set all wireless devices 12 of some type to a set of predetermined persistent storage values 126.
Optionally, in one embodiment, the report is forwarded for analysis (block 810). For example, service programming module 21 may execute service programming logic 25 to transmit report 61 to another computer device, a user of the wireless device, or a third party for review. In one embodiment, service programming module 21 transmits report 61 to computer device 22 for review by operator 23. Operator 23 may take action based on report 61, such as sending a request to the user of the respective wireless device 12 to replace the wireless device 12. In another embodiment, analysis of report 61 results in operator 23 initiating user manager module 40 to change persistent storage items 28 on wireless device 12.
Thus, the described embodiments allow a party (e.g., a wireless network service provider, a wireless device manufacturer, a firmware manufacturer, a hardware and/or software manufacturer, etc.) to retrieve and/or change persistent storage items 28 on the wireless device 12. For example, a network service provider may need to detect compromised persistent storage items 28 so that they can provide good service to their customers and generate revenue.
In addition, the described embodiments allow the manufacturer of the wireless device to configure persistent storage item 28 with an application that provides a consistent user interface for different wireless devices, different service providers, and/or different versions of hardware/software/firmware, such that the application does not have to be written for each particular wireless device. Furthermore, the described embodiments allow for notifying a user of a wireless device: the wireless device needs to be repaired. In this case, disabling the wireless device may at least inconvenience the user of the wireless device and may cause the network service provider to lose revenue. Furthermore, instead of disabling the device or requesting the user of the wireless device to repair the wireless device, the described embodiments allow for the persistent storage items to be changed in order to restore good operation of the wireless device.
The various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable module device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
Further, the steps of a method or algorithm described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
While the foregoing disclosure shows illustrative embodiments, it should be noted that various changes and modifications could be made herein without departing from the scope of the described embodiments as defined by the appended claims. Furthermore, although elements of the described embodiments may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
Claims (49)
1. A wireless communication device, comprising:
a computer platform having persistent storage comprising a plurality of persistent storage items each corresponding to a characteristic of the wireless device; and
a service programming module operable to perform an activity on a user-selectable persistent storage item of the plurality of persistent storage items based on a predetermined persistent storage configuration.
2. The apparatus of claim 1, wherein the activity comprises at least one of changing a value of the user-selectable one of the plurality of persistent storage items and retrieving a value of the user-selectable one of the plurality of persistent storage items.
3. The device of claim 1, wherein the predetermined persistent storage configuration is received by the wireless device from across a wireless network.
4. The device of claim 1, wherein the predetermined persistent storage configuration further comprises a predetermined program associated with predetermined data related to the activity performed on the user-selectable one of the plurality of persistent storage items.
5. The device of claim 4, further comprising a virtual machine operable to execute the predetermined program associated with the predetermined data in order to perform the activity.
6. The device of claim 5, wherein the computer platform further comprises volatile memory, wherein the user-selectable persistent storage item of the plurality of persistent storage items is present in both the persistent storage and the volatile memory, and wherein both a value of the user-selectable persistent storage item in the persistent storage and a corresponding value of the user-selectable persistent storage item in the volatile memory are changed by the virtual machine executing the predetermined program associated with the predetermined data.
7. The device of claim 1, wherein the plurality of persistent storage items comprise at least one of a Preferred Roaming List (PRL), a slot cycle index, a Mobile Directory Number (MDN), communication protocol related transmit and receive settings, air interface settings, verification settings, user identification, password, authentication, subscription settings, battery settings, charger settings, device application functionality settings, call management settings, and phonebook entries.
8. The device of claim 1, further comprising a persistent storage item store operable to store results of applying the persistent storage configuration to the selectable one of the plurality of persistent storage items of the wireless device.
9. The device of claim 8, wherein at least a portion of the persistent storage item repository is stored at the wireless device and selectively transmitted to another computer device over the wireless network.
10. The apparatus of claim 1, wherein the service programming module is further operable to establish a limited-access communication channel over a wireless network, wherein the limited-access communication channel is based on a predefined limited-service configuration.
11. The apparatus of claim 10, wherein the limited-access communication channel is not usable by an end user of the apparatus for non-emergency communications.
12. The device of claim 1, wherein the predetermined persistent storage configuration further comprises a reference to at least two of a persistent storage item, an activity executable with respect to the persistent storage item, and an access identification associated with an originator of the predetermined persistent storage configuration, wherein the computer platform further comprises a persistent storage access control module operable to make an access decision based on at least one of the persistent storage item, the activity, and the access identification.
13. A method of managing persistent storage items on a wireless device, comprising:
obtaining a persistent storage configuration identifying a predetermined activity and a user-selectable persistent storage item of a plurality of persistent storage items on the wireless device that is an object to be performed for the activity;
performing the activity on the user-selectable one of the plurality of persistent storage items; and
forwarding results of the activity performed on the user-selectable one of the plurality of persistent storage items.
14. The method of claim 13, wherein the activity comprises at least one of changing a value of the user-selectable one of the plurality of persistent storage items and retrieving a value of the user-selectable one of the plurality of persistent storage items.
15. The method of claim 13, wherein obtaining a persistent storage configuration further comprises receiving the predetermined persistent storage configuration from across a wireless network.
16. The method of claim 13, wherein the predetermined persistent storage configuration further comprises a predetermined program associated with predetermined data related to the activity performed on the user-selectable one of the plurality of persistent storage items.
17. The method of claim 13, wherein the activity comprises changing a value, and further comprising changing a value of the user-selectable persistent storage item in both a persistent storage and a volatile memory associated with the wireless device.
18. The method of claim 13, wherein the plurality of persistent storage items comprise at least one of a Preferred Roaming List (PRL), a slot cycle index, a Mobile Directory Number (MDN), communication protocol related transmit and receive settings, air interface settings, verification settings, user identification, password, authentication, subscription settings, battery settings, charger settings, method application functionality settings, call management settings, and phonebook entries.
19. The method of claim 13, further comprising storing results of performing the persistent storage configuration.
20. The method of claim 19, wherein forwarding further comprises selectively transmitting to another computer device over a wireless network.
21. The method of claim 13, wherein at least one of obtaining the persistent storage configuration and forwarding the result comprises establishing a limited-access communication channel over a wireless network, wherein the limited-access communication channel is based on a predefined limited service configuration.
22. The method of claim 21, wherein the limited-access communication channel is not available for non-emergency communication by an end user of the method.
23. The method of claim 13, further comprising generating an access decision prior to performing the activity, wherein the access decision is based on at least one of the user-selectable one of the plurality of persistent storage items, the activity, and an access identification associated with the persistent storage configuration.
24. The method of claim 13, further comprising obtaining a service programming module operable to receive and execute the persistent storage configuration.
25. A wireless device, comprising:
means for obtaining a persistent storage configuration identifying a predetermined activity and a user-selectable persistent storage item of a plurality of persistent storage items on the wireless device that is an object to be performed for the activity;
means for performing the activity on the user-selectable one of the plurality of persistent storage items; and
means for forwarding results of the activity performed on the user-selectable one of the plurality of persistent storage items.
26. A machine-readable medium comprising instructions, which when executed by a machine, cause the machine to perform operations, the operations comprising:
obtaining a persistent storage configuration identifying a predetermined activity and a user-selectable persistent storage item of a plurality of persistent storage items on the wireless device that is an object to be performed for the activity;
performing the activity on the user-selectable one of the plurality of persistent storage items; and forwarding a result of the activity performed on the user-selectable one of the plurality of persistent storage items.
27. At least one processor configured to perform the following acts:
obtaining a persistent storage configuration identifying a predetermined activity and among a plurality of persistent storage items on the wireless device
A user-selectable persistent storage item that is an object to be performed for the activity;
performing the activity on the user-selectable one of the plurality of persistent storage items; and forwarding a result of the activity performed on the user-selectable one of the plurality of persistent storage items.
28. An apparatus for managing persistent storage items on a wireless device, comprising:
a service programming module comprising service programming logic operable to generate a persistent storage configuration and transmit the persistent storage configuration to a predetermined wireless device, wherein the persistent storage configuration comprises a user-selectable activity for performing on a user-selectable persistent storage item of a plurality of persistent storage items associated with the predetermined wireless device;
an information store comprising activity results received by the apparatus based on the wireless device performing the persistent storage configuration; and
an analyzer module operable to generate a report based on the activity results.
29. The apparatus of claim 28, further comprising a user interface generator that generates a user interface
The apparatus is operable to present a user interface having a predetermined presentation order for a plurality of different wireless devices.
30. The apparatus of claim 29, wherein the predetermined presentation order comprises at least one of a substantially consistent sequence of menus and a substantially consistent arrangement of selections within each menu of the sequence of menus.
31. The apparatus of claim 28, wherein the persistent storage configuration further comprises an access identification, and the apparatus further comprises a persistent storage access control module operable to make an access decision prior to transmitting the persistent storage configuration to the wireless device, the access control decision being based on the user-selectable activity, the user-selectable persistent storage item, and the access identification.
32. The apparatus of claim 28, wherein the programming service tool module is further operable to transmit the persistent storage configuration to the wireless device over a wireless network.
33. The apparatus of claim 28, wherein the plurality of persistent storage items comprise at least one of a Preferred Roaming List (PRL), a slot cycle index, a Mobile Directory Number (MDN), communication protocol related transmit and receive settings, air interface settings, verification settings, user identification, password, authentication, subscription settings, battery settings, charger settings, method application functionality settings, call management settings, and phonebook entries.
34. The apparatus of claim 28, wherein the persistent storage configuration further comprises a predetermined program associated with predetermined data related to the user-selectable activity performed on the user-selectable persistent storage item.
35. The apparatus of claim 28, wherein the analyzer module further comprises predetermined standard persistent storage item values, wherein the activity results comprise collected persistent storage values, and wherein the analyzer module is further operable to compare the collected persistent storage item values to respective ones of the predetermined standard persistent storage item values and generate a new persistent storage configuration based on this comparison.
36. The apparatus of claim 28, wherein the analyzer module further comprises predetermined standard persistent storage item values, wherein the activity results comprise collected persistent storage values, and wherein the report comprises an integrity determination based on a comparison of the collected persistent storage item values to respective ones of the predetermined standard persistent storage item values.
37. An apparatus for managing persistent storage items on a wireless device, comprising:
means for generating a persistent storage configuration comprising a user-selectable activity to be performed on a user-selectable persistent storage item of a plurality of persistent storage items associated with a predetermined wireless device;
means for forwarding the persistent storage configuration to the predetermined wireless device;
means for receiving a result of the predetermined wireless device performing the persistent storage configuration on the user-selectable one of the plurality of persistent storage items; and
means for generating a report based on a result of the receiving.
38. A method of managing persistent storage items in a wireless device, comprising:
generating a persistent storage configuration comprising a user-selectable activity to be performed on a user-selectable persistent storage item of a plurality of persistent storage items associated with a predetermined wireless device; forwarding the persistent storage configuration to the predetermined wireless device;
receiving a result of the predetermined wireless device performing the persistent storage configuration on the user-selectable one of the plurality of persistent storage items; and
generating a report based on a result of the receiving.
39. The method of claim 38, wherein the user-selectable activity comprises at least one of retrieving and changing a value of the user-selectable one of the plurality of persistent storage items.
40. The method of claim 38, wherein generating the persistent storage configuration further comprises generating a user interface having a predetermined presentation order for a plurality of different wireless devices.
41. The method of claim 40, wherein the predetermined presentation order comprises at least one of a substantially consistent sequence of menus and a substantially consistent arrangement of selections within each menu of the sequence of menus.
42. The method of claim 38, wherein the persistent storage configuration further comprises an access identification, and further comprising generating an access decision prior to transmitting the persistent storage configuration to the predetermined wireless device, the access control decision being based on the user-selectable activity, the user-selectable persistent storage item, and the access identification.
43. The method of claim 38, wherein forwarding the persistent storage configuration further comprises transmitting the persistent storage configuration to the predetermined wireless device over a wireless network.
44. The method of claim 38, wherein the plurality of persistent storage items comprise at least one of a Preferred Roaming List (PRL), a slot cycle index, a Mobile Directory Number (MDN), communication protocol related transmit and receive settings, air interface settings, verification settings, user identification, password, authentication, subscription settings, battery settings, charger settings, method application functionality settings, call management settings, and phonebook entries.
45. The method of claim 38, wherein the persistent storage configuration further comprises a predetermined program associated with predetermined data related to the user-selectable activity performed on the user-selectable persistent storage item.
46. The method of claim 38, wherein the result comprises a collected persistent storage value, and wherein generating the report further comprises comparing the collected persistent storage item value to a respective one of a plurality of predetermined standard persistent storage item values, and generating a new persistent storage configuration based on this comparison.
47. The method of claim 38, wherein the activity results comprise collected persistent storage values, and wherein generating the report further comprises generating an integrity determination based on a comparison of the collected persistent storage item values to respective ones of a plurality of predetermined standard persistent storage item values.
48. A machine-readable medium comprising instructions, which when executed by a machine, cause the machine to perform operations, the operations comprising:
generating a persistent storage configuration comprising a user-selectable activity to be performed on a user-selectable persistent storage item of a plurality of persistent storage items associated with a predetermined wireless device;
forwarding the persistent storage configuration to the predetermined wireless device;
receiving a result of the predetermined wireless device performing the persistent storage configuration on the user-selectable one of the plurality of persistent storage items; and
generating a report based on a result of the receiving.
49. At least one processor configured to perform the following acts:
generating a persistent storage configuration comprising a user-selectable activity to be performed on a user-selectable persistent storage item of a plurality of persistent storage items associated with a predetermined wireless device;
forwarding the persistent storage configuration to the predetermined wireless device;
receiving a result of the predetermined wireless device performing the persistent storage configuration on the user-selectable one of the plurality of persistent storage items; and
generating a report based on a result of the receiving.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60/661,782 | 2005-03-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1113631A true HK1113631A (en) | 2008-10-10 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4955669B2 (en) | Apparatus and method for detecting and managing unauthenticated executable instructions on a wireless device | |
| EP1897386B1 (en) | Apparatus and methods for managing firmware verification on a wireless device | |
| US9439074B2 (en) | Apparatus and methods for protecting data on a wireless device | |
| JP2012084159A5 (en) | ||
| JP2008547092A5 (en) | ||
| JP2015092374A5 (en) | ||
| CN101199222A (en) | Method and apparatus for providing wireless device centric control of external computing devices | |
| US7925715B2 (en) | Apparatus and methods for service programming of a wireless device on a wireless communications network | |
| CN102542206A (en) | Method and device for adding authorized users to terminal | |
| HK1113631A (en) | Apparatus and methods for service programming of a wireless device on a wireless communications network | |
| HK1134709A (en) | Apparatus and methods for detection and management of unauthorized executable instructions on a wireless device |