System and method for dynamically routing messages transmitted from mobile platforms
Claim Score by NHIP
Abstract
A client device has access to multiple data communications networks when sending a message to a server. An included network management functionality evaluates on an individual message by message basis a number of factors and selects one of the networks over which the message is to be communicated to the server. The selection process involves having the network management functionality identify a particular selection rule containing a network clause relating to each potentially useable communications network. The particular selection data comprising each network clause are then evaluated in the context of the message transmission to select for the message the particular one of the networks to be used for the communication.

Term
Term ended
Projected expiry passed 21 February 2021, 5.6 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
22 claims: 4 independent, 18 dependent
- 1A method for message routing, the method comprising the steps of:receiving a message for transmission to a remotely located system;identifying a rule governing transmission of that message;identifying a plurality of network clauses that correspond to the identified rule, wherein each of the plurality of network clauses is associated with criteria for selecting one of a plurality of networks over which the message may be communicated;identifying a network clause from the plurality of network clauses whose criteria are satisfiable in the context of sending the received message;and initiating transmission of the received data message over the network associated with the satisfied network clause.
- 7Broadest claimClaim Score 82, broad(NHIP)A method for message routing, the method comprising the steps of:receiving a data item for transmission over a network;receiving a transmission criteria for the data item;identifying a plurality of networks that are available for use in making the transmission;identifying a network included in the plurality of networks whose use would satisfy the received transmission criteria;and initiating transmission of the received data item on the identified network.
- 11A communications system, comprising:a mobile client, the mobile client including hardware for supporting the transmission of mobile client data messages over a plurality of wired/wireless data networks, the mobile client executing a number of applications, wherein each application has a need to communicate remotely from the mobile client, the mobile client further operating responsive to receipt of an application originated message for transmission to: identify a rule governing transmission of that message;identify a plurality of network clauses that correspond to the identified rule, wherein each of the plurality of network clauses is associated with criteria for selecting one of the plurality of wired/wireless networks over which the message may be communicated;identify a network clause from the plurality of network clauses whose criteria are satisfiable in the context of sending the received message;and initiate transmission using the appropriate hardware of the received data message over the network associated with the satisfied network clause.
- 16A mobile communications device, the device comprising:a plurality of hardware components for supporting the transmission of mobile communications device application data messages over a plurality of wired/wireless data networks;and a network management functionality governing application access to the hardware components for transmission of data messages, the network management functionality operating to evaluate on an individual data message by data message basis a number of factors and select one of the plurality of wired/wireless networks over which that data message is to be transmitted.
Independent claims4
50 paragraphs in 5 sections, as filed
RELATED APPLICATIONS
P-0001[0001] Priority is hereby claimed from Provisional Application No. 60/184,227, filed on Feb. 23, 2000. This provisional application is hereby incorporated by reference.
BACKGROUND OF THE INVENTION
P-0002[0002] 1. Technical Field of the Invention
P-0003[0003] The present invention relates to mobile data communications and, in particular, to systems and methods for dynamically selecting preferred networks for routing messages.
P-0004[0004] 2. Background of the Problem and Related Art
P-0005[0005] With the increasing demand for mobile data communications has come a proliferation of sophisticated wireless communication network systems. For example, voice, email, and Internet-related data may be transmitted from a mobile platform via wireless analog cellular, digital cellular or satellite systems in addition to more conventional wired systems (such as a local area or wide area network). The majority of presently available wireless data networks falls into one of four general categories (for example, Wide Area Packet-Switched Data networks; Circuit-Switched Cellular (CSCD) networks; Cellular Digital Packet Data (CDPD) networks; and Satellite networks (LEO, MEO or GEO)) or includes industry specific or vendor proprietary network systems. As new technologies emerge and converge, the number, types and availability of wireless data network systems will undoubtedly grow as will the complications encountered in selecting between those systems.
P-0006[0006] It is recognized by those skilled in the art that no one of the foregoing categories provides an optimum solution for every wireless data application. Performance varies from solution to solution. Factors recognized as influencing the performance of wireless data networks include: geographic coverage, network availability, allowable latency for message delivery, message size, data security, data integrity and the cost of sending the message across the network. Due in large part to the existence of these factors, which all must be taken into some degree of consideration when selecting a network, an evaluation of the wireless data network needs of an organization often returns several competing requirements. In one set of circumstances, a certain wireless data network may be the right choice based on over-riding cost considerations. In other circumstances, message latency, security issues and system availability may dictate the selection of a different wireless data network (even if more expensive).
P-0007[0007] As a result, an intelligent solution to network selection would preferably use the most desirable wireless data network (taking into account the foregoing factors) with respect to each individual messaging instance. Such a solution effectively eliminates the negative effects which result from the selection of a single “compromise” wireless data network solution to serve the needs of the organization. It would be preferred if the solution effectively evaluated and considered the immediate conditions affecting individual message transmission at the time of message sending and the selected, from amongst the available wireless data networks, the best (i.e., most desirable) network to handle the transmitted message in view of a number of factors or considerations. The present invention provides just such a solution in the form of a mobile resource management tool that effectuates on an individual message by message basis the most effective selection of a supporting wireless data network in relation to a data message transmission.
SUMMARY OF THE INVENTION
P-0008[0008] A client device has access to multiple data communications networks when sending an application originated message to a server. An included network management functionality evaluates on an individual message by message basis a number of factors and selects one of the networks over which the message is to be communicated to the server. The selection process involves having the network management functionality identify a particular selection rule containing a network clause relating to each potentially useable communications network. The particular selection data comprising each network clause of the identified rule are then evaluated in the context of the message transmission in order to select for the message the particular one of the networks to be used for the communication.
BRIEF DESCRIPTION OF THE DRAWINGS
P-0009[0009] A more complete understanding of the system and method of the present invention may be had by reference to the following Detailed Description when taken in conjunction with the accompanying drawings wherein:
P-0010[0010]FIG. 1 is a block diagram illustrating an operational environment within which the present invention provides for intelligent wireless data network selection on a message by message basis;
P-0011[0011]FIG. 2 is a block diagram of the network management functionality of the present invention;
P-0012[0012]FIG. 3 is a schematic illustration of a rule mapping operation performed by the network management functionality with respect to data network selection;
P-0013[0013]FIG. 4 is a chart illustrating the format for an exemplary (physical) business rule; and
P-0014[0014]FIG. 5 is a flow diagram illustrating an exemplary method of transmitting data in accordance with the present invention.
DETAILED DESCRIPTION
P-0015[0015] The present invention is described more fully hereinafter with reference to the accompanying drawings in which preferred embodiments of the invention are shown. This invention, however, may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, the described embodiments are provided so that this disclosure is thorough and complete and fully conveys the scope of the invention to those skilled in the art.
P-0016[0016] Reference is now made to FIG. 1 wherein there is shown a block diagram illustrating an operational environment within which the present invention provides for intelligent wireless data network selection on a message by message basis. Consider the existence of a plurality of mobile clients (illustrated as laptop computers) <b>10</b> belonging to a certain organization <b>12</b> and needing to be in communication (both wired and wireless) with an application server (or servers) <b>14</b> of the organization. The environment provides a number of means for enabling the mobile clients <b>10</b> to gain data communications access to the servers <b>14</b>. In a wireline context, the mobile client <b>10</b> may utilize its network interface card (NIC) <b>16</b> to gain access to the servers <b>14</b> over a local area network (LAN) <b>18</b> provided by the organization. Also in a wireline context, the mobile client <b>10</b> may utilize its modem <b>20</b> to access an internet service provider (ISP) <b>22</b> over the public switched telephone network <b>24</b> and communicate with the servers <b>14</b> over the Internet <b>26</b> through a cluster <b>28</b> acting as an interface between the Internet connection and the local area network <b>18</b>. In a wireless context, the mobile client <b>10</b> may utilize its radio interface <b>30</b> to access a first host <b>32</b> over a corresponding first wireless data network <b>34</b> and communicate with the servers over a leased line connection <b>36</b> through the cluster <b>28</b> acting as an interface between the leased line connection and the local area network <b>18</b>. Similarly, the mobile client <b>10</b> may utilize its radio interface <b>30</b> to access a second host <b>38</b> over a corresponding second wireless data network <b>40</b> and communicate with the servers over a dial-up connection <b>42</b> through the cluster <b>28</b> acting as an interface between the dial-up connection and the local area network <b>18</b>.
P-0017[0017] Each mobile client <b>10</b> includes a network management functionality (to be described in greater detail herein) that supports ubiquitous connectivity of the mobile client to the servers (with respect to both wired and wireless data networks) This functionality allows a mobile client to seamlessly roam between wired and wireless networks. Furthermore, the functionality allows the mobile client to seamlessly move in out of the coverage areas of various networks (both wired and wireless). Still further, the functionality allows the mobile client to simultaneously use multiple networks. By this it is meant that multiple applications running on a single mobile client can share access to and use of a single data network for communication with the servers, or alternatively can use different networks at the same time. Additionally, this means that the same application can use multiple networks at the same time for the communication of the same or different messages with the servers.
P-0018[0018] Consider now the mobile client <b>10</b> positioned at location A. At this location, the mobile client has communications access to the local area network, its internet service provider, and the first and second wireless data networks. On a message by message basis, the network management functionality determines which wired and/or wireless data networks should be used to effectuate communications with the servers for that message. That selection operation may take into account a number of factors including: geographic coverage, network availability, allowable latency for message delivery, message size, data security, data integrity and the cost of sending the message across the network. Turning next to the mobile client positioned at location B, more limited data communications access options are available. Here, the mobile client only has access to the first and second wireless data networks. Notwithstanding these access limitations, on a message by message basis, the network management functionality determines which wireless data network(s) should be used to effectuate communications with the servers. That selection operation take into account the same factors mentioned previously, and may involve choosing to wait until a more favorable network becomes available. Moving on to the mobile client positioned at location C, it appears that only access to the first wireless data network is available. Again, the factors are taken into account in making a determination whether to engage in the data communication with the server over the only available data network, or alternative delay transmission until a more favorable network becomes available. In each case it may be recognized that the network management functionality effectively evaluates and considers the immediate conditions affecting individual message transmission at the time of message sending and then selects, from amongst the available wired and/or wireless data networks, the best (i.e., most desirable) network to handle the transmitted message. This selection action is made based on a set of programmable rules that allow for consideration of multiple networks in a simultaneous fashion (using a sort of parallel execution/consideration process).
P-0019[0019] Reference is now made to FIG. 2 wherein there is shown a block diagram of the network management functionality of the present invention. A kernel <b>50</b> provides a basic rules engine <b>52</b> used to interpret a set of basic rules relating to general operation of the network management functionality and serve as the final, and common, output of all other included rules engines (to be described below) by providing consolidation, aggregation and organization functions. The set of basic rules operated on by the kernel <b>50</b> are stored in a database <b>54</b>. The architecture of the network management functionality allows for the use of multiple, layered, rules engines <b>56</b>. These engines <b>56</b> interpret business rules that are used to intelligently determine the best usage of available wired and wireless data networks. The engines <b>56</b> are layered as shown to support varying levels of rules evaluation in which more basic and more concrete (i.e., network specific) rules are evaluated on lower levels and more abstract, network independent rules are evaluated above and on top of (i.e., in addition to) the network specific rules. The business rules employ various business criteria and heuristics (for example, cost, coverage, throughput, security, reliability, and the like) to assist in making the selection as to which available network should be used for each message. The business rules have API access to both historical and real time data (as stored in the database(s) <b>58</b> or acquired over link <b>60</b>) in making their decisions. Each layered rule engine <b>56</b> may employ a different representation or algorithm (from a simple look-up table to a complex knowledge based system) in making the network determination. At least one shared bus <b>62</b> interconnects the engines <b>56</b> in a layered fashion thus allowing the engines to interact with each other and share information during the network determination decision making process (thus allowing both concrete and abstract analysis on the different levels to play a part in the decision making process).
P-0020[0020] The various functions implemented by the architecture described above are provided as separate, distributed components that communicate with each other through inter-process communications (IPC) that have been abstracted to allow for the use of any suitable, selected component framework (such as, for example, DCOM, CORBA, or RMI). This architecture has a number of unique features including: components are interoperable at the binary level and thus can be swapped or replaced without any effect on other components of the system; the IPC abstraction allows for the usage of different frameworks without requiring any changes in the entities using the IPC; and, the components can be moved across process and machine boundaries without any affect on the other components in the system.
P-0021[0021] The architecture advantageously separates the communication details for a given network from the kernel and abstracts them into a common API-type network interface agent. This allows for the development of an agent component for each potentially used network. In this environment, the kernel acts as the networking server dealing at the abstracted messaging level. The agents, on the other hand, act as networking clients dealing with the details specific to each network. This allows for the following advantages: new networks may be added for consideration by the network management functionality without affecting the kernel or any of the kernel's clients (like business applications or administrative applications); the platform upon which the network management functionality is implemented may be easily configured by simply adding, removing or swapping agents; special purpose agents may be built for clustering agents under one kernel (for example, a modem bank with an agent for each modem); and, given the nature of the distributed component architecture, agents may be brought on and off line without the need for restarting the entire system.
P-0022[0022] The architecture provides a common messaging API for its business applications that is network independent. The applications communicate using logical names and addresses. The kernel performs a mapping operation between logical addresses and the specific network address for the device being used. In this context, the API is provided as a toolkit that hides all the IPC details from the application. This architecture accordingly protects the investment made in application development by: allowing for the device configuration to be changed without the need to change the application; and, allowing for the IPC framework to be changed without the need to change the application. In addition, the messaging service used with respect to the API provides for duplicate message elimination, guaranteed delivery, multiple levels of acknowledgment, store and forward operation, and compression and encryption operation.
P-0023[0023] As mentioned above, the architecture uses a layered approach. This allows the architecture to achieve a level of extensibility. The system is designed around the kernel which provides minimal capabilities that are sufficient for its assigned tasks. All other functionality is layered on top of the kernel. Each included layer has a well defined function that supplements kernel operation. The boundaries between layers are all established with well defined interfaces. This allows for continued evolution and the addition of advanced functionality with minimal impact on existing components. More specifically, the included layers comprise: the kernel, which provides basic messaging and basic rule engines; the IPC interfaces, which provide the mechanism for other components to interact with the kernel; the network services, which provide network specific communications services; the plug-ins, which provide advanced services layered on top of the kernel provided services (such as, for example, mobile-to-mobile communications, automatic fail-over and load balancing); the protocol proxyserver, which comprises pairs of applications that allow existing applications to tunnel their native protocol using a messaging service (like, for example, Winsock or http); and, the advanced interfaces, which provide advanced functionality layered on top of the basic IPC interfaces (such as, for example, session control and synchronous programming).
P-0024[0024] Reference is now made to FIG. 3 wherein there is shown a schematic illustration of a rule mapping operation performed by the network management functionality with respect to data network selection. A software application executing on a mobile client (<b>10</b> of FIG. 1) may specify a certain business rule (see, FIG. 2) to be used in determining which data network should be used in transmitting a message. This selection is preferably specified by the application for each individual message to be transmitted, and is then utilized by the network management functionality when making the selection determination. Alternatively, the application may omit the specification of a certain business rule to be used, in which case the network management functionality will determine which business rule is to used based on the evaluation of a set of pre-configured (and stored) defaults.
P-0025[0025] When a certain business rule is specified, the application does so through the use of a logical name (also referred to as a rules identifier that may additionally include information for consideration in the network selection decision such as priority, message size, cost factors, maximum delivery delay, acknowledgment requirements, geographic sector to which message will be delivered, delivery address, and the like). The network management functionality then operates to map that provided logical name to the identification of a particular business rule. This action is performed by a rules administration function of the network management functionality. If an application uses a logical name that does not have a recognized mapping to a (physical) business rule, the application initiated transmission fails. If, on the other hand, a specific logical name is not included, the rules administration function selects a default (physical) business rule that has been specified for use by the originating application in such cases. In any event, that identified business rule is then extracted and its included network clause (s), to be discussed in more detail below, are applied (in view of the rules identifier supplied additional information) to make the network selection determination.
P-0026[0026] Reference is now made to FIG. 4 wherein there is shown a chart illustrating the format for a (physical) business rule that is identified by a logical name, extracted as a result of the mapping action and the operated on to make the network selection determination. Each rule includes at least one network clause <b>90</b> that identifies the data network for communication and specifies the selection related information to be evaluated in applying the rule to the selection of a certain network. In this context, certain kinds of data may be included in each network clause <b>90</b>. Although other information could be included in a network clause, in the preferred embodiment the following variable data items are preferably included: delay, availability, transmit, availability and transmit, acknowledgment, cost factor, and network data. Each of these variable data items is described below.
P-0027[0027] The “delay” variable is the amount of time that the network management functionality waits before considering the selection of that identified data network. No attempt will be made to use the network until this time expires, even if the network is otherwise available. Once the time expires, the network management functionality can attempt to transmit the message on the specified network.
P-0028[0028] The “availability” variable is the amount of time that the network management functionality waits for the mobile client to come into coverage of the identified data network. Coverage refers to the mobile client is within the coverage area (either S wired or wireless) of the host. The specified time includes time expended waiting while a network agent (for example, a modem) is busy with other transmission jobs. If the network does not come into coverage, or the agent remains busy, when this time expires, no further attempts will be made to transmit the message over the identified network.
P-0029[0029] The “transmit” variable is the amount of time within which the message transmission must be completed, assuming that the network has come into coverage and the agent is not busy. If this time expires, no further attempts necessarily need be made to transmit the message over the identified network. Additionally, the transmit variable includes the time to receive an acknowledgment. If the message fails, (due to going out of coverage, transmission errors, or reception errors), attempts will be made to complete the transmission for the duration of the time. If the transmission fails, attempts can be made to transmit on other eligible networks.
P-0030[0030] The “availability and transmit” variable is the combined total amount of time that can be used for both a network to become available and for the message to be transmitted over that network. The availability and transmit variable can be used to dynamically adjust the transmit time.
P-0031[0031] The “acknowledgment” variable specifies whether the party receiving the message should return an acknowledgment signal to the transmitting system.
P-0032[0032] The “cost factor” variable specifies cost factors for the network. The cost factor accounts for message size, geographic location of transmitting/receiving parties, time, and the like. The cost factor can be used to rank multiple networks that would be appropriate for transmitting a message. Alternatively, the cost factor can be used to eliminate a network that would otherwise be appropriate for transmitting the message.
P-0033[0033] The “network data” variable contains data that is network specific. This data is not necessarily interpreted by the network management functionality in making the network selection decision, but rather is passed on to the network agent for its use when engaging in the transmission.
P-0034[0034] A more detailed understanding of the operation of the present invention may be obtained from FIG. 5 wherein there is shown a flow diagram illustrating an exemplary method of transmitting data in accordance with the present invention. Although the method of FIG. 5 is described in accordance with a particular sequence of steps, one skilled in the art can recognize that the method of the present invention should not be limited to the described sequence.
P-0035[0035] The method of the present invention is initiated, by a software application generating a message that is to be transmitted. The message evaluated by the network management functionality along with transmission criteria (for example, a logical rule identifier along with the rules identifier additional information) and the name of the generating application (step <b>200</b>). Once received by the network management functionality, the message can be stored in a queue from which it is later retrieved for transmission (step <b>205</b>). Using the received logical rule identifier, the network management functionality identifies and retrieves the message rule and associated network clause(s) (steps <b>210</b> and <b>215</b>). These network clauses establish the conditions that need to be evaluated by the network management functionality (in view of the rules identifier additional information) and under which each identified network could be selected to transmit the message.
P-0036[0036] After the rule with its network clause(s) has been retrieved, the network management functionality attempts to identify which, if any, network clause (s) can be satisfied (step <b>220</b>). By this it is meant that the network management functionality evaluates the individual variable data items identified within the rule in view of the rules identifier additional information to determine whether the specifics of these items can be met. It should further be recognized that each of the individual networks is considered simultaneously (in a parallel-like operation). If none of the network clauses can be satisfied at that time, the message may be stored and attempts made at select intervals to try again to satisfy a clause. When one or more network clauses can be satisfied, however, the network associated with the network clause which is satisfied first is used to transmit the message (step <b>225</b>). One skilled in the art, however, can understand that various methods (for example, rankings, random selection, and the like) can be used to select one network from two or more appropriate networks whose network clauses have been each been satisfied. It should be understood by those skilled in the art that the physical business rules do not necessarily state absolute conditions upon which a network is selected, but rather that the rule comprises a script that is processed by the network management functionality over a potentially long period of time. This consideration aspect of the process is on-going for a much longer period of time than the time it takes to actually make the selection decision for a certain individual message.
P-0037[0037] Further, when the application software (or other system) requires that an acknowledgment signal be received, the network management functionality waits a select amount of time for the acknowledgment (step <b>230</b>). If the acknowledgment is received, the transaction for the message is concluded (step <b>235</b>). If, however, no acknowledgment is received, the network management functionality may attempt to identify another network over which to send the message (by returning to step <b>220</b> and repeating the transmission operation of step <b>225</b> over a different network).
P-0038[0038] A better understanding of the operation of the present invention may be obtained through examination of an exemplary operation. Consider a public utility company that services both urban and rural customers within a hundred mile radius of a metropolitan area. Mobile utility crews receive work orders from and send work order reports back to a central office using portable notebook computers. The notebook computers and the central office are connected by an array of wired and wireless networks. For example, at the office, the notebook computers may be connected to the company's LAN to engage in data communications with the central office server. When out of the office, however, the following wireless network options are available for use in communicating with the central office server:
P-0039[0039] a commercial packet-switched data network serving the metropolitan area;
P-0040[0040] a cellular network provider for suburban areas and areas along an interstate highway (and also available for use in the metropolitan area); and
P-0041[0041] a satellite network provider for rural and remote areas (and also available for use in the metropolitan, suburban and interstate highway areas).
P-0042[0042] As discussed above, selection of which wireless network to use depends on the specific requirements and preferences of an organization. Coverage area, availability of service, overhead cost, and the direct costs incurred when transmitting data are some of the considerations that need to be evaluated. In the case of the exemplary public utility company, and given the communications options listed above, the following commercial factors are noted:
P-0043[0043] commercial packet-switched data network: provides a relatively inexpensive messaging service for small messages, but provides only limited coverage; charges are incurred by the byte and message; and the charge for a short work order report of about 200 bytes equates to approximately $0.10;
P-0044[0044] cellular network: wider coverage range, but some outlying areas are outside service or incur additional roaming charges; charges are incurred by the minute, with the minimum charge often being for one minute (which is much less time than actually needed to complete message transmission); and the charge for a short work order report of about 200 bytes is about $0.20 (assuming non-roaming); and
P-0045[0045] satellite (LEO) network: advantage of broad coverage area, but very expensive; charges incurred by the byte transmitted; and the charge for a short work order report of about 200 bytes equates to approximately $1.60.
P-0046[0046] Given the foregoing economic analysis, a (physical) business rule may be defined that includes a network clause for each of these wireless networks with appropriately selected variable data items specified to appropriately drive the selection determination in view of the rules identifier additional information. As an example, the items could be chosen to given preference to: using the packet switched data network whenever available due to the fact that it is relatively inexpensive; using the cellular network when communication is necessary and the added cost per message is justified; and, using the satellite network only is extreme emergency situations. The foregoing is, as understood by those skilled in the art, a greatly simplified example of rules analysis. With the inclusion of many rules identifier supplied pieces of additional information, the analysis becomes much more complex. It should further be recognized that the rule would also include a network clause for the wired LAN network which should be chosen as the primary communications provider whenever available.
P-0047[0047] Assume now that a utility employee with a mobile client (like a laptop computer) is located at the office and needs to communicate work order related information with the company server. If the laptop is connected to the LAN, when the application issues the message with a work order business logical rule identifier, the physical rule is retrieved and the network clauses of that rule (relating to selection of the LAN, packet network, cellular network and satellite network) are evaluated in order to choose a network form communicating the work order data message. In this case, given a connection with the LAN, the network management functionality analysis and rule evaluation would dictate use of the LAN for the communication. With that selection made, the mobile client would utilize the selected LAN for the message communication.
P-0048[0048] Now assume that the employee has moved to his vehicle and proceeded to a first job site located within the metropolitan area. Assume further that the mobile client is equipped for communication over each of the available wireless networks (packet, cellular and satellite). Once out in the field, a situation arises wherein a work order related message could be sent to the server. In this situation, when the application issues the message with a work order business logical rule identifier (and rules identifier supplied additional information), the physical rule is retrieved and the network clauses of that rule (relating to selection of the LAN, packet network, cellular network and satellite network) evaluated in view of the supplied additional information in order to choose a network for communicating the work order data message. In this case, the LAN is not available, but all three wireless connection options are available. The networks are each evaluated in the context of the message to be sent and further in view of the variable data items for each network clause as applied to the rules identifier additional information. The least expensive option (packet data) will not necessary be chosen, although it is preferred. In some situations, given the contents of the message, the need for security, and other factors (as specified in the rules identifier additional information), the network management functionality may choose to send the message over a more expensive network. Alternatively, it could occur, perhaps if the message has a very low priority or importance, that the network management functionality may choose to wait until the mobile client is returned for a LAN connection to the server.
P-0049[0049] Finally, assume that vehicle has proceeded to a second job site located away from the metropolitan area. Again, the mobile client is equipped for communication over each of the subscribed to wireless networks (packet, cellular and satellite), but it is noted here that only the satellite network is available for use. A situation then arises wherein a work order related message could be sent to the server. In this situation, when the application issues the message with a work order business logical rule identifier, the physical rule is retrieved and the network clauses of that rule (relating to selection of the LAN, packet network, cellular network and satellite network) evaluated in view if the rules identifier additional information in order to choose a network for communicating the work order data message. In this case, only the satellite network is available. All networks, however, are evaluated in the context of the message to be sent and further in view of the variable data items for each network clause and the rules identifier additional information. If the message is deemed to be of high, or emergency, importance, the expensive satellite option may be chosen, even though it is necessarily preferred. Alternatively, given a different message importance, the network management functionality may instead choose to wait until the mobile client is returned for data network connection to the server utilizing the packet data network or LAN.
P-0050[0050] Although a preferred embodiment of the system and method of the present invention has been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it is understood that the invention is not limited to the embodiment disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.
Contents5
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2007106419A1 | Cited by | United States of America | Pre-grant |
| US9038108B2 | Cited by | United States of America | Applicant |
| US7983282B2 | Cited by | United States of America | Applicant |
| US9774703B2 | Cited by | United States of America | Search report |
| US8687544B2 | Cited by | United States of America | Search report |
| US2008301707A1 | Cited by | United States of America | Pre-grant |
| EP1886532A2 | Cited by | European Patent Office (EPO) | Examiner |
| US11372879B2 | Cited by | United States of America | Applicant |
| EP2625800A4 | Cited by | European Patent Office (EPO) | Search report |
| US2011217023A1 | Cited by | United States of America | Pre-grant |
| EP2003850A3 | Cited by | European Patent Office (EPO) | Search report |
| US11907242B2 | Cited by | United States of America | Applicant |
| US2015271247A1 | Cited by | United States of America | Search report |
| US11212817B2 | Cited by | United States of America | Search report |
| US2005066033A1 | Cited by | United States of America | Pre-grant |
| US10992786B2 | Cited by | United States of America | Search report |
| EP2003850A2 | Cited by | European Patent Office (EPO) | Search report |
| US2010202358A1 | Cited by | United States of America | Pre-grant |
| US12182150B2 | Cited by | United States of America | Applicant |
| US2009252177A1 | Cited by | United States of America | Pre-grant |
| US11625413B2 | Cited by | United States of America | Applicant |
| US2009219189A1 | Cited by | United States of America | Pre-grant |
| US2015334208A1 | Cited by | United States of America | Pre-grant |
| EP2903240A1 | Cited by | European Patent Office (EPO) | Search report |
| US9401080B2 | Cited by | United States of America | Applicant |
| US2002198980A1 | Cited by | United States of America | Pre-grant |
| WO2007125379A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| EP1886532B1 | Cited by | European Patent Office (EPO) | Examiner |
| EP2003850A2 | Cited by | European Patent Office (EPO) | Applicant |
| US10057844B2 | Cited by | United States of America | Applicant |
| US2015271247A1 | Cited by | United States of America | Pre-grant |
| US2009119384A1 | Cited by | United States of America | Pre-grant |
| US10447819B2 | Cited by | United States of America | Search report |
| US2008062881A1 | Cited by | United States of America | Pre-grant |
| US2004100974A1 | Cited by | United States of America | Pre-grant |
| US10567471B2 | Cited by | United States of America | Search report |
| US8150933B2 | Cited by | United States of America | Search report |
| US7937497B2 | Cited by | United States of America | Applicant |
| US9076311B2 | Cited by | United States of America | Search report |
| WO2017127398A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US11160003B2 | Cited by | United States of America | Applicant |
| US2019354535A1 | Cited by | United States of America | Search report |
| US8631226B2 | Cited by | United States of America | Applicant |
| US2005193066A1 | Cited by | United States of America | Pre-grant |
| US2007260655A1 | Cited by | United States of America | Pre-grant |
| US8977108B2 | Cited by | United States of America | Applicant |
| US7558198B2 | Cited by | United States of America | Search report |
| US2007110084A1 | Cited by | United States of America | Pre-grant |
| US11632415B2 | Cited by | United States of America | Applicant |
| US10972584B2 | Cited by | United States of America | Search report |
| US8990214B2 | Cited by | United States of America | Applicant |
| WO2019222643A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10397374B2 | Cited by | United States of America | Search report |
| US8972862B2 | Cited by | United States of America | Applicant |
| US7231199B2 | Cited by | United States of America | Search report |
| EP1898557A1 | Cited by | European Patent Office (EPO) | Search report |
| US2002099708A1 | Cited by | United States of America | Pre-grant |
| US2007127667A1 | Cited by | United States of America | Pre-grant |
| US11102335B1 | Cited by | United States of America | Applicant |
| US10936612B2 | Cited by | United States of America | Search report |
| US11818194B2 | Cited by | United States of America | Applicant |
| US2009190524A1 | Cited by | United States of America | Pre-grant |
| US2006253542A1 | Cited by | United States of America | Pre-grant |
| US2006236221A1 | Cited by | United States of America | Pre-grant |
| US11082537B1 | Cited by | United States of America | Applicant |
| US2007107012A1 | Cited by | United States of America | Pre-grant |
| US2006259951A1 | Cited by | United States of America | Pre-grant |
| US9826039B2 | Cited by | United States of America | Applicant |
| CN112424431A | Cited by | China | Search report |
| US2006156219A1 | Cited by | United States of America | Pre-grant |
| US11818195B1 | Cited by | United States of America | Applicant |
| US2007260691A1 | Cited by | United States of America | Pre-grant |
| US7912455B2 | Cited by | United States of America | Search report |
| US2004032882A1 | Cited by | United States of America | Pre-grant |
| US8625548B2 | Cited by | United States of America | Search report |
| US2008301286A1 | Cited by | United States of America | Pre-grant |
| US7379464B2 | Cited by | United States of America | Search report |
| US8174994B2 | Cited by | United States of America | Search report |
| US11722938B2 | Cited by | United States of America | Applicant |
| US2007089151A1 | Cited by | United States of America | Pre-grant |
| TWI466510B | Cited by | Taiwan Province of China | Examiner |
| US8752065B2 | Cited by | United States of America | Search report |
| US2007091851A1 | Cited by | United States of America | Pre-grant |
4 members in 3 offices
Priority claims1
| Document | Office | Kind | Date |
|---|---|---|---|
| 18422700 | United States of America | P |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| WO0163946A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU3981901A | Australia | A | |
| US2002046292A1 | United States of America | A1 | |
| US6522884B2 | United States of America | B2 |
43 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Mail-Petition Decision - Accept Late Payment of Maintenance Fees - GrantedMPMFG | MPMFG | |
| Petition Decision - Accept Late Payment of Maintenance Fees - GrantedPMFG | PMFG | |
| Petition to Accept Late Payment of Maintenance Fee Payment FiledPMFP | PMFP | |
| Expire PatentEXP. | EXP. | |
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Receipt into PubsR1021 | R1021 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Workflow - Drawings FinishedDRWF | DRWF | |
| Workflow - Drawings Matched with File at ContractorDRWM | DRWM | |
| Workflow - Drawings Received at ContractorDRWI | DRWI | |
| Workflow - Drawings Sent to ContractorDRWR | DRWR | |
| Receipt into PubsR1021 | R1021 | |
| Workflow - File Sent to ContractorSENT | SENT | |
| Receipt into PubsR1021 | R1021 | |
| Dispatch to PublicationsD1220 | D1220 | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Mail Formal Drawings RequiredMN/DR | MN/DR | |
| Formal Drawings RequiredN/DR | N/DR | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Interview Summary RecordEXIN | EXIN | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Mail-Petition Decision - GrantedMPTGR | MPTGR | |
| Petition EnteredPET. | PET. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Mail-Petition Decision - DismissedMPTDI | MPTDI | |
| Petition EnteredPET. | PET. | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Correspondence Address ChangeC.AD | C.AD | |
| IFW Scan & PACR Auto Security Review | – | |
| Initial Exam Team nnIEXX | IEXX |
17 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Surcharge for late paymentSULP | SULP | |
| Patent reinstated due to the acceptance of a late maintenance feePRDP | PRDP | |
| Fee payment procedurePETITION RELATED TO MAINTENANCE FEES FILED (ORIGINAL EVENT CODE: PMFP); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Fee payment procedurePETITION RELATED TO MAINTENANCE FEES GRANTED (ORIGINAL EVENT CODE: PMFG); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedLAPS | LAPS | |
| Reinstatement after maintenance fee payment confirmedREIN | REIN | |
| Maintenance fee reminder mailedREMI | REMI | |
| Fee paymentFPAY | FPAY | |
| Surcharge for late paymentSULP | SULP | |
| Maintenance fee reminder mailedREMI | REMI | |
| AssignmentAS | AS | |
| Certificate of correctionCC | CC | |
| AssignmentAS | AS |
Numbers
- Application
- 79032801
Titles
- English
- System and method for dynamically routing messages transmitted from mobile platforms
Patent term adjustment
- A delay
- +10 daysthe office missed an examination deadline
- Applicant delay
- −86 days
- Net adjustment
- 0 days
Classification
- CPC, 22
- H04L45/00
- H04L12/5692
- H04L41/046
- H04L41/5087
- H04L41/5093
- H04M15/00
- H04M15/49
- H04M15/8016
- H04M15/8044
- H04M2215/2033
- H04M2215/22
- H04M2215/32
- H04M2215/42
- H04M2215/46
- H04M2215/7414
- H04M2215/745
- H04W48/18
- H04W88/06
- H04L41/0894
- H04L41/0893
- H04L41/12
- H04L45/22
- IPC, 6
- H04L12 24
- H04L12 28
- H04L12 56
- H04M15 00
- H04W48 18
- H04W88 06