Patent Publication Number: US-8121073-B2

Title: Future forwarding zones in a network

Description:
BACKGROUND 
     1. Technical Field 
     The present invention generally relates to data communication networks and in particular to establishing connectivity in data communication networks. 
     2. Description of the Related Art 
     Mobile computing devices frequently move between physical regions and/or network zones. Example mobile devices include laptops, cellular phones, personal digital assistants, smart-phones, and ultra mobile personal computers (UMPCs). Many of these devices are capable of forming networks called mobile ad-hoc networks MANet). MANet is a self-configuring network of mobile routers (and associated hosts) connected by wireless links, the union of which form an arbitrary topology. The routers are free to move randomly and organize themselves arbitrarily; Thus, the network&#39;s wireless topology may change rapidly and unpredictably. Such a network may operate in a stand-alone fashion, or may be connected to the larger Internet. 
     It is not presently possible to route a message to a network to which no path presently exists. It is common for mobile device users to reside in physical and network zones without the connectivity required to transmit a message to a destination. In such situations it is also common for the user to be within range of other mobile computing devices prior to establishing the required network path. Currently, an attempt to transmit such a message would result in transmission failure. For example, it is common for an employee to have no network path to the (employee&#39;s) company&#39;s intranet, yet still wish to transmit a message to a computing/communicating resource within the intranet. However, it is not possible for a mobile device to transmit a message to a host on a network for which the device does not have path. The operator of the device is required to wait until a path exists to the required network. 
     SUMMARY OF ILLUSTRATIVE EMBODIMENTS 
     Disclosed are a method, system, and computer program product for enabling the transmission of data from a mobile device to a target device via one or more carrier mobile devices, in a communication network. A proxy mobile carrier (PMC) utility facilitates transmission of data from the originating mobile device to a target device in a network which is inaccessible to the originating mobile device. The PMC utility employs a collection of enhanced transmission enabling components (ETECs) to enable the data transfer via one or more carrier mobile devices. The ETECs include a message creation component, a network zone identification component, a future forwarding zone prediction component, a message acceptor component, a storage component, an inter-node communication component, and a message delivery component. By initiating specific interactions between the ETECs, the PMC utility facilitates the transmission of data from the mobile device to the target device via carrier mobiles. 
     The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention itself, as well as a preferred mode of use, further objects, and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: 
         FIG. 1  is a block diagram representation of a data processing system, according to one embodiment of the invention; 
         FIG. 2  illustrates a network environment in which an initiating device communicates with a target device via a carrier mobile(s), according to one embodiment; 
         FIG. 3  is a table depicting the information placed in the storage component (of a network server) as a mobile device moves and records zone interactions, according to one embodiment; 
         FIG. 4  is a table depicting the discrete rankings for the probability of entering network zones, according to one embodiment; 
         FIG. 5  illustrates a flow of network communication messages required for a message to be accepted for future transmission, according to one embodiment; 
         FIG. 6  is a flowchart illustrating a standard inter-node communication flow, according to one embodiment; 
         FIG. 7  illustrates a high-level view of message delivery using future forwarding zone technology, according to one embodiment; and 
         FIG. 8  is a flow chart illustrating the process of initiating and completing a transmission of data from a mobile device to a target device via one or more carrier mobile devices, according to one embodiment. 
     
    
    
     DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT 
     The illustrative embodiments provide a method, system, and computer program product for enabling the transmission of data from a mobile device to a target device via one or more carrier mobile devices, in a communication network. A proxy mobile carrier (PMC) utility facilitates transmission of data from the originating mobile device to a target device in a network which is inaccessible to the originating mobile device. The PMC utility employs a collection of enhanced transmission enabling components (ETECs) to enable the data transfer via one or more carrier mobile devices. The ETECs include a message creation component, a network zone identification component, a future forwarding zone prediction component, a message acceptor component, a storage component, an inter-node communication component, and a message delivery component. By initiating specific interactions between the ETECs, the PMC utility facilitates the transmission of data from the mobile device to the target device via carrier mobiles. 
     In the following detailed description of exemplary embodiments of the invention, specific exemplary embodiments in which the invention may be practiced are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, architectural, programmatic, mechanical, electrical and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. 
     Within the descriptions of the figures, similar elements are provided similar names and reference numerals as those of the previous figure(s). Where a later figure utilizes the element in a different context or with different functionality, the element is provided a different leading numeral representative of the figure number (e.g,  1   xx  for  FIG. 1 and 2   xx  for  FIG. 2 ). The specific numerals assigned to the elements are provided solely to aid in the description and not meant to imply any limitations (structural or functional) on the invention. 
     It is understood that the use of specific component, device and/or parameter names are for example only and not meant to imply any limitations on the invention. The invention may thus be implemented with different nomenclature/terminology utilized to describe the components/devices/parameters herein, without limitation. Each term utilized herein is to be given its broadest interpretation given the context in which that terms is utilized. 
     With reference now to  FIG. 1 , there is depicted a block diagram representation of a data processing system (DPS)  100  (and connected network). DPS  100  may represent a server in a network communication environment which enables transfer of data by a carrier mobile device(s). DPS  100  comprises at least one processor or central processing unit (CPU)  101  connected to system memory  106  via system interconnect/bus  102 . Also connected to system bus  102  is I/O controller  115 , which provides connectivity and control for input devices, of which pointing device (or mouse)  116  and keyboard  117  are illustrated, and output devices, of which display  118  is illustrated. Additionally, a multimedia drive  119  (e.g., CDRW or DVD drive) and USB (universal serial bus) hub  121  are illustrated, coupled to I/O controller. Multimedia drive  119  and USB hub  12   i  may operate as both input and output (storage) mechanisms. DPS  100  also comprises storage  107 , within which data/instructions/code may be stored. 
     DPS  100  is also illustrated with a network interface device (NID)  125 , with which DPS  100  connects to one or more mobile devices  133  via access network  130  (, such as the Internet). In the described embodiments, network  130  is a worldwide collection of networks and gateways that utilize (the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of) [one or more] protocols to communicate with one another. Of course, network access may also be provided via a number of different types of networks, such as an intranet, a local area network (LAN), a virtual private network (VPN), or other wide area network (WAN) other than the Internet, for example. 
     Notably, in addition to the above described hardware components of DPS  100 , various features of the invention are completed via software (or firmware) code or logic stored within memory  106  or other storage (e.g., storage  107 ) and executed by CPU  101 . Thus, illustrated within memory  106  are a number of software/firmware components, including operating system (OS)  108  (e.g., Microsoft Windows®, a trademark of Microsoft Corp, GNU®/Linux®, registered trademarks of the Free Software Foundation and Linus Torvalds, or AIX®, a registered trademark of IBM), applications  114 , Enhanced Transmission Enabling Components (ETECs)  112  and proxy mobile carrier (PMC) utility  110 . In actual implementation, applications ETECs  112  and PMC utility  110  may be combined as a single application collectively providing the various functions of each individual software component when the corresponding code is executed by the CPU  101 . Certain segments of ETECs  112  and/or PMC utility  110  may be implemented within mobile devices/stations (MS) to facilitate the inventive features of the embodiment. For simplicity, PMC utility  110  is illustrated and described as a stand alone or separate software/firmware component, which provides specific functions, as described below. 
     CPU  101  executes PMC utility  110  as well as OS  108 , which supports the user interface features of PMC utility  110 . In the illustrative embodiment, PMC utility  110  generates/provides several graphical user interfaces (GUI) to enable user interaction with, or manipulation of, the functional features of the utility ( 110 ). Among the software code/instructions provided by PMC utility  110 , and which are specific to the invention, are: (a) code for initiating a request for the future transmission of data from a mobile device to a target device via one or more carrier mobile devices; (b) code for utilizing one or more enhanced transmission enabling components (ETECs); and (c) code for facilitating the transmission of data from a mobile device to a target device by interaction of multiple ETECs. For simplicity of the description, the collective body of code that enables these various features is referred to herein as PMC utility  110 . According to the illustrative embodiment, when CPU  101  executes PMC utility  110 , DPS  100  initiates a series of functional processes that enable the above functional features as well as additional features/functionality, which are described below within the description of  FIGS. 2-8 . 
     Those of ordinary skill in the art will appreciate that the hardware and basic configuration depicted in  FIG. 1  may vary. For example, other devices/components may be used in addition to or in place of the hardware depicted. The depicted example is not meant to imply architectural limitations with respect to the present invention. The data processing system depicted in  FIG. 1  may be, for example, an IBM eServer pSeries system, a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system or LINUX operating system. 
     With reference now to  FIG. 2 , a network environment is illustrated, in which an initiating device communicates with a target device via carrier mobile(s), according to one embodiment. Network environment  200  comprises originating mobile device, MS-O  201 , which connects wirelessly to Network- 1   202 . MS-O  201  is able to connect to carrier mobiles, MS- 1   133  and MS- 2   203  which both connect wirelessly to Network- 1   202 . MS- 1   133  and MS- 2   203  may also connect wirelessly to Network- 2   204 . Also connected to Network- 2   204  is Server  100  and router- 1   205 , which is connected to Network- 3   206 . Connecting wirelessly to Network- 3   206  is target mobile device/station, MS-T  208 . 
     PMC utility  110  and ETECs  112  (both illustrated within MS-O  201  and Server  100 ) enable originating mobile device, MS-O  201 , to transmit a message (and/or data) to target mobile device/station (MS-T  208 ) via one or more carrier mobiles (e.g., MS- 1   133  and MS- 2   203 ). In addition, carrier mobiles, MS- 1   133  and MS- 2   203 , as well as target device MS-T  208 , may include PMC utility  110  and specific components of ETECs  112 . However, the inclusion of PMC utility  110  and specific components of ETECs  112  within MS- 1   133 , MS- 2   203  and MS-T  208  is not explicitly shown in network environment  200 . 
     ETECs  112  is a collection of components which include: a message creation component, a network zone identification component, a future forwarding zone prediction component, a message acceptor component, a storage component, an inter-node communication component, and a message delivery component. 
     The Message Creation Component facilitates the creation of messages for transmission between communicating and/or computing entities. Messages consist of text and/or data converted to a binary format suitable for transmission to other communicating devices. Messages often are divided into two sections, the header and the body. It is common for the header to contain descriptive information or meta-data about the message and the body. The body, sometimes called the payload, contains the data intended for transmission. PMC utility  110  augments known messaging protocols, like TCP/IP, to include additional message meta-data in the header section. One such augmentation is addition of a Universally Unique Identification (UUID) for each message. The UUID enables a number of advanced features via additional meta-data including security information, cryptography keys and message control data such as urgency. 
     The Network Zone (Region) Identification Component (NZIC) enables storage of network details when a mobile device enters a network space. The network details are recorded in the storage component. A network zone or region is a network space comprised of a set of unique IP addresses reachable from within that space. The zone may or may not be an entire subnetwork. It is common for mobile devices to move in and out of different subnetworks. The network may be uniquely identifiable by its topology, reachable IP addresses, media access control (MAC) addresses available, the reachable topology described by the gateway router, or the MAC addresses of specific computing elements such as routers within the zone. In the preferred embodiment a network zone is identified by the reachable IP addresses from within that zone. PMC utility  110  or NZIC records entrance into network zones in the storage component. Additionally, upon entrance to a zone the system consults the storage component to detect if the device has any messages for delivery to that zone. If so, the message delivery component is invoked for every message to be delivered within that zone. 
     The Future Forwarding Zone Prediction Component (FFZPC) analyzes information stored in the storage component to predict which network zones the devices may enter in the future based on previously recorded zone interactions. The FFZPC may assign discrete rankings for the probability of entering zones. For example a zone with a high probably of near term entrance may be assigned a ranking of 1, whereas a zone with a low probability of entrance may be assigned a higher number. These probabilities are transmitted to the message originator during initial message hand-off negotiations and transmitted during inter-node communications. 
     The message acceptor (MA) component communicates with message originators and may either accept or reject messages for future delivery. The MA component has several sub-components including authentication, negotiation, and notification sub-components. 
     The Authentication Sub-Component enables mobile devices to provide authentication to each other in order to proceed with a transfer of data. In one embodiment, message originators may be required to authenticate themselves before messages are accepted. Such embodiments may use authentication to restrict message transfers to arbitrary groups, such as those with the same employer, same university, or other such groupings of people. Alternately, in another embodiment, if a message contains a public key within the message header, the message may only be accepted if the originating device contains the private key to decrypt the message. 
     The Negotiation Sub-Component communicates with the message originator to determine if a message will be accepted for delivery to a future network zone. In most embodiments, the originator presents the message, which includes the future forwarding zone, for delivery. This component consults the zone prediction component to ascertain the likelihood of entering the future forwarding zone. In some embodiments, if the likelihood is below a preset threshold, the system may reject the message. In other embodiments, the system may return the probability to the message originator, so the originator may decide if the message is transmitted through this node (i.e., a carrier mobile device within a network zone). If both parties agree to transmit the message, the negotiation component places the message within the storage component for future delivery and invokes the notification component. In some advanced components, if the storage system is full, the negotiation component, depending on likelihood of deliveries, may offer to swap a message (from originator) already accepted for future delivery with the message originator to make room for the new message. 
     The Notification Sub-Component may provide notification to the owner of the device that a message has been accepted or rejected by the system for future delivery. In addition, some embodiments may not accept the message until the device&#39;s owner has communicated an approval to accept the message with the notification component. Embodiments may differ but notification may take several forms including but not limited to: sounds, vibration, or a flashing light. 
     The Storage Component stores and indexes information required for operation as described by the illustrative embodiments. The Storage Component contains zone storage, message storage, and expiration sub-components/methods. 
     The zone storage sub-component stores information about the entrance to network zones. The zone storage sub-component stores the zone network details with associated information including the number of times the device has been in that zone and the last time that zone was accessible. This information is used by the zone prediction system to determine the probability of entering a zone in the future. 
     The message storage sub-component contains messages accepted for delivery. The message storage sub-component stores the message UUID, acceptance timestamp, delivery status and message data. In some embodiments, the timestamp is used to expire messages after a preset duration. The delivery status is used during inter-node communication to inform other systems carrying the same message that the message has been previously delivered. 
     The expiration sub-component expires entries within the storage component. Zones that have not been accessed in a preset period of time and messages stored for a preset time period may be removed by the expiration system. In other embodiments, the expiration sub-component may not remove entries based on duration rather removed the least recently used entries when a request for storage occurs. In other embodiments, the expiration sub-component may not remove items based mainly on a preset time period or a “least recently used” entry characteristic. However, the expiration sub-component may remove entries based on a need for storage space. 
     The Inter-Node Communication (INC) Component facilitates inter-node communication, which may occur when any two network nodes discover each other. Present networking protocols provide methods for devices to discover each other. The INC component enhances the likelihood of message delivery to future zones and reduces the storage needs of components. Upon node discovery the systems access their storage components, comparing messages for future delivery. In some embodiments, if the remote node has a higher likelihood of entering a zone a message is destined for, that message may be transmitted to the remote node for delivery. At such a time, some embodiments may remove the entry from their storage components while others may retain the message for delivery. In addition, a list of recently delivered message UUIDs is communicated between the two nodes. If the other node contains that message for delivery, the storage component is updated to mark that message as delivered. 
     The message delivery system uses known methods to deliver messages within a currently attached network zone. Message delivery is a standard feature of inter-networking protocols such as TCP/IP, IPX, SNA, bluetooth, etc. The messages are delivered to the destination specified by the message originator. 
     Private network addresses such as addresses in the class A range of 19.x.x.x and other addresses in the class C range of 192.168.X.X are not universally unique. As such, the methods described above for network zone identification are insufficient to uniquely identify messages intended for private network zones. It is appreciated that one method for identifying unique zones is to add an additional field containing the Media Access Control (MAC) address of the network gateway. Media Access Control addresses are pseudo-unique and the likelihood of improper message delivery due to duplicate MAC addresses is low enough that this method is acceptable for reliable message delivery. For delivery to private network addresses the message originator requires knowledge of the MAC address of the network gateway for the target network and the message carrier must verify the MAC address prior to delivery of the message to the target network. 
     The Message Expiration component may be optionally implemented and/or included within ETECs  112 . Such a component may expire messages after a specified time or number of network zones entered. In one embodiment, the message originator specifies a duration for which the message is valid and, upon exceeding that duration, the carrier(s) of the message may expire the message from the storage component. Such an embodiment may require an additional header in the message to contain the expiration information. Other embodiments may expire messages after the messages have traveled between a number of network zones without final delivery of the message. 
       FIG. 3  is a table depicting the information placed in the storage component as a mobile device moves and records zone interactions, according to one embodiment. Table  300  comprises multiple network entries  301  of which first network  202  and second network  204  are referenced. Table  300  also comprises a record of the number of network visits (entrances to a network) by a mobile device including first entrance total  304  and second entrance total  305 . Also illustrated in table  300  is a final time-stamp record, including final timestamp- 1   306  and final timestamp- 2   307 . 
     The Network Zone/Region Identification Component (NZIC) enables storage of network details when a mobile device enters a network space. The network details are recorded in the storage component. A network zone or region is a network space comprised of a set of unique IP addresses reachable from within that space. 
     According to table  300 , the mobile device (e.g., mobile device  133 ) has visited first network  202  (IP address 199.84.154.0) a total of 23 times (during a specific time period) as illustrated by first entrance total  304 . The time of the most recent visit by the mobile device is indicated by final timestamp- 1   306 . At second network  204  (IP address 207.35.76.32), the mobile device has accrued 100 visits. A most recent visit by the mobile device is indicated by final timestamp- 2   307 . 
       FIG. 4  is a table depicting the discrete rankings for the probability of entering network zones, according to one embodiment. Table  400  comprises first network  202  and second network  204 . Table  400  also comprises future visit rankings  401  of which first future visit rank (FVR)  402  and second FVR  403  are referenced. 
     The FFZPC analyzes information (table  300 ) stored in the storage component to predict which network zones the devices may enter in the future based on previously recorded zone interactions. The FFZPC may assign discrete rankings for the probability of entering zones. For example a zone with a high probably of near term entrance may be assigned a ranking of 1, whereas a zone with a low probability of entrance may be assigned a higher number. These probabilities are transmitted to the message originator during initial message hand-off negotiations and also transmitted during inter-node communications. 
     Based on an analysis of the zone information in table  300 , the mobile device (e.g.,  133 ) is assessed a (relative) discrete rank of “3” (illustrated by first FVR  402 ) pertaining to the likelihood of a future visit to first network  202 . The mobile device attains a (higher) rank of “1” (illustrated by second FVR  403 ) pertaining to the likelihood of a future visit to second network  204 . 
       FIG. 5  illustrates a flow of network communication messages required for a message to be accepted for future transmission, according to one embodiment. Message flow  500  depicts a sequence of exchanges (messages) between mobile device- 1   133  and mobile device- 2   510 . 
     The sequence of messages in message flow  500  is initiated when mobile device- 1   133  sends an FFZP request ( 502 ) to mobile device- 2   510 . Mobile- 2  device  510  returns discrete rankings in an FFZP response ( 503 ) for the probability of entering zones assigned by the FFZP to mobile device- 1   133 . Based on the received rankings, mobile device- 1   133  proceeds with the authentication process by sending authentication request  504  to mobile device- 2   510 . The authentication process is completed when mobile device- 1   133  receives authentication response  505  from mobile device- 2   510 . Following successful authentication, message negotiation  506  is initiated by mobile device- 1   133 . Message acceptance  507  is subsequently sent by mobile device- 2   510  and is received by mobile device- 1   133 . In response to the receipt of message acceptance  507 , mobile device- 1   133  transfers message payload  508 , and upon receipt of message payload  508 , mobile device- 2   510  responds by transmitting message payload receipt  509 . 
       FIG. 6  is a flowchart illustrating a standard inter-node communication flow, according to one embodiment. Although the methods illustrated in  FIG. 6  may be described with reference to components shown in  FIGS. 1-5 , it should be understood that this is merely for convenience and alternative components and/or configurations thereof can be employed when implementing the various methods. Key portions of the methods may be completed by PMC utility  110  executing within DPS  100  ( FIG. 1 ) and controlling specific operations of/on DPS  100 , and the methods are thus described from the perspective of either/both PMC utility  110  and DPS  100 . 
     The process of  FIG. 6  begins at initiator block  601  and proceeds to block  602 , at which PMC utility  110  awaits discovery of mobile device/station  133  representing a first network node (facilitated by the Inter-Node Communication Component) by a carrier mobile device representing a second network node and vice versa. At block  603 , PMC utility  110  retrieves the meta-data for messages to be delivered. 
     As shown at block  604 , mobile device  133  transmits zone information for messages to be delivered, based on an entrance of mobile device ( 133 ) into individual network spaces. At block  605 , PMC utility  110  awaits remote network node zone information for messages to be delivered. The FFZPC facilitates a transmission of information pertaining to the likelihood of device entrances into a future network zone based on the received zone meta-data, as shown at block  606 . At block  607 , PMC utility  110  awaits the transmission of the remote network node&#39;s likelihood of entering network zones based on meta-data from local node (currently holding the message). 
     At decision block  608 , PMC utility  110  determines whether the remote node&#39;s zone information (i.e., the likelihood of entering a future network zone of a candidate carrier mobile in a remote network space) indicates a higher likelihood of entering the required future forward zone compared with the likelihood of entrance into the future forward zone by the current carrier (message holder) mobile. If at block  608  PMC utility  110  determines that the remote node&#39;s zone information indicates a higher likelihood of entering the required future forward zone, the process proceeds to block  609 , at which, PMC utility  110  triggers the transmission of messages to a remote carrier mobile device in the remote network space. If at block  608  PMC utility  110  determines that the remote node&#39;s zone information indicates a lower likelihood of entering the required future forward zone, the process proceeds to block  610 , at which, PMC utility  110  determines whether the remote node requests message transmission. 
     In one embodiment, a remote node (i.e., a candidate carrier mobile device) may still request the message based on other factors including an intention of the remote user associated with the remote mobile device to enter into a particular network space, contrary to indications provided by the likelihood data. If at block  610  PMC utility  110  determines that the remote node requests to receive the message, the process proceeds to block  611 , at which the messages are received on behalf of the remote carrier for future delivery. If at block  610  PMC utility  110  determines that the remote node makes no request to receive the message, the process proceeds to block  612 , at which PMC utility  110  initiates transmission of the UUIDs of messages delivered to a future network zone. At block  613 , PMC utility  110  awaits remote transmission(s) pertaining to the delivered UUIDs. PMC utility  110  updates storage component indicating the delivery of the UUIDs. The process ends at block  615 . 
       FIG. 7  illustrates a high-level view of message delivery using future forwarding zone technology, according to one embodiment. Zone collection  700  comprises zone A  701 , zone B  705 , zone C  707  and zone D  709 . Zone A  701  comprises originating mobile device/station ( 201 ) and three (3) carrier mobiles, CM- 1   133 , CM- 2   703  and CM- 3   704 . Carrier mobiles, CM- 1   133 , CM- 2   703  and CM- 3   704  are also illustrated within zone B  705 . Included within zone B  705  is second message notification  710 . In addition, carrier mobiles, CM- 1   133  and CM- 3   704  are illustrated within zone C  707 . Also included within zone C  707  is first message notification  711 . Carrier mobile CM- 1   133  is also illustrated within zone D  709 . 
     In zone A  701 , (originating) mobile device ( 201 ) transmits data (ultimately destined for target device  208  in zone D  709 ) to three (3) carrier mobiles, CM- 1   133 , CM- 2   703  and CM- 3   704 . CM- 1   133  may be a likely candidate (based on the FFZPC) for reception and subsequent transfer of the originating message in all network zones ( 701 ,  705 ,  707  and  709 ). When CM- 1   133  arrives in zone B  705 , CM- 1   133  receives and transfers the message to the likely carrier mobiles including the same CM- 1   133  in zone C  707 . CM- 1   133  transfers the message using one or more protocols (which may increase a probability of successful delivery) to zone C  707 . Additionally, CM- 3   704  transfers the message from zone A  701  via zone B  705  to zone C  707 . From zone C  707 , CM- 1   133  transfers the message to zone D  709 . PMC utility  110  enables a receipt of the message by CM- 1   133  and subsequent transfer of the message to target device  208 . CM- 1   133  provides CM- 2   703  in zone B  705  with notification ( 710 ) of the delivered message. Similarly, CM- 1   133  provides CM- 3   704  in zone C  707  with notification ( 711 ) of the delivered message. In one embodiment, CM- 3   704  receives first notification  711  in zone C  707  because, at the time of message delivery and/or notification, CM- 3   704  has entered zone C  707 . Similarly, CM- 2   703  receives second notification  710  in zone B  705  because, at the time of message delivery and/or notification, CM- 2   703  is in zone B  705 . 
       FIG. 8  is a flow chart illustrating the process of initiating and completing a transmission of data from a mobile device to a target device via one or more carrier mobile devices, according to one embodiment. Although the methods illustrated in  FIG. 8  may be described with reference to components shown in  FIGS. 1-7 , it should be understood that this is merely for convenience and alternative components and/or configurations thereof can be employed when implementing the various methods. Key portions of the methods may be completed by PMC utility  110  executing within DPS  100  ( FIG. 1 ) and controlling specific operations of/on DPS  100 , and the methods are thus described from the perspective of either/both PMC utility  110  and DPS  100 . 
     The process of  FIG. 8  begins at initiator block  801  and proceeds to block  802 , at which an (originating) mobile station ( 201 ) initiates request for transmission of data to a target of an inaccessible network (i.e., inaccessible to the mobile station). At block  803 , PMC utility triggers the FFZP component to forward/broadcast the request to one or more carrier mobile devices (CMs). The FFZP initiates a process to return (to mobile station  201 ) discrete rankings for the probability of entering zones assigned by the FFZP to the individual mobile devices. PMC utility  110  detects receipt of the rankings of the CMs at the mobile station, as shown at block  804 . Mobile selects CM(s) based on the received rankings, as shown at block  805 . 
     At block  806 , PMC utility  110  initiates authentication, negotiation, and notification via the Message Acceptor component between the originating mobile station and the selected CMs. Following successful authentication, negotiation, and notification via the Message Acceptor component, PMC utility initiates message transfer and message storage (while awaiting transfer to a future forward zone), as shown at block  807 . At block  808 , on receipt of the transferred message, the CM forwards the message to another CM along the path towards the target device, facilitated by the INCC. A sequence of transfers between CMs may be executed before final delivery. The message is finally delivered to the target device ( 208 ), as shown at block  809 . In response, message notification delivered to one or more mobile devices, as shown at block  810 . The process ends at block  811 . 
     In the flow charts above, one or more of the methods are embodied as a computer program product in a computer readable medium or containing computer readable code such that a series of steps are performed when the computer readable code is executed on a computing device. In some implementations, certain steps of the methods are combined, performed simultaneously or in a different order, or perhaps omitted, without deviating from the spirit and scope of the invention. Thus, while the method steps are described and illustrated in a particular sequence, use of a specific sequence of steps is not meant to imply any limitations on the invention. Changes may be made with regards to the sequence of steps without departing from the spirit or scope of the present invention. Use of a particular sequence is therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. 
     As will be further appreciated, the processes in embodiments of the present invention may be implemented using any combination of software, firmware or hardware. As a preparatory step to practicing the invention in software, the programming code (whether software or firmware) will typically be stored in one or more machine readable storage mediums such as fixed (hard) drives, diskettes, optical disks, magnetic tape, semiconductor memories such as ROMs, PROMs, etc., thereby making an article of manufacture (or computer program product) in accordance with the invention. The article of manufacture containing the programming code is used by either executing the code directly from the storage device, by copying the code from the storage device into another storage device such as a hard disk, RAM, etc., or by transmitting the code for remote execution using transmission type media such as digital and analog communication links. The methods of the invention may be practiced by combining one or more machine-readable storage devices containing the code according to the present invention with appropriate processing hardware to execute the code contained therein. An apparatus for practicing the invention could be one or more processing devices and storage systems containing or having network access to program(s) coded in accordance with the invention. 
     Thus, it is important that while an illustrative embodiment of the present invention is described in the context of a fully functional computer (server) system with installed (or executed) software, those skilled in the art will appreciate that the software aspects of an illustrative embodiment of the present invention are capable of being distributed as a computer program product in a variety of forms, and than an illustrative embodiment of the present invention applies equally regardless of the particular type of storage media used to actually carry out the distribution. By way of example, a non-exhaustive list of types of storage media includes recordable type (tangible) media such as floppy disks, thumb drives, hard disk drives, CD ROMs, and DVDs. 
     While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular system, device or component thereof to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another.