MXPA06002542A - Gestor de memoria intermedia de comunicacion y metodo para el mismo. - Google Patents

Gestor de memoria intermedia de comunicacion y metodo para el mismo.

Info

Publication number
MXPA06002542A
MXPA06002542A MXPA06002542A MXPA06002542A MXPA06002542A MX PA06002542 A MXPA06002542 A MX PA06002542A MX PA06002542 A MXPA06002542 A MX PA06002542A MX PA06002542 A MXPA06002542 A MX PA06002542A MX PA06002542 A MXPA06002542 A MX PA06002542A
Authority
MX
Mexico
Prior art keywords
buffer
memory
communication
buffers
procedure
Prior art date
Application number
MXPA06002542A
Other languages
English (en)
Inventor
Sandeep Singhai
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of MXPA06002542A publication Critical patent/MXPA06002542A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

Un metodo para gestionar la memoria intermedia de comunicacion comunica mensajes entre huespedes locales y remotos; se asigna enchufe, memoria intermedia de procedimiento y memorias intermedias de reserva; las memorias intermedias de procedimiento y reserva se diferencian para transmision y recepcion; el deposito de memoria global se divide en depositos de memoria intermedia de procedimiento y reserva; el deposito de memoria intermedia de reserva se divide en depositos de transmision y recepcion; se almacenan mensajes en la memoria intermedia de procedimiento, pero la memoria intermedia de reserva almacena menajes si la memoria es baja (POS); el sistema de comunicacion y el dispositivo movil incluyen un gestor de comunicacion que almacena mensajes en las memorias intermedias de procedimiento; si existe POS, en memorias intermedias de reserva; el gestor de memoria intermedia de comunicacion se utiliza para la gestion, asignacion y reclamacion de memoria; se adapta para gestion de memoria tanto estadistica como dinamica.

Description

GESTOR DE MEMORIA INTERMEDIA DE COMUNICACION Y METODO PARA EL MISMO CAMPO DE LA INVENCION La presente invención se refiere a sistemas de telecomunicación, particularmente a dispositivos de comunicación inalámbrica, y muy particularmente a dispositivos de comunicación con memoria restringida.
ANTECEDENTES DE LA INVENCION Con mayor frecuencia, los dispositivos inalámbricos móviles comunican mensajes en conexiones heterogéneas, en donde uno o más enlaces constitutivos incluyen una red pública, tal como la Internet. La Internet es una colaboración internacional organizada sin excesivo rigor, incluyendo redes inalámbricas, las cuales pueden ser representadas por una arquitectura jerárquica, de múltiples capas, descripciones de servicio y protocolos. Los puntos finales, o huéspedes, se pueden interconectar en una red utilizando computadoras de conmutación de paquetes denominadas ruteadores. Para comunicarse utilizando la Internet, un huésped típicamente ejecuta un protocolo por lo menos de una sucesión de protocolos de Internet. Cada huésped y ruteador ejecuta uno o más programas, o procedimientos, los cuales realizan varias tareas incluyendo comunicación de información, procesamiento y despliegue. Una aplicación es un procedimiento que opera en la capa más superior de la sucesión de protocolos de Internet, y que pueden utilizar un protocolo de transporte de capa inferior para proveer servicios de comunicación de capa de transporte a través de redes distintas ' pero interconectadas . ? su vez, un protocolo de transporte típicamente emplea un protocolo de red para facilitar la transferencia de mensajes en una red entre procedimientos de comunicación. En las capas inferiores, los mensajes pueden ser lógica y físicamente transformados, y transportados como señales electromagnéticas o electro-ópticas a través de los medios de conexión en red. El grupo predominante de protocolos empleados en la Internet es la sucesión de protocolos del Protocolo de Control de Transmisión/Protocolo de Internet (TCP/IP) . El Protocolo de Control de Transmisión (TCP) es un protocolo de transporte de conexión orientada, de extremo-a-extremo, completamente dúplex que provee comunicación entre procedimientos confiable entre pares de procedimientos de computadora huésped. Un protocolo completamente dúplex permite la comunicación simultánea entre huéspedes conectados. Un protocolo confiable es uno que provee un mecanismo por medio del cual el remitente y el receptor intercambian información, directa o indirectamente, sobre un estado de comunicación, tal como una entrega de mensaje. Generalmente denominado como "reconocimiento", o ACK, el mecanismo puede involucrar una variedad de técnicas, tal como una respuesta formateada, para transmitir la información deseada para un protocolo determinado. Un protocolo de conexión orientada, TCP sustancialmente garantiza la entrega del mensaje mediante el ruteo de una conexión lógica bidireccional entre los huéspedes en comunicación en una red antes de la transmisión de datos, y se comunica utilizando mensajes de unidades de datos formateada, denominados segmentos TCP. Un protocolo extremo-a-extremo típicamente confiere la responsabilidad de la integridad, seguridad y gestión de flujo de la comunicación a los huéspedes en comunicación, y no a compuertas intermedias o ruteadores. Sin embargo, dichos protocolos de extremo-a-extremo pueden ser afectados por atrasos o interrupciones en uno de los enlaces intermedios o ruteadores, los cuales conectan a los huéspedes. Para mejorar la robustez del sistema de comunicación, con frecuencia los ruteadores utilizan protocolos de capa de red sin conexión, los cuales reenvían cada mensaje, o unidad de datos, independientemente de los otros. El Protocolo de Internet (IP) es un protocolo de red, en donde cada mensaje es identificado por una dirección de destino, concretamente la dirección IP del huésped de destino. IP es un protocolo sin conexión (sin estado) sin garantías de entrega de segmento de extremo-a-extremo. Segmentos TCP independientemente transmitidos pueden ser forzados a competir por el uso de recursos de red conforme son guiados a través de la red, y pueden llegar al huésped de destino dañados, duplicados, fuera de orden, o pueden no llegar. Por lo tanto, procedimientos de capa superior, tal como una aplicación o procedimiento TCP, típicamente asumiría la responsabilidad de recibir, reordenar, reparar, reconocer y solicitar correctamente la retransmisión de los segmentos, o mensajes, transmitidos por IP. Implícitamente, aunque TCP/IP pueden ser una secuencia de protocolos de comunicación robusta y confiable, el flujo real de mensajes durante una comunicación puede ser en ráfagas, es decir, puede estar sujeta a amplias variaciones en el volumen de los mensajes que se están transmitiendo en un momento determinado. En un extremo, el volumen de un mensaje de pulsación transitoria puede exceder temporalmente la capacidad de un huésped para recibir y procesar mensajes. En otro, una pausa sustancial entre mensajes consecutivos durante un periodo de mensaje reducido puede indicar incorrectamente que las comunicaciones han cesado o que el enlace de intervención ha finalizado. Cuando un programa de aplicación, o procedimiento (por ejemplo http) se comunica con otro huésped, utilizando protocolos tipo TCP/IP, los procedimientos de capa de transporte (por ejemplo TCP) en cualquier punto final se conectan con la aplicación respectiva utilizando una interfaz denominada un conector TCP, el cual incluye una dirección IP y un número de puerto PCT. Una dirección IP generalmente está asociada con un huésped, y un puerto TCP generalmente está asociado con una función de comunicación particular de un procedimiento de aplicación particular que recurre al procedimiento de transporte de huésped. Al dirigir mensajes a través de un conector de huésped local especifico a un conector de huésped remoto especifico, un huésped local tiene la capacidad de comunicarse a través de una red con el huésped remoto. Típicamente se crea una memoria intermedia de comunicación para cada conector de huésped, conforme se establece una conexión de capa de transporte entre huéspedes. Se . puede utilizar una memoria intermedia de comunicación para compensar varias irregularidades e impulsividad en la comunicación de mensajes, que surgen de la naturaleza de los huéspedes en comunicación, los métodos empleados para comunicarse, y las condiciones de las conexiones de red que intervienen entre los huéspedes. Una memoria intermedia se puede componer de múltiples objetos de memoria, los cuales pueden estar acomodados en estructuras de datos lógicos y unidades, y pueden estar colocados para almacenar información en los mismos. Durante la comunicación, los mensajes se pueden leer de cada memoria intermedia, y escribir en cada memoria intermedia. Una LECTURA DE MEMORIA INTERMEDIA ejemplar puede ser una operación en donde los datos son transferidos de una memoria intermedia a una aplicación (procedimiento) en ejecución; y una ESCRITURA DE MEMORIA INTERMEDIA puede ser una operación en donde los datos son transferidos de un procedimiento a una memoria intermedia. TCP es uno de los muchos protocolos de comunicación, muy conocido en las técnicas de red y comunicación, el cual intenta asegurar la entrega de mensajes utilizando controles basados en el reconocimiento positivo. En protocolos de reconocimiento iniciados por el remitente, cada punto final remitente de una comunicación, ya sea un cliente o servidor, retiene una copia de los mensajes transmitidos para una posible retransmisión hasta que el punto final receptor correspondiente ACK el mensaje particular. Cuando el receptor reconoce la recepción, el remitente puede liberar los objetos de la memoria en donde se almacenan las copias retenidas. Si no se recibe un reconocimiento adecuado, el punto final remitente puede retransmitir mensajes comenzando en el punto del último ACK adecuado. Se pueden transmitir múltiples mensajes, por ejemplo, segmentos TCP, en donde cada remitente acumula copias de los mensajes enviados hasta que se reciben los ACK correspondientes. En virtud de la naturaleza en ráfaga de las comunicaciones de Internet, la retención relacionada con el ACK de mensajes previamente transmitidos, y la capacidad de los huéspedes de transmitir múltiples mensajes, puede haber un riesgo de que cualquiera, o ambos, de los huéspedes se vea abrumado por el número de segmentos que se están procesando, recibiendo y transmitiendo en un momento determinado. Durante una comunicación, un huésped remoto puede funcionar como un servidor para un huésped local de cliente, y viceversa, con funciones cambiantes durante el transcurso de una comunicación. Con comunicaciones completamente dúplex, los huéspedes pueden comunicar mensajes simultáneamente. Sin embargo, un cliente o un servidor con frecuencia no pueden ejecutar internamente dos transacciones a la vez, por ejemplo, una LECTURA DE MEMORIA INTERMEDIA no puede ser ejecutada en una memoria intermedia de huésped simultáneamente con una ESCRITURA DE MEMORIA INTERMEDIA, y viceversa. Este aspecto también puede conducir a que un huésped se vea temporalmente abrumado, por ejemplo, durante un periodo de un volumen alto de mensajes.
Con relación a otros sistemas de comunicación, los dispositivos móviles con frecuencia están restringidos en memoria, con espacio de memoria de comunicación disponible limitada. Dichas restricciones pueden afectar adversamente el control de flujo y la gestión de memoria intermedia bajo ciertas condiciones. Por ejemplo, los dispositivos con memoria restringida pueden ser susceptibles a anomalías de flujo de mensajes tal como interbloqueo de memoria intermedia y deficiencia de memoria intermedia. El interbloqueo de memoria intermedia puede ocurrir cuando un procedimiento en ejecución espera un recurso que pudiera nunca estar disponible. De manera similar, la deficiencia de memoria intermedia puede ocurrir cuando un procedimiento en ejecución, bajo algunas circunstancias, bloquea durante un periodo de tiempo prolongado o definitivamente la espera de un recurso que pudiera nunca estar disponible. Algunos procedimientos de aplicación de dispositivo móvil están configurados para postergar la ejecución de una operación de LECTURA DE MEMORIA INTERMEDIA en una memoria intermedia de comunicación hasta que se ha completado una operación de ESCRITURA DE MEMORIA INTERMEDIA en progreso. Conforme se ejecutan dichos procedimientos de aplicación, los segmentos TCP almacenados se pueden acumular tanto en la memoria intermedia de transmisión como en la memoria intermedia de recepción del dispositivo móvil, conduciendo al agotamiento del espacio disponible de memoria de comunicación. Con el espacio de memoria agotado, el procedimiento pudiera no completar una ESCRITURA DE MEMORIA INTERMEDIA en progreso. Al mismo tiempo, el procedimiento de la aplicación espera la finalización de la ESCRITURA DE MEMORIA INTERMEDIA para ejecutar una operación de LECTURA DE MEMORIA INTERMEDIA. El punto muerto que se desarrolla se denomina un interbloqueo . Típicamente, durante cierto periodo después que se desarrolla un interbloqueo, el dispositivo móvil detiene la comunicación al mismo tiempo que mantiene abierta la conexión TCP. Muchos protocolos TCP y procedimientos pueden proveer mecanismos de tiempo muerto, en donde la conexión TCP entre el dispositivo móvil y el servidor es cerrada después de un periodo de tiempo muerto predeterminado, en el orden de varios segundos. Sin embargo, los mecanismos de tiempo muerto TCP e interbloqueo pueden desperdiciar recursos sustanciales del sistema, y es deseable reducir su ocurrencia.
SPMARIO DE LA INVENCION La presente invención provee métodos de comunicación y métodos de gestión de memoria intermedia de comunicación, junto con sistemas de comunicación y dispositivos de comunicación, tal como dispositivos de comunicación móvil. Las técnicas de gestión de memoria intermedia de comunicación, en la presente invención, constituyen métodos para comunicar un mensaje entre un huésped local y un huésped remoto que tiene una interfaz de huésped remoto. Dichos métodos incluyen asignar una estructura de datos de control de comunicación a una interfaz de huésped local; asignar una memoria intermedia de procedimiento a la estructura de datos de control de comunicación para almacenar el mensaje; y asignar una memoria intermedia de reserva a la estructura de control de comunicación. La estructura de datos de control de comunicación es almacenada en un objeto de memoria asignado, y corresponde a la interfaz de huésped local. La interfaz de huésped local está colocada en el huésped local'. Durante la comunicación se almacena un mensaje en la memoria intermedia de procedimiento. Sin embargo, en respuesta a un estado operativo predeterminado, la memoria intermedia de reserva se puede utilizar para almacenar el mensaje. La estructura de datos de control de comunicación, la memoria intermedia de procedimiento, y la memoria intermedia de reserva son asignadas a partir de objetos de memoria libre no asignados colocados en un depósito de memoria global, después de lo cual, los objetos de memoria, la estructura de datos de control de comunicación, la memoria intermedia de procedimiento, y la memoria intermedia de reserva son designados como objetos de memoria asignados en el depósito de memoria global. Múltiples memorias intermedias de procedimientos se pueden asignar, a partir de objetos de memoria libre no asignados, a la estructura de datos de control de comunicación, en donde las memorias seleccionadas se pueden denominar como memorias intermedias de procedimiento para transmisión. Las memorias intermedias de procedimiento para transmisión almacenan los mensajes que se están transmitiendo desde el huésped local al huésped remoto. De manera similar, de las múltiples memorias intermedias de procedimiento asignadas, otras seleccionadas se pueden denominar como memorias intermedias de procedimiento para recepción. Las memorias intermedias de procedimiento para recepción almacenan mensajes que están siendo recibidos desde el huésped remoto por el huésped local. Además, múltiples memorias intermedias de reserva pueden ser asignadas, a partir de objetos de memoria libre no asignados, a la estructura de datos de control de comunicación, en donde las memorias seleccionadas se denominan como memorias intermedias de reserva para transmisión. Al igual que con las múltiples memorias intermedias de procedimiento, las otras seleccionadas se pueden designar como memorias intermedias de reserva para recepción. Las memorias intermedias de reserva se pueden asociar con memorias intermedias de procedimiento particulares. Es decir, las memorias intermedias de reserva para transmisión seleccionadas se pueden asociar con memorias de procedimiento para transmisión respectivas, y las memorias intermedias de reserva para recepción seleccionadas se pueden asociar con memorias intermedias de procedimiento para recepción respectivas . Tal como sus nombres lo implican, las memorias intermedias de reserva pueden permanecer en reserva hasta que ocurre el estado operativo predeterminado. El estado operativo predeterminado puede ser representativo de la memoria libre no asignada que es menor que un limite de memoria predeterminado. De manera útil, la interfaz local puede ser un conector, tal como un conector TCP, y la estructura de datos de control de comunicación puede ser un bloque de control de conector (SCB), tal como un SCB TCP. El método también puede incluir la gestión de los objetos de memoria asignados y no asignados en la memoria global utilizando asignación de memoria dinámica, reclamación de memoria dinámica, o una combinación de las mismas, elevando asi al máximo la memoria libre no asignada representada por los objetos de memoria no asignados. Algunos métodos incluyen dividir el depósito de memoria global en un depósito de memoria intermedia de procedimiento BP y un depósito de memoria intermedia de reserva BR. En dichos casos, las memorias intermedias de procedimiento pueden ser asignadas a partir del depósito de memoria intermedia de procedimiento designado BP y las memorias intermedias de reserva pueden ser asignadas a partir del depósito de memoria intermedia de reserva designado BR. Esta técnica puede ser útil, por ejemplo, cuando es deseable apartar un mínimo de memoria determinable para memorias intermedias de reserva, así como memorias intermedias de procedimiento y estructuras de datos de control de comunicación. Los métodos también pueden incluir la creación de estructuras de datos de control adicionales, memorias intermedias de procedimiento, y memorias intermedias de reserva, en respuesta a una solicitud para cada entidad de recurso, permitiendo así que un procedimiento recurra a recursos adicionales, según sea necesario, si así está configurado. En estos métodos, las memorias intermedias de reserva son puestas en servicio en respuesta a la existencia de un estado de memoria predeterminado . Algunos métodos además pueden incluir el establecimiento de un enlace de comunicación a través de una red de cómputo entre el huésped local y el remoto, así como el almacenamiento de un mensaje de transmisión en una memoria intermedia de procedimiento para transmisión antes de transmitir el mensaje de transmisión, el almacenamiento de un mensaje de recepción en una memoria intermedia de procedimiento para recepción después de recibir el mensaje de recepción desde el huésped remoto, o ambos. Algunos métodos también pueden incluir el monitoreo de la existencia de un estado de memoria predeterminado. El monitoreo puede ser del depósito BP, o del depósito BP en cooperación con un depósito de memoria libre. Si existe el estado de memoria predeterminado, entonces un mensaje de transmisión se puede almacenar en una memoria intermedia de reserva para transmisión antes de transmitir el mensaje de transmisión al huésped remoto; un mensaje de recepción se puede almacenar en una memoria intermedia de reserva para recepción antes de recibir el mensaje de recepción del huésped remoto; o ambos. El depósito de procedimiento, depósito BP, incluye ubicaciones de memoria libre, ubicaciones de memoria comprometida, y una combinación de las mismas, en donde el estado de memoria predeterminado existe si las ubicaciones de memoria libre son menores que un nivel de memoria predeterminado, L. Convenientemente, algunos métodos incorporados incluyen establecer el enlace de comunicación entre la interfaz de huésped local y la interfaz de huésped remoto utilizando un protocolo de capa de transporte predeterminado. También, la interfaz de huésped local puede ser un concctor, y la estructura de datos de control de comunicación puede ser un bloque de control de conector. Además, algunos métodos incluyen comunicarse a través de la interfaz de aire física Um como una porción del enlace de comunicación de red, utilizando un protocolo inalámbrico predeterminado . Otros métodos en la presente invención adicionalmente incluyen asociar las memorias intermedias de procedimiento para transmisión seleccionadas, las memorias intermedias de reserva para transmisión, las memorias intermedias de procedimiento para recepción, y las memorias intermedias de reserva para recepción con estructuras de datos de control de comunicación en respuesta a una política de gestión de memoria seleccionada. De acuerdo con la política de gestión de memoria seleccionada, la asociación se puede efectuar designando algunas de las memorias intermedias de procedimiento para transmisión de memoria comprometida seleccionada como memorias intermedias de procedimiento para transmisión de memoria libre seleccionadas y asociando las memorias intermedias de procedimiento para transmisión de memoria libre seleccionadas con memoria libre del depósito BP; designando algunas de las memorias intermedias de reserva para transmisión de memoria comprometida seleccionadas como memorias intermedias de reserva para transmisión de memoria libre seleccionadas y asociando las memorias intermedias de reserva para transmisión de memoria libre seleccionadas con memoria libre del depósito BR designando algunas de las memorias intermedias de procedimiento para recepción de memoria comprometida seleccionadas como memorias intermedias de procedimiento para recepción de memoria libre seleccionadas y asociando las memorias intermedias de procedimiento para recepción de memoria libre seleccionadas con memoria libre del depósito BP; designando algunas de las memorias intermedias de reserva para recepción de memoria comprometida seleccionadas como memorias intermedias de reserva para recepción de memoria libre seleccionadas y asociando las memorias intermedias de reserva para recepción de memoria libre seleccionadas con memoria libre de depósito BR; o mediante cierta combinación de las mismas. La política de gestión de memoria seleccionada empleada puede ser gestión de memoria dinámica incluyendo una de asignación de memoria dinámica, reclamación de memoria dinámica, y una combinación de las mismas. La gestión de memoria dinámica está adaptada para cambiar selectivamente la asignación de memoria intermedia de una primera estructura de datos de control de comunicación a una segunda estructura de datos de control de comunicación. También, la gestión de memoria dinámica está adaptada para cambiar selectivamente la asociación de memoria intermedia de reserva de una primera memoria intermedia de procedimiento a una segunda memoria intermedia de procedimiento. Además, la política de gestión de memoria seleccionada está configurada para elevar al máximo la memoria libre. El método también incluye establecer un enlace de comunicación en una red de comunicación utilizando un protocolo de capa de red predeterminado, tal como el Protocolo de Internet; un protocolo de capa de transporte predeterminado, tal como un Protocolo de Control de Transporte; y el protocolo de capa de red predeterminado en combinación con el protocolo de capa de transporte predeterminado, tal como el uso de TCP/IP. En donde una porción del enlace de comunicación incluye una interfaz de aire física Um, se puede utilizar un protocolo inalámbrico predeterminado para atravesar esa porción. Otros métodos incorporados todavía en la presente invención además pueden incluir técnicas de gestión de memoria cooperativa, en donde las memorias intermedias de procedimiento y las memorias intermedias de reserva cooperan para intercambiar mensajes entre el procedimiento local y el procedimiento remoto si existe un estado de memoria predeterminada. En una disposición cooperativa, un mensaje es comunicado a través de una memoria intermedia de procedimiento, si está disponible, o la memoria intermedia de reserva asociada, si no lo está. Por lo tanto, si existe el estado de memoria predeterminada, una memoria intermedia de procedimiento para transmisión puede seguir almacenando mensajes de transmisión a menos que esté llena, en cuyo caso la memoria intermedia de reserva para transmisión asociada puede almacenar el mensaje de transmisión. De manera similar, una memoria intermedia de procedimiento para recepción puede seguir almacenando mensajes de recepción a menos que esté llena, en cuyo caso la memoria intermedia de reserva para recepción asociada puede almacenar el mensaje de recepción. Además de abarcar la división de memoria en el depósito de memoria intermedia de procedimiento BP y el depósito de memoria intermedia de reserva BR, los métodos en la presente invención también pueden proveer la división del depósito de memoria intermedia BR en un depósito de memoria intermedia de reserva para transmisión TS y un depósito de memoria intermedia de reserva para recepción RS . En general, el número de ubicaciones de memoria en BR puede comprender la suma del número de ubicaciones de memoria respectivamente representadas por el depósito de memoria intermedia de reserva para transmisión TS y el depósito de memoria intermedia de reserva para recepción RS . Además, en donde N es un número máximo seleccionado de conectores creados, el subíndice s puede ser representativo de un índice de conector que tiene un valor en el rango aproximado de alrededor de l<s<N. Puede ser conveniente asignar las memorias intermedias de transmisión y recepción a un conector s de BP cuando la cantidad de memoria libre no asignada es por lo menos alrededor de un nivel de memoria libre predeterminado, L. Por otra parte, puede ser deseable asignar memorias intermedias de transmisión de TS y memorias intermedias de recepción de RS, respectivamente, cuando la cantidad de memoria libre no asignada es menor que alrededor de un nivel de memoria libre predeterminado, L. Antes de la disminución de la memoria libre no asignada a menos de un nivel de memoria predeterminado, las memorias intermedias de reserva para transmisión y las intermedias de reserva para recepción pueden ser libremente asignadas a partir del depósito de memoria intermedia de procedimiento BP. Cuando la memoria libre no asignada disminuye a menos de un nivel de memoria predeterminado, el método puede incluir la asignación de memorias intermedias de reserva a partir del depósito de memoria intermedia de reserva BR. En algunas modalidades, la asignación a partir del depósito de memoria intermedia de reserva BR puede incluir la asignación de memorias intermedias de reserva para transmisión a partir del depósito de memoria intermedia de reserva para transmisión TS, y asignar memorias intermedias de reserva para recepción a partir del depósito de memoria intermedia de reserva para recepción RS. Al igual que con otros métodos incorporados en la presente invención, los métodos antes mencionados pueden incluir la gestión de memoria en la memoria intermedia de comunicación, la memoria intermedia de procedimiento, y la memoria intermedia de reserva utilizando la asignación de memoria, la reclamación de memoria o una combinación de las mismas . La presente invención también provee aparatos de gestión de memoria intermedia de comunicación, algunos de los cuales se pueden incorporar en un sistema de comunicación entre un huésped local y un huésped remoto. Dicho sistema incluye un gestor de comunicación en el huésped local, el cual está adaptado para comunicar un mensaje con el huésped remoto. El gestor de comunicación incluye una memoria intermedia de procedimiento configurada para almacenar el mensaje comunicado con el huésped remoto; y una memoria intermedia de reserva configurada para almacenar el mensaje al momento de la existencia de un estado operativo predeterminado. El sistema también incluye un enlace de comunicación de red, establecido para comunicar el mensaje entre el huésped local y el huésped remoto; y un transceptor, acoplado entre el gestor de comunicación y el enlace de comunicación de red, y colocado para transferir el mensaje entre el enlace de comunicación de red y el gestor de comunicación. El gestor de comunicación también puede incluir una interfaz de comunicación y una estructura de datos de control de comunicación. La interfaz de comunicación se puede conectar al procedimiento local, y se puede adaptar para intercambiar mensajes entre el procedimiento local y la memoria intermedia de procedimiento o la memoria de reserva. La estructura de datos de control de comunicación puede ser característica de, y asignada a la interfaz de comunicación. ? su vez, la memoria intermedia de procedimiento y la memoria intermedia de reserva pueden ser asignadas a la estructura de datos de control de comunicación. El gestor de comunicación puede incluir en el mismo una memoria intermedia de comunicación. La memoria intermedia de comunicación puede abarcar tanto objetos de memoria asignada como memoria libre no asignada, sola o en combinación. A la estructura de datos de control de comunicación, la memoria intermedia de procedimiento, y la memoria intermedia de reserva se les pueden asignar objetos de memoria en la memoria intermedia de comunicación. En dichos gestores de comunicación puede existir el estado operativo predeterminado cuando memoria libre no asignada es menor que alrededor de un nivel de memoria libre predeterminada . Se puede incluir un gestor de memoria intermedia de comunicación en el gestor de comunicación, y se puede conectar a la memoria intermedia de comunicación. El gestor de memoria intermedia de comunicación puede monitorear memoria libre no asignada para la existencia del estado operativo predeterminado y, en respuesta a lo mismo, puede almacenar un mensaje en una memoria intermedia de reserva. Múltiples memorias intermedias de procedimiento y memorias intermedias de reserva pueden ser asignadas a la estructura de datos de control de comunicación, en donde algunas de las memorias intermedias de procedimiento .son designadas memorias intermedias de procedimiento para transmisión y otras son designadas como memorias intermedias de procedimiento para recepción. También, múltiples memorias intermedias de reserva pueden ser asignadas a la estructura de datos de control de comunicación, en donde algunas de las memorias intermedias de reserva son designadas memorias intermedias de reserva para transmisión y otras son designadas memorias intermedias de reserva para recepción. Las memorias intermedias de reserva para transmisión están cooperativamente asociadas con memorias intermedias de procedimiento para transmisión respectivas y memorias intermedias de reserva para recepción seleccionadas están cooperativamente asociadas con memorias intermedias de procedimiento para recepción respectivas. La memoria intermedia de comunicación se puede dividir en un depósito de memoria intermedia de procedimiento BP y un depósito de memoria intermedia de reserva BR, desde los cuales se asignan las memorias intermedias de procedimiento y reserva respectivamente. En algunos sistemas aquí incorporados, el huésped local puede comunicar mensajes con el huésped remoto sobre el enlace de comunicación de red utilizando un protocolo de capa de red predeterminado, en combinación con un protocolo de capa de transporte predeterminado. En sistemas seleccionados de la presente invención, la estructura de datos de control de comunicación puede ser un bloque de control de conector TCP, y la interfaz de comunicación puede ser un conector de Protocolo de Control de Transporte. Además, el protocolo de capa de red predeterminado puede ser un Protocolo de Control de Transporte. En el caso donde una porción del enlace de comunicación de red atraviesa una interfaz de aire física (Um) , el huésped local puede comunicar mensajes con el huésped remoto sobre la interfaz Um, utilizando un protocolo inalámbrico predeterminado. Otras modalidades ejemplares de la invención incluyen un dispositivo de comunicación móvil, el cual incluye un transceptor y un gestor de comunicación colocado en el mismo. El transceptor se puede adaptar para que acople un huésped remoto sobre una porción de un enlace de red de comunicación utilizando un protocolo inalámbrico predeterminado. El gestor de comunicación se puede adaptar para comunicar mensajes con el huésped remoto. El gestor de comunicación puede incluir una memoria intermedia de comunicación, la cual puede tener memoria libre no asignada y una memoria intermedia de reserva asignada en la misma. La memoria intermedia de reserva puede almacenar los mensajes comunicados con el huésped remoto en respuesta a la disminución de la memoria libre no asignada a menos de un nivel de memoria predeterminado. La memoria intermedia de comunicación también puede tener una memoria intermedia de procedimiento asignada en la misma la cual almacena los mensajes comunicados con el huésped remoto, independientemente de la reducción de la memoria libre no asignada a menos de un nivel de memoria predeterminado. La memoria intermedia de procedimiento puede cooperar con la memoria intermedia de reserva para almacenar los mensajes comunicados con el huésped remoto en respuesta a la reducción de la memoria libre no asignada a menos del nivel de memoria predeterminado. La memoria intermedia de comunicación se puede dividir en un depósito de memoria intermedia de procedimiento BP y un depósito de memoria intermedia de reserva BR. La memoria intermedia de procedimiento pueden entonces asignarse a partir del depósito de memoria intermedia de procedimiento BP, y la memoria intermedia de reserva se puede asignar a partir del depósito de memoria intermedia de reserva BR. Después de ser asignada, una memoria intermedia de procedimiento además se puede asignar a una memoria intermedia de procedimiento para transmisión y una memoria intermedia de procedimiento para recepción. De manera similar, la memoria intermedia de reserva además se puede asignar a una memoria intermedia de reserva para transmisión y una memoria intermedia de reserva para recepción. Convenientemente, una memoria intermedia de reserva para transmisión se puede asociar a una memoria intermedia de procedimiento para transmisión, y ambas pueden ser configuradas para almacenar de forma cooperativa mensajes transmitidos al huésped remoto. También, la memoria intermedia de reserva para recepción se puede asociar con la memoria intermedia de procedimiento para recepción, y ambas se pueden configurar para almacenar de forma cooperativa mensajes recibidos del huésped remoto. Dispositivos móviles ejemplares, tal como se incorporan en la presente invención, también pueden incluir un procedimiento local que se ejecute en el huésped local, el cual puede tener una interfaz de procedimiento local que intercambie mensajes entre el procedimiento local y la memoria intermedia de comunicación; y una estructura de control de interfaz de comunicación de huésped local correspondiente a la interfaz de procedimiento local, la cual se puede configurar para comunicar mensajes con una interfaz de procedimiento remota en el huésped remoto. La estructura de control de interfaz de comunicación de huésped local puede cooperar de forma comunicativa con la memoria intermedia de procedimiento y la memoria intermedia de reserva, dichas memorias intermedias pueden ser asignadas a la estructura de control de interfaz de comunicación de huésped local. El depósito de memoria intermedia de reserva se puede dividir en un depósito de memoria intermedia de reserva para transmisión TS y un depósito de memoria intermedia de reserva para recepción RS. Cuando memoria libre no asignada está aproximadamente en, o por arriba de un nivel de memoria predeterminado, L, las memorias intermedias de procedimiento y las memorias intermedias de reserva pueden ser asignadas a partir del depósito de memoria libre BP. Después que la memoria libre no asignada se reduce a menos del nivel de memoria predeterminado, se puede asignar una memoria intermedia de reserva para transmisión a partir del depósito de memoria intermedia de reserva para transmisión TS, y se puede asignar una memoria intermedia de reserva para recepción a partir del depósito de memoria intermedia de reserva para recepción RS . Dichos dispositivos de comunicación móvil pueden incluir un gestor de memoria intermedia de comunicación conectado a la memoria intermedia de comunicación. El gestor de memoria intermedia de comunicación puede dividir una memoria intermedia de comunicación en una memoria intermedia de procedimiento para transmisión y una memoria intermedia de procedimiento para recepción; asignar una memoria intermedia de procedimiento en una memoria intermedia de procedimiento para transmisión y una memoria intermedia de procedimiento para recepción; asignar una memoria intermedia de reserva en una memoria intermedia de reserva para transmisión y una memoria intermedia de reserva- para recepción; monitorear memoria libre no asignada; y puede almacenar un mensaje en una memoria intermedia de reserva para transmisión, una memoria intermedia de reserva para recepción, o ambas, sensible a la reducción de una memoria libre no asignada a menos de un nivel de memoria predeterminado. Algunos gestores de memoria intermedia de comunicación se pueden configurar para seleccionar el tamaño, número, o ambos, de las memorias intermedias de procedimiento y de las memorias intermedias de reserva, sensible a un tamaño anticipado de memoria intermedia, un propósito de comunicación pretendido de la interfaz de comunicación local, un parámetro de comunicación predeterminado, y una combinación de los mismos. El gestor de memoria intermedia de comunicación puede ejecutar la asignación de memoria dinámica, la reclamación de memoria dinámica, y una combinación de las mismas, elevando al máximo la memoria libre no asignada. También, el gestor de memoria intermedia de comunicación además puede incluir un gestor de memoria intermedia de procedimiento y un gestor de memoria intermedia de reserva. Entre las técnicas empleadas por el gestor de memoria intermedia de procedimiento y el gestor de memoria intermedia de reserva para gestionar la memoria intermedia de procedimiento y la memoria intermedia de reserva respectivas se puede encontrar una asignación de memoria, una reclamación de memoria, o una combinación de las mismas. Uno o ambos del gestor de memoria intermedia de procedimiento y el gestor de memoria intermedia de reserva pueden ejecutar la asignación de memoria dinámica, reclamación de memoria dinámica, o una combinación de las mismas, elevando al máximo la memoria libre no asignada.
BREVE DESCRIPCION DE IAS FIGURAS La presente invención se entenderá mejor a partir de la siguiente descripción detallada de las modalidades de la misma, tomadas junto con las siguientes figuras, en donde : La figura 1 es un diagrama en bloques esquemático simplificado que ilustra una modalidad de un gestor de memoria intermedia de comunicación en el contexto de un sistema de comunicación; La figura 2 es un diagrama en bloques esquemático simplificado de otra modalidad de un gestor de memoria intermedia de comunicación colocado en un huésped local; La figura 3? es un diagrama en bloques esquemático simplificado de un procedimiento de gestión de memoria intermedia de comunicación, incluyendo una FASE DE EJEMPLIFICACION, y una FASE DE EJECUCION, de acuerdo con la presente invención; La figura 3B es un diagrama en bloques esquemático simplificado de una FASE DE EJEMPLIFICACION de la modalidad que se muestra en la figura 3A; y La figura 3C es un diagrama en bloques esquemático simplificado de una FASE DE EJECUCION de la modalidad que se muestra en la figura 3A.
DESCRIPCION DETALLADA DE LA INVENCION Las modalidades de la presente invención proveen métodos de gestión de memoria intermedia de comunicación y aparatos, y se pueden utilizar para gestionar una memoria intermedia de comunicación de dispositivo móvil en un DISPOSITIVO de comunicación móvil. 1. - Definición de términos Tal como se utiliza en la presente invención, un mensaje es una unidad de datos ejemplar transferida durante una comunicación entre dos puntos finales de comunicación, o huéspedes. Los componentes de un mensaje pueden ser una o más unidades de datos, tal como un segmento TCP (segmento) . Un segmento TCP puede incluir un encabezado TCP y una carga útil de datos TCP (encabezado y carga útil, respectivamente). Además, un mensaje puede ser una o más unidades de datos de video, audio, texto, datos, multimedia, y otro contenido importante para un huésped o un usuario del huésped, incluyendo retransmisiones o mensajes de control. Los mensajes se pueden formar de una o más unidades de datos, incluyendo, sin limitación, tramas de datos, paquetes, datagramas, corrientes delimitadas, respuestas administrativas, y datos de control de comunicación. Los mensajes de control pueden ser en la forma de reconocimientos positivos o negativos, actualizaciones de estado, solicitudes, respuestas, y similares . En general, una memoria intermedia de memoria, o simplemente, una memoria intermedia, se puede repartir a partir de uno o más bloques de memoria. Cada bloque de memoria se puede repartir, a su vez, desde una o más ubicaciones de memoria de unidad. El número de ubicaciones de memoria de unidad que constituye un bloque de memoria, asi como el número de bloques de memoria que constituye una memoria intermedia puede ser fijo, seleccionable, variable o una combinación de los mismos. Un valor fijo es un solo valor, y tipicamente asignado antes de las operaciones. Un valor seleccionable puede ser extraído de un conjunto discreto de valores, y con frecuencia es asignado antes de las operaciones. Un valor variable asume un valor generalmente dentro de un rango predeterminado, y con frecuencia es asignado dinámicamente o durante las operaciones. Las ubicaciones de memoria, bloques de memoria y memoria intermedia se pueden denominar objetos de memoria, a menos que el contexto requiera una entidad de memoria específica. Una memoria intermedia puede ser un solo objeto de memoria y también se puede distribuir a partir de múltiples objetos de memoria más pequeños. Por consiguiente, una memoria intermedia de sistema lógicamente puede contener un número fijo de memorias intermedias funcionales más pequeñas, cada una formada de manera efectiva a partir de un número fijo de ubicaciones de memoria de unidad. En la alternativa, una memoria intermedia de sistema puede contener un conjunto de objetos de memoria de tamaño fijo, seleccionable y variable de diferente tamaño, el cual se puede adaptar para que se ajuste a un propósito particular, para reducir al mínimo el espacio de memoria desperdiciado, y similares. Por ejemplo, a todas las estructuras de control de interfaz de comunicación se les puede asignar un objeto de memoria de un tamaño predeterminado, mientras que una memoria intermedia de comunicación puede estar compuesta de objetos de memoria de diferentes tamaños, en donde un tamaño de objeto está adaptado para facilitar la comunicación eficiente. El espacio de memoria de comunicación física disponible se puede formar a partir de, o dentro de un solo dispositivo integrado, o a partir de, o dentro de múltiples dispositivos o módulos de memoria física integrados o discretos. Además, en donde se puede emplear una configuración de objeto de memoria jerárquico, distribuido o compartido. Dentro del contexto de esta descripción, la gestión de memoria puede incluir asignación de memoria y reclamación de memoria. La asignación de memoria puede incluir la asignación de recursos de memoria para el almacenamiento de información, y puede ejecutar una o más políticas de asignación de memoria para proveer suficientes recursos para satisfacer solicitudes de asignación esperadas durante las comunicaciones. Se pueden emplear políticas de asignación de memoria bien conocidas en la técnica de la computación, incluyendo sin limitación, el mapeo y re-mapeo de memoria, la asignación de memoria estática, la asignación de memoria dinámica, y la asignación híbrida, la cual puede ser una combinación de las mismas. También puede ser deseable incluir reclamación de memoria en la gestión de memoria para identificar, recopilar, y reciclar ubicaciones de memoria, bloques y memorias intermedias, las cuales pueden ya no estar en uso, o se pueden utilizar mejor a través de un procedimiento diferente de aquel al que fueron asignadas originalmente. Se pueden emplear miles de técnicas de reclamación de memoria muy conocidas, solas o en combinación, incluyendo sin limitación, recopilación de basura de política, desasignación, re-mapeo, y reciclado de memoria. Estas técnicas pueden ser parte integral de, o complementaria para, las técnicas de asignación de memoria empleadas en la presente invención. De hecho, la asignación de memoria puede cooperar con la reclamación de memoria para reasignar ubicaciones de memoria, bloques, y memorias intermedias, tal como lo pretende la estrategia de gestión de memoria ejecutada en la modalidad respectiva. La gestión de memoria también puede incluir uno o más procedimientos de gestión de memoria predeterminados bajo circunstancias en donde la asignación de memoria o reclamación de memoria puede resultar impráctica o limitada. Los procedimientos de gestión de memoria predeterminados pueden incluir, por ejemplo, la calda de mensajes de recepción entrantes o el bloqueo de mensajes de transmisión de salida, en caso que suficiente memoria libre estuviera temporalmente no disponible. También, tal como se utiliza en la presente invención, un dispositivo de "memoria restringida" puede ser un dispositivo que tenga un espacio de memoria limitado, o número de ubicaciones de memoria disponibles para uso como una memoria intermedia de comunicación. Las restricciones de memoria en un dispositivo de comunicación móvil compacto pueden surgir, por ejemplo, a partir de consideraciones de energía, costo o tamaño del dispositivo. En los ejemplos y modalidades a continuación, los términos "local" y "remoto" se utilizan para proveer puntos de referencia relativos, y no para asignar una relación espacial o física particular entre huéspedes de comunicación. De hecho, las modalidades de la presente invención se pueden utilizar en un huésped local, un huésped remoto, o ambos. Además, los términos "libre" y "comprometido" tal como se aplican en la presente invención a entidades de memoria, incluyendo ubicaciones de memoria, bloques, y memorias intermedias, designan respectivamente la entidad de memoria como en un estado funcionalmente similar a uno de un estado de "escritura-permitida" y un estado de "escritura-impedida". En la memoria de escritura-impedida, el almacenamiento de nuevos datos se puede ver temporalmente impedido de tal forma que los datos existentes en la entidad de memoria se pueden preservar temporalmente. Una entidad de memoria que es de escritúrapermitida puede permitir el almacenamiento de nuevos datos en la misma. Por lo tanto, los datos se pueden escribir en la memoria libre, la cual entonces se puede designar como memoria comprometida, hasta que los datos en la memoria han sido utilizados según se desea, por ejemplo, han sido leídos, transmitidos o reconocidos. Cuando la memoria comprometida es subutilizada, o ya no está en uso para su propósito pretendido, nuevamente puede ser designada como memoria libre . Puede ser conveniente que una memoria intermedia de comunicación conste de memoria libre, memoria comprometida, o ambas. Puede ser deseable asignar una entidad de memoria antes de almacenar datos en la misma. Una vez que la entidad de memoria ha sido asignada a un procedimiento particular, la memoria asignada puede ser designada como memoria libre o como memoria comprometida, con relación al estado operativo del procedimiento respectivo. Antes de la reclamación, es deseable designar la memoria comprometida como memoria libre, por ejemplo, a manera que los recursos no puedan ser retirados prematuramente de un procedimiento activo. Cuando una entidad de memoria es designada como memoria libre, ésta puede ser devuelta a un depósito de memoria libre, si asi se configura, desde el cual se pueden re-asignar recursos posteriores. Algunos procedimientos pueden postergar la ejecución de una operación de LECTURA DE MEMORIA INTERMEDIA hasta la finalización de una operación de ESCRITURA DE MEMORIA INTERMEDIA pendiente. En dichos casos, un procedimiento puede no leer datos que ya pudieran haber sido recibidos y, por lo tanto, pudiera no liberar las ubicaciones de memoria asociadas para uso por parte de los mensajes de salida, o por los mensajes de entrada tal como un ACK. También, numerosos protocolos de comunicación pudieran esperar que un remitente retuviera copias de los mensajes transmitidos hasta que el remitente reciba respuestas asociadas (por ejemplo, ACK) del destinatario del mensaje. Conforme se ejecutan dichos procedimientos, los segmentos TCP almacenados se pueden acumular en las memorias intermedias de transmisión y recepción del dispositivo móvil, conduciendo al agotamiento sustancial del espacio de memoria de comunicación disponible. Con el espacio de memoria agotado, un procedimiento pudiera no tener la capacidad para completar una operación de ESCRITURA DE MEMORIA INTERMEDIA en progreso. Al mismo tiempo, un procedimiento puede esperar la terminación de la ESCRITURA DE MEMORIA INTERMEDIA para ejecutar una operación de LECTURA DE MEMORIA INTERMEDIA. El punto muerto que se desarrolla se puede denominar un interbloqueo . Por lo tanto, la gestión eficiente de memorias intermedias de comunicación puede ser conveniente en un ambiente de memoria restringida. Por consiguiente, los métodos y aparatos de gestión de memoria intermedia de comunicación ejemplares en la presente invención se presentan dentro del contexto de los dispositivos inalámbricos móviles de memoria restringida que ejecutan los procedimientos. Sin embargo, estos métodos y aparatos se pueden ejecutar en una vasta disposición de dispositivos, sistemas y ambientes. 2.- Análisis de las modalidades La figura 1 ilustra el sistema de comunicación 100, en donde un huésped local (LHOST) 102 se comunica con un huésped remoto (REMHOST) 110 a través del establecimiento de un enlace de comunicación sobre la red de comunicación 108. LHOST 102 y REMHOST 110 se pueden comunicar transfiriendo, de manera unidireccional o bidireccional, un mensaje, incluyendo información y datos de control, en modos de transmisión dúplex medio o dúplex completo. Una porción del enlace de comunicación puede incluir una red conmutada por paquetes, por ejemplo, red 108, con comunicación a través de la misma generalmente empleando protocolos de comunicación adaptados para redes de paquetes conmutados. La red 108 puede ser representativa de una red heterogénea, con porciones constituyentes de red incluyendo, sin limitación, redes de circuitos conmutados, redes de paquetes conmutados, y equivalentes y combinaciones de las mismas. Porciones de la red 108 que incluye una red pública de paquetes conmutados, tal como la Internet, pueden utilizar protocolos extremo-a-extremo, de conexión orientada, confiables, tal como la secuencia de protocolos TCP/IP. Una porción del enlace de comunicación también puede atravesar una interfaz de aire física (Um) utilizando un protocolo inalámbrico predeterminado. En el sistema 100, el protocolo inalámbrico predeterminado convenientemente coopera con otros protocolos de comunicación empleados en el enlace de comunicación, incluyendo protocolos de paquetes conmutados. LHOST 102 puede ser un sistema inalámbrico móvil, el cual se comunica con el proveedor de servicios móviles (MSP) 104. LHOST 102 puede incorporar una terminal móvil de multimedios, multifunciones (M3T) 114, tal como un auricular, asistente digital personal, u otro dispositivo de comunicación compacto, el cual puede ser de memoria restringida. LHOST 102 también puede utilizar un gestor de estación móvil (MSM) 112 para facilitar la comunicación entre M3T 114 y REMHOST 110. Aunque MSM 112 se muestra en la figura 1 como una entidad separada de M3T 114, también se tiene contemplado que MSM 112 se pueda integrar en M3T 114. MSM 112 puede incluir una o más memorias intermedias de comunicación, tal como la memoria intermedia de procedimiento de comunicación 118. MSM 112 se puede acoplar a, o incorporar en el transceptor móvil (XCVR) 116. Además, MSM 112 se puede acoplar a uno o más procedimientos locales, tal como el primer procedimiento local (LPROC#l) 120 y el segundo procedimiento local (LPROC#2) 121, una interfaz asociada, o un módulo de servicio, tal como un procedimiento TCP. Uno o ambos de LPROC#l 120, LPROC#2 121 pueden proveer servicios de comunicación en red para una aplicación de usuario que coopera con M3T 114. Dentro del alcance de las modalidades inventivas de la presente descripción está que LPROC#l 120, LPROC#2 121 se ejecuten en MSM 112, o en M3T 114, solos o en combinación. XCVR 116 puede incluir un radioreceptor 122 y un radiotransmisor 124. El transmisor 124 puede transferir un mensaje de salida desde la memoria intermedia de procedimiento para transmisión 128 al MSP 104 sobre la interfaz de aire física (Um) . El MSP 104 puede subsumir una estación base de transceptor (que no se muestra) y un centro de conmutación móvil (que no se muestra) , y se puede conectar a través del ruteador MSP 106 a la red 108. El ruteador MSP 106 puede ejecutar señal física y transformaciones lógicas de mensajes, según se desee, entre la red 108 y el MSP 104. Las transferencias de mensajes entre LHOST 102 y REMHOST 110 pueden ser bidireccionales y dúplex completo. El receptor 122 puede recibir un mensaje inalámbrico entrante del MSP 104, y puede transferir el mensaje recibido a la memoria intermedia de procedimiento para recepción 126. Típicamente, al comienzo de una comunicación, los procedimientos que se ejecutan en cualquier huésped negocian una conexión entre ellos, utilizando una interfaz de comunicación seleccionada. En un ejemplo en donde cada uno de REMHOST 110 y LHOST 102 utiliza un protocolo de transporte tipo TCP para efectuar la comunicación, cada procedimiento puede crear uno o más conectores TCP para establecer una conexión deseada entre ellos. Aunque la memoria intermedia de comunicación 118 puede ser representativa de un objeto de memoria asignado para cada conector Si creado en LHOST 102, la memoria intermedia 118 también puede representar un objeto de memoria compartido como un depósito de memoria global por dos o más conectores SI. Estos conectores pueden competir por la asignación de recursos de memoria durante la operación. Conforme se está estableciendo la conexión TCP, los procedimientos TCP de comunicación pueden identificar los números de puerto y negociar otros parámetros, por ejemplo, la cantidad máxima de datos transmitidos pero no reconocidos (conocido como ventada ofrecida o anunciada) y el tamaño máximo de segmentos TCP que se van a transferir bidireccionalmente entre REMHOST 110 y LHOST 102. Dicha información de control se puede almacenar en una estructura de datos denominada un bloque de control de conector (SCB) 125, el cual también se puede crear en una porción de la memoria intermedia de comunicación 118. En general, un conector Si puede incluir un SCB 125, y una o más memorias intermedias de procedimiento, tal como las memorias intermedias 126, 128. Puede ser deseable asignar la memoria intermedia de procedimiento para recepción 126 y la memoria intermedia de procedimiento para transmisión 128 a partir de la memoria intermedia de comunicación 118. Las memorias intermedias de procedimiento 126, 128 pueden estar configuradas en respuesta a las necesidades de comunicación anticipadas, tal como lo pueden reflejar los parámetros pasados al SCB 125 durante la negociación del enlace de comunicación. Por ejemplo, el tamaño y número de memorias intermedias y otros objetos de memoria asignados al SCB 125 pueden ser sensibles a la naturaleza de la comunicación (por ejemplo, TCP, UDP, etc.), las demandas anticipadas de memoria (por ejemplo, prioridad de comunicación, tamaño de segmento TCP, etc.), y otros parámetros operativos relacionados. Aunque el SCB 125, la memoria intermedia de procedimiento para recepción 126, y la memoria intermedia de procedimiento para transmisión 128 se muestran como entidades físicamente separadas, la distinción típicamente es virtual. REMHOST 110 incluye la memoria intermedia de comunicación 134, también asignada en una memoria intermedia de procedimiento para recepción (que no se muestra) y una memoria intermedia de procedimiento para transmisión (que no se muestra) . La memoria intermedia 134 se puede conectar a un primer procedimiento remoto (RCP#1) 136, un segundo procedimiento remoto (RCP#2) 138, o ambos. REMHOST 110 puede incluir múltiples memorias intermedias, tal como la memoria intermedia 134, para soportar múltiples conectores y múltiples procedimientos. También, múltiples procedimientos locales (por ejemplo, LPROCtl 120, LPR0C#2 121) en LHOST 102 se pueden adaptar para comunicarse con múltiples procedimientos remotos (por ejemplo, RPC#1 136, RPC#2 138) en REMHOST 110, o en una combinación de diferentes huéspedes locales. LPR0C#1 120 recibe los mensajes de salida del M3T 114 y escribe los mensajes en la memoria libre de la memoria intermedia de procedimiento para transmisión 128.
El transmisor 124 lee mensajes de la memoria intermedia de procedimiento para transmisión 128 y puede transmitirlos al MSP 104 sobre la interfaz Uru. Después que un mensaje es transmitido de LHOST 102 a REMHOST 110, se puede almacenar una copia del mensaje transmitido en un objeto de memoria seleccionado en la memoria intermedia 128, pendiente de reconocimiento. Los objetos de memoria en donde los mensajes se pueden escribir se pueden designar como memoria comprometida, hasta que los mensajes son transmitidos y reconocidos, después de lo cual éstos pueden ser re-designados como memoria libre. Sin considerar si los objetos de memoria que constituyen la memoria intermedia 128 son designados como memoria comprometida o como memoria libre, no obstante éstos pueden seguir siendo asignados al SCB 125, como memoria intermedia 128, a menos que se reclame. Conforme continúan las comunicaciones entre LHOST 102 y REMHOST 110, puede variar la cantidad de memoria libre en la memoria intermedia de procedimiento para transmisión 128, con relación a la cantidad de memoria comprometida y memoria total, conteniendo, por ejemplo, tanto mensajes de salida recibidos desde el procedimiento 120 como copias de los mensajes transmitidos pero no reconocidos enviados a REMHOST 110. LHOST 102 también puede recibir mensajes de REMHOST 110, sustancialmente de forma simultánea con LHOST 102 transmitiendo mensajes a REMHOST 110. En general, los mensajes de salida de REMHOST 110 a LHOST 102 pueden ser almacenados antes de la transmisión en la memoria intermedia REMHOST 134, por ejemplo, como segmentos TCP. Los mensajes de salida pueden ser transmitidos a través de la red 108 y al MSP 104, a través del xuteador MSP 106. El MSP 104 puede transmitir los mensajes sobre la interfaz Um a LHOST 102, utilizando el protocolo de comunicación inalámbrica preseleccionado . El radiorreceptor 122 en LMHOST 102 puede detectar las señales de entrada y puede convertir las señales físicas en mensajes recibidos lógicos, por ejemplo, segmentos TCP. Un segmento TCP recibido típicamente consta de una carga útil recibida y un encabezado recibido, el cual contiene un identificador de mensaje recibido. Generalmente, los mensajes recibidos pueden ser almacenados en la memoria intermedia de procedimiento para recepción 126 hasta que el procedimiento 120 solicita información recibida seleccionada. En respuesta a una operación de LECTURA DE MEMORIA INTERMEDIA de procedimiento, las cargas útiles recibidas almacenadas en la memoria intermedia de procedimiento para recepción 126 se pueden transferir al procedimiento 120, y los datos se pueden volver disponibles para uso, por ejemplo, por M3T 114. Después de una LECTURA DE MEMORIA INTERMEDIA, la memoria comprometida en la memoria intermedia 126 puede ser designada como memoria libre. Sin considerar si los objetos de memoria que constituyen la memoria intermedia 126 son designados como memoria comprometida o como memoria libre, no obstante éstos pueden seguir siendo asignados a SCB 125, como memoria intermedia 126, a menos que se reclamen. Conforme continúan las comunicaciones entre REMHOST 110 y LHOST 102, puede variar la cantidad de memoria libre en la memoria intermedia de procedimiento para recepción 126, con relación a la cantidad de memoria de recepción comprometida, particularmente en donde un procedimiento, tal como LPROC#l 120, LPROC#2 121, postergan la ejecución de una memoria intermedia de procedimiento para recepción 128 de operación de LECTURA DE MEMORIA INTERMEDIA hasta que se completa una operación de ESCRITURA DE MEMORIA INTERMEDIA en progreso. LHOST 102 también puede responder a transmisiones de REMHOST 110 enviando un ACK para confirmar la recepción de esas transmisiones. Puede ser deseable que una modalidad de gestor de memoria intermedia de comunicación (VBM) 130, o un equivalente funcional, provean gestión mejorada de objetos de memoria dentro de la memoria intermedia de comunicación 118. La gestión de memoria que se puede ejecutar en CBM 130 incluye procedimientos de asignación de memoria, reclamación de memoria, y gestión de memoria. La asignación de memoria puede incluir asignar de manera · diferencial objetos de memoria para operaciones de transmisión o para operaciones de recepción. La gestión de memoria también puede incluir designar objetos de memoria asignados como memoria libre o como memoria comprometida. Por lo tanto, ejemplos de los objetos de memoria gestionados por CBM 130 pueden incluir memoria intermedia de comunicación 118, SCB 125, memoria intermedia de procedimiento para recepción 126, y memoria intermedia de procedimiento para transmisión. Adicionalmente, CBM 130 puede gestionar objetos de memoria incluyendo memorias intermedias de reserva tal como memoria intermedia de reserva para recepción RR 127 y memoria intermedia de recepción para transmisión RT 129. La reclamación de memoria puede incluir la identificación de objetos de memoria no utilizados y objetos de memoria reclamables. Puede ser deseable que los objetos de memoria reclamados sean devueltos al depósito de memoria libre definido. Ejemplos de objetos de memoria no utilizados pueden ser objetos de memoria no asignados, asignados y de memoria libre y memorias intermedias que ya no estén en uso, o fragmentos de memoria asignados y abandonados. Ejemplos de objetos de memoria reclamables incluyen objetos que pertenecen a la terminación de procedimientos, fuga de memoria, y objetos de prioridad inferior o subutilizados, tal como se pudieran asignar a un conector de baja demanda. VBM 130 puede reasignar memoria reclamada para uso por parte de otros procedimientos, según sea necesario, por ejemplo, por un SCB, por una memoria intermedia de procedimiento, o por una memoria intermedia de reserva. Además, CBM 130 puede reasignar objetos de memoria no utilizados originalmente asignados a procedimientos inferiores en el apilamiento de comunicación, para reasignación como memorias intermedias, incluyendo memorias intermedias de reserva para transmisión, memorias intermedias de reserva para recepción, o ambas. Las memorias intermedias de reserva RR 127 y RT 129 pueden ser asignadas por CBM 130 a SCB 125 durante una creación de conector Si. A pesar de ser asignado, el CBM 130 puede ocasionar que Si postergue el almacenamiento de mensajes en memorias intermedias de reserva RR 127 y RT 129, hasta detectar la existencia de un estado operativo predeterminado. Por lo tanto, las memorias intermedias de reserva RR 127 y RT 129 pueden permaneces asignadas y libres antes de la existencia de un estado operativo predeterminado. Sin embargo, pudiera no ser deseable reclamar una memoria intermedia de reserva asignada y libre, a pesar del estado operativo predeterminado, por ejemplo, antes que finalicen las comunicaciones a través del conector respectivo.
De manera deseable, el estado operativo predeterminado puede ser representado por la disminución de la memoria reclamable y no asignada por debajo de un nivel de memoria libre predeterminado L. Cuando CBM 130 detecta la existencia del estado operativo predeterminado en la memoria intermedia de comunicación 118, CBM 130 puede comenzar a aumentar las comunicaciones utilizando memorias intermedias de procedimiento 126, 128 con las memorias intermedias de reserva asociadas RR 127 y RT 129. Aunque las memorias intermedias de reserva RR 127 y RT 129 pueden representar objetos de memoria asignados al SCB 125 durante su creación, también pueden representar objetos de memoria agregados posteriormente por CBM 130 mediante asignación suplementaria durante operaciones, o mediante reclamación y reasignación. Dichas memorias intermedias de reserva 127, 129 pueden ser convenientes para evitar, o para mejorar, los estados de interbloqueo o deficiencia, los cuales pueden surgir, por ejemplo, cuando LPROC#l 120 transfiere un volumen grande de mensajes a la memoria intermedia de procedimiento para transmisión 128, simultáneamente con la memoria intermedia de procedimiento para recepción 126 aceptando un volumen grande de mensajes transferidos de REMHOST 110. También, LPR0C#1 120 se puede configurar para postergar la ejecución de una operación de LECTURA DE MEMORIA INTERMEDIA de la memoria intermedia de procedimiento para recepción 126, hasta después de finalizar una operación de ESCRITURA DE MEMORIA INTERMEDIA en progreso para la memoria intermedia 128. Con la memoria intermedia de procedimiento para transmisión 128 aceptando mensajes de LPR0C#1 120, además de retener copias de mensajes que se están transfiriendo a REMHOST 110, el espacio de memoria disponible en la memoria intermedia de comunicación 118 puede comenzar a disminuir. Cuando existe un estado operativo predeterminado en la memoria intermedia de comunicación 128, las modalidades descritas en la presente invención pueden proveer suficiente memoria de reserva para impedir potencialmente el interbloqueo de la memoria intermedia o deficiencia de la memoria intermedia. Convenientemente, si asi se configura, CBM 130 puede filtrar de manera adaptada los mensajes que se están transmitiendo a través de las memorias intermedias de reserva RR 127 y RT 129, de forma que mensajes preseleccionados se puedan almacenar en las mismas y se puedan comunicar a través de las mismas. Por ejemplo, conforme la cantidad de memoria libre en la memoria intermedia 118 disminuye por debajo del nivel L y el número de memorias intermedias de reserva RR 127 y RT 129 disponibles para uso también se vuelven restringidas, puede ser deseable limitar la comunicación a través de las memorias intermedias de reserva RR 127 y RT 129 a los mensajes de control fundamentales, tal como un ACK. Las memorias intermedias de reserva RR 127 y RT 129 pueden proveer un procedimiento (por ejemplo, LPROC#l 120) con suficiente memoria para permitir que se complete una operación de ESCRITURA DE MEMORIA INTERMEDIA, para transmitir un ACK a REMHOST 110, y asi sucesivamente. En el sistema de comunicación 200 de la figura 2, el huésped local (LHOST) 201 emplea el gestor de comunicación 203 para comunicar mensajes al huésped remoto (REMHOST) 280, a través de la red de comunicación 270. Típicamente, cada huésped ejecuta por lo menos un procedimiento de comunicación para intercambiar mensajes con otro huésped. En la figura 2, los mensajes pueden ser intercambiados entre LHOST 201 y REMHOST 280 mediante la creación de un enlace a través de la red 270 entre el primer procedimiento de comunicación local (LPR0C#1) 209 y el primer procedimiento de comunicación remota (RPROC#l) 281. En donde LHOST 201 subsuma un dispositivo inalámbrico móvil, LHOST 201 puede incluir el transceptor (XCVR) 207, el cual se puede configurar para comunicar mensajes a través de la interfaz de aire física (Um) con el proveedor de servicios móviles (MSP) 265. Puede ser deseable que las comunicaciones ejecuten un protocolo de comunicación inalámbrica de dúplex completo predeterminado, utilizando enlaces de comunicación bidireccionales, aunque también se pueden utilizar otros protocolos de comunicación. Puede ser útil proveer enlaces adicionales para intercambio de mensajes,' a través de la red 270, mediante la ejecución de un segundo procedimiento de comunicación local (LPROC#2) 211 en LHOST 201, un segundo procedimiento de comunicación remota (RPROC#2) 283 en REMHOST 280, o ambos. REMHOST 280 se puede comunicar con la red 270 a manera de compuerta de red 275. Por lo menos una porción de la red 270 puede incluir una red pública conmutada por paquetes, tal como la Internet. Convenientemente, LHOST 201 y REMHOST 280 pueden utilizar un protocolo de transporte de red extremo-a-extremo confiable para ' transferir mensajes entre ellos sustancialmente intactos, en orden, y en forma oportuna. Hasta el grado en que un mensaje falte, esté dañado, perdido, o con exceso retraso, durante la comunicación entre LHOST 201 y REMHOST 280, LPROC#l 209 y RPROC#l 281 pueden emplear servicios de transporte confiables recíprocos para proveer la retransmisión de mensajes. Aunque protocolos de transporte ejemplares cooperan con protocolos de comunicación inalámbrica ejemplares, puede ser deseable que LHOST 201 incluya memoria intermedia de comunicación 205, para compensar las diferencias en la velocidad de mensajes y el flujo de mensajes en los enlaces de comunicación con REMHOST 280.
Convenientemente, las memorias intermedias de comunicación se pueden proveer a cada huésped 201, 280, para facilitar el transporte de comunicación confiable. Las memorias intermedias de comunicación, formadas a partir de múltiples objetos de memoria, se pueden colocar en sub-unidades lógicas o físicas discretas, tal como para una o más memorias intermedias de transmisión, memorias intermedias de recepción, o ambas. Alternativamente, una memoria intermedia de comunicación también se puede colocar como un solo depósito de memoria global, a partir del cual se pueden asignar objetos de memoria para satisfacer las necesidades de comunicación actuales. En general, u objeto de memoria colocado para recibir información, tal como un mensaje, puede ser designado como memoria libre. Funcionalmente, un objeto de memoria en memoria libre puede ser considerado como habilitado para escritura. Por otra parte, los objetos de memoria que almacenan información temporalmente, pueden ser designados como memoria comprometida. Funcionalmente, un objeto de memoria designado como memoria comprometida se puede considerar como escritura-impedida temporalmente, para conservar el contenido lógico en el mismo. Cuando ya no es deseable conservar esos contenidos, un objeto de memoria comprometida entonces se puede designar como memoria libre, funcionalmente capaz para recibir nuevos datos (es decir, para que sea de escritura-habilitada) . TCP/IP se encuentra entre los protocolos de transporte de red extremo-a-extremo, confiables ejemplares, el cual se puede utilizar para comunicación entre LHOST 201 y RE HOST 280. Cuando se desea la comunicación entre LHOST 201 y REMHOST 280, se puede establecer uno o más enlaces de comunicación para cada procedimiento de comunicación, en cada dirección de comunicación entre el procedimiento local 209 y el procedimiento remoto 281. Conforme se establece dicho enlace, se puede crear una o más interfaces de enlace de comunicación para cada punto final de protocolo de transporte, o punto de acceso, asociado con los procedimientos de comunicación (por ejemplo, LPROCtl 209 y RPROCtl 281) . Típicamente, a cada computadora que se comunica en una red se le puede asignar un identificador lógico, por ejemplo, una dirección IP. Similarmente, un identificador lógico, que puede ser un número de puerto, puede ser asignado a un punto de acceso en una computadora respectiva para un procedimiento de comunicación que corre en una red. Juntos, el identificador de cómputo y el número de puerto, se pueden acomodar para identificar el punto de acceso, o conector, por medio del cual un procedimiento de comunicación en un huésped local puede comunicar mensajes con un procedimiento de comunicación en un huésped local. En general, los mensajes TCP/IP se pueden formar de un encabezado y carga útil de datos. De forma benéfica, el identificador acomodado, que puede ser representativo de un conector (por ejemplo [<direcciónIPXnúmero de puerto>] ) se puede incluir dentro de un encabezado de mensaje TCP/IP, ayudando asi en el transporte confiable de mensajes a través de la identificación de la fuente de comunicación y los puntos finales de destino. En una ejecución tipo TCP, un mensaje puede ser análogo a un segmento TCP, y una memoria intermedia de procedimiento puede ser análoga a una o más memorias intermedias de conector. Sin considerar si las memorias intermedias son asignadas como un número fijo de ubicaciones de memoria, o son asignadas con relación a demandas de memoria de procedimiento, el aparato gestor de memoria intermedia de comunicación y los métodos, tal como aquellos descritos y reclamados en la presente invención, pueden ser convenientes para evidenciar la injusticia que puede haber, especialmente en ambientes integrados, en donde la cantidad total de memoria disponible se puede ver restringida . En LHOST 201 ejemplar, un gestor de comunicación 203 puede incluir memoria intermedia de comunicación 205 y gestor de memoria intermedia de comunicación 215. El gestor de memoria intermedia de comunicación 215 se puede adaptar para asignar objetos de memoria en memoria intermedia de comunicación 205, en respuesta a LPROC#l 209 y LPROC#2 211.
Las memorias intermedias de procedimiento se pueden asignar para facilitar las funciones de comunicación de LPROCtl 209, LPROC#2 211. En algunas modalidades, la memoria intermedia de comunicación 205 se puede proveer como un depósito de memoria global 213. Los objetos de memoria en el depósito de memoria global 213 pueden incluir tanto una porción de memoria comprometida 204 como un depósito de memoria libre 206. Cuando se desea, el gestor de memoria intermedia 215 puede designar objetos de memoria como memoria libre o como memoria comprometida. La asignación de objetos de memoria puede incluir la selección del tamaño, la cantidad y el propósito de memorias intermedias asignadas en respuesta a parámetros de negociación de enlace de comunicación, o a las necesidades de comunicación u operativas actuales del gestor de comunicación 203. Típicamente, conforme se establece un enlace de comunicación, se puede crear un conector TCP respectivo en cualquier extremo. Por ejemplo, un conector Si se puede crear en LHOST 201 para LPROC#l 209, en donde un conector es creado en REMHOST 280 para RPROC#l 281. El conector, Si, se puede representar a través de objetos de memoria tal como un bloque de control de conector (SCB) , una memoria intermedia de procedimiento para transmisión (TXB) , y una memoria intermedia de procedimiento para recepción (RXB) . Un SCB ejemplar puede ser SCB#1 240, una TXB ejemplar puede ser TXB#1 221, y una RXB ejemplar puede ser RXB#1 223. En general, por lo menos una TXB se puede asignar a una SCB para dar servicio a una función de transmisión de procedimiento local, y por lo menos una RXB se puede asignar a un SCB para dar servicio a una función de recepción de procedimiento local, aunque se puede asignar más TXB, más RBX o ambos. Por ejemplo, LPR0C#1 209 puede emplear SCB#1 240, al cual se puede asignar TXB#1 221 para transmitir mensajes a RPR0C#1 281, y RXBffl 223 para recibir mensajes de RPROC#l 281. LPROC#2 209 puede emplear SCB#2 243, al cual se puede asignar TXB#2A 225, TXB#2B 227, RXB#2A 229, y RXB#2B 231, para comunicarse con otro punto de acceso remoto en REMHOST 280, tal como puede ocurrir en RPROCfl 281 ó en RPROC#2 283. Después de ser asignados inicialmente a partir de un depósito de memoria libre no asignada 206, los objetos de memoria SCB#1 240, TXB#1 221, RXB#1 223 pueden ser designados como memoria libre asignada o memoria comprometida asignada. Se puede asignar una memoria intermedia de procedimiento después de la creación de un conector, por ejemplo, sobre una base de necesidad; y se puede asignar selectivamente como RXB, como TXB, y en una combinación de las mismas. En la presente invención se contempla que las memorias intermedias de reserva se asignen durante la creación del conector Si, y que posteriormente se asignen memorias intermedias de reserva adicionales al conector Si o que se asignen después de la creación del conector Si, por ejemplo, sobre una base de necesidad. También se contempla que las memorias intermedias de reserva no puedan ser asignadas durante la creación del conector Si, sino que sean asignadas posteriormente, en respuesta a las necesidades del procedimiento de comunicación con el cual se puede asociar el conector Si. Aunque se puede asignar una sola memoria intermedia de reserva al SCB#i, puede ser conveniente asignar al SCB#1 una memoria intermedia de reserva para transmisión (TBR) y una memoria intermedia de reserva para recepción (RRB) . También, puede ser deseable asociar una TRB para uso con una TXB respectiva, y una RRB para uso con una RXB respectiva. Al igual que con las memorias intermedias de procedimiento, el tamaño, número y tipo de memorias intermedias de reserva se puede adaptar para que se adecúen a la naturaleza de las comunicaciones pretendidas. Una memoria intermedia de reserva puede ser configurada para permitir que las comunicaciones seleccionadas sean conducidas entre huéspedes LHOST 201 y REMHOST 280, reduciendo así al mínimo la probabilidad de un interbloqueo o deficiencia de memoria intermedia. De manera deseable, las comunicaciones seleccionadas incluyen mensajes en comunicación a una velocidad de comunicación preseleccionada . Sin embargo, las comunicaciones seleccionadas pueden ser mensajes de control, incluyendo un AC , para que se intercambien entre LHOST 201 y REMHOST 280. En un ejemplo de las modalidades de memoria intermedia de reserva de la presente invención, el conector SI se puede crear cuando se ejemplifica el SCB#1 240, y cuando memorias intermedias de procedimiento ejemplares TXB#1 221 y RXB#1 223 son asignadas para la transmisión y recepción de operaciones de comunicación, respectivamente, desde el depósito de memoria global 213. Métodos y aparatos que se pueden emplear para ejemplificar los bloques de control de conector, y para asignar memorias intermedias, son muy conocidos en la técnica de la computación y las comunicaciones, y también se pueden emplear en la presente invención. En algunas modalidades, los bloques de control de conector se pueden ejemplificar y las memorias intermedias de procedimiento se pueden asignar con la cooperación del depósito de memoria global 213, con el gestor de memoria intermedia de procedimiento 250 y, tal vez, máquina de estado finito o controlador de estado 259. Sustancialmente de manera simultánea con la creación del conector SI, TRB#1 253 se puede asignar y reservar para operaciones de transmisión por SI; y RRB#1 251 se puede asignar y reservar para operaciones de recepción por SI . Múltiples memorias intermedias de reserva se pueden asignar a un Si, tal como SI, para operaciones de transmisión, operaciones de recepción, o ambos. En otro ejemplo, en donde se puede utilizar un protocolo de transporte tipo UDP, el conector S2 se puede asociar con SCB#2 243. Un tamaño máximo nominal de un datagrama UDP puede ser n memorias intermedias. Por lo tanto, puede ser deseable asignar n TRB del depósito de memoria global 213 a un conector UDP S2, asi como n RRB, en donde l<n<N. Además, puede ser deseable designar un espacio de memoria intermedia de reserva lógicamente distinto BR 245, dentro del depósito de memoria global 213, partir del cual se puedan asignar las memorias intermedias de reserva. El espacio de memoria intermedia de reserva BR 245 se puede configurar para que un número adecuado de memorias intermedias de reserva se pueda asignar para los conectores Si de un número y tipo anticipado de procedimientos de comunicación, los cuales se pueden traslapar durante su ejecución. Además, el depósito de memoria intermedia de reserva para transmisión TS 249 y el depósito de memoria intermedia de reserva para recepción RS 247 pueden ser componentes de BR 245. El depósito de memoria intermedia de reserva para transmisión TS 249 puede servir como una fuente a partir de la cual se pueden asignar y reservar TRB (generalmente en 253) . De manera similar, el depósito de memoria intermedia de reserva para recepción RS 247, puede servir como una fuente a partir de la cual se pueden asignar y reservar RRB (generalmente en 251) . La creación del conector Si se puede abortar si un número mínimo predeterminado de memorias intermedias de reserva no puede ser asignado, con un mensaje perceptible que indique la falla. Aunque las memorias intermedias pueden ser asignadas al momento de la creación del conector, puede ser conveniente no utilizar las memorias intermedias de reserva para comunicaciones hasta que se alcance un estado operativo predeterminado. Un estado operativo predeterminado no limitado ejemplar puede incluir un estado de memoria predeterminado. El estado de memoria predeterminado puede existir cuando la memoria restante en el depósito de memoria libre 206 disminuye a un valor preseleccionado de memoria libre, L, 241. En el caso donde el gestor de memoria intermedia de comunicación 215 se puede configurar así, los conectores activos Si se pueden configurar para que respondan a la asignación de memoria dinámica, en donde uno o más conectores activos Si correspondientes a LPROC#l 209, LPROC#2 211, y otros procedimientos locales activos pueden asignar, reclamar, liberar, comprometer y compartir entre ellos mismos, memorias intermedias de procedimiento TXB#1 221, TXB#2A 225, TXB#2B 227, TXB#N 233; RXB#1 223, RXB#2A 229, RXB#2B 231 Y RXB#N 235; y otras memorias intermedias de procedimiento que se pueden crear dentro del depósito de memoria global 213. La asignación de objetos de memoria disponibles se puede ejecutar de manera continua, o sobre una base de necesidad. Antes de la ocurrencia del estado operativo predeterminado, tanto las memorias intermedias de transmisión como las memorias intermedias de recepción se pueden asignar abiertamente desde cualquier porción del espacio de memoria intermedia de procedimiento BP, 245. Al momento de la ocurrencia del estado operativo predeterminado, puede ser deseable asignar memorias intermedias de transmisión únicamente desde el espacio de memoria intermedia de reserva para transmisión TS 249; y asignar memorias intermedias de recepción únicamente desde el espacio de memoria intermedia de reserva para recepción RS 247. Al igual que con las memorias intermedias de procedimiento, las memorias intermedias de reserva pueden ser asignadas o no asignadas. Las memorias intermedias de reserva no asignadas pueden ser objetos de memoria que generalmente pueden estar listas para asignación a un procedimiento. Las memorias intermedias de reserva asignadas son objetos de memoria, las cuales pueden ser designadas como libres o comprometidas. Una memoria intermedia de reserva asignada libre puede estar en una condición lista para recibir un mensaje, mientras que una memoria intermedia de reserva comprometida puede almacenar un mensaje relacionado con el procedimiento al que fue asignado, y temporalmente puede evitar que un nuevo mensaje sea almacenado en la misma. Sin embargo, después que una memoria intermedia de reserva comprometida es designada como una memoria intermedia de reserva libre, ésta puede ser reclamada y devuelta a memoria libre no asignada para reasignación, si las estrategias de gestión de memoria ejecutadas en el gestor de memoria intermedia de comunicación están adaptadas para ello. La gestión de memoria eficiente del espacio de memoria intermedia de reserva BR 245 se puede lograr monitoreando si puede estar en uso una memoria intermedia de reserva particular (generalmente en 251, 253), o devolviendo las memorias intermedias de reserva, las cuales pueden ser subutilizadas o pudieran ya no .estar en uso, a un depósito de memoria intermedia de reserva seleccionada desde el cual fueron originalmente asignadas, tal como RS 247 y TS 249. También, las memorias intermedias originalmente en las capas inferiores del apilamiento de protocolo asociadas con un conector particular, el cual se puede subutilizar o ya no estar en uso, pueden ser reasignadas a un depósito de memoria intermedia de reserva seleccionado. Al momento del agotamiento de las memorias intermedias de reserva asociadas con un depósito de memoria intermedia de reserva seleccionado, y sustancialmente de manera simultánea con el estado operativo predeterminado, se puede ejecutar un procedimiento de gestión de memoria seleccionada . Por ejemplo, puede existir un estado operativo predeterminado cuando el número de objetos de memoria disponibles en el depósito de memoria global 203 se reduce por debajo de alrededor del nivel de memoria L 241. Convenientemente, los procedimientos locales, tal · como LPROC#l 209 y LPR0C#2 211, pueden asignar de manera cooperativa entre si las memorias intermedias de procedimiento TXB#1 221, TXB#2A 225, TXB#2B 227, TXB#N 233; RXB#1 223, RXB#2ñ 229, RXB#2B 231 Y RXB#N 235; así como otras memorias intermedias de procedimiento que se pueden asociar con las mismas. Conforme se crean nuevos conectores, las memorias intermedias de reserva para recepción (por ejemplo, generalmente en RRB#1 251) y las memorias intermedias de reserva para transmisión (por ejemplo, generalmente en TRB#1 253) se pueden asignar dentro del rango de memoria libre de espacio de memoria intermedia de reserva BR, 245. Sin embargo, en aplicaciones así configuradas, las memorias intermedias de reserva, RRB#1 251 y TRB#1 253, pudieran no emplearse hasta que exista un estado operativo predeterminado. Cuando el número de objetos de memoria disponibles en el depósito de memoria libre no asignado 206 se reduce a un nivel de memoria predeterminado, L 241, los procedimientos locales, tal como LPROC#l, LPROC#2, pueden utilizar memorias intermedias de reserva para transmisión y recepción, por ejemplo, RRB#1 251 y TRB#1 253, asignadas a conectores asociados Si, particularmente cuando una o más de las memorias intermedias de procedimiento asociadas, por ejemplo, TXB#1 221, RXB#1 223, de otra manera cambiarían a una condición no deseable tal como deficiencia o interbloqueo de memoria intermedia. Cuando se crea un conector Si después de la existencia del estado operativo predeterminado, las memorias intermedias de procedimiento para transmisión asociadas y el bloque de control de conector pueden ser asignados a partir de la memoria libre restante en el depósito de memoria 206. También, puede ser deseable asignar memorias intermedias de reserva para transmisión (generalmente en TRB#1 253) a partir de las memorias intermedias disponibles en el depósito de reserva para transmisión, TS 249. Cuando así están configuradas, las memorias intermedias originalmente en las capas inferiores de un apilamiento de protocolo y asociadas con un conector particular SX, el cual puede ser subutilizado o no estar en uso, más bien se pueden asociar con el depósito de reserva para transmisión, TS 249. Cuando las memorias intermedias disponibles se agotan en el depósito de reserva para transmisión, TS 249, se puede ejecutar un procedimiento de gestión de memoria seleccionada, tal como el bloqueo de operaciones de transmisión adicionales . Con relación a las funciones de recepción al momento de la ocurrencia del estado operativo predeterminado, seria deseable extraer las memorias intermedias de reserva para recepción (generalmente en RRB#1 251) , de las memorias intermedias disponibles en el depósito de reserva para recepción, RS 247. También, aquellas memorias intermedias de reserva para recepción comprometidas, que ya no están en uso, se pueden designar como memorias intermedias libres de reserva para recepción, devueltas al depósito de recepción de reserva, RS 247, y después empleadas por mensajes que entran posteriormente. Cuando las memorias intermedias disponibles se agotan en el depósito de recepción de reserva, RS 247, se puede ejecutar un procedimiento de gestión de memoria seleccionado, tal como ocasionar que un conector Si tire, o no acepte, los mensajes actualmente recibidos. Cuando asi está configurado, el gestor de memoria intermedia de comunicación 215 puede ejecutar la asignación de memoria cooperativa de memorias intermedias de procedimiento en la memoria intermedia de comunicación 205 a través del gestor de memoria intermedia 250. Además, la asignación de memoria de memorias intermedias de reserva en el espacio de memoria intermedia de reserva BR 245, se puede efectuar a través del gestor de memoria intermedia de reserva 255. La asignación de memoria para memorias intermedias de procedimiento, memorias intermedias de reserva, o ambas, puede emplear técnicas de gestión de memoria estática o dinámica. El gestor de memoria intermedia de comunicación 215 se puede adaptar para efectuar gestión de memoria intermedia de procedimiento dinámica o estática utilizando el gestor de memoria intermedia de procedimiento 250. De manera similar, el gestor de memoria intermedia de comunicación 215 también se puede adaptar para efectuar gestión de memoria intermedia de reserva dinámica o estática utilizando el gestor de memoria intermedia de reserva 255. Puede ser deseable emplear de manera cooperativa un contador de memoria 257 y máquina de estado finito 259, o equivalentes funcionales de los mismos, para facilitar la asignación de memoria y la respuesta al estado operativo predeterminado. En la asignación de memoria estática, una cantidad predeterminada de memorias intermedias de procedimiento, cada una con un tamaño predeterminado de memoria intermedia, se puede preestablecer para la asignación a un bloque de control de conector, sin considerar los requerimientos de comunicación del conector Si. En un ejemplo de asignación de memoria estática, se puede preestablecer un solo valor para el tamaño de memoria intermedia predeterminado para cada una de la memoria intermedia de procedimiento TXB#1 221, TXB#2A 225, TXB#2B 227, TXB#N 233; RXB#1 223, RXB#2A 229, RXB#2B 231 y RXB#N 235. También, se puede preestablecer una cantidad de memoria intermedia de procedimiento para cada conector Si. Sin embargo, la asignación de memoria estática se puede ver influenciada por el propósito de comunicación del conector Si, de tal forma que una o ambas de la cantidad predeterminada de memoria intermedia de procedimiento y el tamaño predeterminado de memoria intermedia se pueden preestablecer en respuesta al propósito y, por lo tanto, las necesidades de comunicación anticipadas de un tipo de conector particular. Típicamente, las memorias intermedias de procedimiento estáticamente asignadas, una vez asignadas, tienden a permanecer sustancialmente sin cambios durante la vida del conector Si. En la asignación de memoria dinámica, el gestor de memoria intermedia de comunicación 215 inicialmente puede asignar al conector Si, memorias intermedias seleccionadas de las memorias intermedias de procedimiento TXB#1 221, TXB#2A 225, TXB#2B 227, TXB#N 233; RXB#1 223, RXB#2A 229, RXB#2B 231 Y RXB#N 235. De manera deseable, durante la creación del conector Si, el gestor de memoria intermedia de comunicación 215 puede seleccionar el tamaño y número de memorias intermedias de procedimiento provistas en respuesta a necesidades de comunicación anticipadas, el propósito de comunicación pretendido del conector Si, u otro factor predeterminado, o combinación de los mismos. Durante la ejecución de los procedimientos LPR0C#1 209, LPROC#2 211, o ambos, el gestor de memoria intermedia de comunicación 215 puede responder a las necesidades de comunicación actuales del conector Si cambiando la cantidad de memoria intermedia de procedimiento predeterminada, el tamaño de memoria intermedia de procedimiento predeterminado, o ambos, la cual se puede asignar al conector Si. Dicha capacidad de respuesta se puede ver facilitada por el gestor de memoria intermedia de procedimiento 250. En un ejemplo de asignación de memoria dinámica, que también se ilustra en la figura 2, a LPROC#l 209 se le puede asignar TXB#1 221, y RXB#1 223. En un caso en donde LPROC#2 211 inicialmente emplea más memorias intermedias que LPROC#l 209, el gestor de memoria intermedia de comunicación 215 puede asignar memorias intermedias de transmisión TXB#2A 225, TXB#2B 227, para las funciones de comunicaciones para transmisión asociadas con LPROC#2 211, asi como RXB#2A 229 y RXB#2B 231, para las funciones de comunicación de recepción de LPR0C#2 211. Memorias intermedias de procedimiento adicionales, tal como TXB#N 233 y RXB#N 235, pueden ser asignadas a LPR0C#1 209, en respuesta a las funciones de comunicación de LPROC#l 209, después que se asigna la memoria para LPROC#2 211. La figura 3A ilustra una perspectiva general de un método de gestión de memoria intermedia de comunicación ejemplar no limitativo 300, de acuerdo con las enseñanzas de la presente invención. El método 300 se puede utilizar para facilitar la comunicación de mensajes entre un procedimiento de comunicación local en un huésped local y un procedimiento de comunicación remota en un huésped remoto. Cada procedimiento de comunicación típicamente emplea una interfaz de procedimiento de comunicación, en donde la interfaz de procedimiento de comunicación local está enlazada a través de una red de comunicación a la interfaz de procedimiento de comunicación remota. Una interfaz de procedimiento de comunicación puede facilitar la comunicación de mensajes mediante el empleo de una estructura de datos de control de comunicación lógica y por o menos una memoria intermedia de comunicación. Las estructuras de datos de control de comunicación común y las memorias intermedias son muy conocidas en la técnica de las telecomunicaciones y de cómputo, y se pueden representar por lo menos a través de una, y generalmente múltiples, unidades de almacenamiento de datos, u objetos de memoria. En general, una memoria intermedia de comunicación de huésped local se puede disponer como un depósito de memoria global a partir del cual se pueden obtener objetos de memoria para colocarlos en las memorias intermedias de procedimiento, memorias intermedias de reserva, estructuras de datos de control de comunicación, y similares. Una memoria intermedia de procedimiento se puede asociar con, y puede ser utilizada por una estructura de control particular, para efectuar las comunicaciones de mensajes típicas. Convenientemente, una estructura de control se puede asociar con una memoria intermedia de procedimiento para transmisión y una memoria intermedia de procedimiento para recepción. Una memoria intermedia de reserva se puede asociar con, y puede ser utilizada por una estructura de control particular, para efectuar comunicaciones seleccionadas en respuesta a un estado operativo predeterminado. A una estructura de control se le puede proveer una memoria intermedia de reserva para transmisión y una memoria intermedia de reserva para recepción. Aunque las estructuras de control y memorias intermedias antes mencionadas se pueden crear y colocar juntas dentro del depósito de memoria global, una porción del depósito de memoria global se puede disponer como un espacio reservado de memoria intermedia, BR, a partir del cual se pueden asignar las memorias intermedias de comunicación. Además, puede ser deseable colocar espacio adicional BR en un espacio de memoria intermedia de reserva para transmisión TS y espacio de memoria intermedia de reserva para recepción RS . Un objeto de memoria se puede designar como memoria libre o como memoria comprometida. La memoria libre se puede leer o escribir, y puede estar disponible para nuevos datos que se van a almacenar en la misma. La memoria comprometida se puede leer pero también puede ser de escritura-impedida, por lo cual los datos ya almacenados en la misma se pueden conservar temporalmente. Típicamente, una memoria intermedia que es utilizada por un procedimiento existente para comunicar mensajes se puede designar como memoria comprometida. Para los propósitos de exposición, el método de gestión 300 en la figura 3A comprende FASE DE EJEMPLIFICACION 301 que coopera con la FASE DE EJECUCION 350. La figura 3B puede ser una ilustración ejemplar de la FASE DE EJEMPLIFICACION 301, y la figura 3c puede ser una ilustración ejemplar de la FASE DE EJECUCION 350. En el caso donde el procedimiento 300 y las fases 301, 350 están así configuradas, uno o más procedimientos de comunicación local pueden solicitar y recibir recursos adicionales, incluyendo conectores, memorias intermedias de procedimiento, y memorias intermedias de reserva. Convenientemente, se puede ejecutar una variedad de políticas de gestión de memoria para control de manera eficiente el uso de recursos durante las operaciones de comunicación. Una política ejemplar puede ser una política de gestión de memoria cuya base sea primera en entrar, primera en servir, y otra política puede ser una política de gestión de memoria cuya base sea según se requiera. Sin embargo, también puede ser deseable asignar por anticipado, una cantidad fija de recursos a cada procedimiento de comunicación, o una cantidad fija de recursos en respuesta a el tipo de procedimiento que realiza la solicitud. Los recursos asignados durante la FASE DE EJEMPLIFICACION 301 se pueden reclamar, cuando sea apropiado, durante la FASE DE EJECUCION 350, y pueden volverse disponibles para reasignación o re-mapeo durante una ejemplificación de recursos posterior. Se contempla que las modalidades de la presente invención no queden limitadas a las técnicas y políticas de reclamación y gestión de memoria empleadas, sino que las mejoren. Continuando con la figura 3A, durante la FASE DE EJEMPLIFICACION ejemplar 301, una interfaz de procedimiento de comunicación, tal como un conector, se puede ejemplificar mediante la creación de una estructura de control de procedimiento de comunicación asociada, tal como un bloque de control de conector (SCB) . Además, se puede asignar una o más memorias intermedias de procedimiento para comunicación para uso por parte del SCB respectivo en el control de flujo de mensajes para el procedimiento de comunicación respectivo. En modalidades inventivas de la presente invención, una o más memorias intermedias de reserva de comunicación también se pueden asignar para, y asociar con, un SCB. Durante la FASE DE EJECUCION ejemplar 350, el SCB y las memorias intermedias de procedimiento de comunicación asociadas se pueden utilizar para llevar a cabo la comunicación de mensajes de rutina entre el procedimiento de comunicación local y el procedimiento de comunicación remota sobre un enlace de red de comunicación. Convenientemente, las memorias intermedias de reserva pueden permitir que continúe una comunicación mínima predeterminada entre un procedimiento de comunicación local y un procedimiento de comunicación remota correspondiente, aún en donde se puede agotar la memoria libre para, de otra forma, producir un estado de deficiencia de memoria intermedia o un estado de interbloqueo de memoria intermedia. La fase de ejecución 350 puede interactuar con la FASE DE EJEMPLIFICACION 301, tal como a través de la trayectoria de procedimiento A 325, la trayectoria de procedimiento B 319 y la trayectoria de procedimiento 323.
A través de la trayectoria de procedimiento A 325, un procedimiento de comunicación que opera en FASE DE EJECUCION 350 puede solicitar que se cree SCB adicional, según sea necesario, o, si asi está configurado, que memorias intermedias de procedimiento o reserva adicionales sean asignadas a un SCB existente. De manera similar, a través de las trayectorias de procedimiento B 319 y C 323, la FASE DE EJEMPLIFICACION 301 puede proveer a la FASE DE EJECUCION 350 múltiples modos de operación. Por ejemplo, la FASE DE EJEMPLIFICACION 301 puede cooperar con la FASE DE EJECUCION 350 dirigiendo el procedimiento 300 a la trayectoria de procedimiento seleccionada B 319 o trayectoria de procedimiento C 323, en respuesta a un estado operativo predeterminado. El estado operativo predeterminado puede ser un estado de memoria predeterminado. En una función típica de reclamación de memoria, las ubicaciones de memoria asociadas con los recursos inactivos se pueden devolver a un depósito de memoria global para reutilización. La fase de ej emplificación 301 en la figura 3B puede comenzar con una solicitud de entrada para recursos (operación 302), por ejemplo, a partir de un procedimiento de comunicación local. El recurso solicitado puede ser un conector de comunicación nuevo, o, si así está configurado, que recursos adicionales sean utilizados con un conector de comunicación existente. La memoria intermedia de comunicación se puede analizar para determinar si suficiente memoria puede estar disponible para cumplir con la solicitud de recurso de entrada (operación 303) . Cuando la memoria libre no asignada puede ser insuficiente para crear un recurso solicitado, la creación se puede abortar (operación 305) con un mensaje perceptible apropiado. De otra forma, si se solicita un recurso de conector (operación 307), se puede crear un SCB (operación 309) . De manera similar, si el recurso solicitado incluye una memoria intermedia de procedimiento (operación 311) , entonces se puede asignar una memoria intermedia de procedimiento a partir del depósito de memoria BP (operación 313) . Puede ser deseable que la creación del conector incluya, por ejemplo, una creación SCB (operación 307), asi como la asignación de una o más memorias intermedias de procedimiento asociadas (operación 313) . Sin embargo, pudiera no requerirse que una memoria intermedia de procedimiento sea asignada en el momento en que se crea un conector, y se puede asignar una memoria intermedia de procedimiento en un momento posterior, según sea necesario. Una solicitud de recurso de memoria intermedia por parte de un procedimiento de comunicación puede incluir una solicitud de una o más memorias intermedias de reserva (operación 314) .
En algunas modalidades, pudiera ser deseable asignar de manera personalizada una memoria intermedia de reserva durante la operación 313, junto con la asignación de una memoria intermedia de procedimiento. Sin embargo, eso no se requiere, y puede ser conveniente asignar una memoria intermedia de reserva, en respuesta a un estado operativo predeterminado (operación 315) . Dicho estado operativo predeterminado puede ser un estado de memoria predeterminado, por ejemplo, cuando el número de ubicaciones de memoria libre disponibles en el depósito de memoria intermedia de procedimiento BP cae por debajo del nivel L. En general, utilizando el último enfoque, ambas memorias intermedias de reserva tanto para transmisión como para recepción se pueden asignar desde el depósito de memoria intermedia de procedimiento BP (operación 317) , previo a la existencia del estado operativo predeterminado (ESTADO PREVIO) . Después que existe el estado predeterminado (ESTADO POSTERIOR) , puede ser deseable asignar memorias intermedias de reserva del depósito de memoria intermedia de reserva BR (operación 321) . También puede ser benéfico crear memorias intermedias de reserva para transmisión a partir de la porción del depósito de memoria intermedia de reserva para transmisión TS, y crear memorias intermedias de reserva para recepción a partir de la porción del depósito de memoria intermedia de reserva para recepción RS. La porción del depósito de memoria intermedia de reserva para transmisión TS y la porción del depósito de memoria intermedia de reserva RS pueden ser partes componentes del depósito de memoria intermedia de reserva BR. Tal como se indicó anteriormente con respecto a la figura 3?, la FASE DE EJECUCION 302 puede tener múltiples modos de operación. Con respecto a la figura 3B, se puede seleccionar un primer modo de operación, después de la trayectoria de procedimiento B 319, cuando se encuentra en una condición de ESTADO PREVIO; mientras que un segundo modo de operación, después de la trayectoria de procedimiento C 323, se puede seleccionar cuando se encuentra en una condición de ESTADO POSTERIOR. Aunque se pueden emplear modos de operación alternativos o adicionales junto con las modalidades de la presente invención, para claridad, en la figura 3C se ilustran dos modos de operación ejemplares no limitativos para la FASE DE EJECUCION 350: modo de operación de ESTADO PREVIO 351 y modo de operación de ESTADO POSTERIOR 360. Siguiendo con los ejemplos, el flujo del procedimiento de gestión de memoria de comunicación 300 puede seguir la trayectoria de procedimiento B 319 en el modo de operación de ESTADO PREVIO 351, cuando el número de ubicaciones de memoria libre puede ser mayor que, o igual al nivel L. De manera similar, el flujo del procedimiento de gestión de memoria de comunicación 300 puede seguir la trayectoria de procedimiento C 323 en el modo de operación de ESTADO POSTERIOR 360, cuando el número de ubicaciones de memoria libre puede ser menor que el nivel L. En un modo de operación de ESTADO PREVIO ejemplar 351, los mensajes se pueden comunicar entre un conector local respectivo, incluyendo SCB y memorias intermedias de procedimiento, en un procedimiento de comunicación local en el huésped local, y un conector remoto en un procedimiento de comunicación remota en el huésped remoto, durante el cual se puede monitorear la memoria de comunicación (operación 352) . Durante la operación 352, los mensajes se pueden comunicar utilizando protocolos de comunicación de mensajes incluyendo, sin limitación, los protocolos de transporte UDP y TCP muy conocidos. Al final de una comunicación, se puede cerrar un conector y sus recursos asociados se pueden volver inactivos o no utilizados. Convenientemente, el modo de ESTADO PREVIO 351 puede incluir reclamación de memoria (operación 330), por medio de lo cual la memoria comprometida asociada con un conector cerrado se puede diseñar como memoria libre y devolver al depósito de memoria libre para reutilización. También, la memoria comprometida seleccionada se puede designar como memoria libre con base en una política de asignación de memoria ejecutada dentro de la operación 330. Por ejemplo, puede ser deseable ejecutar una política de asignación de memoria en donde una memoria intermedia raramente utilizada, inicialmente comprometida para un primer procedimiento que tiene una primera prioridad, es reasignada, y comprometida para un segundo procedimiento que tiene una segunda prioridad, y en donde la segunda prioridad es superior a la primera prioridad. Conforme continúan los procedimientos de comunicación durante el modo de ESTADO PREVIO 351, conduciendo potencialmente a fluctuaciones en la cantidad disponible de memoria libre, puede ser deseable determinar si ha ocurrido un estado operativo predeterminado (operación 353) . Si la FASE DE EJECUCION 350 no ha entrado a la condición de ESTADO POSTERIOR, puede ser deseable determinar si recursos adicionales son solicitados por los procedimientos de comunicación local (operación 355) . Cuando no existe el estado operativo predeterminado, puede ser deseable determinar si se solicitan recursos adicionales (operación 333) . Si es asi, dicha solicitud de recursos se puede transmitir a la FASE DE EJEMPLIFICACION 301 (por ejemplo, figura 3B) , a través de la trayectoria de procedimiento A 325. Si no es asi, entonces puede continuar la memoria de procedimiento de comunicación que realiza el monitoreo (operación 352) , conforme los mensajes son comunicados a través de un conector local respectivo a un conector remo o . Cuando existe una condición de ESTADO POSTERIOR (operación 353) , también puede ser deseable determinar si se desean los recursos adicionales (operación 340) incluyendo, por ejemplo, un conector adicional o una memoria intermedia adicional, o ambos. Cuando se solicitan recursos adicionales, tal como un conector adicional, o si asi está configurado, una o más memorias intermedias adicionales, dicha solicitud puede ser para FASE DE EJEMPLIFICACION 301 (figura 3B) a través de la trayectoria de procedimiento A 325. Por otra parte, cuando no se solicitan recursos adicionales después de la ocurrencia de una condición de ESTADO POSTERIOR, puede proceder la operación de FASE DE EJECUCION 350 a través de la trayectoria de procedimiento C 323, es decir, se puede ingresar el modo operativo de ESTADO POSTERIOR 350. En el modo de ESTADO POSTERIOR 360, puede ser deseable determinar si se ha agotado la memoria libre dentro de una memoria intermedia de procedimiento respectiva (operación 361). Por ejemplo, una memoria intermedia de procedimiento para recepción respectiva puede estar completa después que se ha recibido una ráfaga de mensajes aún antes que se haya leído la memoria intermedia de procedimiento. Por supuesto, la memoria libre dentro de una memoria intermedia de procedimiento puede ser distinta de la memoria libre ya sea en el depósito de memoria intermedia de procedimiento BP o el depósito de memoria intermedia de reserva BRf en que la memoria libre de la memoria intermedia de procedimiento típicamente se puede crear a partir del depósito de memoria intermedia de procedimiento BP y se puede asignar a un conector respectivo. Una memoria intermedia de procedimiento puede incluir ubicaciones de memoria libre y comprometida en la misma, sensibles a los requerimientos del procedimiento de comunicación asociado con el conector respectivo. Cuando la memoria libre de la memoria intermedia de procedimiento sustancialmente se pudiera agotar, el interbloqueo, u otro estado de comunicación no deseable, se puede impedir empleando las memorias intermedias de reserva asociadas con el conector respectivo (operación 365) , permitiendo que continúen las comunicaciones. Puede ser deseable limitar las comunicaciones entre el huésped local y el huésped remoto al flujo de mensajes de control, mensajes de estado, y similares, lo cual puede ser útil para impedir, o incluso evitar las fallas de comunicación ocasionadas por la deficiencia de la memoria intermedia, el interbloqueo de la memoria intermedia, y otros estados restrictivos de comunicación de la memoria intermedia. Sin embargo, cuando la memoria intermedia de procedimiento respectiva posee suficiente memoria libre, los mensajes se pueden comunicar utilizando memoria intermedia disponible entre un conector local respectivo, incluyendo el SCB y las memorias intermedias de procedimiento, en un procedimiento de comunicación local en el huésped local, y un conector remoto en un procedimiento de comunicación remota en el huésped remoto (operación 363) . En la operación 363, los mensajes se pueden comunicar utilizando protocolos de comunicación de mensajes incluyendo, sin limitación, los protocolos de transporte TCP y UDP muy conocidos. Además de las memorias intermedias de procedimiento que facilitan la comunicación de mensajes en la operación 363, las memorias intermedias de reserva de comunicación respectivas también pueden ser empleadas por el conector asociado (operación 365) . Convenientemente, al igual que en el modo de ESTADO PREVIO 351, el modo de ESTADO POSTERIOR 360 puede emplear la reclamación de memoria (operación 330), lo cual puede incluir la liberación de memoria comprometida asignada a, por ejemplo, una memoria intermedia de reserva para transmisión de regreso al depósito de memoria Ts, una memoria intermedia de reserva para recepción de regreso al depósito de memoria Rs, y una memoria intermedia de procedimiento de regreso al depósito de memoria libre RP. También, la reclamación de memoria (operación 330) en el modo de ESTADO POSTERIOR 350 puede incluir el hecho de volver disponible para reutilización ubicaciones de memoria originalmente asignadas a una capa de protocolo inferior, pero que actualmente no están en uso. Aunque puede ser conveniente incluir dicha memoria reclamada en el depósito de memoria intermedia de reserva para transmisión Ts, también puede ser deseable incluir- parte o toda de dicha memoria en el depósito de memoria intermedia de reserva para recepción Rs. Además, toda o parte de dicha memoria se puede incluir en un depósito de memoria libre, tal como el depósito de memoria BP. Además, la reclamación de memoria también puede incluir la reasignación de memoria de un primer procedimiento, tipo de memoria intermedia, o ambos, a un segundo procedimiento, tipo de memoria, o ambos, particularmente cuando el procedimiento 300 se puede configurar para asignación de memoria dinámica. Por ejemplo, una memoria intermedia de transmisión de un primer procedimiento puede ser reasignada para que sea una memoria intermedia de recepción de un segundo procedimiento, y viceversa. Después de la reclamación de memoria (operación 330) , puede ser deseable determinar si suficiente memoria está disponible para comunicar mensajes en una memoria intermedia de procedimiento seleccionada (operación 369) . Cuando la memoria libre de la memoria intermedia de procedimiento seleccionada pudiera estar a punto de agotarse, resultarla útil ejecutar un procedimiento de gestión de memoria predeterminada (operación 367) , además de la reclamación de memoria (operación 330) . En un procedimiento de gestión de memoria ejemplar, cuando la memoria intermedia de procedimiento seleccionada es una memoria intermedia de procedimiento para recepción, el procedimiento de gestión de memoria predeterminada puede incluir el intercambio de memoria intermedia del depósito Rs, en donde un mensaje de entrada puede ser colocado en el depósito de memoria intermedia de reserva para recepción Rs, mientras que una memoria intermedia de reserva para recepción se designa como memoria libre. También, cuando la memoria intermedia de reserva para recepción pudiera ser insuficiente para comunicar mensajes adicionales, podría ser conveniente tirar los mensajes recibidos hasta que se pueda recuperar memoria suficiente, por ejemplo, de un conector que se cierre al final de una comunicación, de una o más memorias intermedias de procedimiento que se estén reasignando entre procedimientos, y así sucesivamente. Cuando la memoria intermedia de procedimiento seleccionada es una memoria intermedia de procedimiento para transmisión, el procedimiento de gestión de memoria predeterminada puede incluir el bloque de mensajes adicionales para que no sean agregados a la memoria intermedia de procedimiento para transmisión. Cuando una memoria intermedia de procedimiento para recepción, una memoria intermedia de procedimiento para transmisión, o ambas, asociadas con un conector particular, pudieran estar casi llenas, es deseable seguir comunicando mensajes seleccionados, tal como mensajes de control (por ejemplo AC ) , utilizando las memorias intermedias de reserva respectivas (operación 365) . Por supuesto, aquellos expertos en la técnica apreciarán que las estructuras descritas en la figura 1 y la figura 2, así como las operaciones que ejecutan el procedimiento 300 en la figura 3A, la figura 3B, y la figura 3C son para exposición y solo pretenden ejemplificar los principios inventivos de la presente invención. Por lo tanto, las entidades ejemplares que se ilustran en la figura 1, la figura 2, la figura 3A, la figura 3B, y la figura 3C se pueden desarrollar directa o indirectamente, total o parcialmente, en hardware, en software, o en una combinación operativa de las mismas; y puede ser un resultado operativo de funciones distribuidas a través del MSM (por ejemplo, MSM 112) , un gestor de comunicación (por ejemplo, gestor de comunicación 203) , un huésped local (por ejemplo, LHOST 102 ó 201), o un sistema de comunicación (por ejemplo, sistema de comunicación 100) . Aunque los métodos y aparatos ejemplares en la presente invención se describen dentro del contexto de la secuencia de protocolos jerárquicos, de múltiples capas, de capa de transporte/red TCP/IP, también se pueden utilizar para proveer la entrega de mensajes entre huéspedes empleando otros protocolos de comunicación de tipo de respuesta directa o indirecta, incluyendo, sin limitación, protocolos de comunicación basados en el reconocimiento. Aquellos expertos en la técnica ahora podrán realizar muchas sustituciones, modificaciones, alteraciones y equivalentes, sin apartarse del espíritu y alcance de la invención. Por lo tanto, se debe entender que las modalidades ilustradas se han establecido únicamente para los propósitos de ejemplo, y que no deberían considerarse una limitación de la invención, tal como lo definen las siguientes reivindicaciones. Por lo tanto, las siguientes reivindicaciones se leerán para incluir, no solo la combinación de elementos que literalmente se mencionan, sino todos los elementos equivalentes para ejecutar sustancialmente la misma función básicamente en la misma forma para obtener fundamentalmente el mismo resultado. Por lo tanto, se entenderá que las reivindicaciones incluyen lo que específicamente se ilustra y describe arriba, lo que es conceptualmente equivalente, y también lo que incorpora la invención.

Claims (1)

  1. NOVEDAD DE LA INVENCION Habiendo descrito el presente invento, se considera como una novedad y, por lo tanto, se reclama como prioridad lo contenido en las siguientes: REIVINDICACIONES 1. - Un método para comunicar un mensaje entre un huésped local y un huésped remoto que tiene una interfaz de huésped remoto, que comprende: asignar a una interfaz de huésped local una estructura de datos de control de comunicación correspondiente a la interfaz de huésped local, la interfaz de huésped local está colocada en el huésped local; asignar una memoria intermedia de procedimiento a la estructura de datos de control de comunicación para almacenar el mensaje, y asignar una memoria intermedia de reserva a la estructura de datos de control de comunicación, la memoria intermedia de reserva almacena el mensaje en respuesta a un estado operativo predeterminado . 2. - El método de conformidad con la reivindicación 1, que además comprende asignar la estructura de datos de control de comunicación, la memoria intermedia de procedimiento, y la memoria intermedia de reserva a partir de los objetos de memoria libre no asignados colocados en un depósito de memoria global, posteriormente la estructura de datos de control de comunicación, la memoria intermedia de procedimiento, y la memoria intermedia de reserva se designan como objetos de memoria asignados. 3.- El método de conformidad con la reivindicación 2, que además comprende: asignar los objetos de memoria libre no asignados como múltiples memorias intermedias de procedimiento a la estructura de datos de control de comunicación para almacenar el mensaje; y designar las memorias intermedias seleccionadas de las múltiples memorias intermedias de procedimiento como memorias intermedias de procedimiento para transmisión, configuradas para almacenar un mensaje transmitido. 4. - El método de conformidad con la reivindicación 3, que además comprende: designar otras memorias intermedias seleccionadas de las múltiples memorias intermedias de procedimiento como memorias intermedias de procedimiento para recepción, configuradas para almacenar un mensaje recibido. 5.- El método de conformidad con la reivindicación 4, que además comprende: asignar los objetos de memoria libre no asignados como múltiples memorias intermedias de reserva a la estructura de datos de control de comunicación; designar las memorias intermedias seleccionadas de las múltiples memorias intermedias de reserva para que sean memorias intermedias de reserva para transmisión; y asociar las memorias intermedias de reserva para transmisión con las memorias intermedias de procedimiento para transmisión respectivas. 6. - El método de conformidad con la reivindicación 5, que además comprende: designar otras memorias intermedias de las múltiples memorias intermedias de reserva para que sean memorias intermedias de reserva para recepción; y asociar las memorias intermedias de reserva para recepción con las memorias intermedias de procedimiento para recepción respectivas. 7. - El método de conformidad con la reivindicación 6, caracterizado porque la interfaz de huésped local comprende un conector TCP, y la estructura de datos de control de comunicación comprende un bloque de control de conector TCP. 8. - El método de conformidad con la reivindicación 7, que además comprende gestionar objetos de memoria asignados y objetos de memoria no asignados colocados en la memoria global utilizando una de asignación de memoria dinámica, reclamación de memoria dinámica, y una combinación de las mismas, elevando al máximo la memoria libre no asignada representada por los objetos de memoria no asignados. 9. - El método de conformidad con la reivindicación 6, caracterizado porque el estado operativo predeterminado es representativo de memoria libre no asignada que es menor que un limite de memoria predeterminado . 10. - Un método para comunicar mensajes entre un huésped local y un huésped remoto que tiene una interfaz de huésped remoto, el huésped local tiene memoria libre no asignada, el método comprende: asignar un bloque de control de conector TCP adaptado para corresponder a un conector de huésped local; asignar múltiples memorias intermedias de procedimiento al bloque de control de conector TCP para almacenar un mensaje que está siendo comunicado entre el conector en el huésped local y una interfaz de huésped remoto en el huésped remoto; asignar múltiples memorias intermedias de reserva al bloque de control de conector TCP; designar memorias intermedias seleccionadas de las múltiples memorias intermedias de procedimiento para que sean memorias intermedias de procedimiento para transmisión, configuradas para almacenar mensajes de transmisión del conector de huésped local a la interfaz de huésped remoto; designar otras memorias intermedias seleccionadas de las múltiples memorias intermedias de procedimiento para que sean memorias intermedias de procedimiento para recepción, configuradas para almacenar mensajes de recepción de la interfaz de huésped remoto al conector de huésped local; designar memorias intermedias seleccionadas de las múltiples memorias intermedias de reserva para que sean memorias intermedias de reserva para transmisión, configuradas para almacenar mensajes de transmisión del conector de huésped local a la interfaz de huésped remoto en respuesta a un estado operativo predeterminado; designar otras memorias intermedias seleccionadas de las múltiples memorias intermedias de reserva para que sean memorias intermedias de reserva para recepción, configuradas para almacenar mensajes de recepción de la interfaz de huésped remoto al conector de huésped local en respuesta al estado operativo predeterminado; asociar las memorias intermedias de reserva para transmisión con las memorias intermedias de procedimiento para transmisión respectivas; y asociar las memorias intermedias de reserva para recepción con las memorias intermedias de procedimiento para recepción respectivas; en donde el bloque de control de conector TCP, las memorias intermedias de procedimiento, y las memorias intermedias de reserva son asignadas a partir de la memoria libre no asignada colocada en un depósito de memoria global, y en donde el estado operativo predeterminado comprende una cantidad de memoria libre no asignada que es menor que un limite de memoria predeterminado. 11.- Un método para comunicar mensajes entre un huésped local y un huésped remoto que tiene una interfaz de huésped remoto, que comprende: asignar una estructura de datos de control de comunicación de la memoria libre de una memoria intermedia de comunicación colocada en el huésped local, la estructura de datos de control de comunicación corresponde a una interfaz de huésped local; asignar múltiples memorias intermedias de procedimiento a la estructura de datos de control de comunicación; designar memorias intermedias seleccionadas de las múltiples memorias intermedias de procedimiento para que sean memorias intermedias de procedimiento para transmisión y designar otras memorias intermedias seleccionadas de las múltiples memorias intermedias de procedimiento para que sean memorias intermedias de procedimiento para recepción; asignar múltiples memorias intermedias de reserva a la estructura de datos de control de comunicación; y designar memorias intermedias seleccionadas de las múltiples memorias intermedias de reserva para que sean memorias intermedias de reserva para transmisión y designar otras memorias intermedias seleccionadas de las múltiples memorias intermedias de reserva para que sean memorias intermedias de reserva para recepción; en donde las múltiples memorias intermedias de procedimiento están configuradas para almacenar un mensaje que está siendo comunicado entre la interfaz de huésped local en el huésped local y la interfaz de huésped remoto en el huésped remoto; en donde las memorias intermedias de procedimiento para recepción están configuradas para almacenar los mensajes recibidos desde la interfaz de huésped remoto a la interfaz de huésped local y las memorias intermedias de procedimiento para transmisión están configuradas para almacenar los mensajes transmitidos desde la interfaz de huésped local a la interfaz de huésped remoto; en donde las memorias intermedias de reserva están configuradas para almacenar un mensaje para comunicación entre la interfaz de huésped local en el huésped local y la interfaz de huésped remoto en el huésped remoto, y en donde las memorias intermedias de reserva almacenan mensajes en respuesta a un estado de memoria predeterminado. 12.- El método de conformidad con la reivindicación 11, que además comprende: asociar las memorias intermedias de reserva para transmisión seleccionadas con las memorias intermedias de procedimiento para transmisión seleccionadas respectivas; y asociar las memorias intermedias de reserva para recepción seleccionadas con las memorias intermedias de procedimiento para recepción seleccionadas respectivas. 13.- El método de conformidad con la reivindicación 11, caracterizado porque el estado operativo predeterminado es representativo de una cantidad de memoria libre no asignada que es menor que un limite de memoria predeterminado . 14.- Un método para comunicar mensajes entre un huésped local y un huésped remoto, el huésped local incluye un depósito de memoria global, el método comprende: dividir el depósito de memoria global en un depósito de memoria intermedia de procedimiento BP y un depósito de memoria intermedia de reserva BR; sensible a una solicitud para ello, crear a partir del depósito Bp una estructura de datos de control de comunicación correspondiente a una interfaz de huésped local; sensible a una solicitud para ello, asignar una memorias intermedias de procedimiento a partir del depósito BP a la estructura de datos de control de comunicación para almacenar un mensaje que está siendo comunicado entre la interfaz de huésped local en el huésped local y la interfaz de huésped remoto en el huésped remoto; y sensible a una solicitud para ello, asignar una memorias intermedias de reserva a la estructura de datos de control de comunicación, en donde la memorias intermedias de reserva es asignada de uno del depósito BP y el depósito BR sensible a un estado de memoria predeterminado, y en donde la memoria intermedia de reserva almacena un mensaje para comunicación entre la interfaz de huésped local en el huésped local y la interfaz de huésped remoto en el huésped remoto, sensible al estado de memoria predeterminado. 15.- El método de conformidad con la reivindicación 14, que además comprende: establecer un enlace de comunicación a través de una red de comunicación entre el huésped local y el huésped remoto que tiene una interfaz de huésped remoto; y uno de a) almacenar un mensaje de transmisión en una memoria intermedia de procedimiento para transmisión antes de transmitir el mensaje de transmisión al huésped remoto; n) almacenar un mensaje de recepción en una memoria intermedia de procedimiento para recepción después de recibir el mensaje de recepción del huésped remoto; c) una combinación de (a) y (b) . 16.- El método de conformidad con la reivindicación 15, que además comprende: monitorear uno del depósito BP y el depósito BP en cooperación con un depósito de memoria libre para determinar si existe un estado de memoria predeterminado; y en caso de existir el estado de memoria predeterminado, entonces uno de a) almacenar un mensaje de transmisión en una memoria intermedia de reserva para transmisión antes de transmitir el mensaje de transmisión al huésped remoto; b) almacenar un mensaje de recepción en una memoria intermedia de reserva para recepción después de recibir el mensaje de recepción del huésped remoto; c) una combinación de (a) y (b) . 17. - El método de conformidad con la reivindicación 16, caracterizado porque el depósito BP comprende: ubicaciones de memoria libre, ubicaciones de memoria comprometida, y una combinación de las mismas, y en donde el estado de memoria predeterminado existe si las ubicaciones de memoria libre son menores que un nivel de memoria predeterminado, i. 18. - El método de conformidad con la reivindicación 17, caracterizado porque el establecimiento del enlace de comunicación a través de la red de comunicación entre el huésped local y el huésped remoto además comprende establecer el enlace de comunicación entre la interfaz de huésped local y la interfaz de huésped remoto utilizando un protocolo de capa de transporte predeterminado . 19. - El método de conformidad con la reivindicación 18, caracterizado porque la interfaz de huésped local comprende un conector, y la estructura de datos de control de comunicación comprende un bloque de control de conector. 20. - El método de conformidad con la reivindicación 19, caracterizado porque por lo menos una porción del enlace de comunicación comprende una interfaz de aire física Um, y establecimiento del enlace de comunicación a través de la red de comunicación entre el huésped local y el huésped remoto además comprende entablar comunicación a través de una porción utilizando un protocolo inalámbrico predeterminado. 21.- Un método para comunicar mensajes entre un huésped local y un huésped remoto, el huésped local incluye un depósito de memoria global, el método comprende: dividir el depósito de memoria global en un depósito de memoria intermedia de procedimiento BE y un depósito de memoria intermedia de procedimiento BR; responder a las solicitudes respectivas para los mismos, creando a partir de la memoria libre del depósito BP estructuras de datos de control de comunicación respectivas correspondientes a interfaces de huésped local respectivas; responder a las solicitudes respectivas para los mismos, asignando memorias libres de procedimiento respectivas a partir de la memoria libre del depósito BP a las estructuras de datos de control de comunicación respectivas para almacenar mensajes que se están comunicando entre la interfaz de huésped local en el huésped local y la interfaz de huésped remoto en el huésped remoto; designar algunas de las memorias intermedias de procedimiento como memorias intermedias de procedimiento para transmisión y designar otras de las memorias intermedias de procedimiento como memorias intermedias de procedimiento para recepción; asociar las memorias intermedias de procedimiento para transmisión y las memorias intermedias de procedimiento para recepción seleccionadas con estructuras de datos de control de comunicación; responder a las solicitudes respectivas para los mismos, asignando memorias intermedias de reserva respectivas a la estructura de datos de control de comunicación, en donde la memoria intermedia de reserva es asignada a partir de uno del depósito BP y el depósito BR sensible a un estado de memoria predeterminado; designar algunas de las memorias intermedias de reserva como memorias intermedias de reserva para transmisión y designar otras de las memorias intermedias de reserva como memorias intermedias de reserva para recepción; y asociar las memorias intermedias de reserva para transmisión seleccionadas y las memorias intermedias de reserva para recepción seleccionadas con las estructuras de datos de control de comunicación respectivas; en donde cada uno del depósito BP y el depósito BR comprenden memoria libre, memoria comprometida, y una combinación de las mismas; y en donde las memorias intermedias de reserva almacenan mensajes para entablar comunicación entre la interfaz de huésped local en el huésped local y la interfaz de huésped remoto en el huésped remoto, sensible a un estado de memoria predeterminado. 22.- El método de conformidad con la reivindicación 21, que además comprende asociar las memorias intermedias de reserva para transmisión seleccionadas con las memorias intermedias de procedimiento para transmisión respectivas y las memorias intermedias de reserva para recepción seleccionadas con las memorias intermedias de procedimiento para recepción respectivas - 23.- El método de conformidad con la reivindicación 22, que además comprende: establecer un enlace de comunicación a través de una red de comunicación entre el huésped local y el huésped remoto que tiene una interfaz de huésped remoto; y uno de: a) almacenar mensajes de transmisión en memorias intermedias de procedimiento para transmisión de memoria libre respectivas antes de transmitir los mensajes de .transmisión al huésped remoto, las memorias intermedias de procedimiento para transmisión respectivas son designadas como memorias intermedias de procedimiento para transmisión de memoria comprometida después del almacenamiento; b) almacenar los mensajes de recepción en memorias intermedias de procedimiento para recepción de memoria libre respectivas y recibir los mensajes de recepción del huésped remoto, las memorias intermedias de procedimiento para recepción respectivas son designadas como memorias intermedias de procedimiento para recepción de memoria comprometida después del almacenamiento; y c) una combinación de (a) y (b) . 24. - El método de conformidad con la reivindicación 23 , caracterizado porque el estado de memoria predeterminado existe si la memoria libre en el depósito BP es menor que un nivel de memoria predeterminado, L. 25. - El método de conformidad con la reivindicación 24, que además comprende: monitorear el depósito Bp para determinar si existe un estado de memoria predeterminado; y en caso de existir el estado de memoria predeterminado, entonces uno de a) almacenar mensajes de transmisión en memorias intermedias de reserva para transmisión respectivas antes de transmitir los mensajes de transmisión al huésped remoto; b) almacenar el mensaje de recepción en memorias intermedias de reserva para recepción respectivas después de recibir el mensaje de recepción del huésped remoto; c) una combinación de (a) y (b) . 26. - El método de conformidad con la reivindicación 25, que además comprende: asociar memorias intermedias de procedimiento para transmisión seleccionadas, memorias intermedias de reserva para transmisión seleccionadas, memorias intermedias de procedimiento para recepción seleccionadas, y memorias intermedias de reserva para recepción seleccionadas con estructuras de datos de control de comunicación sensibles a una política de gestión de memoria seleccionada; y de acuerdo con la política de gestión de memoria seleccionada, efectuar la asociación a través de uno de: a) designar algunas de las memorias intermedias de procedimiento para transmisión de memoria comprometida seleccionadas como memorias intermedias de procedimiento para transmisión de memoria libre seleccionadas y asociar las memorias intermedias de procedimiento para transmisión de memoria libre seleccionadas con memoria libre del depósito BP; b) designar algunas de las memorias intermedias de reserva para transmisión de memoria comprometida seleccionadas como memorias intermedias de reserva para transmisión de memoria libre seleccionadas y asociar las memorias intermedias de reserva para transmisión de memoria libre seleccionadas con memoria libre del depósito BR; c) designar algunas de las memorias intermedias de procedimiento para recepción de memoria comprometida seleccionadas como memorias intermedias de procedimiento para recepción de memoria libre seleccionadas y asociar las memorias intermedias de procedimiento para recepción de memoria libre seleccionadas con memoria libre del depósito BP; d) designar algunas de las memorias intermedias de reserva para recepción de memoria comprometida seleccionadas como memorias intermedias de reserva para recepción de memoria libre seleccionadas y asociar las memorias intermedias de reserva para recepción de memoria libre seleccionadas con memoria libre del depósito BR; y e) una combinación por lo menos de dos de (a), (b) , (c) , y (d) ; en donde la política de gestión de memoria seleccionada incluye utilizar gestión de memoria dinámica incluyendo una de una asignación de memoria dinámica, reclamación de memoria dinámica, y una combinación de ambas, en donde la gestión de memoria dinámica está adaptada para cambiar selectivamente la asignación de memoria intermedia de una primera estructura de datos de control de comunicación a una segunda estructura de datos de control de comunicación; en donde la gestión de memoria dinámica está adaptada para cambiar selectivamente la asociación de memoria intermedia de reserva de una primera memoria intermedia de procedimiento a una segunda memoria intermedia de procedimiento; y en donde la política de gestión de memoria seleccionada está configurada para elevar al máximo memoria libre. 27.- El método de conformidad con la reivindicación 26, caracterizado porque el establecimiento del enlace de comunicación a través de la red de comunicación entre el huésped local y el huésped remoto además comprende establecer el enlace de comunicación entre la interfaz de huésped local y la interfaz de huésped remoto utilizando uno de: un protocolo de capa de red predeterminado; un protocolo de capa de transporte predeterminado; y un protocolo de capa de red predeterminado empleado en combinación con un protocolo de capa de trasporte predeterminado. 28. - El método de conformidad con la reivindicación 27, caracterizado porque la interfaz de huésped local es un conector, y la estructura de datos de control de comunicación es un bloque de control de conector. 29. - El método de conformidad con la reivindicación 28, caracterizado porque el establecimiento del enlace de comunicación entre la interfaz de huésped local y la interfaz de huésped remoto comprende utilizar el protocolo de capa de red predeterminado en combinación con el protocolo de capa de transporte predeterminado, en donde el protocolo de capa de red predeterminado es un Protocolo de Internet, en donde el protocolo de capa de transporte predeterminado es un Protocolo de Control de Transporte, en donde el conector es un conector de Protocolo de Control de Transporte, y en donde el bloque de control de conector es un bloque de control de conector TCP. 30.- El método de conformidad con la reivindicación 29, caracterizado porque por lo menos una porción del enlace de comunicación comprende una interfaz de aire física Umf y el establecimiento del enlace de comunicación a través de la red de comunicación entre el huésped local y el huésped remoto además comprende entablar comunicación a través de una porción utilizando un protocolo inalámbrico predeterminado. 31.- El método de conformidad con la reivindicación 21, que además comprende: asignar una memoria intermedia de procedimiento del depósito de memoria intermedia de procedimiento BP a una memoria intermedia de procedimiento para transmisión y una memoria intermedia de procedimiento para recepción; asignar una memoria intermedia de reserva del depósito de memoria intermedia de reserva BR a una memoria intermedia de reserva para transmisión y una memoria intermedia de reserva para recepción; asociar cooperativamente la memoria intermedia de reserva para transmisión con la memoria intermedia de procedimiento para transmisión, la memoria intermedia de reserva para transmisión en cooperación con la memoria intermedia de procedimiento para transmisión asociada para almacenar los mensajes transmitidos en respuesta a la existencia del estado operativo predeterminado; y asociar cooperativamente la memoria intermedia de reserva para recepción con la memoria intermedia de procedimiento para recepción, la memoria intermedia de reserva para recepción en cooperación con la memoria intermedia de procedimiento para recepción asociada para almacenar los mensajes transmitidos en respuesta a la existencia del estado operativo predeterminado. 32. - El método de conformidad con la reivindicación 31, que además comprende: monitorear la memoria libre no asignada para que la memoria libre no asignada disminuya a menos del nivel de memoria predeterminado; y si la memoria libre no asignada disminuye a menos del nivel de memoria predeterminado, almacenar mensajes por lo menos en una de la memoria intermedia de reserva para transmisión y la memoria intermedia de reserva para recepción. 33.- El método de conformidad con la reivindicación 32, que además comprende: dividir el depósito de memoria intermedia de reserva en un depósito de memoria intermedia de reserva para transmisión y un depósito de memoria intermedia de reserva para recepción; y si la memoria libre no asignada disminuye a menos del nivel de memoria predeterminado, asignar la memoria intermedia de reserva para transmisión del depósito de memoria intermedia de reserva para transmisión y asignar la memoria intermedia de reserva para recepción del depósito de memoria intermedia de reserva para recepción. 34.- El método de conformidad con la reivindicación 33, que además comprende gestionar la memoria en la memoria intermedia de comunicación, la memoria intermedia de procedimiento y la memoria intermedia de reserva utilizando una de la asignación de memoria, reclamación de memoria y una combinación de las mismas . 35. - Un sistema de comunicación entre un huésped local y un huésped remoto, que comprende: un gestor de comunicación, colocado en el huésped local y adaptado para comunicar un mensaje con el huésped remoto, el gestor de comunicación incluye: una memoria intermedia de procedimiento configurada para almacenar el mensaje comunicado con el huésped remoto; y una memoria intermedia de reserva configurada para almacenar el mensaje al momento de la existencia de un estado operativo predeterminado; un enlace de comunicación de red, establecido para comunicar el mensaje entre el huésped local y el huésped remoto; y un transceptor, acoplado entre el gestor de comunicación y el enlace de comunicación de red, y colocado para transferir el mensaje entre el enlace de comunicación de red y el gestor de comunicación. 36. - El sistema de comunicación de conformidad con la reivindicación 35, caracterizado porque el gestor de comunicación responde a un procedimiento local que se ejecuta en el huésped local, el gestor de comunicación además comprende: una interfaz de comunicación conectada al procedimiento local y adaptada para intercambiar mensajes entre una de la memoria intermedia de procedimiento y la memoria intermedia de reserva y el procedimiento local; y una característica de estructura de datos de control de comunicación de, y asignada para la interfaz de comunicación, en donde la memoria intermedia de procedimiento y la memoria intermedia de reserva son asignadas a la estructura de datos de control de comunicación. 37. - El sistema de comunicación de conformidad con la reivindicación 36, caracterizado porque el gestor de comunicación además comprende una memoria intermedia de comunicación colocada en el gestor de comunicación y que incluye objetos de memoria asignados, memoria libre no asignada, y una combinación de los mismos, en donde a cada una de la estructura de datos de control de comunicación, la memoria intermedia de procedimiento, y la memoria intermedia de reserva, se les asignan objetos de memoria en la memoria intermedia de comunicación, y en donde el estado operativo predeterminado existe cuando memoria libre no asignada es menor que un nivel de memoria libre predeterminado . 38. - El sistema de comunicación de conformidad con la reivindicación 37, que además comprende un gestor de memoria intermedia de comunicación operativamente conectado a la memoria intermedia de comunicación y que monitorea la memoria libre no asignada para la existencia del estado operativo predeterminado, el gestor de memoria intermedia de comunicación ocasiona que el mensaje sea almacenado en la memoria intermedia de reserva, sensible a la existencia del estado operativo predeterminado. 39. - El sistema de comunicación de conformidad con la reivindicación 38, que además comprende memorias intermedias de procedimiento y memorias intermedias de reserva asignadas a la estructura de datos de control de comunicación, en donde algunas de las memorias intermedias de procedimiento son designadas como memorias intermedias de procedimiento para transmisión y otras de las memorias intermedias de procedimiento son designadas como memorias intermedias de procedimiento para recepción, en donde algunas de las memorias intermedias de reserva son designadas como memorias intermedias de reserva para transmisión y otras de las memorias intermedias de procedimiento son designadas como memorias intermedias de reserva para recepción, en donde las memorias intermedias de reserva para transmisión seleccionadas están cooperativamente asociadas con las memorias intermedias de procedimiento para transmisión respectivas y las memorias intermedias de reserva para recepción seleccionadas están cooperativamente asociadas con las memorias intermedias de procedimiento para recepción respectivas. 40. - El sistema de comunicación de conformidad con la reivindicación 39, caracterizado porque la memoria intermedia de comunicación se divide en un depósito de memoria intermedia de procedimiento BP y depósito de memoria intermedia de reserva BP, la memoria intermedia de procedimiento es asignada a partir del depósito de memoria intermedia de procedimiento y la memoria intermedia de reserva es asignada a partir del depósito de memoria intermedia de reserva. 41. - El sistema de comunicación de conformidad con la reivindicación 40, caracterizado porque el huésped local comunica el mensaje con el huésped remoto sobre el enlace de comunicación de red utilizando un protocolo de capa de red predeterminado en combinación con un protocolo de capa de transporte predeterminado. 42. - El sistema de comunicación de conformidad con la reivindicación 41, caracterizado porque el protocolo de capa de red predeterminado comprende un Protocolo de Internet, en donde el protocolo de capa de transporte comprende un Protocolo de Control de Transporte, en donde la interfaz de comunicación comprende un conector de Protocolo de Control de Transporte, y en donde la estructura de datos de control de comunicación comprende un bloque de control de conector TCP. 43. - El sistema de comunicación de conformidad con la reivindicación 42, caracterizado porque una porción del enlace de comunicación de red atraviesa una interfaz de aire física (üm) y en donde el huésped local comunica el mensaje con el huésped remoto sobre la porción del enlace de comunicación de red utilizando un protocolo inalámbrico predeterminado. 44. - Un dispositivo de comunicación móvil, que comprende: un transceptor colocado en el dispositivo de comunicación móvil y adaptado para que se acople a un huésped remoto sobre una porción de un enlace de red de comunicación utilizando un protocolo inalámbrico predeterminado; y un gestor de comunicación colocado en el dispositivo de comunicación móvil, operativamente conectado al transceptor, y adaptado para comunicar mensajes con el huésped remoto, el gestor de comunicación incluye una memoria intermedia de comunicación que tiene memoria libre no asignada y una memoria intermedia de reserva asignada en el mismo, la memoria intermedia de reserva almacena los mensajes comunicados con el huésped remoto en respuesta a la disminución de la memoria libre no asignada a menos de un nivel de memoria predeterminado. 45. - El dispositivo de comunicación móvil de conformidad con la reivindicación 44, que además comprende una memoria intermedia de procedimiento asignada en la memoria intermedia de comunicación, la memoria intermedia de reserva está asociada con la memoria intermedia de procedimiento, la memoria intermedia de procedimiento almacena los mensajes comunicados con el huésped remoto sustancialmente de forma independiente de la disminución de la memoria libre no asignada a menos de un nivel de memoria predeterminado y en cooperación con la memoria intermedia de reserva para almacenar los mensajes comunicados con el huésped remoto en respuesta a la disminución de la memoria libre no asignada a menos del nivel de memoria predeterminado . 46. - El dispositivo de comunicación móvil de conformidad con la reivindicación 45, caracterizado porque la memoria intermedia de comunicación se divide en un depósito de memoria intermedia de procedimiento y un depósito de memoria intermedia de reserva, la memoria intermedia de procedimiento se asigna a partir del depósito de memoria intermedia de procedimiento y la memoria intermedia de reserva se asignada a partir del depósito de memoria intermedia de reserva. 47. - El dispositivo de comunicación móvil de conformidad con la reivindicación 46, caracterizado porque la memoria intermedia de procedimiento es repartida a una memoria intermedia de procedimiento para transmisión y una de memoria intermedia de procedimiento para recepción, y la memoria intermedia de reserva es repartida a una memoria intermedia de reserva para transmisión y una de memoria intermedia de reserva para recepción, en donde la memoria intermedia de reserva para transmisión está cooperativamente asociada con la memoria intermedia de procedimiento para transmisión y la memoria intermedia de reserva para recepción está cooperativamente asociada con la memoria intermedia de procedimiento para recepción, en donde la memoria intermedia de procedimiento para transmisión y la memoria intermedia de reserva para transmisión están configuradas para almacenar los mensajes transmitidos al huésped remoto, y en donde la memoria intermedia de procedimiento para recepción y la memoria intermedia de reserva para recepción están configuradas para almacenar los mensajes recibidos del huésped remoto. 48.- El dispositivo de comunicación móvil de conformidad con la reivindicación 47, que además comprende: un procedimiento local que se ejecute en el huésped local y que tiene una interfaz de procedimiento local que intercambie mensajes entre el procedimiento local y la memoria intermedia de comunicación; y una estructura de control de interfaz de comunicación de huésped local correspondiente a la interfaz de procedimiento local y configurada para comunicar mensajes con una interfaz de procedimiento remota en el huésped remoto, la estructura de control de interfaz de comunicación de huésped local cooperar de forma comunicativa con la memoria intermedia de procedimiento y la memoria intermedia de reserva, la memoria intermedia de procedimiento y la memoria intermedia de reserva son asignadas a la estructura de control de interfaz de comunicación de huésped local. 49.- El dispositivo de comunicación móvil de conformidad con la reivindicación 47, que además comprende un gestor de memoria intermedia de comunicación conectado a la memoria intermedia de comunicación, en donde el gestor de memoria intermedia de comunicación divide la memoria intermedia de comunicación en la memoria intermedia de procedimiento para transmisión y la memoria intermedia de procedimiento para recepción, en donde el gestor de memoria intermedia de comunicación asigna la memoria intermedia de procedimiento a la memoria intermedia de procedimiento para transmisión y la memoria intermedia de procedimiento para recepción, en donde el gestor de memoria intermedia de comunicación asigna la memoria intermedia de reserva a la memoria intermedia de reserva para transmisión y la memoria intermedia de reserva para recepción, en donde el gestor de memoria intermedia de comunicación monitorea la memoria libre no asignada, y en donde el gestor de memoria intermedia de comunicación ocasiona que los mensajes sean almacenados por lo menos en una de la memoria intermedia de reserva para transmisión y la memoria intermedia de reserva para recepción, en respuesta a la reducción de la memoria libre no asignada a menos del nivel de memoria predeterminado . 50. - El dispositivo de comunicación móvil de conformidad con la reivindicación 47, caracterizado porque el depósito de memoria intermedia de reserva se divide en un depósito de memoria intermedia de reserva para transmisión y un depósito de memoria intermedia de reserva para recepción, y sensible a la reducción de la memoria libre no asignada a menos del nivel de memoria predeterminado, en donde la memoria intermedia de reserva para transmisión se asigna a partir del depósito de memoria intermedia de reserva para transmisión y la memoria intermedia de reserva para recepción se asigna a partir del depósito de memoria intermedia de reserva para recepción. 51. - El dispositivo de comunicación móvil de conformidad con la reivindicación 47, caracterizado porque el gestor de memoria intermedia de comunicación divide el depósito de memoria intermedia de reserva en un depósito de memoria intermedia de reserva para transmisión y un depósito de memoria intermedia de reserva para recepción, y sensible a la reducción de la memoria libre no asignada a menos del nivel de memoria predeterminado, en donde el gestor de memoria intermedia de comunicación asigna la memoria intermedia de reserva para transmisión a partir del depósito de memoria intermedia de reserva para transmisión y asigna la memoria intermedia de reserva para recepción a partir del depósito de memoria intermedia de reserva para recepción . 52. - El dispositivo de comunicación móvil de conformidad con la reivindicación 51, caracterizado porque el gestor de memoria intermedia de comunicación ejecuta una de la asignación de memoria dinámica, reclamación de memoria dinámica, y una combinación de las mismas, en donde la memoria libre no asignada se eleva al máximo. 53. - El dispositivo de comunicación móvil de conformidad con la reivindicación 51, caracterizado porque el gestor de memoria intermedia de comunicación que además comprende : un gestor de memoria intermedia de procedimiento que gestiona la memoria intermedia de procedimiento, la gestión comprende una de la asignación de memoria, la reclamación de memoria, y una combinación de las mismas; y-un gestor de memoria intermedia de reserva que gestiona la memoria intermedia de reserva, la gestión comprende una de la asignación de memoria, la reclamación de memoria, y una combinación de las mismas. 54. - El dispositivo de comunicación móvil de conformidad con la reivindicación 45, caracterizado porque el gestor de memoria intermedia de comunicación selecciona por lo menos uno de un tamaño de la memoria intermedia de procedimiento y un número de memorias intermedias de procedimiento asignado en la memoria intermedia de comunicación en respuesta a uno de un tamaño de memoria intermedia anticipada, un propósito de comunicación pretendido de la interfaz de comunicación local, un parámetro de comunicación predeterminado, y una combinación de los mismos. 55. - El dispositivo de comunicación móvil de conformidad con la reivindicación 45, caracterizado porque el gestor de memoria intermedia de comunicación selecciona por lo menos uno de un tamaño de la memoria intermedia de reserva y un número de memorias intermedias de reserva asignado en la memoria intermedia de comunicación en respuesta a uno de un tamaño de memoria intermedia anticipada, un propósito de comunicación pretendido de la interfaz de comunicación local, un parámetro de comunicación predeterminado, y una combinación de los mismos . 56. - El dispositivo de comunicación móvil de conformidad con la reivindicación 55, caracterizado porque el gestor de memoria intermedia de comunicación selecciona por lo menos uno de un tamaño de la memoria intermedia de reserva y un número de memorias intermedias de reserva asignado en la memoria intermedia de comunicación en respuesta a uno de un tamaño de memoria intermedia anticipada, un propósito de comunicación pretendido de la interfaz de comunicación local, un parámetro de comunicación predeterminado, y una combinación de los mismos . 57.- El dispositivo de comunicación móvil de conformidad con la reivindicación 56, caracterizado porque el gestor de memoria intermedia de comunicación además comprende : un gestor de memoria intermedia de procedimiento que gestiona la memoria intermedia de procedimiento, la gestión incluye una de asignación de memoria, reclamación de memoria, y una combinación de las mismas; y un gestor de memoria intermedia de reserva que gestiona la memoria intermedia de reserva, la gestión incluye una de asignación de memoria, reclamación de memoria y una combinación de las mismas, en donde por lo menos uno del gestor de memoria intermedia de procedimiento y el gestor de memoria intermedia de reserva eleva al máximo la memoria libre no asignada ejecutando una de la asignación de memoria dinámica, la reclamación de memoria dinámica y una combinación de las mismas.
MXPA06002542A 2003-09-05 2004-09-01 Gestor de memoria intermedia de comunicacion y metodo para el mismo. MXPA06002542A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/655,659 US7707320B2 (en) 2003-09-05 2003-09-05 Communication buffer manager and method therefor
PCT/US2004/028578 WO2005027465A1 (en) 2003-09-05 2004-09-01 Communication buffer manager and method therefor

Publications (1)

Publication Number Publication Date
MXPA06002542A true MXPA06002542A (es) 2006-06-20

Family

ID=34226166

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06002542A MXPA06002542A (es) 2003-09-05 2004-09-01 Gestor de memoria intermedia de comunicacion y metodo para el mismo.

Country Status (4)

Country Link
US (1) US7707320B2 (es)
CN (1) CN1868193B (es)
MX (1) MXPA06002542A (es)
WO (1) WO2005027465A1 (es)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007500390A (ja) * 2003-07-28 2007-01-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 動的メモリ割振りをした集積回路
US7852856B2 (en) * 2003-08-29 2010-12-14 Broadcom Corp. System and method for providing pooling or dynamic allocation of connection context data
US7212538B2 (en) * 2003-09-05 2007-05-01 Qualcomm Incorporated Differential ack processing buffer manager and method therefor
JP4291664B2 (ja) * 2003-10-14 2009-07-08 株式会社日立製作所 通信バッファ予約機能を備えるストレージ装置およびシステム
US7636313B2 (en) * 2003-12-23 2009-12-22 Microsoft Corporation Use of internal buffer to reduce acknowledgement related delays in acknowledgement-based reliable communication protocols
JP2005333434A (ja) * 2004-05-20 2005-12-02 Matsushita Electric Ind Co Ltd 無線モジュール
JP2006033541A (ja) * 2004-07-20 2006-02-02 Hitachi Communication Technologies Ltd 移動端末装置、サーバ、および通信システム
US20060074872A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Adaptive database buffer memory management using dynamic SQL statement cache statistics
DE102005052971A1 (de) * 2005-11-07 2007-05-10 Siemens Ag Datenverarbeitungsvorrichtung und Verfahren zum Betrieb
WO2007115199A2 (en) 2006-03-31 2007-10-11 Qualcomm Incorporated Memory management for high speed media access control
US7694041B2 (en) * 2006-05-19 2010-04-06 Arabella Software Ltd. Method for managing buffers pool and a system using the method
US8726283B1 (en) * 2007-06-04 2014-05-13 Nvidia Corporation Deadlock avoidance skid buffer
US8472934B2 (en) * 2007-11-28 2013-06-25 Nokia Corporation Portable apparatus, method and user interface
US7933283B1 (en) * 2008-03-04 2011-04-26 Cortina Systems, Inc. Shared memory management
US9584446B2 (en) * 2008-03-18 2017-02-28 Vmware, Inc. Memory buffer management method and system having multiple receive ring buffers
EP2128725B1 (de) * 2008-05-28 2011-06-29 Siemens Aktiengesellschaft Verfahren zur Zuteilung von Speicher in einem Pufferspeicher
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8250207B2 (en) * 2009-01-28 2012-08-21 Headwater Partners I, Llc Network based ambient services
US8117420B2 (en) * 2008-08-07 2012-02-14 Qualcomm Incorporated Buffer management structure with selective flush
CN101478472B (zh) * 2008-10-21 2011-09-07 北京闪联讯通数码科技有限公司 一种Socket数据传输处理方法及装置
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US11985155B2 (en) 2009-01-28 2024-05-14 Headwater Research Llc Communications device with secure data path processing agents
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US20120047108A1 (en) * 2010-08-23 2012-02-23 Ron Mandel Point-in-time (pit) based thin reclamation support for systems with a storage usage map api
US8868643B2 (en) * 2010-09-09 2014-10-21 Fisher-Rosemount Systems, Inc. Methods and apparatus to collect process control data
WO2013052068A1 (en) * 2011-10-07 2013-04-11 Intel Corporation Mechanism for employing and facilitating dynamic and remote memory collaboration at computing devices
CN102546140A (zh) * 2012-01-10 2012-07-04 苏州阔地网络科技有限公司 一种双工通信的方法及通信服务器
US9009684B2 (en) * 2012-04-18 2015-04-14 International Business Machines Corporation Method, apparatus and product for porting applications to embedded platforms
US8782221B2 (en) * 2012-07-05 2014-07-15 A10 Networks, Inc. Method to allocate buffer for TCP proxy session based on dynamic network conditions
WO2015039342A1 (en) * 2013-09-23 2015-03-26 Qualcomm Incorporated Systems and methods for providing a desired bandwidth in a wireless network
US10776033B2 (en) * 2014-02-24 2020-09-15 Hewlett Packard Enterprise Development Lp Repurposable buffers for target port processing of a data transfer
US9548906B2 (en) * 2014-11-24 2017-01-17 Nxp Usa, Inc. High availability multi-partition networking device with reserve partition and method for operating
CN105701019A (zh) 2014-11-25 2016-06-22 阿里巴巴集团控股有限公司 一种内存管理方法以及装置
KR102246465B1 (ko) * 2014-12-12 2021-04-30 삼성전자 주식회사 무선 통신 시스템에서 자원 분배 방법 및 장치
KR20170050953A (ko) * 2015-11-02 2017-05-11 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US10284488B1 (en) 2016-03-30 2019-05-07 Emc Corporation Aggregate socket resource management
CN106921751A (zh) * 2017-04-07 2017-07-04 广东浪潮大数据研究有限公司 一种可靠连接的通信方法及装置
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
US11068544B2 (en) 2018-07-31 2021-07-20 Marvell Asia Pte, Ltd. Systems and methods for generating metadata describing unstructured data objects at the storage edge
US11558348B2 (en) 2019-09-26 2023-01-17 Apple Inc. Methods and apparatus for emerging use case support in user space networking
US11829303B2 (en) 2019-09-26 2023-11-28 Apple Inc. Methods and apparatus for device driver operation in non-kernel space
US11567803B2 (en) * 2019-11-04 2023-01-31 Rambus Inc. Inter-server memory pooling
US11606302B2 (en) 2020-06-12 2023-03-14 Apple Inc. Methods and apparatus for flow-based batching and processing
US11775359B2 (en) 2020-09-11 2023-10-03 Apple Inc. Methods and apparatuses for cross-layer processing
US11954540B2 (en) 2020-09-14 2024-04-09 Apple Inc. Methods and apparatus for thread-level execution in non-kernel space
US11799986B2 (en) 2020-09-22 2023-10-24 Apple Inc. Methods and apparatus for thread level execution in non-kernel space
US11722412B1 (en) * 2020-09-28 2023-08-08 Amazon Technologies, Inc. Dynamically managing connection parameters among multiple computing devices
US11882051B2 (en) 2021-07-26 2024-01-23 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11876719B2 (en) 2021-07-26 2024-01-16 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2618A (en) * 1842-05-12 Beehive
JP2876914B2 (ja) * 1992-09-07 1999-03-31 日本電気株式会社 パケット交換装置におけるバッファ制御方式
IL122271A (en) 1997-11-21 2001-01-11 Eci Telecom Ltd Apparatus and method for managing network congestion
US6286762B1 (en) * 1999-09-21 2001-09-11 Intermec Ip Corp. Method and apparatus to perform a predefined search on data carriers, such as RFID tags
US6308238B1 (en) 1999-09-24 2001-10-23 Akamba Corporation System and method for managing connections between clients and a server with independent connection and data buffers
EP1139605A1 (en) 2000-03-31 2001-10-04 Telefonaktiebolaget L M Ericsson (Publ) Network controller and communication packet data transfer with reduced delay
US6990531B2 (en) 2000-04-17 2006-01-24 Circadence Corporation System and method for providing last-mile data prioritization
US8218555B2 (en) 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
WO2003045035A2 (en) 2001-11-15 2003-05-30 Unisys Corporation Dialog recovery and acknowledgement accumulation in a multi-computer system
US7535913B2 (en) * 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols

Also Published As

Publication number Publication date
CN1868193B (zh) 2011-07-27
US20050055406A1 (en) 2005-03-10
US7707320B2 (en) 2010-04-27
CN1868193A (zh) 2006-11-22
WO2005027465A1 (en) 2005-03-24

Similar Documents

Publication Publication Date Title
MXPA06002542A (es) Gestor de memoria intermedia de comunicacion y metodo para el mismo.
US7212538B2 (en) Differential ack processing buffer manager and method therefor
US6078564A (en) System for improving data throughput of a TCP/IP network connection with slow return channel
US8605578B1 (en) System and method for handling of destination host side congestion
US6226676B1 (en) Connection establishment and termination in a mixed protocol network
EP0214625B1 (en) Flow control scheme for a switching network
US5751719A (en) Method and system for data transfer in the presence of disconnects
US9825863B2 (en) Buffer control for multi-transport architectures
EP0944981A1 (en) Method and system for integration of several physical media for data communications
WO1998018247A9 (en) Method and system for integration of several physical media for data communications
JPS62297927A (ja) コンピュ−タ・ネットワ−クのメッセ−ジ交換方法
US7725556B1 (en) Computer system with concurrent direct memory access
US6947435B1 (en) Radio communication system and apparatus, communication method and program recording medium therefor
US20110038369A1 (en) Communication method and apparatus based on user datagram protocol
CN103716141A (zh) 在移动通信系统中用于用户设备的信号传输方法和装置
US7107345B2 (en) Method for managing socket in mobile communication system
JPH04839A (ja) パケット通信方法
CN114124316A (zh) 一种数据传输方法、装置、节点设备及数据传输网络
KR100860541B1 (ko) 단일 패킷 데이터 네트워크에서 단말의 다중 인터페이스를 지원하는 시스템
CN116260887A (zh) 数据传输方法、数据发送装置、数据接收装置和存储介质
Garlick et al. Reliable host-to-host protocols: Problems and techniques
WO2012089009A1 (zh) 多路径传送语音报文的方法、设备及系统
Bochmann et al. Message link protocol (MLP) functional specification
CN101483508B (zh) 一种确认方式数据传输的流量控制方法及系统
KR20010001416A (ko) 연속 미디어 처리용 신뢰 멀티캐스트 데이터 전송 방법

Legal Events

Date Code Title Description
FG Grant or registration