Abstract:
A system, method, and computer program that automatically creates a subscription for applications and services provided to wireless devices from other computer devices on a wireless network, where the subscription requires periodic payment by the wireless device subscriber for continued access to the application or service. The system monitors wireless device end-user interaction with other computer devices, such as application download servers, across the wireless network and when the end-user obtains an application or service from the computer device, the system automatically records the subscription and can either bill the wireless device subscriber for the subscription(s) or transmit the bill to the carrier or other entity to bill the subscriber.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    I. Field of the Invention  
           [0002]    The present invention generally relates to wireless telecommunications and computer networks. More specifically, the present invention relates to a system and method for providing an infrastructure to support an automatic subscription of wireless devices and an end-to-end billing arrangement for services provided to wireless device service subscribers by network carriers and third parties.  
           [0003]    II. Description of the Related Art  
           [0004]    Wireless devices, such as cellular telephones, communicate packets including voice and data over a wireless network. In existing wireless telecommunication systems, such as cellular telecommunication systems, a wireless service provider or carrier has wireless service subscribers that pay the provider for the time that the wireless device of the subscriber accesses the cellular network. Fees are typically charged to the subscriber for the initial activation of a telecommunication device and then fees can be charged for ongoing airtime and device usage. However, existing systems typically do not account for other activities at the telecommunication device beyond airtime usage.  
           [0005]    Further, if the subscriber of the wireless device desires to download and use a software application or upgrade the functionality of the telecommunication device, the user will typically either call a service provider or contact the service provider through another electronic means, such as through a separate Internet access. In some instances, the service provider can transmit the application to the wireless device across the wireless network (through a one time direct access download) or allow the user access a network site with the wireless device through the wireless network and at such site the application is downloadable or accessible to the subscriber. Otherwise service personnel of the provider must have physical access to the telecommunication device to install the software or upgrade the components thereof.  
           [0006]    Further, the proliferation of computer technology has made it easier and cheaper to develop software application. A computer programmer can easily develop a video game or a utility application on a personal computer, and the programmer can tailor the game to run on different computer hardware platforms including on a wireless handset. However, the individual application developer encounters difficulty in getting the product to market, especially for applications that are executable on wireless devices. The developer must first create a full version of the application and then sell it to the carriers in order to derive any income. Consequently, creating application for the wireless device market is a huge investment by the developer without the guarantee of return.  
           [0007]    Wireless telecommunications carriers may rely on independent developers to develop applications for their users, but this arrangement would create new problems for the carriers. Now, the carriers, instead of hiring many developers, needs to track usages of products developed by these independent developers and pay them accordingly, which can be a huge task itself.  
           [0008]    Accordingly, it would be advantageous to provide a system and method that handles end-to-end billing for carriers. Such system should allow wireless services provides to deliver value-added products and services to their subscribers beyond simple airtime, and allow the application developer to receive payments for their products. It is thus to such a system and method for automatically managing subscription billing for wireless device subscribers that the present invention is primarily directed.  
         SUMMARY OF THE INVENTION  
         [0009]    The present invention discloses a system, method, and computer program that automatically manages an application or service subscription price plan for applications and services provided to wireless devices from other computer devices on a wireless network during wireless device end-user interaction with the computer devices. Once an application or subscription is activated, the subscription requires periodic payment (such as monthly) by the wireless device carrier service subscriber (who is not necessarily the end-user at the wireless device interacting on the network) for continued access to the application or service. The wireless device end-user interaction with other computer devices, such as application download servers, is monitored, either directly if the interaction is with the same server that records application or service subscription data, or across the wireless network when the end-user obtains an application or service from another computer device. The application or service subscription can either be billed directly to the wireless device subscriber for the subscription(s) or a bill transmitted to the carrier or other entity to bill the subscriber. In one embodiment, the system includes one or more wireless devices selectively in communication with other computer devices across a wireless network, where each wireless device has an end-user thereof and a computer platform that is able to selectively download and execute software applications thereupon and is accessible by the end-user. At least one server is selectively in communication and interacts with the one or more wireless devices across the wireless network, such interaction typically occurring upon request of the end-user of the wireless device through the wireless network to download or interact with the server. The end-user interaction with at least one server across the wireless network causes a subscription of an application or service, which can be recorded and billed for at the same server or through the interaction of several computer devices on the wireless network.  
           [0010]    The method for managing subscription price plans for applications and services provided to wireless devices from computer devices on a wireless network particularly includes the steps of causing a subscription of an application and service to occur from end-user interaction between the wireless device and a server, and recording the subscriptions for the wireless devices at the server. The method can also include the steps of billing the wireless device carrier service subscriber and tracking subscription deletion at the wireless device to automatically discontinue the subscription.  
           [0011]    The present system and method thus enable wireless telecommunications carriers to offer value-added services from individual developers providing applications and services to wireless service subscribers without needing to build up a requisite infrastructure for providing the application and services. The system can provide further support by generating invoices to the carrier themselves, carrier subscribers, and can disburse payments for the subscriptions to the applications and service providers, however, in one embodiment, the system simply forwards the subscription records to the carrier for billing and collection. The user of the system can thus tailor the degree of control and responsibility of the billing server(s) in supporting third party applications and services to the wireless devices.  
           [0012]    Other objects, advantages, and features of the present invention will become apparent after review of the hereinafter set forth Brief Description of the Drawings, Detailed Description of the Invention, and the claims. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]    [0013]FIG. 1 is a system diagram depicting an embodiment of telecommunication system that supports the automatic subscription system.  
         [0014]    [0014]FIG. 2 is a block diagram illustrating one embodiment of the interface architecture between the third party developers, network carriers, and wireless devices.  
         [0015]    [0015]FIG. 3 is a flowchart illustrating an end-user application or service subscription process.  
         [0016]    [0016]FIG. 4 is a flowchart illustrating a subscription process on a third party application server.  
         [0017]    [0017]FIG. 5 is a flowchart illustrating an end-user subscription termination process.  
         [0018]    [0018]FIG. 6 is a flowchart illustrating a deletion process on a third party computer device.  
         [0019]    [0019]FIG. 7 is a flowchart illustrating a monthly invoicing process of the wireless subscriber of the carrier network.  
         [0020]    [0020]FIG. 8 is a diagram illustrating a multi-party settlement map for third party applications and services provided to the end-users of a wireless network carrier.  
         [0021]    [0021]FIG. 9 is an illustration of an invoice record according to one embodiment of the system.  
         [0022]    [0022]FIG. 10 is an illustration of a product (application or service) record according to one embodiment of the system.  
         [0023]    [0023]FIG. 11 is an exemplary embodiment of a billing server. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0024]    In this description, the terms “communication device,” “wireless device,” “hand held telephone,” and “handset” are used interchangeably, the terms “server” and “end-to-end billing system” are used interchangeably, and the term “application” as used herein is intended to encompass executable and non-executable software files, raw data, aggregated data, patches, and other code segments. A “wireless device service subscriber” is a carrier service customer that pays a carrier for network airtime, i.e. voice and data calls from the wireless device. And an “application or service subscription” is a value-added service or application purchased by the wireless device end-user from another computer device on the network, such as an application download server, which is typically billed periodically, e.g. monthly. A “value-added” subscriber” is a party who subscribes to a value-added service and does not have to initiate an automatic subscription when accessing the subscribed value-added service. Thus, in some instances, the purchasing end-user may not be the same person as wireless device subscriber, an example being a child end-user using the wireless device of the parent who is actually the wireless device service subscriber. Further, like numerals refer to like elements throughout the several views. With the advent of 3 rd  generation (3G) wireless communication technology, more bandwidth becomes available for wireless communications, and handsets and wireless telecommunication devices, such as cellular telephones, pagers, personal digital assistants (PDAs) with increasing capabilities have become available. Now, users can check weather, receive e-mails, receive paging messages, traverse the Internet, and play an interactive game with a remote party all through his wireless handset, in addition to using it for maintaining audio communications with another party. At the same time, proliferation of computer technology has made easier and cheaper to develop digital media and deliver it to the wireless devices. The provision of more value added services, such as downloadable applications, can bring revenue to a wireless service provider or carrier, and one manner to achieve the additional revenue is to provide support to independent application developers. The present invention thus provides the billing support for third party independent application providers who provide applications to end-users of a network carrier as is further described herein.  
         [0025]    [0025]FIG. 1 depicts a communication network  100  used according to the present invention. The communication network  100  includes a wireless communications network, a public switched telephone network (PSTN)  110 , and the Internet  120 . The wireless communication network includes one or more communication towers  102 , each connected to a base station (BS)  104  and serving users with communication devices  106 . The communication devices  106  can be cellular telephones, pagers, personal digital assistants (PDAs), laptop computers, or other hand-held, stationary, or portable communication device that uses a wireless and cellular telecommunication network. The commands and data input by each user are transmitted as digital data to a communication tower  102 . The communication between a user using a communication device  106  and the communication tower  102  can be based on different technologies, such code division multiplexed access (CDMA), time division multiplexed access (TDMA), frequency division multiplexed access (FDMA), global system for mobile communications (GSM), or other protocols that may be used in a wireless communications network or a data communications network. The data from each user is sent from the communication tower  102  to a base station (BS)  104 , and forwarded to a mobile switching center (MSC)  108 , which may be connected to a public switched telephone network (PSTN)  110 .  
         [0026]    The PSTN  110  is connected to the Internet  120  and to the wireless communication network through a MSC  108 . The PSTN  110  supports users accessing the Internet using a computer  116  through dial up services. The user utilizes the computer  116  and dials through a telephone line  118  to access an Internet service provider (ISP)  122 . The ISP  122  provides connection between the user at the computer  116  and the Internet  120 . Users at computers  114  may also access directly the ISP  122  through high-speed data connections such as digital subscriber line (DSL), T1 connections, and the like. The Internet  120  is a high-speed data network. A user may access the Internet directly by connecting to a hub on the Internet  120  or access through an ISP  122  connected to the Internet  120 . A billing server  112  may be connected to the Internet  120 , to the MSC  108 , or to the PSTN  110 . Preferably, the billing server  112  is connected directly to the MSC  108 . However, the server  112  does not necessarily need access to the wireless device  106  but can solely reside on the network and a file level interface from the server can collect and transform the device download event into a billable usage record.  
         [0027]    [0027]FIG. 2 is an interface architecture  200  that depicts data flow in a virtual marketplace available for access by the wireless devices  106  that causes an automatic subscription for applications and services accessed by the wireless devices  106 . The automatic subscription system of the present application may be a subsystem of the virtual marketplace  206  according to one embodiment, and it may also be an independent system providing the billing services to the virtual marketplace according to another embodiment. The independent developers  202 , who generally have access to a computer  114  or  116 , can submit their products through an interface  204 , also known as the developer extranet, to the virtual marketplace  206 , which can reside on a billing server, an application download server, or any computer device on the wireless network. Thus one server can provide the entire virtual marketplace with full billing and collection of proceeds as is further defined herein, or billing can be a separate system from the virtual marketplace with an interface to the marketplace to create the rated billing records and to process subscription billing services. The developers  202  may also submit their products through the developer extranet  204 , which then forwards to the virtual marketplace  206 , or the developers can submit the product directly to the virtual marketplace  206  If the developer is the carrier then the application is submitted through the carrier extranet  208 . The interface  204  may be a web site in communication with the server or a file transfer protocol (FTP) conforming port on the server  112 , or other data interconnection. The carrier extranet  208  may be an interface to the carrier&#39;s private network. It should be noted that the developer extranet  204  and carrier extranet  208  typically interface to a common server  112  or database that enables the virtual marketplace  206 . If the developer extranet and carrier extranet cannot be hosted on private networks to enable interaction between the two without some common connectivity, the negotiation can occur through both extranets interfacing over the Internet to the server  112  or common database.  
         [0028]    In one embodiment, before a developer  202  is allowed to submit his product, such as a software application, to the virtual marketplace  206 , the developer  202  must certify that the product conforms to the standards established by the virtual marketplace  206 . The virtual marketplace  206  publishes a set of standards for its environment that should be followed by developers who wish to submit their products to the virtual marketplace  206 . Standardizing the products ensures the product can run without problems on a user handset that supports the virtual marketplace&#39;s environment. One example of such environment is Binary Runtime Environment for Wireless (BREW™) and BREW Distributed System (BDS) developed by Qualcomm Corporation. The product may also be required to be tested for conformance by a third party testing organization.  
         [0029]    After the developer  202  submits the product, the developer extranet enables negotiation of the price for the product between the developer  202  and carrier. The negotiation may be conducted directly between the carrier(s), other third parties, and the developers  202  within the virtual marketplace  206  using the developer extranet ( 204 ), or through the carrier ( 212 ) using the carrier extranet  208 . Thus, developers  202  can negotiate with other developers, and carriers, to deliver applications and services to carrier customers. After the negotiation, the virtual marketplace  206  retains an agreed to application price plan between developer  202  and carrier  212 . The product can be associated with the originating developer before negotiation starts.  
         [0030]    After the product is included in the product catalog and made available to the users  210  of communication devices  106 . An end-user  210  of the wireless device accesses the wireless telecommunications services through the carrier  212  receives the product catalog from the carrier  212 . The end-user  210  can view the product catalog and select a product from the product catalog. The step of “selection” can be an application download, menu display, data transfer, diagnosis tool, or any other computer interaction between the wireless device  106  and billing server  112  or other communication device.  
         [0031]    The selection is sent from the user wireless device  106  to the carrier  212 , which forwards to the server  112 , which is this capacity acts as an application download server. The server  112  checks the selection and downloads the product to the wireless device. The application is dispatched to the end-user&#39;s wireless device  106  via the carrier  212 . After receiving the application, the end-user  210  can activate it on that end-user&#39;s wireless device  106 . For certain products, the server  112  needs not to dispatch the entire product to the user device  106 , but only a user interface portion of the product. The user interface interacts with the end-user  210  through the user wireless device  106  and sends information back to the server  112  where the application runs. Note that in another embodiment, the application runs on the device or it accesses services/content from a third party server and does not run on the server  112 .  
         [0032]    [0032]FIG. 3 illustrates an end-user process  300  at the wireless device  106 . When the wireless device  106  is powered up and in communication with the carrier, the wireless device  106  receives a catalog of products and services that are available to the user, as shown at step  302 , and displays the catalog on the wireless device display screen, as shown at step  304 . The products and services available to the user may include interactive games, personal appointment applications, and other utility programs. The user can select a product with an associated price from the catalog, and the selection is received by the wireless device  106 , as shown at step  306 . The wireless device  106  sends the end-user selection and a download request to the carrier  212 , as shown at step  308 , through a data channel, and the carrier  212  forwards the selection along with the user and application download information to the server  112 . The handset  106  also sends user information, which is normally minimal as carriers  212  are very sensitive to retaining the user specific information to the server  112  through the carrier  212 , as shown at step  310 . The server  112  retrieves the selected product and dispatches to the user wireless device  106 . When the end-user wireless device  106  receives the product, as shown at step  312 , the end-user wireless device  106  activates the product for the end-user. It should be noted that in another embodiment, the download acknowledgement can be sent after step  312 , as opposed to the time of application or service download.  
         [0033]    [0033]FIG. 4 illustrates one embodiment of the virtual marketplace automatic subscription process  400  executing on a server  112 . The server  112  receives the end-user selection along with the download request and the user information from the carrier  212  (or wireless device), as shown at step  402 , along with the user information, and can check to see if the user is a value-added service subscriber, as shown at step  404 , i.e. is a subscriber for the application download or interactive service. Although, it is not necessary to perform this check if the application or service subscription can be instigated anew by the wireless device end-user. The subscription can also be part of the download acknowledgement. For example, the download may be one time purchase of 30 days of use of an application, or a monthly subscription, and the end-user can have the option of pay per use or monthly subscription. If a check is made the user is a monthly wireless service subscriber, then the server  112  records the request, as shown at step  406 , and retrieves the product, as shown at step  408 . After retrieving the product, the server  112  sends the product via the carrier data network to the wireless device  106 , as shown at step  410 .  
         [0034]    If so embodied, if the user is not a monthly subscriber, then the server  112  can check the user information received to see whether the user is a authorized subscriber of a wireless carrier, which would occur at decision  412 . Conversely, the server  112  could be contacted by a prepaid wireless device or other device not subscribed to a specific carrier&#39;s service, and in which case another method of payment can be arranged with the end-user. Alternately, at this point a user authorization check can be made from the server  112  to a carrier  212  authorization service to validate that the user is a an authorized carrier user for the service. The user may be a wireless service subscriber and not yet a value-added service subscriber, and this would be a pay per use situation. If the wireless device  106  is a wireless service subscriber, then the server  112  has that wireless subscriber&#39;s information and an account set up for him. The server  112  records the request, as shown in step  414 , and generates a one-time billable event, as shown in step  416 . The server  112  can also generate a monthly billing record, step  418 , and sends the billing record to the carrier  212 , step  420 . It should be noted that steps  414 ,  416 ,  418 ,  420  may not occur until after  410  as a billable event is not logged or account created at  422  a successful download is confirmed was successful. Alternately, the server  112  can send data to cause another device on the network to create a billing record for downloaded applications. For pay per use value-added subscribers, a billing record is generated for each application download or other subscription event. After the billing process is taken care of (pre-pay only), the server  112  proceeds to retrieve the product, step  408 , and sends it to the user, step  410 . For post pay events, the download proceeds and the download event is recorded and billing is handled after the end-user has the application on the device.  
         [0035]    In another embodiment, the system also handles the situation when the user is using a pre-paid wireless telephone, i.e., the user is not a monthly wireless service subscriber. The wireless telephone device can be a pre-paid device, where the user can purchase in advance for wireless communications services. Further, an application download server can make a call to a carrier provided pre-pay service first to authorize the application download and secondly to debit the customer account. Pre-pay consumers are then not able to download subscription based applications. The amount of services purchased may be stored in the wireless device itself or in a card that can be inserted into the wireless device. This amount is debited each time the user makes a wireless call. When the amount is depleted, the wireless device can no longer place a wireless call, unless the user replenishes it at a dealer or purchases a new pre-paid card.  
         [0036]    When a wireless device subscriber that has no existing subscription account selects a product for download, the server  112  can automatically create an account for this user, as shown in step  422 , and then proceed similarly as if the user were a monthly subscriber. Such step is unnecessary if only usage records exist on the server  112 . If so embodied, a billing record is generated, as shown at step  418 , and sent to the carrier, as shown at step  420 , before the product is retrieved, as shown at step  408 , and sent to the user, as shown at step  410 . The carrier  212  may deduct the amount from the billing record for the product from the user&#39;s pre-paid amount.  
         [0037]    When recording the request as shown in step  406  or step  414 , the server  112  can extract demographic information from the user information and record it along with the product information. One method of obtaining demographic information is using the Subscriber ID (SID) to derive detailed information about their customers and buying trends. The demographic information may be made available to the product&#39;s developer, so the developer may have an idea about the user of his product. The demographic information may also be provided to the carriers and allowing the carriers to have a better picture about the users who tend to subscribe to similar products or services.  
         [0038]    [0038]FIG. 5 illustrates an end-user process for terminating an active subscription of a product by using the deletion process  500 . The end-user can select a product from the displayed active applications displayed on the wireless device  106 , as shown in step  502 . The wireless device  106  can display more than one catalog: one for all the products and one for the products targeted to the individual or groups that the user is associated with. The wireless device  106  receives the selection, as shown at step  504 , and sends the deletion request along with the product and user information to the server  112 , as shown at step  506 . Alternately, if the application is solely resident on the wireless device  106 , the user does not have to browse the catalog to delete the application and unsubscribe. The user can utilize an application manager to delete the application on the device and the delete event is queued and sent to the server  112  on the next data call.  
         [0039]    [0039]FIG. 6 illustrates a server process  600  for a user terminating a subscription on a product for a specific value-added subscriber. When the server  112 , either an application download server or transaction server, receives the deletion request and related information, step  602 , the server  112  retrieves the user record, such as SID information, as shown at step  604 , and updates the user record by removing the product from the list of active subscription products, as shown at step  606 . The request can be simple deletion of a resident application for which the end-user has a subscription, and a flag or other notification means can be sent to the server  112  for notification of the deletion.  
         [0040]    The system accordingly can support flexible subscription plans. A user may subscribe to a flat price service plan, where the user pays a fixed price per month and the wireless device subscriber can access all products listed in the catalog. The end-user may also subscribe to an adjustable price service plan, where the monthly subscription fee depends on how many products or what products the user has subscribed to. The user may also purchase an application based on a one-time flat fee for a specified number of uses service plan. The system will automatically account for the subscription in whatever method provided.  
         [0041]    [0041]FIG. 7 illustrates the monthly invoice process  700 , which can be a process on a carrier  212  server. If so embodied, the server  112  can periodically generate invoices or other billing information for its monthly application and service subscribers every month and sends the invoices or other billing information to the carriers  212  of the wireless device service subscribers. The server  112  retrieves subscriber records, as shown at step  702 , and then generates billing records for those wireless service subscribers as shown at step  704 . Customer may utilize products which are subscription services or one-time purchase. Since the server  112  may support multiple carriers and users who are subscribers with different carriers, the billing records are segregated and sent to the carrier based on carrier specific tagged identifier, as shown at step  706 .  
         [0042]    [0042]FIG. 8 is a relationship map  800  illustrating the financial relationship between developers  202 , the subscription billing system  802 , carriers  212 , and end-users at the wireless device  210 . The subscription billing system  802  may support more than one carrier  212  and generate invoices separately for each carrier  212 . The invoices generated are available for viewing by the developers  202 . Each carrier  212  sends a bill to each individual user  210  who has subscribed or used a product or service from a product catalog, and receives a payment from each user  210 . The carrier  212  pays the invoice to billing system  802 , and the billing system  802  makes payments to the developers  202 .  
         [0043]    The relationship  800  shows the advantage of the present invention. For developers  202 , the present invention allows for easy marketing of their products and eliminates the hassle of dealing with individual buyers or the trouble of searching for publishers to carry their products. For carriers  212 , the present invention provides a way to make more products available to end users  210 , thus providing new venues to generate more profits, without the need to hire a large number of software developers. For users  210 , the present invention makes more applications available to the users  210  and maybe be eliminates the need for the users  210  to carry multiple electronic devices, such as pagers, personal digital assistants (PDAs), or even game devices.  
         [0044]    [0044]FIG. 9 illustrates an exemplary embodiment of a billing record  900 . The billing record  900  is kept in a billing database in the server  112  and has user identification  902 , carrier identification  904 , subscription plan identification  906  an invoice  908  (which can include rated price information, developer fee, and list price information) and usage information  910 . The billing record is generated by the billing server  112  and sent to each carrier  212 . The carrier  212  then bills the user for the rated price. The carrier  212  may adjust the invoice amount before billing the wireless device subscriber.  
         [0045]    [0045]FIG. 10 illustrates a product record  1000  according to one embodiment of the invention. The product record  1000  is accessible to developers for viewing. It should be noted that sometimes only a subset of the billing record is accessible to the developer because there is carrier sensitive information in the billing record that is not available to the developer. The product record  1000  is kept in a product database in the billing server  112  and has a developer identification field  1002 , a product identification field  1004 , a subscription usage (such as list price) information field  1006 , a pay-per-use usage information field  1008 , and one or more user information fields  1010 . The subscription usage field  1006  can list how many value-added subscribers have subscribed this product on monthly basis; the pay-per-use usage field  1008  can list how many specific value-added subscriber have subscribed this product on pay-per-use basis; the user information field  1010  may list demographical data extracted from the user information received. The usage record can also contain information such as subscriber id, timestamp, part number, part name, event type (i.e., download or delete), application list price, application developer fee, application license information, etc.  
         [0046]    [0046]FIG. 11 illustrates one embodiment of the components of a billing server, such as can be implemented on server  112 . The server  112  has an invoice generator  1102 , a subscription recorder  1104 , a developer interface  1106 , a controller  1108 , a product database  1110 , a catalog library  1112 , a developer account manager  1114 , a carrier interface  1116 , and a billing database  1118 . The invoice generator  1102  generates invoices to the carriers; the subscription recorder  1104  records user selections; the developer interface  1106  receives product submissions from developers and provides access to the developer for viewing subscription information; the product database  1110  stores all the products submitted; the catalog library  1112  stores all the catalogs devised for different carriers and hardware platforms; the developer account manager  1114  provides subscription information or other data to the developers and makes payments to the developers; the carrier interface  1116  interfaces with the carriers; the billing database  1118  records billing records for all the users; and the controller  1108  oversees the operation of the server  112 . In other embodiment, the application download server or transaction manager generates carrier invoices, and the carrier billing systems generate customer invoices. Consequently, the transaction manager manages active subscriptions and generates monthly subscription billing events that get exported to carrier billing systems and the transaction manager can supports billing services to developers  202  for developer payment reconciliation but this summary usage information does not include carrier sensitive usage information such as SID, etc.  
         [0047]    A developer can access the server  112  through the interface  204 , which is handled by the developer interface  1106 , by entering his developer identification number. The server  112  assigns to each developer an identification number and a password. After entering the identification number and the password, the billing server  112  allows the developer to access at least billing support services associated with the developer identification number.  
         [0048]    It can thus be seen that the system yields a method for providing an end-to-end billing system  802  that supports multiple parties, where the subscription billing system  802  supports plurality of developers and a multitude of end-users through various carriers. The system is transparent to the end-user that only sees the subscription-causing event and the subscription-ending event, with the system handling the billing between those events. The billing system  802  sets up individual accounts for each developer, where the products developed by each developer is listed in his own account. The subscription billing system  802  also can associate each end-user with a carrier and records each end user&#39;s service plan. The system can also record product requests, deliver the product requested to the end-user, and generate invoices individually on per use basis or monthly on subscription basis. If so embodied, the payment collected from each carrier is recorded and an appropriate portion of the collected payment is distributed to the developers whose products have been used or subscribed by the end users.  
         [0049]    In view of the method being executable on the computer platform of a computing device such as server  112 , the present invention includes a program resident in a computer readable medium, where the program directs a server or other computing device having a computer platform to perform the steps of the method. The computer readable medium can be the memory of the server  112 , or can be in a connective database. Further, the computer readable medium can be in a secondary storage media that is loadable onto a wireless device computer platform, such as a magnetic disk or tape, optical disk, hard disk, flash memory, or other storage media as is known in the art.  
         [0050]    In the context of FIGS. 3-7, the method may be implemented, for example, by operating portion(s) of the wireless network to execute a sequence of machine-readable instructions, such the server  112 . The instructions can reside in various types of signal-bearing or data storage primary, secondary, or tertiary media. The media may comprise, for example, RAM (not shown) accessible by, or residing within, the components of the wireless network. Whether contained in RAM, a diskette, or other secondary storage media, the instructions may be stored on a variety of machine-readable data storage media, such as DASD storage (e.g., a conventional “hard drive” or a RAID array), magnetic tape, electronic read-only memory (e.g., ROM, EPROM, or EEPROM), flash memory cards, an optical storage device (e.g. CD-ROM, WORM, DVD, digital optical tape), paper “punch” cards, or other suitable data storage media including digital and analog transmission media.  
         [0051]    While the invention has been particularly shown and described with reference to a preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and detail maybe made without departing from the spirit and scope of the present invention as set for the in the following claims. Furthermore, although elements of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.