TECHNICAL FIELDThe present disclosure relates generally to mobile communication devices. More specifically, it relates to methods and devices device status exchange server for exchanging information about the status of such mobile communication devices.
BACKGROUNDElectronic devices, such as smartphones or tablets, may be used for a number of purposes for which they were not traditionally used. For example, electronic devices are increasingly being used as a mobile wallet. That is, such electronic devices may be capable of storing virtual payment credentials, and initiating and performing mobile payments. By providing such capabilities, a user may use the electronic device to purchase goods and services instead of paying by cash, cheque or a plastic credit card. In such cases, the electronic device may store financial instrument information (such as credit card information) on an associated SIM card, and this financial instrument information is provided to a merchant's point of sale (POS) terminal during a mobile payment transaction.
A number of institutions, such as financial institutions, mobile network operators (MNO), trusted service manager (TSM) systems, and mobile wallet server systems may internally track information about an electronic device including a mobile communication device. That is, each of these institutions may maintain their own database of information associated with a mobile communication device.
BRIEF DESCRIPTION OF THE DRAWINGSReference will now be made, by way of example, to the accompanying drawings which show an embodiment of the present application, and in which:
FIG. 1 shows a block diagram illustrating an example communication system in which example embodiments of the present disclosure may operate;
FIG. 2 shows a block diagram of an example device status exchange server in accordance with example embodiments of the present disclosure;
FIG. 3 shows a block diagram of an example profile associated with a mobile communication device in accordance with example embodiments of the present disclosure;
FIG. 4 shows a block diagram of an example wireless service provider server in accordance with example embodiments of the present disclosure;
FIG. 5 shows a block diagram of an example third party server in accordance with example embodiments of the present disclosure; and
FIG. 6 shows a flowchart of an example method of notifying the third party server of an update in information associated with the mobile communication device.
Similar reference numerals are used in different figures to denote similar components.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTSIn one aspect, a method implemented on a device status exchange server is described. The method includes: storing a plurality of profiles associated with a plurality of mobile communication devices, at least some of the mobile communication devices being serviced by a wireless service provider having a wireless service provider server which tracks information about the mobile communication devices serviced by the wireless service provider, the plurality of profiles storing information associated with the mobile communication devices including at least some of the information tracked by the wireless service provider server; receiving, from one or more third party servers, one or more subscription requests for notification of an update in information associated with one of the mobile communication devices; registering the one or more received subscription requests for the one or more third party servers; detecting an update to the information stored in one of the profiles based on information received from a server; and in response to detecting the update: updating the profile associated with the mobile communication device associated with the updated information; and notifying one or more of the third party servers of the update in accordance with one or more registered subscription requests.
In another aspect, a device status exchanger server is described. The device status exchange server includes a communication subsystem and a memory.
The device status exchange server also includes a processor coupled to the communication subsystem and the memory. The processor is configured to: store a plurality of profiles associated with a plurality of mobile communication devices, at least some of the mobile communication devices being serviced by a wireless service provider having a wireless service provider server which tracks information about the mobile communication devices serviced by the wireless service provider, the plurality of profiles storing information associated with the mobile communication devices including at least some of the information tracked by the wireless service provider server; receive, from one or more third party servers, one or more subscription requests for notification of an update in information associated with one of the mobile communication devices; register the one or more received subscription requests for the one or more third party servers; detect an update to the information stored in one of the profiles based on information received from a server; and in response to detecting the update: update the profile associated with the mobile communication device associated with the updated information; and notify one or more of the third party servers of the update in accordance with one or more registered subscription requests.
In yet another aspect, a non-transitory computer readable storage medium is described. The non-transitory computer readable storage medium includes instructions which, when executed, configure a device status exchange server to: store a plurality of profiles associated with a plurality of mobile communication devices, at least some of the mobile communication devices being serviced by a wireless service provider having a wireless service provider server which tracks information about the mobile communication devices serviced by the wireless service provider, the plurality of profiles storing information associated with the mobile communication devices including at least some of the information tracked by the wireless service provider server; receive, from one or more third party servers, one or more subscription requests for notification of an update in information associated with one of the mobile communication devices; register the one or more received subscription requests for the one or more third party servers; detect an update to the information stored in one of the profiles based on information received from a server; and in response to detecting the update: update the profile associated with the mobile communication device associated with the updated information; and notify one or more of the third party servers of the update in accordance with one or more registered subscription requests.
Other aspects and features of the present application will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the application in conjunction with the accompanying figures.
Example Communication SystemReference is first made toFIG. 1, which illustrates in block diagram form acommunication system100 in which example embodiments of the present disclosure may operate.
In the embodiment ofFIG. 1, anelectronic device102 is illustrated. More specifically, theelectronic device102 is a mobile communication device, such as a smartphone or tablet. Theelectronic device102 may be capable of data communications, or both voice and data communications. The mobile communication device may communicate with other electronic devices, servers and/or systems connected with thecommunication system100.
Accordingly, in at least some example embodiments, theelectronic device102 is connected for communication via one or more wireless networks which may include Wireless Wide Area Networks (WWAN), Wireless Local Area Networks (WLAN), other network arrangements, and/or a combination of these networks. A WWAN is commonly referred to as a “cellular network”, and may include a number of transceiver base stations104 (with one being shown inFIG. 1).
Thetransceiver base station104 provides wireless radio frequency coverage for a corresponding area or cell, in order to facilitate wireless communication for theelectronic device102.
The WWAN may be operated by one or more wireless service providers that provide the communication services necessary for theelectronic device102 to connect to the WWAN. The WWAN may conform to various network types (such as, GSM, GPRS, LTE, TDMA, CDMA, etc.), and may support a number of frequency bands for communications within a particular wireless network type (for example, in the GSM network, the transceiver base station may support four frequency bands: 850/900/1800/1900 MHz). The WWAN via atransceiver base station104 provides a number of channels within a frequency band to allow theelectronic device102 to communicate. That is, thetransceiver base station104 assigns an available channel to theelectronic device102 to establish a communication link within the WWAN.
In the illustrated example ofFIG. 1, a WWAN is shown in the form of awireless network101. Thewireless network101 is operating by a wireless service provider, and includes at least thetransceiver base station104 which is connected to a wirelessservice provider server112. The wirelessservice provider server112 is operated by a wireless service provider and may provide specific functions and features for the wireless service provider. A wireless service provider is a provider of communication services to theelectronic device102, and may be referred to as a mobile network operator (MNO). The wireless service provider may own or control all the elements necessary to sell and deliver communication services to theelectronic device102. For example, the wireless service provider may own or control the wireless network infrastructure (which includes thetransceiver base station104 and the wireless service provider server112), back haul infrastructure, provisioning, billing and customer care computer systems, marketing, engineering and repair organizations, etc. These elements are required in delivering and managing wireless communication services to end-users ofelectronic devices102. Examples of wireless service providers include Rogers Wireless™, Telus Mobility™, Verizon Wireless™, AT&T Mobility™, etc.
It will be appreciated that some of the functions of the “wirelessservice provider server112” may, in some embodiments, be provided on a server that is not owned or operated by the wireless service provider. For example, in at least some embodiments, a third-party may operate a server that is configured to perform some or all functions of the wirelessservice provider server112 discussed herein. For example, in some embodiments, a Mobile Virtual Network Operator (MVNO) may own and/or operate some components of a wireless network such as, for example, a server that is configured to perform some or all of the functions of the wirelessservice provider server112 described in this document.
Wireless access may be a subscription-based service. That is, in order for theelectronic device102 to obtain communication services, theelectronic device102 may need to subscribe to a wireless service provider. Such subscription services may be pre-paid (which is commonly referred to as “pay as you go”) or may be post-paid subscription services. The wireless service provider provides subscription services in the form of a subscription service package that is purchased by end-users of theelectronic devices102 in order to enable theelectronic devices102 for communication on thewireless network101. The subscription service package defines the terms of usage of the subscription services such as amount of voice and data communications, number and type of voice and data communications, rates of voice and data communications, etc.
A purchased subscription service package is typically associated with a subscriber identity module (SIM) provided by a wireless service provider. The SIM may, in some embodiments, be a “virtual SIM”, which consists of a phone number provided by a MNO that does not require a SIM card to connect to a network. In some embodiments, the SIM may be provided as a physical element referred to as a “SIM card” (which may also be referred to as a universal integrated circuit card (UICC)). The SIM card may be inserted into theelectronic device102. The SIM stores unique identifiers (such as a mobile subscriber integrated services digital network number (MSISDN) which is commonly referred to as a phone number, a unique serial number (ICCID) and an international mobile subscriber identity (IMSI)) and associated security keys that are allocated by the wireless service provider, in order to identify and authenticate subscribers on thewireless network101.
When an end-user purchases a subscription service package from a wireless service provider, the end-user is subscribed to the wireless service provider. In such instances, theelectronic device102 of the end-user is provisioned for communication on thewireless network101. More particularly, the wireless service provider services theelectronic device102 to manage communication services for theelectronic device102. The wireless service provider may maintain and/or have access to identifying information associated with a subscribed end-user in order to define a subscriber profile for the end-user. The identifying information may include personal information, electronic device information and/or financial information, all associated with the end-user. Such information may be tracked by the wirelessservice provider server112 and memory associated with the wirelessservice provider server112 may be configured to store such information. It will be appreciated that in at least some example embodiments, a third-party organization may track and store the identifying information. In such cases, the wireless service provider may have access to the identifying information maintained by the third-party organization.
Personal information may include personal identifying information of the end-user such as a name, date of birth, address, email address, alternate phone, etc. Such personal information is obtained when the end-user purchases a subscription service package from the wireless service provider. In such cases, the wireless service provider directly collects the information from the end-user at the time of purchase of the subscription service package.
The electronic device information may include identifiers, operating states (which may be referred to as operating state information), statuses (which may be referred to as status information) and/or characteristics (which may be referred to as characteristic information) of theelectronic device102. For example, in at least some example embodiments, the identifiers of theelectronic device102 may include identifiers of the associated SIM card that is being operated within theelectronic device102 which includes a MSISDN (i.e. a phone number), an ICCID (which is a serial number uniquely identifying a SIM card) and a IMSI (which is a unique number used to identify the end-user on a network); and identifiers of theelectronic device102 itself including an IMEI (which is a unique number allocated to anelectronic device102 in order to identify it).
The operating state information may include information on whether theelectronic device102 is locked (i.e. access to a security domain within the associated SIM of theelectronic device102 is blocked. A security domain may include one or more applications that trust a common security token for authentication. In such cases, access to these one or more applications by theelectronic device102 may be restricted) or unlocked (i.e. access to a security domain within the associated SIM of theelectronic device102 is allowed. In such cases, as a security domain may include one or more applications with a common trusted security token, these one or more applications may be accessible by the electronic device102), currently switched on or off, cancelled (i.e. theelectronic device102 is no longer enabled to perform communication services) or suspended (i.e. theelectronic device102 is temporarily disabled to perform communication services).
The status information may include information on whether theelectronic device102 or the associated SIM card is blacklisted as being lost or stolen, a roaming status of theelectronic device102, etc. The characteristic information may, for example, indicate physical (such as, the colour, design, model, etc. of the electronic device102) and/or operational features (e.g. whether hardware or software components of theelectronic device102 have been upgraded, the associated operating system version, firmware version, etc.) of theelectronic device102. It will be appreciated that the electronic device information accessible by the wireless service provider may include other types of information not specifically listed herein.
The financial information may include credit history information associated with the end user. The wireless service provider may build a credit rating for each of its subscribed users based on payment history of the user in paying for the subscribed services. Generally, users that pay for the subscribed services on time and/or are subscribers for a longer period time have higher credit ratings than users that fail to make payments on time and/or are subscribers for a shorter period. Such credit worthiness information of an end-user is maintained by the wireless service provider.
The identifying information of an end-user may continuously change and be updated by the wireless service provider. Personal information, electronic device information and/or financial information may all change. Such identifying information may be tracked by the wireless service provider and updated when the identifying information changes. More particularly, the wirelessservice provider server112 may track the identifying information for changes, and record changes in the identifying information to update the associated subscriber profile of the end-user.
The identifying information may be tracked by the wirelessservice provider server112 by various means. For example, for personal information, the wirelessservice provider server112 may track the information by being notified of changes in the information when the end-user changes this information. In such cases, when the end-user changes the personal information (such as, his/her address), the end-user informs the wireless service provider of the change, which is then recorded by the wireless service provider server112 (i.e. it is stored in memory). In other instances, the tracking may be performed in a more direct manner. For example, for electronic device information, the wirelessservice provider server112 may obtain changes in the information (such as, an operating state) directly from theelectronic device102 as the information is changed, and record such a change. Such information may be communicated by theelectronic device102 via wireless communication.
In at least some example embodiments, the wirelessservice provider server112 may store the identifying information, which may be continuously updated. However, in other instances, the wirelessservice provider server112 may not store some or all of the identifying information. Instead the identifying information may be stored in another device, server or system. In at least some example embodiments, some or all of this identifying information may be stored in a devicestatus exchange server114. In such an example, the wirelessservice provider server112 may have access to the information enabling the wirelessservice provider server112 to update the information stored within the devicestatus exchange server114. It will be appreciated that this information stored in the devicestatus exchange server114 may be received from other devices, systems and/or servers (including the wirelessservice provider server112 and/or third party servers116), and may be similarly accessible by these other devices, systems and/or servers for updating. Additionally, this devicestatus exchange server114 may or may not be affiliated with the wireless service provider (i.e. it may or may not be owned and operated by the wireless service provider).
As illustrated, the devices and servers (i.e. the devicestatus exchange server114 and the wireless service provider server112) may connect and communicate with one another via anetwork120. Thenetwork120 may be a public network or a private network, or a combination thereof, and may include the internet. For example, the wirelessservice provider server112 and thethird party server116 may interact with the devicestatus exchange server114 to send information for storage and subsequently update this information. It will be appreciated that the devicestatus exchange server114 may be a cloud based server; in which case, the wirelessservice provider server112 and thethird party server114 may communication with the cloud based devicestatus exchange server114 via the network120 (which typically includes the internet).
As mentioned above, the devicestatus exchange server114 may receive and store identifying information that is received from various sources. The received information may be arranged and stored in various manners within the devicestatus exchange server114. For example, in some example embodiments, the received information is arranged to define a profile for each electronic device. That is, the devicestatus exchange server114 creates profiles storing information associated with the electronic devices. More particularly, a profile for an electronic device may include associated personal information (i.e. personal information of all of the users that used the electronic device), electronic device information (which may include identifiers, operating states, statuses and/or characteristics of the electronic device), and financial information (for example, credit history information of all the users that used the electronic device). As such, the devicestatus exchange server114 maintains various types of information for a plurality of electronic devices.
The information included in the profiles may be accessible by the wirelessservice provider server112 and/or the third party servers116 (thethird party servers116 are servers that are owned and operated by other organizations, such as, financial institutions, retailers, TSM vendors, mobile wallet vendors, etc.).
For example, in at least some example embodiments, these other servers may access the information directly. In at least some example embodiments, the devicestatus exchange server114 may control access to the information. In at least some such example embodiments, these other servers may access the information by requesting access from the devicestatus exchange server114. For example, in at least some example embodiments, the devicestatus exchange server114 may be equipped with an application programming interface (API) which allows applications included in these other servers to request access to this information. In response to receiving such requests via the API, the devicestatus exchange server114 may provide access to the information to the requesting application.
In at least some example embodiments, the devicestatus exchange server114 may control the level of accessibility of the information for each server (i.e. for each wireless service provider server and/or third party server). For example, in at least some example embodiments, full accessibility rights may include the ability to read, write, delete and/or modify the information by a server.
While in at least some example embodiments, a server may be restricted from performing some or all of these operations when accessing the information. Further, in at least some example embodiments, the devicestatus exchange server114 may prevent complete access of the information by a server. In such cases, the blocked server may not even be aware of the information stored in the devicestatus exchange server114. Additionally, the accessibility rights may allow restrictions or permissions to be set on a per-device basis and/or for specific types of information. For example, athird party server116 may have full access to some of the information associated with an electronic device, but may have restricted or no access to some of the other information associated with the electronic device. Similarly, athird party server116 may have full access to information associated with one electronic device, but may have restricted or no access to information associated with another electronic device.
In at least some example embodiments, the accessibility rights may be established by these other servers (i.e. the wirelessservice provider server112 and/or the third party servers116). That is, these other servers may instruct the devicestatus exchange server114 to control the level of accessibility of the information to each other. For example, a third-party server may allow full, restricted or no access to another third-party server for some or all of the information associated with an electronic device. Typically, it is the information that a server initially sends to the devicestatus exchange server114 for storage that it can control access to. That is, one of the servers (i.e. the server which first provided the information) may be considered to be the owner of certain information and that server is permitted to control (e.g. by instructing the device status exchange server114) the accessibility rights for other servers. For example, it may grant read permissions for the information to specified servers and may grant write permissions for the information to specified servers (i.e. to allow the other servers to update the information).
Accordingly, the information in the devicestatus exchange server114 may be varied, and more particularly, updated. As mentioned above, electronic device information may constantly change due changes associated with the electronic device102 (and similarly, personal information may change due to changes in the status of the subscriber); and as such, the server that obtains the changed information may access the information in the devicestatus exchange server114 to update it. In some cases, servers that initially sent the information for storage may update this information when they determine that the information has changed. For example, the wirelessservice provider server112 may send information that is tracked by the wireless service provider server112 (i.e. information about electronic devices102) to the devicestatus exchange server114. That is, changes in this tracked information may cause the wirelessservice provider server112 to update “old” information stored in the devicestatus exchange server114. Similarly, the third-party server116 may send some of the information for storage at the devicestatus exchange server114, and changes in this information may cause the third-party server to update this stored information (i.e. it may cause the third-party server to send the new information to the devicestatus exchange server114 for storage). Additionally, in at least some example embodiments, the wirelessservice provider server112 and/or thethird party server116 may grant other servers permission to update the information previously sent by the wirelessservice provider server112 and/or thethird party server116 for storage, when these other servers determine changes in the information.
As such, the devicestatus exchange server114 functions as a central data store for electronic device related information that is continuously updated, and is accessible by other servers. Additionally, the devicestatus exchange server114 may further function to inform other servers of changes in the information as the information is updated. That is, the devicestatus exchange server114 may grant subscription requests to these other servers in order to obtain notification about changes in the information when the information is updated. More specifically, the devicestatus exchange server114 may receive and register subscription requests for notification of an update in the information fromthird party servers116. A subscription request may identify a request for notification to updates in particular types of information (such as, an operating state of an electronic device) and/or a request for notification to updates in information for particular electronic devices. The devicestatus exchange server114 may then detect an update based on, for example, information received from the wirelessservice provider server112 or athird party server116. In response to receiving the update, the devicestatus exchange server114 updates the information (the profile associated with theelectronic device104 to which the information relates is accordingly updated), and notifies thethird party servers116 of the update in accordance with the registered subscription requests. That is,third party servers116 that requested to be informed when the particular information is changed are notified of this change in information. In at least some example embodiments, the notification sent by the devicestatus exchange server114 and received by the third party servers may include the information prior to being updated (i.e. the “old” information) as well as of the update in the information (i.e. the “new” information). As such, the devicestatus exchange server114 implements a push-based notification system for updates. A push notification is a type of communication initiated by the devicestatus exchange server114, as opposed to in reply to a request from the other servers. The communication may include information about the update to which these other servers have subscribed to.
Accordingly, these notifications may be sent to these subscribing servers whenever an update of the information has occurred.
Athird party server116 that updates the information (i.e. thethird party server116 which sent the updated information to the device status exchange server114) does not need to be informed of the update (as thethird party server116 is already aware of the update). Thus, in some embodiments, the notification is not sent to thethird party server116 that updated the information.
As mentioned above, in some instances, a third party server that originally sent the information for storage by the devicestatus exchange server114 may grant authorization, via the devicestatus exchange server114, to other third party servers to update this stored information. In such cases, when one or more of these other third party servers update this stored information, the third party server that previously sent the stored information is notified of the update by the device status exchange server114 (in this case, the third party server may not be aware of the update).
The device status exchange server functions as a central repository that stores information about electronic devices. By allowing for easy accessibility of the information, the information may be readily shared among various organizations, and maintained up-to-date. Additionally, organizations may keep track of any changes in the information relevant to the organization by being notified of these changes as they occur. Organizations may now be able to leverage the knowledge of other organizations in order to obtain relevant information about electronic devices that is otherwise not readily available. By way of example, certain organizations might benefit from knowledge about the colour of theelectronic device102. For example, if theelectronic device102 is equipped with mobile wallet functionality, knowledge of the colour of theelectronic device102 might be useful when determining whether a transaction should be processed. More particularly, if the colour of the device being used for a transaction does not match its expected colour, then this may be one indicator of potential fraud. In some embodiments, various third party servers who may benefit from knowledge of the colour of the electronic device may share information about the colour with other such servers using the devicestatus exchange server114. Similarly, in a further example, within the context of a mobile payment transaction, knowledge of the model of theelectronic device102 may be used to determine whether to process the transaction. In such cases, if the model of the device being used for the transaction does not match its expected model, then this may be a further indicator of potential fraud. Such model-related information may similarly be shared among various servers via the devicestatus exchange server114. It will be appreciated that the information shared and used may be any type of information discussed above.
As noted above, some of the information that may be shared using the devicestatus exchange server114 may be text-based information such as, for example, colour information, numbers associated with the electronic device such as the IMEI, etc. However, in some embodiments, other types of data may be exchanged using the devicestatus exchange server114 instead of or in addition to text data. By way of example, in some embodiments, images may be exchanged. For example, when a user brings their electronic device near a payment terminal to complete a transaction using near field communication (NFC) technology, a photograph may be captured of the electronic device and sent to the devicestatus exchange server114 from a third party server associated with the payment terminal. This would permit other third party servers associated with other payment terminals to view or analyze the photograph when processing subsequent transactions to assess whether theelectronic device102 is the same electronic device that was previously used to complete a transaction.
Example components and features of the devicestatus exchange server114, the wirelessservice provider server112 and thethird party server116 will be discussed in greater detail below with reference toFIGS. 2,4 and5 respectively.
While a singlethird party server116 is illustrated inFIG. 1, it will be understood that the devicestatus exchange server114 may connect to a plurality ofthird party servers116 in some embodiments.
It will also be appreciated that the above-describedcommunication system100 is provided for the purpose of illustration only, and that the above-describedcommunication system100 includes one possible communication network configuration of a multitude of possible configurations.
For example, while the wirelessservice provider server112, the devicestatus exchange server114 and thethird party server116 are illustrated as a single component, in practice it may be constructed of a number of components which may be physically separated from one another.
Example Device Status Exchange ServerReference is next made toFIG. 2 which illustrates an example devicestatus exchange server114 in block diagram form. Although the devicestatus exchange server114 is shown to be implemented as a single server, it will be understood that the functions of the devicestatus exchange server114 may be implemented across a multitude of network servers, or other suitable architecture.
In at least some embodiments, the functions of the devicestatus exchange server114 may be implemented, in whole or in part, by way of aprocessor240 which is configured to executesoftware modules260 stored inmemory250. In the embodiment ofFIG. 2, the devicestatus exchange server114 includes a controller comprising one ormore processors240 which control the overall operation of the devicestatus exchange server114. Theprocessor240 interacts with one ormore communication subsystems280 to perform communication functions via thenetwork120, with other systems, servers and/or devices such as theelectronic device102, the wirelessservice provider server112 and the third-party server116. Thecommunication subsystem280 may, for example, include a subsystem that is configured to connect the devicestatus exchange server114 with the wirelessservice provider server112 and/or the third-party server116, over thenetwork120.
The devicestatus exchange server114 also includesmemory250 which is connected to theprocessor240 for receiving and sending data to theprocessor240. While thememory250 is illustrated as a single component, it will typically be comprised of multiple memory components of various types. For example, thememory250 may include Random Access Memory (RAM), Read Only Memory (ROM), a Hard Disk Drive (HDD), Flash Memory, or other types of memory. It will be appreciated that each of the various memory types will be best suited for different purposes and applications.
The devicestatus exchange server114 may storedata270 in a data area of thememory250. Thedata270 may be of various types and may include service data, application data, profile data, subscription request data, etc. Thedata270 may be organized, at least partially, into one or more databases or data stores, each containing data items of the same data type. For example, profiles300a,300b,300cof electronic devices, and subscription requests for notification of an update in the profiles may be stored in a database. By way of example, profiles300a,300b,300cmay be stored in aprofile data store300 which is a database configured for storing profiles, while the subscription requests may be stored in a subscription request data store (not shown). Eachprofile300a,300b,300cmay be associated with a separateelectronic device102 and/or a separate user or subscriber.
Theprocessor240 may operate under stored program control and may executesoftware modules260 stored in thememory250. Thesoftware modules260 may be comprised of, for example,operating system262 software, and one or more additional modules such as a device status exchange manager264 to carry out specific functions of the devicestatus exchange server114.
The device status exchange manager264 receives information associated with the electronic devices from the wirelessservice provider server112 and/or the third party servers116 (the information is sent by these servers for storage by the device status exchange manager264). The device status exchange manager264 createsprofiles300a,300b,300cfor the electronic devices based on this received information, and subsequently stores these profiles in thememory250. For example, the device status exchange manager264 may permitprofiles300a,300b,300cto be stored in aprofile data store300 in thedata270 area of thememory250.
As mentioned above, profiles store information associated with electronic devices. More specifically, each profile contains information associated with a particular electronic device. The information may include personal information (i.e. personal information of users that used the electronic device), electronic device information (which may include identifiers, operating states, statuses and/or characteristics of the electronic device), and financial information (for example, credit history information of all the users that used the electronic device). An example profile will be discussed in greater detail below with reference toFIG. 3.
The device status exchange manager264 further manages these profiles. More particularly, information included within these profiles is managed by the device status exchange manager264. This information is considered “dynamic” information and may continuously change as properties of the associated electronic devices are changed. As such, the device status exchange manager264 may provide provisions for the information to be updated. Updating may include the features of reading, inserting, deleting and/or modifying the information in the profiles. The updates are generally provided by servers, such as the wirelessservice provider server112 and/or thethird party servers116 as the updates become available to these servers.
In some instances, the device status exchange manager264 may control the updating of the information. In such example embodiments, these other servers may request to update the information by requesting access from the device status exchange manager264. For example, in at least some example embodiments, the device status exchange manager264 may include an API which allows applications included in these other servers to request access to update this information. In response to receiving such requests via the API, the device status exchange manager264 may provide access to the information for updating to the requesting applications of the other server. However, in other instances, the other servers may access and update the information directly, and may not need to request permission from the device status exchange manager264.
Additionally, in at least some example embodiments, the device status exchange manager264 may prevent some or all types of updating of the information by the other servers. That is, the device status exchange manager264 may control the level of updating that may be performed by a particular server. In such cases, a server may manipulate the device status exchange manager264 to control the updating of information by other servers (it will be appreciated that the server may only control the accessibility of information that it has initially provided to the device status exchange manager264). For example, a wirelessservice provider server112 may grant permission, via the device status exchange manager264, to only a particular third party server to update the information (that it has previously provided), and not to other third party servers. Similarly, the level of updating granted to this third party server may also be restricted (for example, the third party server may only be allowed to read and insert information but may not modify the information).
The device status exchange manager264 may further have the capability to notify servers of updates in the information. In such cases, the device status exchange manager264 may function as a subscription manager allowing servers to subscribe to the device status exchange manager264 to request for notification in updates to the information. For example, in at least some example embodiments, the device status exchange manager264 may receive subscription requests fromthird party servers116 requesting for notification of an update in the information, and register these subscriptions requests (i.e. record and store these received subscription requests in memory250). These subscription requests may be particularized for athird party server116. For example, the subscription request may identify one or more types of information relevant to thethird party server116. That is, the subscription request may only request to be notified of updates to particular types of information (such as, of a change in the operating state) for an electronic device. Moreover, the subscription request may, additionally or individually, identify one or more electronic devices relevant to thethird party server116. That is, the subscription request may only request to be notified of updates to profiles of selected electronic devices.
The device status exchange manager264 may then detect an update based on information received from the wirelessservice provider server112 or thethird party server116. For example, as mentioned above, the wirelessservice provider server112 may track information about subscribed electronic devices, and send some or all of this tracked information to the device status exchange manager264. This received information is arranged and stored inprofiles300a,300b,300c. As this information is “dynamic”, the wirelessservice provider server112 may determine changes in the previously sent and tracked information, and send this updated information to the device status exchange manager264. Thethird party server116 may also send information about the electronic devices to the device status exchange manager264 which is similarly arranged and stored in theprofiles300a,300b,300c.Again, thethird party server116 may determine changes in the information, and send this updated information to the device status exchange manager264. The device status exchange manager264 may detect the update upon receiving this updated information from the wirelessservice provider server112 and/or thethird party server116.
In response to receiving the update, the device status exchange manager264 updates the information in the profile to which it pertains, and notifies the appropriatethird party servers116 of this update based on the registered subscription requests. That is,third party servers116 that requested to be informed of the particular update in the information (which is indicated within their subscription requests), are notified of the update. For example, athird party server116 may be notified of an update to an operating state of a particular electronic device if the subscription request for thethird party server116 indicates notifications of any updates to the operating state of the electronic device. In order to further illustrate the update to the third party server, in at least some example embodiments, the notification may include both the information prior to being updated (i.e. the “old” information) as well as of the update in the information (i.e. the “new” information). As such, the server may view the change of status in the information.
As mentioned above, a third party server may authorize the device status exchange manager264 to permit other third party servers to update the information that it has previously sent to the device status exchange manager264. For example, the device status exchange manager264 may receive authorization, from a third party server that previously sent the stored information, permitting other third party servers to update the stored information. In response to receiving the authorization, the device status exchange manager264 may grant these other third party servers' permission to update the stored information. In such example embodiments, the device status exchange manager264 may further notify these other third party servers that the third party server has granted them permission to modify the stored information.
As further mentioned above, athird party server116 that updates the information does not need to be informed of the update. However, in cases where a different third party server, than the third party server that previously sent information that is stored in aprofile300a,300b,300c,updates this stored information, the third party server that previously sent the information is notified of the update by the device status exchange manager264. It will be appreciated that subscription requests of a third party server may indicate non-notification of updates when the third party server updates information that it has previously sent, and notification of updates when other third party servers update this information. However, in at least some example embodiments, a third party server that sends an update to information that it has previously sent may not be notified of the update regardless of its subscription request. In such cases, if the device status exchange manager264 determines that the third party server that previously sent the information sends the update, the device status exchange manager264 does not notify this third party server of the update.
In at least some example embodiments, other modules, such as theoperating system262 may perform some or all of the functions of the device status exchange manager264. In at least some example embodiments, the device status exchange manager264 may instead include a plurality of software modules rather than a single block as illustrated.
It will be appreciated that the devicestatus exchange server114 as illustrated inFIG. 2 is an example server. In at least some example embodiments, servers may be used which are of different configurations and/or functions.
Example ProfileThe devicestatus exchange server114 creates and stores a number of profiles that are each associated with an electronic device. A profile stores information associated with an electronic device.
Reference will now be made toFIG. 3, which shows anexample profile300a.Theprofile300aincludes information related to anelectronic device102, that is received from other servers and devices, such as, the wirelessservice provider server112 and/or thethird party server116. For example, information that is tracked and sent by the wireless service provider may be included within theprofile300a.Similarly, information that is collected and sent by athird party server116 may be included within theprofile300a.
As shown, the information may include, for example, identifiers310 (which may include identifiers of theelectronic device102 as well identifiers associated with a SIM card that is inserted in the electronic device102), operating states320 (which may include activation states as well as communication states of the electronic device102), status330 (which may include information as to whether theelectronic device102 is blacklisted as well as whether the associated SIM card inserted in theelectronic device102 is blacklisted), characteristics340 (which may include physical and operational characteristics of the electronic device102) and/or financial information350 (which may include credit history information of the end-user), all associated with anelectronic device102.
Each of these properties may further include a plurality of fields. For example, theidentifiers310 may include a phone number (the phone number of the associated SIM card), an IMEI (the unique equipment identifier of the electronic device102), an ICCID (the unique serial number of the SIM card) and/or an IMSI (which is a unique number identifying the end-user on the network) fields. The operating states320 may include a locked state (whether access to security domain within an associated SIM card of theelectronic device102 is prevented), a cancelled state (whether theelectronic device102 is no longer enabled to perform communication services, for example, due to the end-user terminating wireless communication subscription services), a suspended state (whether theelectronic device102 is temporarily disabled to perform communication services, for example, due to the wireless service provider suspending service for non-payment of these services) and/or a power state (whether theelectronic device102 is currently switched on or off) fields. Thestatus330 may include a lost/stolen status (information as to whether theelectronic device102 is reported stolen or lost and listed on an EIR) and/or an associated SIM lost/stolen status (information as to whether the associated SIM card is reported stolen or lost) fields. Thecharacteristics340 may include a colour (indicating a colour of a housing of the electronic device102) and/or an upgrade (indicating whether the hardware and/or software components of theelectronic device102 have been upgraded) fields. Thefinancial information350 may include a credit history (the credit report information of the end-user) field.
It will be appreciated that the profile may include other information not specifically listed herein and may not include all of the information described above.
In theexample profile300a,the information included in the fields of theidentifiers310, operatingstates320,status330 and/orfinancial information350 may be received from the wirelessservice provider server112. Such information is the type of information that may be tracked by the wireless service provider (and/or other organizations). Similarly, the information in the fields of thecharacteristics340 may be received from thethird party server116.Such characteristics340 information may be obtained and tracked by organizations other than the wireless service provider (for example, independent retailers of electronic device hardware and software components).
In such example embodiments, fields that are originally populated based on information received from a server are allocated to that server. That is, the server has management over the information in the allocated field. In such cases, the server may control accessibility rights to the information. For example, the wirelessservice provider server112 may control the accessibility of information in the fields of theidentifiers310, operatingstates320,status330, andfinancial information350; and thethird party server116 may control the accessibility of information in the fields of thecharacteristics340. By controlling accessibility, these servers may determine which other servers may read, insert, delete and/or modify information within the respective fields. For example, the wirelessservice provider server112 may grant limited rights to thethird party server116 to only read the information in the fields under the control of the wirelessservice provider server112. Similarly, thethird party server116 may grant limited rights to the wirelessservice provider server112 to only read the information in thecharacteristics340 fields; while giving broader rights to other servers to allow them to modify the information in thecharacteristics340 fields. It will be appreciated that such accessibility rights to information in the fields may be varied by a controlling server. These management rights may be imposed by the device status exchange manager264.
Moreover, the information within these fields may be varied (i.e. updated) by the server originally providing the information and/or by other servers. For example, the wirelessservice provider server112 may update the locked state field when the wirelessservice provider server112 determines that theelectronic device102 device changes its state from a previously unlocked stated to a locked state (the wirelessservice provider server112 may track such an operating state of the electronic device102). Similarly, thethird party server116 may update the colour field when thethird party server116 determines that an end-user changes the colour of the housing of the electronic device102 (thethird party server116 may be a retailer of electronic device hardware and software components, and may sell and install the new housing on theelectronic device102 and/or may be a retailer or other party processing a financial transaction associated with a mobile payment from the device).
In such example embodiments, the changes in these respective fields are reported to other servers based on their subscription preferences. For example, certain servers may be notified of the change in the locked state field (but not the wireless service provider server112), and of the change in the colour field (which may include the wirelessservice provider server112, but not the third-party server that sent the update), in accordance with their subscription preferences.
It will be appreciated that such examples of management and update of information in the fields are for the purposes of illustration only, and the information within some or all of these fields may be managed and/or updated by other servers.
Example Wireless Service Provider ServerReference is next made toFIG. 4 which illustrates an example wirelessservice provider server112 in block diagram form. Although the wirelessservice provider server112 is shown to be implemented as a single server, it will be understood that the functions of the wirelessservice provider server112 may be implemented across a multitude of network servers, or other suitable architecture. Additionally, although the wirelessservice provider server112 and the devicestatus exchange server114 are configured to perform different functions, in at least some example embodiments, the wirelessservice provider server112 may be of a similar configuration to the devicestatus exchange server114.
In at least some example embodiments, the functions of the wirelessservice provider server112 may be implemented, in whole or in part, by way of aprocessor440 which is configured to executesoftware modules460 stored inmemory450. In the embodiment ofFIG. 4, wirelessservice provider server112 includes a controller comprising one ormore processors440 which control the overall operation of the wirelessservice provider server112. Theprocessor440 interacts with one ormore communication subsystems480 to perform communication functions via thewireless network101 and/ornetwork120, with other systems, servers and/or devices such as theelectronic device102, the devicestatus exchange server114 and the third-party server116.
The wirelessservice provider server112 also includesmemory450 which is connected to theprocessor440 for receiving and sending data to theprocessor440. While thememory450 is illustrated as a single component, it will typically be comprised of multiple memory components of various types. For example, thememory450 may include Random Access Memory (RAM), Read Only Memory (ROM), a Hard Disk Drive (HDD), Flash Memory, or other types of memory. It will be appreciated that each of the various memory types will be best suited for different purposes and applications.
The wirelessservice provider server112 may storedata470 in a data area of thememory450. Thedata470 may be of various types and may include service data, application data, subscriber profile data, etc. Thedata470 may be organized, at least partially, into a number of databases or data stores each containing data items of the same data type. For example, subscriber profile data may be stored in the same database and arranged accordingly within the database.
The subscriber profile data may be obtained and stored within thedata470 area when an end-user is subscribed to the wireless service provider that operates the wirelessservice provider server112. The subscriber profile data defines identifying information for a particular end-user (i.e. a subscriber). This identifying information may be obtained from the end-user and/or automatically obtained by the wirelessservice provider server112. As mentioned above, the identifying information may include personal information, electronic device information and/or financial information associated with the subscriber.
At least some of this identifying information is tracked by the wirelessservice provider server112. That is, the wirelessservice provider server112 is able to obtain updates to this information (either directly or indirectly) as the information is changed. For example, in the case of personal information, the wirelessservice provider server112 may determine an update when the subscriber informs the wirelessservice provider server112 of a change in the personal information (such as, a change in the subscriber's address). In another example, in the case of electronic device information, the wirelessservice provider server112 may determine an update by querying and/or automatically receiving related information from theelectronic device102 when the associated electronic device information changes (such as, a subscriber switching his/her SIM card from one electronic device to another electronic device, in which case, the other electronic device may automatically send its IMEI to the wireless service provider server112). In a further example, in the case of financial information, the wirelessservice provider server112 may determine an update when the subscriber fails to make a payment for subscribed communication services. In such a case, the financial information and particularly, the credit history status of the subscriber will be affected negatively.
In at least some example embodiments, such updates may be determined and stored on the wireless service provider server112 (for example, within thedata470 area ofmemory450, as part of the subscriber profile data).
Theprocessor440 may operate under stored program control and may executesoftware modules460 stored in thememory450. Thesoftware modules460 may be comprised of, for example, anoperating system462 software. Besides performing the typical functions of anoperating system462 of providing management capabilities of server components, and providing a platform for the software modules, theoperating system462 may perform additional functions and features.
More specifically, in at least some example embodiments, theoperating system462 may send some or all of the identifying information to the devicestatus exchange server114 for storage (in addition to or instead of storing the information on the wireless service provider server112). In such example embodiments, theoperating system462 has access to this information, and may send updates to the devicestatus exchange server114 as they become available. In such example embodiments, theoperating system462 may perform functions similar to thethird party server116. That is, theoperating system462 may manage the information stored in the devicestatus exchange server114, and may control accessibility rights to this information by other devices and services.
As already mentioned, the information received by the devicestatus exchange server114 is used to createprofiles300a,300b,300cfor electronic devices. Theprofiles300a,300b,300cmay further include information received from other devices and servers (such as, the third party server116). In such cases, theoperating system462 may subscribe to the devicestatus exchange server114 to receive updates to some or all of the information received from these other devices and servers. Moreover, theoperating system462 may be granted accessibility rights to some or all of the information received from these other devices and servers (for example, theoperating system462 may read, write, delete and/or modify this information).
It will be appreciated that in at least some example embodiments, other modules may perform some or all of the functions of theoperating system462. In at least some example embodiments, theoperating system462 may instead include a plurality of software modules rather than a single block as illustrated.
Example Third Party ServerReference is next made toFIG. 5 which illustrates an examplethird party server116 in block diagram form. Although thethird party server116 is shown to be implemented as a single server, it will be understood that the functions of thethird party server116 may be implemented across a multitude of network servers, or other suitable architecture. Additionally, although thethird party server116 is configured to perform different functions than the wirelessservice provider server112 and the devicestatus exchange server114, in at least some example embodiments, thethird party server116 may be of a similar configuration to these servers.
In at least some example embodiments, the functions of thethird party server116 may be implemented, in whole or in part, by way of aprocessor540 which is configured to executesoftware modules560 stored inmemory550. In the embodiment ofFIG. 5, thethird party server116 includes a controller comprising one ormore processors540 which control the overall operation of thethird party server116. Theprocessor540 interacts with one ormore communication subsystems580 to perform communication functions via thewireless network101 and/ornetwork120, with other systems, servers and/or devices such as theelectronic device102, the wirelessservice provider server112 and the devicestatus exchange server114.
Thethird party server116 also includesmemory550 which is connected to theprocessor540 for receiving and sending data to theprocessor540. While thememory550 is illustrated as a single component, it will typically be comprised of multiple memory components of various types. For example, thememory550 may include Random Access Memory (RAM), Read Only Memory (ROM), a Hard Disk Drive (HDD), Flash Memory, or other types of memory. It will be appreciated that each of the various memory types will be best suited for different purposes and applications.
Thethird party server116 may storedata570 in a data area of thememory550. Thedata570 may be of various types and may include service data, application data, etc. Thedata570 may be organized, at least partially, into a number of databases or data stores each containing data items of the same data type.
Theprocessor540 may operate under stored program control and may executesoftware modules560 stored in thememory550. Thesoftware modules560 may be comprised of, for example, anoperating system562 software. Besides performing the typical functions of anoperating system562 of providing management capabilities of server components, and providing a platform for the software modules, theoperating system562 may perform additional functions and features.
For example, in at least some example embodiments, theoperating system562 may allow for subscribing to the devicestatus exchange server114 to receive updates in information provided by the wirelessservice provider server112. As mentioned above, thethird party server116 may be owned or operated by various types of organization including a financial institution, a retailer, a charity, a political organization, etc. In fact, it could be any type of organization that is interested in obtaining information associated with electronic devices, and which it may then use for various purposes (for example, a financial institution may be interested in obtaining electronic device related information in order to further verify mobile payment transactions). As such, the information desired may vary based upon the type ofthird party server116 requesting the information. In such cases, theoperating system562 may set subscription preferences for the request for information from the devicestatus exchange server114. For example, subscription preferences may be based on the type of information and/or for one or more specific electronic devices. For example, theoperating system562 of athird party server116 that is a financial institution may set the subscription preference to receive only updates of identifiers and operating states of electronic devices, and of particular electronic devices (i.e. of electronic devices that it provides financial services to). In such example embodiments, such subscription preferences are included within the subscription requests sent from theoperating system562 to the devicestatus exchange server114. Upon registration of these requests by the devicestatus exchange server114, theoperating system562 may receive updates whenever the subscribed information and/or information for a subscribed electronic device is updated.
Additionally, theoperating system562 may send information associated with electronic devices to the devicestatus exchange server114 for storage (which is stored as part of a profile of an electronic device by the device status exchange server114). Such information may be collected by thethird party server116 in a similar manner as performed by the wireless service provider server112 (i.e. directly from the electronic device or indirectly, for example, from a user of the electronic device). In such cases, theoperating system562 may manage the information stored in the devicestatus exchange server114. For example, theoperating system562 may update the information previously sent to the devicestatus exchange server114. Additionally, theoperating system562 may control accessibility rights to this information by other devices and servers. Moreover, in cases where theoperating system562 may grant rights to another server to change the information, theoperating system562 may be notified of such changes in the information as they occur.
It will be appreciated that in at least some example embodiments, other modules may perform some or all of the functions of theoperating system562. In at least some example embodiments, theoperating system562 may instead include a plurality of software modules rather than a single block as illustrated.
Notifying an Update in InformationReferring now toFIG. 6, anexample method600 of notifying thethird party server116 of an update in information associated with anelectronic device102 is illustrated in flowchart form. Themethod600 may be implemented by the devicestatus exchange server114. One or more modules on the devicestatus exchange server114, such as the device status exchange manager264, may perform themethod600. More particularly, the device status exchange manager264 may contain computer readable instructions causing theprocessor240 associated with the devicestatus exchange server114 to performmethod600. It will be appreciated that other modules on the devicestatus exchange server114 may perform some or all of the device-specific operations ofmethod600. It will also be appreciated that other servers and associated modules within these other servers may perform themethod600.
Themethod600 includes, at602, the devicestatus exchange server114 storing a plurality of profiles for a plurality of electronic devices. More specifically, each profile stores information associated with an electronic device. As mentioned above, such information may include personal information (i.e. personal information of all of the users that used the electronic device), electronic device information (which may include identifiers, operating states, statuses and/or characteristics of the electronic device), and financial information (for example, credit history information of all the users that used the electronic device). This information may be received from the wirelessservice provider server112 and/or one or morethird party server116. In at least some example embodiments, the information provided by these servers are tracked by them. That is, they may obtain updates to the information as it changes, and may send these updates to the devicestatus exchange server114 for subsequent updating of the profiles.
The profiles and/or information contained in the profiles, may have certain access rights and restrictions associated therewith. For example, as mentioned above, in at least some example embodiments, a server different than the server that originally sent the information for storage may later update the information. In such example embodiments, a first third party server (or the wireless service provider server) that sent the original information may grant authorization, via the devicestatus exchange server114, to a second third party server (i.e. a different third party server, which may, in some cases be the wireless service provider server) to update the information (i.e. to update information in the specific field or other logical or physical storage area that stores the type of information originally provided by the first third party server). That is, the first third party server gives permission to the devicestatus exchange server114 to allow the second third party server to update the information. In at least some example embodiments, the authorization may be directly controlled by the devicestatus exchange server114. That is, the devicestatus exchange server114 may decide whether to allow a server different than the server that originally sent the information to update the information, without any further input from the server that originally sent the information. Additionally, the authorization granted by the server that sent the original information and/or the devicestatus exchange server114 to one or more other servers to update the information may be varied at the request of the server that sent the original information. For example, the authorization may be any one or more of permission to read, write, delete or modify the information by these other servers.
By way of example, if a third party server sends the devicestatus exchange server114 information which will be inserted into a new field of the profile (such as, for example, information specifying device color), it may grant authorization to other third party servers (and/or the wireless service provider server) to update the information in that field. Thus, other third party servers that are trusted by the third party server that originally sent the information may be permitted to share information related to that field.
In at least some example embodiments, the server that sent the original information may restrict access, via the devicestatus exchange server114 to some or all of the information by one or more other servers (for example, the restricted server may not even be aware of the original information). In such cases, the server may control the accessibility of the information to these other servers. Such accessibility restrictions may be device-specific and/or information type specific. For example, a first server may restrict access to some or all information relating to one device but not for another device, for a second server. The first server may also restrict access to some information for a device but not other information for the device, for the second server. Similarly, in at least some example embodiments, the devicestatus exchange server114 may directly control and restrict access to some or all of the original information by these other servers, without any input from the server that originally sent the information. Accordingly, at least some of the stored information received from a third party server may not be accessible to at least one other third party server.
At604, the devicestatus exchange server114 receives, from one or morethird party servers116, one or more subscription requests for notification of an update in information associated with one of the electronic devices. As mentioned above, a server may subscribe to the devicestatus exchange server114 to obtain notifications of updates in the information (provided that the server has authorization to at least read and receive updates to the information). A subscription request may be tailored to meet a third party server's116 needs. For example, in at least some example embodiments, a subscription request may request for one or more types of information and/or for one or more electronic devices that are relevant to thethird party server116. As such, athird party server116 may decide what types of information and for which electronic devices to receive notification of updates. At606, the devicestatus exchange server114 registers the received subscription requests from thethird party servers116. That is, the devicestatus exchange server114 may log the request, and determine when the condition of the request is fulfilled (i.e. when an update meets the criteria of a subscription request).
It will be appreciated that a server that sends a subscription request for information must at least have permission to access the information. That is, the server must have been granted authorization or must not have been restricted from at least reading the information. Accordingly, in such example embodiments, the devicestatus exchange server114, prior to registering a subscription request from a server, may determine whether the server has permission to access the information. For example, the devicestatus exchange server114 may analyze the accessibility rights of the information by the server, and if the devicestatus exchange server114 determines that the server has permission or is not restricted from accessing the information, the subscription request is registered. In such cases, the server will receive notification of updates to the information. However, if the devicestatus exchange server114 determines that the server does not have permission or is restricted from accessing the information, the subscription request is not registered. In such cases, the server may not receive notification of updates to the information even though it requested to be informed of the updates. In at least some example embodiments, the server that sent the original information or the server that updates the information (which may be the server that sent the original information) may instruct the devicestatus exchange server114 to notify other servers of updates in the information. In such cases, in addition to or instead of receiving subscription requests, the devicestatus exchange server114 receives instructions to notify other servers of updates. It will also be appreciated that in such cases, these other servers may further have to grant permission to the devicestatus exchange server114 to receive these updates.
At608, the devicestatus exchange server114 may detect an update to the information stored in one of the profiles based on information received from the wirelessservice provider server112 and/or athird party server116. That is, these servers may send updated information of the previously stored information to the devicestatus exchange server114, which is received and determined to be an update to the information. The updates to information may be sent by a server that previously sent the information. Additionally, as mentioned above, a third party server may allow other servers to send updates to the information previously sent by the third party server. For example, the devicestatus exchange server114 may receive authorization from the third party server permitting one or more other third party servers to update information previously sent by the third party server. In response, the devicestatus exchange server114 grants these one or more other third party servers permission to update this previously sent information. In such cases, these one or more other third party servers may send updates to information that they had not previously sent.
In response to detecting the update, the devicestatus exchange server114, at610, updates the associated profile. That is, the devicestatus exchange server114 updates the information in the corresponding profile (i.e. the profile associated with the mobile communication device associated with the updated information) to which the updated information pertains to.
As mentioned above, updating may at least include writing, deleting and/or modifying the information. As such, the devicestatus exchange server114 may add new information, delete some or all of the information and/or change the information within a profile. Such updating of the information may be provided by the server that originally sent the information. Additionally, in at least some example embodiments, the updating of the information may be provided by a server that did not originally send the information (i.e. another server is authorized to update the information). In such cases, the type of updating is based on the authorization granted to the server. That is, the devicestatus exchange server114 may accordingly update the information based on the authorization granted to the server.
In such example embodiments, prior to updating, the devicestatus exchange server114 may analyze the authorization granted to the server, and determine whether the server is permitted to perform such an update. If it is determined that server is authorized to perform the update, the information is accordingly updated. However, it is determined that the server is not authorized to perform the update, the information is not updated. For example, if the authorization permits deleting information, and the server sends an update to delete information, the devicestatus exchange server114 accordingly deletes the information to update the profile. On the other hand, if the server is not permitted from deleting information (and may or may not be permitted from writing and/or modifying the information), and the server sends an update to delete information, the devicestatus exchange server114 does not delete the information. As such, the profile is not updated as the server is not authorized to update the profile in the specified manner.
Additionally, the devicestatus exchange server114, at612, notifies the third party servers of the update based on the subscription requests. That is, the devicestatus exchange server114 determines the servers that requested to be notified of the particular update in the information, and subsequently notifies each of these servers of the update. As such, servers are only notified if the update in the information is relevant to them. Generally, in cases where a third party server provides the update, the third party server will not be informed of the update (as the third party server is already aware of the update). However, in cases where the third party server did not provide the update (for example, when the update is provided by a third party server that previously did not send the stored information), the third party server is informed of the update (provided that the subscription request indicates to be notified). By way of example, in some embodiments, at least some of the information stored in the profiles may have been received from a first one of the third party servers. An update in that information may be detected when a second one of the third party servers sends updated information to the devicestatus exchange server114. Upon detecting such an update, the first third party server may be notified.
Since the notification is performed in accordance with the subscription requests, the servers that are notified of an update are servers who have indicated that the updated information will be relevant to them. More particularly, the subscription request for a third party server may identify one or more types of information (e.g. specific field(s) of the profile) which is relevant to the third party server and/or may identify one or more mobile communication devices that are relevant to the third party server. In such embodiments, prior to notifying a third party server, the devicestatus exchange server114 uses the subscription request to determine whether the updated information is relevant to the third party server (i.e. whether the updated information is of the type that is relevant to the server) and/or whether the updated information is associated with a mobile communication device that is relevant to the third party server. The update information is only sent to the third party server if the third party server would like to be notified of the update.
While the present disclosure is primarily described in terms of methods, a person of ordinary skill in the art will understand that the present disclosure is also directed to various apparatus, such as a server and/or an electronic device, including components for performing at least some of the aspects and features of the described methods, be it by way of hardware components, software or any combination of the two, or in any other manner. Moreover, an article of manufacture for use with the apparatus, such as a pre-recorded storage device or other similar computer readable medium including program instructions recorded thereon, or a computer data signal carrying computer readable program instructions may direct an apparatus to facilitate the practice of the described methods. It is understood that such apparatus, and articles of manufacture also come within the scope of the present disclosure.
While the methods have been described as occurring in a particular order, it will be appreciated by persons skilled in the art that some of the steps may be performed in a different order provided that the result of the changed order of any given step will not prevent or impair the occurrence of subsequent steps. Furthermore, some of the steps described above may be combined in other embodiments, and some of the steps described above may be separated into a number of sub-steps in other embodiments.
The various embodiments presented above are merely examples. Variations of the embodiments described herein will be apparent to persons of ordinary skill in the art, such variations being within the intended scope of the present disclosure. In particular, features from one or more of the above-described embodiments may be selected to create alternative embodiments comprised of a sub-combination of features which may not be explicitly described above. In addition, features from one or more of the above-described embodiments may be selected and combined to create alternative embodiments comprised of a combination of features which may not be explicitly described above. Features suitable for such combinations and sub-combinations would be readily apparent to persons skilled in the art upon review of the present disclosure as a whole. The subject matter described herein intends to cover and embrace all suitable changes in technology.