[ { "title": "Server monitoring framework", "publication_date": "2005/05/12", "number": "2054098", "url": "/2005/12/05/server-monitoring-framework/", "abstract": "A novel software framework monitors server statistics for a plurality of software modules and makes its collected statistics available to those modules. Unlike prior implementations, the framework provides shared server-monitoring code through which the plurality of software modules can monitor various types of servers, such as authentication servers, ICAP servers, origin servers, hierarchical proxy servers and so forth. Because the same server-monitoring code is accessed by each of the software modules, the overall amount of code that is written, compiled and executed may be reduced. Moreover, the shared server-monitoring code is not protocol-dependant and therefore may be coded outside of the kernel-level protocol engines. Preferably, the shared server-monitoring code is implemented as a user-level thread or process.", "owner": "NetApp, Inc.", "owner_city": "Sunnyvale", "owner_country": "US" }, { "title": "Application behavior based malware detection", "publication_date": "2005/11/10", "number": "07779472", "url": "/2005/10/11/application-behavior-based-malware-detection/", "abstract": "An executable file is loaded into a virtual machine arranged to emulate the instructions of said executable file. The virtual machine keeps track of application programming interfaces (APIs) used by the executable file during emulation. The executable file is scanned to determine names of (APIs) used. Behavior flags are set if certain conditions occur within the executable file. The APIs determined during emulation and during scanning are compared with a set of known behaviors. A match of the APIs and the known behaviors indicates a high risk of malware. A determination of malware being present is based upon any matches and any behavior flags that are set.", "owner": "Trend Micro, Inc.", "owner_city": "Tokyo", "owner_country": "JP" }, { "title": "Device memory management during electronic file updating", "publication_date": "2005/22/07", "number": "07779055", "url": "/2005/07/22/device-memory-management-during-electronic-file-updating/", "abstract": "In performing memory management, an upgrade client of a host device identifies and reserves memory blocks large enough to accommodate new software components by performing sequential searches of first and second memory areas. The new software components are updated versions of components of original software files. When the new component size exceeds that of available blocks of the first and second memory areas, the upgrade client rewrites the first memory area to eliminate unused memory blocks, reapportions the first and second memory areas, writes the new component to the second memory area, and updates a vector table. To access host device software components, the upgrade client receives a function call from the main program of the host device including identification information of corresponding software files, reads a start address of the corresponding software files from the vector table, and generates a call for the corresponding software files.", "owner": "Innopath Software, Inc.", "owner_city": "Sunnyvale", "owner_country": "US" }, { "title": "Apparatus and method for multiplexing communication signals", "publication_date": "2005/31/01", "number": "08054947", "url": "/2005/01/31/apparatus-and-method-for-multiplexing-communication-signals/", "abstract": "In a PBX environment, a middleware module abstracts communication cards so that the plurality of channels associated therewith are grouped for efficiency. The middleware module recognizes unoperational channels, and restarts the hardware associated with the channels as well as allowing conferencing and transferring calls when the PBX switch does not support same. Preferably, for outgoing calls, the middleware adapter controls the state of interfaces for all hardware adapters and tries to deliver calls over active interfaces. In case of failure, the middleware adapter investigates and makes a decision if the call should be delivered over another adapter. In this way, redundant and highly available solutions are implemented transparent to application and interface drivers. For incoming calls, the middleware adapter accepts calls from all hardware adapters and presents these calls to applications as if these calls are issued by one adapter.", "owner": "Eicon Networks Corporation", "owner_city": "Montreal", "owner_country": "CA" } ]