Abstract:
Multiple applications sharing common resources are arbitrated such that failures resulting from unavailable resources can be avoided. Whenever an application (e.g., a data application) desires to perform an operation (e.g., PPP resynchronization) that requires the use of a shared resource (e.g., an RF receiver), a determination is made as to whether that resource is available. The operation may be delayed while the resource is unavailable. The application may be assigned the resource if it is available or becomes available and may then start the operation. The resource is locked while the operation is pending to avoid assignment to another application. The resource arbitration allows applications to complete their operations without encountering failures due to other applications taking over the resources.
Abstract:
An ordered list of precedence values includes a number of blocks of precedence values. An operating system receives filters from an application. The operating system assigns a precedence value to each filter from the available block of precedence values that has the highest priority. Precedence values are assigned to maintain a precedence order specified by the application. Filters and their assigned precedence values are communicated to an entity that filters packets by applying the filters in the order of their precedence values. Filters for an application can be added, deleted, or modified without affecting the precedence values of other filters for other applications. If an assignment is to be made when the lowest priority block is not available, then a repacking operation is performed to fill unused blocks in the list. The repacking is performed to reduce signaling associated with communicating reassigned precedences values to the filtering entity.
Abstract:
An interface architecture and protocol are provided for transferring messages between a plurality of devices. The architecture provides the capability to generate a plurality of service messages according to a single message format, and to transfer the service messages between a plurality of control points (101,102 ,103) or service entities (114, 115) according to an efficient multiplexing protocol. The control points can be software applications or device drivers running on a terminal equipment device (118) , and the service entities can be communication services such as network access services or device management services running on an attached data communication device (119) such as a modem or a cellular phone.