Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
First Claim
1. In a data communications environment including:
- a plurality of data networks or subnetworks capable of communicating Internet Protocol packet-based data;
at least one resource consumer that consumes at least one resource;
at least one mobile computing device coupled to at least one of said plurality of networks or subnetworks; and
at least another computing device that is coupled to at least one of said plurality of networks or subnetworks,wherein said at least one mobile computing device communicates with said at least another computing device at least in part via at least one of said plurality of networks or subnetworks,a distributed policy-management arrangement comprising;
a policy management module present at least on said at least one mobile computing device, said policy management module dynamically conditioning or dynamically modifying at least one of consumption of and access to said at least one resource by said at least one resource consumer;
wherein said distributed policy management arrangement provides at least one of (a) a rule, and (b) a control, that dynamically conditions or dynamically modifies at least one of said consumption of and said access to said resource by the resource consumer based at least in part on at least one of (a) a change in the state of the resource consumer, (b) the identity of the resource consumer, (c) said mobile computing device'"'"'s communication capability via at least one of said plurality of networks or subnetworks, (d) a time event associated with said policy management arrangement, and (e) a mobility event associated with said mobile computing device,wherein said policy management arrangement dynamically conditions or dynamically modifies said consumption of or access to the said at least one resource even if said communication(s) are encrypted.
12 Assignments
0 Petitions

Accused Products

Abstract
A seamless solution transparently addresses the characteristics of nomadic systems, and enables existing network applications to run reliably in mobile environments. A Mobility Management Server coupled to the mobile network maintains the state of each of any number of Mobile End Systems and handles the complex session management required to maintain persistent connections to the network and to other peer processes. If a Mobile End System becomes unreachable, suspends, or changes network address (e.g., due to roaming from one network interconnect to another), the Mobility Management Server maintains the connection to the associated peer task—allowing the Mobile End System to maintain a continuous connection even though it may temporarily lose contact with its network medium. An interface-based listener uses network point of attachment information supplied by a network interface to determine roaming conditions and to efficiently reestablish connection upon roaming. The Mobility Management Server can distribute lists to Mobile End Systems specifying how to contact it over disjoint networks.
614 Citations
Systems and methods for providing structured policy expressions to represent unstructured data in a network appliance | ||
Patent #
US 7,865,589 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Data access, replication or communication system comprising a distributed software application | ||
Patent #
US 7,912,896 B2
Filed 04/19/2004
|
Current Assignee
Blackberry Limited
|
Original Assignee
Good Technology Corporation
|
Method and apparatus for providing policy-based document control | ||
Patent #
US 7,870,294 B2
Filed 10/01/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
SYSTEM AND METHOD OF AUTOMATICALLY MAINTAINING A LINE-OF-SIGHT COMMUNICATION CHANNEL | ||
Patent #
US 20110021231A1
Filed 07/21/2009
|
Current Assignee
Honeywell International Inc.
|
Original Assignee
Honeywell International Inc.
|
Systems and methods for using object oriented expressions to configure application security policies | ||
Patent #
US 7,870,277 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Mobile router device | ||
Patent #
US 20110051703A1
Filed 09/07/2010
|
Current Assignee
WAAV Incorporated
|
Original Assignee
Brian J. Smith, John C. Fulknier
|
Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks | ||
Patent #
US 7,908,342 B2
Filed 08/27/2009
|
Current Assignee
Publishing Technologies LLC
|
Original Assignee
Wireless Ink Corporation
|
Using statistical analysis to generate exception rules that allow legitimate messages to pass through application proxies and gateways | ||
Patent #
US 7,890,996 B1
Filed 02/18/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Teros Inc.
|
Method and apparatus for assigning access control levels in providing access to networked content files | ||
Patent #
US 7,865,603 B2
Filed 10/01/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
LOCALIZED NETWORK AUTHENTICATION AND SECURITY USING TAMPER-RESISTANT KEYS | ||
Patent #
US 20110055574A1
Filed 11/09/2010
|
Current Assignee
KoolSpan Inc.
|
Original Assignee
KoolSpan Inc.
|
Medication management system | ||
Patent #
US 7,895,053 B2
Filed 08/31/2004
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
Hospira Incorporated
|
Systems and methods for routing VPN traffic around network disruption | ||
Patent #
US 7,953,889 B2
Filed 08/03/2006
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
METHOD, APPARATUS AND SYSTEM FOR MANAGEMENT OF INFORMATION CONTENT FOR ENHANCED ACCESSIBILITY OVER WIRELESS COMMUNICATION NETWORKS | ||
Patent #
US 20110138297A1
Filed 02/15/2011
|
Current Assignee
Wireless Ink Corporation
|
Original Assignee
Wireless Ink Corporation
|
TRIGGERING ACTIONS BASED ON CHANGES IN A NETWORK CONNECTION | ||
Patent #
US 20110093583A1
Filed 10/16/2009
|
Current Assignee
Apple Inc.
|
Original Assignee
Apple Inc.
|
Performance logging using relative differentials and skip recording | ||
Patent #
US 7,924,884 B2
Filed 12/20/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for performing flash crowd caching of dynamically generated objects in a data communication network | ||
Patent #
US 7,921,184 B2
Filed 12/30/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method of determining path maximum transmission unit | ||
Patent #
US 7,969,876 B2
Filed 04/24/2009
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and system for subnet-based transmission of mobile station location | ||
Patent #
US 8,000,724 B1
Filed 10/07/2002
|
Current Assignee
Sprint Spectrum LP
|
Original Assignee
Sprint Spectrum LP
|
RADIO TRANSMISSION DEVICE AND RADIO TRANSMISSION METHOD | ||
Patent #
US 20110167312A1
Filed 09/28/2009
|
Current Assignee
Panasonic Corporation
|
Original Assignee
Panasonic Corporation
|
Method and systems for routing packets from an endpoint to a gateway | ||
Patent #
US 8,019,868 B2
Filed 09/10/2009
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for providing a VPN solution | ||
Patent #
US 7,978,716 B2
Filed 12/17/2008
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Methods and systems for securing access to private networks using encryption and authentication technology built in to peripheral devices | ||
Patent #
US 7,978,714 B2
Filed 07/22/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for adjusting the maximum transmission unit by an intermediary device | ||
Patent #
US 8,014,421 B2
Filed 09/15/2009
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and system for verification of an endpoint security scan | ||
Patent #
US 8,024,568 B2
Filed 10/21/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Flexible billing architecture | ||
Patent #
US 8,010,082 B2
Filed 10/19/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
PUBLIC WIRELESS NETWORK PERFORMANCE MANAGEMENT SYSTEM WITH MOBILE DEVICE DATA COLLECTION AGENTS | ||
Patent #
US 20110191465A1
Filed 01/31/2011
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Managing user-to-user contact with inferred presence information | ||
Patent #
US 8,069,166 B2
Filed 02/27/2006
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Method and apparatus for providing mobile and other intermittent connectivity in a computing environment | ||
Patent #
US 8,060,656 B2
Filed 05/27/2005
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Multiple data store authentication | ||
Patent #
US 8,064,583 B1
Filed 09/21/2006
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Systems and methods for network disruption shielding techniques | ||
Patent #
US 8,046,830 B2
Filed 07/22/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and system for assigning access control levels in providing access to networked content files | ||
Patent #
US 8,065,423 B2
Filed 03/01/2006
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Mobile router device | ||
Patent #
US 7,778,230 B2
Filed 01/06/2007
|
Current Assignee
WAAV Incorporated
|
Original Assignee
WAAU Inc.
|
Localized network authentication and security using tamper-resistant keys | ||
Patent #
US 7,853,788 B2
Filed 12/13/2007
|
Current Assignee
KoolSpan Inc.
|
Original Assignee
KoolSpan Inc.
|
CHANNEL ASSIGNMENT BASED ON SPATIAL STRATEGIES IN A WIRELESS NETWORK USING ADAPTIVE ANTENNA ARRAYS | ||
Patent #
US 20100118729A1
Filed 01/21/2010
|
Current Assignee
Intel Corporation
|
Original Assignee
Mitchell D. Trott, Athanasios A. Kasapi, Elvino S. Sousa
|
METHOD AND APPARATUS PROVIDING AUTOMATIC CONNECTION ANNOUNCEMENT FROM A MODULAR NETWORK DEVICE TO A NETWORK MANAGEMENT POINT | ||
Patent #
US 20100042708A1
Filed 10/26/2009
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Arnold Stamler, Ikramullah Mohammad
|
Method and apparatus for reducing disclosure of proprietary data in a networked environment | ||
Patent #
US 7,711,835 B2
Filed 09/30/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Rule generalization for web application entry point modeling | ||
Patent #
US 7,774,834 B1
Filed 02/18/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Scalable resource discovery and reconfiguration for distributed computer networks | ||
Patent #
US 7,783,762 B2
Filed 09/22/2006
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
METHODS AND SYSTEMS FOR COLLECTION, TRACKING, AND DISPLAY OF NEAR REAL TIME MULTICAST DATA | ||
Patent #
US 20100050084A1
Filed 08/20/2008
|
Current Assignee
The Boeing Co.
|
Original Assignee
The Boeing Co.
|
Early generation of acknowledgements for flow control | ||
Patent #
US 7,698,453 B2
Filed 07/28/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Oribital Data Corporation
|
METHODS AND APPARATUS FOR PROVIDING ACCESS TO PERSISTENT APPLICATION SESSIONS | ||
Patent #
US 20100011113A1
Filed 09/21/2009
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for locating wired networks using wireless data | ||
Patent #
US 7,715,851 B2
Filed 12/19/2003
|
Current Assignee
Lenovo PC International Limited
|
Original Assignee
Lenovo Singapore Pte Limited
|
Policy based network address translation | ||
Patent #
US 7,760,729 B2
Filed 05/28/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Channel assignment based on spatial strategies in a wireless network using adaptive antenna arrays | ||
Patent #
US 7,702,336 B2
Filed 05/15/2009
|
Current Assignee
Intel Corporation
|
Original Assignee
Intel Corporation
|
Mobile network configuration and method | ||
Patent #
US 20100020753A1
Filed 04/18/2008
|
Current Assignee
WAAV Incorporated
|
Original Assignee
WAAV Incorporated
|
Method for maintaining transaction integrity across multiple remote access servers | ||
Patent #
US 7,657,657 B2
Filed 08/11/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method, Apparatus and System for Management of Information Content for Enhanced Accessibility Over Wireless Communication Networks | ||
Patent #
US 20100042700A1
Filed 08/27/2009
|
Current Assignee
Publishing Technologies LLC
|
Original Assignee
Wireless Ink Corporation
|
Flow control system architecture | ||
Patent #
US 7,656,799 B2
Filed 07/28/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for bandwidth selection in a communication network | ||
Patent #
US 7,688,733 B1
Filed 08/04/2003
|
Current Assignee
Sprint Communications Company LP
|
Original Assignee
Sprint Communications Company LP
|
Systems and methods for providing authentication credentials across application environments | ||
Patent #
US 7,685,298 B2
Filed 12/01/2006
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods of providing proxy-based quality of service | ||
Patent #
US 7,706,266 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
MEDICATION MANAGMENT SYSTEM | ||
Patent #
US 20100130933A1
Filed 12/16/2009
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
Hospira Incorporated
|
Systems and methods for communicating a lossy protocol via a lossless protocol | ||
Patent #
US 7,724,657 B2
Filed 07/22/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Remote survivable DHCP for a DHCP relay agent | ||
Patent #
US 7,711,826 B2
Filed 03/22/2005
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Method and apparatus for associating tickets in a ticket hierarchy | ||
Patent #
US 7,748,032 B2
Filed 09/30/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for establishing a virtual private network | ||
Patent #
US 7,757,074 B2
Filed 01/24/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Application Networking LLC
|
Systems and methods for providing virtual fair queueing of network traffic | ||
Patent #
US 7,796,510 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
METHOD AND APPARATUS FOR PROVIDING ACCESS FOR A LIMITED SET OF MOBILE STATIONS TO A RESTRICTED LOCAL ACCESS POINT | ||
Patent #
US 20100228859A1
Filed 05/30/2006
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements | ||
Patent #
US 7,808,906 B2
Filed 07/22/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for performing entity tag and cache control of a dynamically generated object not identified as cacheable in a network | ||
Patent #
US 7,849,269 B2
Filed 12/30/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for configuring handling of undefined policy events | ||
Patent #
US 7,853,679 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for configuring flow control of policy expressions | ||
Patent #
US 7,853,678 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for performing entity tag and cache control of a dynamically generated object not identified as cacheable in a network | ||
Patent #
US 7,849,270 B2
Filed 07/16/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Apparatus and methods for maintaining the registration state of an IP device in a network address port translation (NAPT) environment | ||
Patent #
US 7,480,305 B1
Filed 02/19/2002
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Mobile station intermittently receiving a radio signal | ||
Patent #
US 7,526,318 B2
Filed 09/02/2004
|
Current Assignee
NEC Corporation
|
Original Assignee
NEC Corporation
|
Method and apparatus for providing automatic frame relay and ATM provisioning of network devices | ||
Patent #
US 7,523,185 B1
Filed 01/13/2004
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Mobile communication system, location manager and routing manager | ||
Patent #
US 7,519,025 B2
Filed 01/27/2004
|
Current Assignee
NTT Docomo Incorporated
|
Original Assignee
NTT Docomo Incorporated
|
Internet Protocol Version 4 Support for Proxy Mobile Internet Protocol Version 6 Route Optimization Protocol | ||
Patent #
US 20090122750A1
Filed 11/10/2008
|
Current Assignee
Futurewei Technologies Incorporated
|
Original Assignee
Futurewei Technologies Incorporated
|
Providing online connectivity across a range of electronic communications systems | ||
Patent #
US 7,532,571 B1
Filed 06/27/2003
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Peer-to-peer (P2P) mobility system, and method | ||
Patent #
US 7,536,467 B2
Filed 04/20/2004
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Method of determining path maximum transmission unit | ||
Patent #
US 7,542,471 B2
Filed 10/29/2003
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Self-managed network access using localized access management | ||
Patent #
US 7,574,731 B2
Filed 10/07/2003
|
Current Assignee
KoolSpan Inc.
|
Original Assignee
KoolSpan Inc.
|
Methods and apparatus for providing access to persistent application sessions | ||
Patent #
US 7,594,018 B2
Filed 10/10/2003
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and systems for routing packets from an endpoint to a gateway | ||
Patent #
US 7,606,902 B2
Filed 07/22/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for adjusting the maximum transmission unit for encrypted communications | ||
Patent #
US 7,609,721 B2
Filed 07/22/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Wavefront detection and disambiguation of acknowledgments | ||
Patent #
US 7,616,638 B2
Filed 07/28/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Orbital Data Corporation
|
COMMUNICATIONS PATH STATUS DETECTION SYSTEM | ||
Patent #
US 20090307522A1
Filed 05/07/2009
|
Current Assignee
Netmotion Wireless Holdings Inc.
|
Original Assignee
Padcom Incorporated
|
SYSTEMS AND METHODS TO MINIMIZE CUSTOMER EQUIPMENT DOWNTIME IN A VOICE OVER INTERNET PROTOCOL (VOIP) SERVICE NETWORK | ||
Patent #
US 20090296567A1
Filed 05/30/2008
|
Current Assignee
ATT Intellectual Property I LP
|
Original Assignee
ATT Intellectual Property I LP
|
SYSTEMS AND METHODS TO MONITOR AND ANALYZE CUSTOMER EQUIPMENT DOWNTIME IN A VOICE OVER INTERNET PROTOCOL (VOIP) SERVICE NETWORK | ||
Patent #
US 20090296566A1
Filed 05/30/2008
|
Current Assignee
ATT Intellectual Property I LP
|
Original Assignee
ATT Intellectual Property I LP
|
Method and apparatus providing automatic connection announcement from a modular network device to a network management point | ||
Patent #
US 7,631,055 B1
Filed 04/23/2003
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
TCP selective acknowledgements for communicating delivered and missed data packets | ||
Patent #
US 7,630,305 B2
Filed 07/28/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Orbital Data Corporation
|
Localized network authentication and security using tamper-resistant keys | ||
Patent #
US 7,325,134 B2
Filed 10/07/2003
|
Current Assignee
KoolSpan Inc.
|
Original Assignee
KoolSpan Inc.
|
Systems and Methods for Policy Based Triggering of Client-Authentication at Directory Level Granularity | ||
Patent #
US 20080034410A1
Filed 08/03/2006
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method for sending messages over secure mobile communication links | ||
Patent #
US 7,346,926 B2
Filed 01/21/2003
|
Current Assignee
MPH Technologies Oy
|
Original Assignee
Netseal Mobility Technologies
|
Method and apparatus for uninterrupted packet transfer using replication over disjoint paths | ||
Patent #
US 7,373,543 B1
Filed 04/08/2004
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
LOCALIZED NETWORK AUTHENTICATION AND SECURITY USING TAMPER-RESISTANT KEYS | ||
Patent #
US 20080104399A1
Filed 12/13/2007
|
Current Assignee
KoolSpan Inc.
|
Original Assignee
KoolSpan Inc.
|
SYSTEM AND METHOD FOR CONTROLLING MOBILE DEVICE ACCESS TO A NETWORK | ||
Patent #
US 20080137593A1
Filed 10/23/2007
|
Current Assignee
McAfee Inc.
|
Original Assignee
Trust Digital
|
System and method for secure network roaming | ||
Patent #
US 7,389,412 B2
Filed 08/05/2002
|
Current Assignee
Syniverse Technologies LLC
|
Original Assignee
INTERACTIVE TECHNOLOGY LIMITED OF HK
|
Wireless communication system which improves reliability and throughput of communication and retransmission timeout determining method used for the same | ||
Patent #
US 7,417,956 B2
Filed 02/18/2004
|
Current Assignee
Rakuten Inc.
|
Original Assignee
NEC Corporation
|
Communication scheme with arbitration mechanism for cases of address initialization and server setting | ||
Patent #
US 7,411,952 B2
Filed 07/09/2003
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
METHOD TO APPLY NETWORK ENCRYPTION TO FIREWALL DECISIONS | ||
Patent #
US 20080256618A1
Filed 04/10/2007
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Method and apparatus for automatically synchronizing a unique identifier of a network device | ||
Patent #
US 7,451,224 B1
Filed 04/23/2003
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
COMMUNICATION SCHEME WITH ARBITRATION MECHANISM FOR CASES OF ADDRESS INITIALIZATION AND SERVER SETTING | ||
Patent #
US 20080287135A1
Filed 07/21/2008
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Kabushi Kaisha Toshiba
|
Interactive Control of Access to Services and Capabilities of a Mobile Device | ||
Patent #
US 20080274765A1
Filed 05/03/2007
|
Current Assignee
Omnitracs LLC
|
Original Assignee
Qualcomm Inc.
|
Method and system for managing resource consumption by transport control protocol connections | ||
Patent #
US 20080307093A1
Filed 06/07/2007
|
Current Assignee
Samsung Electronics Co. Ltd.
|
Original Assignee
Samsung Electronics Co. Ltd.
|
SCALABLE RESOURCE DISCOVERY AND RECONFIGURATION FOR DISTRIBUTED COMPUTER NETWORKS | ||
Patent #
US 20070014302A1
Filed 09/22/2006
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Mobile router device | ||
Patent #
US 20070110017A1
Filed 01/06/2007
|
Current Assignee
WAAV Incorporated
|
Original Assignee
WAAV Incorporated
|
Performance logging using relative differentials and skip recording | ||
Patent #
US 20070140301A1
Filed 12/20/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Data access, replication or communication system comprising a distributed software application | ||
Patent #
US 20070130255A1
Filed 04/19/2004
|
Current Assignee
Blackberry Limited
|
Original Assignee
Good Technology Corporation
|
System and method for enforcing a security policy on mobile devices using dynamically generated security profiles | ||
Patent #
US 20070143824A1
Filed 12/22/2004
|
Current Assignee
McAfee LLC
|
Original Assignee
McAfee Inc.
|
Network interconnection apparatus, network interconnection method, name resolution apparatus and computer program | ||
Patent #
US 7,295,543 B2
Filed 07/27/2004
|
Current Assignee
Sony Corporation
|
Original Assignee
Sony Corporation
|
Method and entity for monitoring traffic | ||
Patent #
US 20060056307A1
Filed 01/28/2005
|
Current Assignee
Nokia Corporation
|
Original Assignee
Nokia Corporation
|
Communication apparatus selecting a source address | ||
Patent #
US 20060056420A1
Filed 01/13/2005
|
Current Assignee
Fujitsu Limited
|
Original Assignee
Fujitsu Limited
|
Method for performing real-time click fraud detection, prevention and reporting for online advertising | ||
Patent #
US 20060136294A1
Filed 10/26/2005
|
Current Assignee
Validclick Inc.
|
Original Assignee
Validclick Inc.
|
Remote survivable DHCP for a DHCP relay agent | ||
Patent #
US 20060218252A1
Filed 03/22/2005
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Method of determining path maximum transmission unit | ||
Patent #
US 20050005024A1
Filed 10/29/2003
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Orbital Data Corporation
|
Wavefront detection and disambiguation of acknowledgments | ||
Patent #
US 20050058131A1
Filed 07/28/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Orbital Data Corporation
|
Network interconnection apparatus, network interconnection method, name resolution apparatus and computer program | ||
Patent #
US 20050058143A1
Filed 07/27/2004
|
Current Assignee
Sony Corporation
|
Original Assignee
Sony Corporation
|
TCP selective acknowledgements for communicating delivered and missed data packets | ||
Patent #
US 20050063303A1
Filed 07/28/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Orbital Data Corporation
|
Communication environment setting method and communication environment setting program | ||
Patent #
US 20050083857A1
Filed 09/30/2004
|
Current Assignee
Komatsu
|
Original Assignee
Komatsu
|
Methods and apparatus for providing access to persistent application sessions | ||
Patent #
US 20050080906A1
Filed 10/10/2003
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for locating wired networks using wireless data | ||
Patent #
US 20050136941A1
Filed 12/19/2003
|
Current Assignee
Lenovo PC International Limited
|
Original Assignee
International Business Machines Corporation
|
Location information via DHCP | ||
Patent #
US 20050125550A1
Filed 12/09/2003
|
Current Assignee
Intel Corporation
|
Original Assignee
Intel Corporation
|
Stateful push notifications | ||
Patent #
US 20050169285A1
Filed 12/30/2004
|
Current Assignee
Unwired Planet LLC
|
Original Assignee
Unwired Planet LLC
|
Method for sending messages over secure mobile communication links | ||
Patent #
US 20050216725A1
Filed 01/21/2003
|
Current Assignee
MPH Technologies Oy
|
Original Assignee
MPH Technologies Oy
|
Mobile station intermittently receiving a radio signal | ||
Patent #
US 20050192054A1
Filed 09/02/2004
|
Current Assignee
NEC Corporation
|
Original Assignee
NEC Corporation
|
Method of synchronizing management information between a plurality of managing devices in a home network | ||
Patent #
US 20050226224A1
Filed 04/04/2005
|
Current Assignee
LG Electronics Inc.
|
Original Assignee
LG Electronics Inc.
|
Peer-to-peer (P2P) mobility system, and method | ||
Patent #
US 20050251577A1
Filed 04/20/2004
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Communication scheme with arbitration mechanism for cases of address initialization and server setting | ||
Patent #
US 20040014475A1
Filed 07/09/2003
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Self-managed network access using localized access management | ||
Patent #
US 20040073672A1
Filed 10/07/2003
|
Current Assignee
KoolSpan Inc.
|
Original Assignee
KoolSpan Inc.
|
Method and receiver for improved data packet transfer in a transmission protocol with repeat requests | ||
Patent #
US 20040148546A1
Filed 11/20/2003
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Wireless communication system which improves reliability and throughut of communication and retransmission timeout determining method used for the same | ||
Patent #
US 20040165543A1
Filed 02/18/2004
|
Current Assignee
Rakuten Inc.
|
Original Assignee
NEC Corporation
|
Mobile communication system, location manager and routing manager | ||
Patent #
US 20040258011A1
Filed 01/27/2004
|
Current Assignee
NTT Docomo Incorporated
|
Original Assignee
NTT Docomo Incorporated
|
System and method for notification within decentralized network | ||
Patent #
US 20040249972A1
Filed 05/27/2004
|
Current Assignee
Sony Interactive Entertainment Inc.
|
Original Assignee
Sony Computer Entertainment Incorporated
|
Portable terminal having function of detecting other person's approach utilizing short distance wireless communication means, and storage medium and server that are used for the detection | ||
Patent #
US 20040248569A1
Filed 06/03/2004
|
Current Assignee
Fujitsu Limited
|
Original Assignee
Fujitsu Limited
|
System and method for secure network roaming | ||
Patent #
US 20030039234A1
Filed 08/05/2002
|
Current Assignee
Syniverse Technologies LLC
|
Original Assignee
Skylead Assets Limited
|
Systems and methods to minimize customer equipment downtime in a voice over internet protocol (VOIP) service network | ||
Patent #
US 8,125,999 B2
Filed 05/30/2008
|
Current Assignee
ATT Intellectual Property I LP
|
Original Assignee
ATT Intellectual Property I LP
|
Secure end-to-end transport through intermediary nodes | ||
Patent #
US 8,127,342 B2
Filed 09/23/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
SYSTEM AND METHOD FOR CHANGING CHANNELS FOR GUARANTEED RELIABILITY COMMUNICATIONS | ||
Patent #
US 20120023248A1
Filed 02/18/2011
|
Current Assignee
Nettention Inc.
|
Original Assignee
Nettention Inc.
|
Method and apparatus for providing mobile and other intermittent connectivity in a computing environment | ||
Patent #
US 8,078,727 B2
Filed 05/27/2005
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Communication scheme with arbitration mechanism for cases of address initialization and server setting | ||
Patent #
US 8,094,655 B2
Filed 07/21/2008
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Methods and apparatus for providing access to persistent application sessions | ||
Patent #
US 8,078,689 B2
Filed 09/21/2009
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Provisioning applications for a mobile device | ||
Patent #
US 8,078,158 B2
Filed 06/26/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning of e-mail settings for a mobile terminal | ||
Patent #
US 8,116,214 B2
Filed 11/30/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method of automatically maintaining a line-of-sight communication channel | ||
Patent #
US 8,078,207 B2
Filed 07/21/2009
|
Current Assignee
Honeywell International Inc.
|
Original Assignee
Honeywell International Inc.
|
Mobile virtual network operator | ||
Patent #
US 8,107,921 B2
Filed 01/11/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Communications path status detection system | ||
Patent #
US 8,122,283 B2
Filed 05/07/2009
|
Current Assignee
Netmotion Wireless Holdings Inc.
|
Original Assignee
Padcom Incorporated
|
Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks | ||
Patent #
US 8,135,801 B2
Filed 02/15/2011
|
Current Assignee
Wireless Ink Corporation
|
Original Assignee
Wireless Ink Corporation
|
Interactive control of access to services and capabilities of a mobile device | ||
Patent #
US 8,150,371 B2
Filed 05/03/2007
|
Current Assignee
Omnitracs LLC
|
Original Assignee
Qualcomm Inc.
|
Systems and methods for providing levels of access and action control via an SSL VPN appliance | ||
Patent #
US 8,151,323 B2
Filed 12/05/2006
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for notification within decentralized network | ||
Patent #
US 8,161,094 B2
Filed 05/27/2004
|
Current Assignee
Sony Interactive Entertainment Inc.
|
Original Assignee
Sony Computer Entertainment Incorporated
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,166,164 B1
Filed 10/14/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Systems and methods of providing proxy-based quality of service | ||
Patent #
US 8,184,534 B2
Filed 03/05/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,190,701 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Policy based network address translation | ||
Patent #
US 8,194,673 B2
Filed 06/07/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods to monitor and analyze customer equipment downtime in a voice over internet protocol (VoIP) service network | ||
Patent #
US 8,223,631 B2
Filed 05/30/2008
|
Current Assignee
ATT Intellectual Property I LP
|
Original Assignee
ATT Intellectual Property I LP
|
Internet protocol version 4 support for proxy mobile internet protocol version 6 route optimization protocol | ||
Patent #
US 8,228,843 B2
Filed 11/10/2008
|
Current Assignee
Futurewei Technologies Incorporated
|
Original Assignee
Futurewei Technologies Incorporated
|
Transaction boundary detection for reduction in timeout penalties | ||
Patent #
US 8,233,392 B2
Filed 07/28/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Automatic detection and window virtualization for flow control | ||
Patent #
US 8,238,241 B2
Filed 07/28/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods of for providing multi-mode transport layer compression | ||
Patent #
US 8,244,883 B2
Filed 08/03/2006
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for performing flash caching of dynamically generated objects in a data communication network | ||
Patent #
US 8,255,456 B2
Filed 12/30/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for controlling mobile device access to a network | ||
Patent #
US 8,259,568 B2
Filed 10/23/2007
|
Current Assignee
McAfee Inc.
|
Original Assignee
McAfee Inc.
|
System and method for establishing a virtual private network | ||
Patent #
US 8,261,057 B2
Filed 06/04/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Wavefront detection and disambiguation of acknowledgements | ||
Patent #
US 8,259,729 B2
Filed 09/25/2009
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Using statistical analysis to generate exception rules that allow legitimate messages to pass through application proxies and gateways | ||
Patent #
US 8,261,340 B2
Filed 01/27/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods of using packet boundaries for reduction in timeout prevention | ||
Patent #
US 8,270,423 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for providing dynamic spillover of virtual servers based on bandwidth | ||
Patent #
US 8,275,871 B2
Filed 10/30/2009
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and system for providing notification of the availability of a peer computer in a peer-to-peer network | ||
Patent #
US 8,281,002 B1
Filed 09/21/2004
|
Current Assignee
Ikorongo Technology LLC
|
Original Assignee
Qurio Holdings Incorporated
|
Method and apparatus for associating tickets in a ticket hierarchy | ||
Patent #
US 8,286,230 B2
Filed 05/19/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and apparatus providing automatic connection announcement from a modular network device to a network management point | ||
Patent #
US 8,289,873 B2
Filed 10/26/2009
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Method and systems for securing remote access to private networks | ||
Patent #
US 8,291,119 B2
Filed 07/22/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,291,076 B2
Filed 03/05/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
System and method for performing granular invalidation of cached dynamically generated objects in a data communication network | ||
Patent #
US 8,301,839 B2
Filed 12/30/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Localized network authentication and security using tamper-resistant keys | ||
Patent #
US 8,301,891 B2
Filed 11/09/2010
|
Current Assignee
KoolSpan Inc.
|
Original Assignee
KoolSpan Inc.
|
Flow control system architecture | ||
Patent #
US 8,310,928 B2
Filed 12/09/2009
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Orbital Data Corporation
|
Systems and methods for providing dynamic spillover of virtual servers based on bandwidth | ||
Patent #
US 8,312,120 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and system for verification of an endpoint security scan | ||
Patent #
US 8,312,261 B2
Filed 08/12/2011
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Enhanced personal firewall for dynamic computing environments | ||
Patent #
US 8,316,427 B2
Filed 03/09/2007
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Social caching for device resource sharing and management | ||
Patent #
US 8,316,098 B2
Filed 04/19/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method for performing real-time click fraud detection, prevention and reporting for online advertising | ||
Patent #
US 8,321,269 B2
Filed 10/26/2005
|
Current Assignee
Validclick Inc.
|
Original Assignee
Validclick Inc.
|
Distributed management of keep-alive message signaling for mobile network resource conservation and optimization | ||
Patent #
US 8,326,985 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Enterprise-wide security system for computer devices | ||
Patent #
US 8,341,693 B2
Filed 12/17/2010
|
Current Assignee
McAfee LLC
|
Original Assignee
McAfee Inc.
|
Systems and methods for configuring policy bank invocations | ||
Patent #
US 8,341,287 B2
Filed 10/09/2009
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements | ||
Patent #
US 8,351,333 B2
Filed 08/30/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and system for assigning access control levels in providing access to networked content files | ||
Patent #
US 8,352,606 B2
Filed 09/23/2011
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
METHOD AND SYSTEMS FOR SECURING REMOTE ACCESS TO PRIVATE NETWORKS | ||
Patent #
US 20130014206A1
Filed 09/14/2012
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for a mobile device to use physical storage of another device for caching | ||
Patent #
US 8,356,080 B2
Filed 07/20/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Interactive control of access to services and capabilities of a mobile device | ||
Patent #
US 8,359,010 B2
Filed 02/29/2012
|
Current Assignee
Omnitracs LLC
|
Original Assignee
Qualcomm Inc.
|
Electronic-mail filtering for mobile devices | ||
Patent #
US 8,364,181 B2
Filed 12/10/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Communications path status detection system | ||
Patent #
US 8,365,010 B2
Filed 02/17/2012
|
Current Assignee
Netmotion Wireless Holdings Inc.
|
Original Assignee
Padcom Incorporated
|
TCP selection acknowledgements for communicating delivered and missing data packets | ||
Patent #
US 8,411,560 B2
Filed 10/28/2009
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Context aware data presentation | ||
Patent #
US 8,412,675 B2
Filed 02/24/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Aligning data transfer to optimize connections established for transmission over a wireless network | ||
Patent #
US 8,417,823 B2
Filed 11/18/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Mobile network configuration and method | ||
Patent #
US 8,422,491 B2
Filed 04/18/2008
|
Current Assignee
WAAV Incorporated
|
Original Assignee
WAAV Incorporated
|
Systems and methods for stochastic-based quality of service | ||
Patent #
US 8,432,800 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
METHOD AND SYSTEM FOR ENABLING AND CONTROLLING COMMUNICATION TOPOLOGY, ACCESS TO RESOURCES, AND DOCUMENT FLOW IN A DISTRIBUTED NETWORKING ENVIRONMENT | ||
Patent #
US 20120272295A1
Filed 02/22/2012
|
Current Assignee
SRI International Inc.
|
Original Assignee
Roy D. Pea, Jeremy Roschelle, Charles Patton, Phil Vahey
|
Systems and methods for additional retransmissions of dropped packets | ||
Patent #
US 8,437,284 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Flexible real-time inbox access | ||
Patent #
US 8,438,633 B1
Filed 12/18/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for providing quality of service precedence in TCP congestion control | ||
Patent #
US 8,462,631 B2
Filed 05/21/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Early generation of acknowledgements for flow control | ||
Patent #
US 8,462,630 B2
Filed 05/21/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Publishing data in an information community | ||
Patent #
US 8,468,126 B2
Filed 12/14/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed caching in a wireless network of content delivered for a mobile application over a long-held request | ||
Patent #
US 8,484,314 B2
Filed 10/14/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for providing dynamic connection spillover among virtual servers | ||
Patent #
US 8,493,858 B2
Filed 08/22/2006
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Provisioning applications for a mobile device | ||
Patent #
US 8,494,510 B2
Filed 12/06/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method and device for performing caching of dynamically generated objects in a data communication network | ||
Patent #
US 8,495,305 B2
Filed 12/30/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Mobile data security system and methods | ||
Patent #
US 8,495,700 B2
Filed 02/28/2006
|
Current Assignee
McAfee LLC
|
Original Assignee
McAfee Inc.
|
System and method for performing flash crowd caching of dynamically generated objects in a data communication network | ||
Patent #
US 8,499,057 B2
Filed 02/22/2011
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Mobile router device | ||
Patent #
US 8,503,363 B2
Filed 09/07/2010
|
Current Assignee
WAAV Incorporated
|
Original Assignee
WAAV Incorporated
|
Systems and methods to monitor and analyze customer equipment downtime in a voice over internet protocol (VoIP) service network | ||
Patent #
US 8,503,326 B2
Filed 07/09/2012
|
Current Assignee
ATT Intellectual Property I LP
|
Original Assignee
ATT Intellectual Property I LP
|
Systems and methods for providing virtual fair queuing of network traffic | ||
Patent #
US 8,531,944 B2
Filed 05/21/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and system for dynamically associating access rights with a resource | ||
Patent #
US 8,533,846 B2
Filed 11/08/2006
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Mobile network background traffic data management with optimized polling intervals | ||
Patent #
US 8,539,040 B2
Filed 02/28/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing | ||
Patent #
US 8,549,149 B2
Filed 12/30/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Secure end-to-end transport through intermediary nodes | ||
Patent #
US 8,549,587 B2
Filed 02/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Wavefront detection and disambiguation of acknowledgements | ||
Patent #
US 8,553,699 B2
Filed 08/31/2012
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for providing a VPN solution | ||
Patent #
US 8,559,449 B2
Filed 05/31/2011
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for executing commands that are non-native to the native environment of a mobile device | ||
Patent #
US 8,561,086 B2
Filed 05/17/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for policy based triggering of client-authentication at directory level granularity | ||
Patent #
US 8,566,925 B2
Filed 08/03/2006
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System, method, and device for mediating connections between policy source servers, corporate repositories, and mobile devices | ||
Patent #
US 8,572,676 B2
Filed 11/06/2009
|
Current Assignee
McAfee Inc.
|
Original Assignee
McAfee Inc.
|
System, method and device for mediating connections between policy source servers, corporate repositories, and mobile devices | ||
Patent #
US 8,565,726 B2
Filed 11/06/2009
|
Current Assignee
McAfee Inc.
|
Original Assignee
McAfee Inc.
|
Method and apparatus for providing authorized remote access to application sessions | ||
Patent #
US 8,613,048 B2
Filed 09/30/2004
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Detecting and preserving state for satisfying application requests in a distributed proxy and cache system | ||
Patent #
US 8,621,075 B2
Filed 04/27/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Systems and methods for routing VPN traffic around network distribution | ||
Patent #
US 8,621,105 B2
Filed 04/25/2011
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for configuring policy bank invocations | ||
Patent #
US 8,631,147 B2
Filed 03/12/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for communicating a lossy protocol via a lossless protocol | ||
Patent #
US 8,634,420 B2
Filed 05/25/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Cache state management on a mobile device to preserve user experience | ||
Patent #
US 8,635,339 B2
Filed 08/22/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for enforcing a security policy on mobile devices using dynamically generated security profiles | ||
Patent #
US 8,635,661 B2
Filed 12/22/2004
|
Current Assignee
McAfee LLC
|
Original Assignee
McAfee Inc.
|
Systems and methods for bypassing an appliance | ||
Patent #
US 8,677,007 B2
Filed 08/03/2006
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Polling | ||
Patent #
US 8,693,494 B2
Filed 03/31/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method to apply network encryption to firewall decisions | ||
Patent #
US 8,695,081 B2
Filed 04/10/2007
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Rule generalization for web application entry point modeling | ||
Patent #
US 8,695,083 B2
Filed 06/30/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,700,728 B2
Filed 05/17/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for providing client-side accelerated access to remote applications via TCP pooling | ||
Patent #
US 8,700,695 B2
Filed 12/30/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for providing client-side dynamic redirection to bypass an intermediary | ||
Patent #
US 8,706,877 B2
Filed 12/30/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Cross-platform event engine | ||
Patent #
US 8,209,709 B2
Filed 07/05/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,204,953 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
System and method for establishing a virtual private network | ||
Patent #
US 8,726,006 B2
Filed 08/21/2012
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Electronic-mail filtering for mobile devices | ||
Patent #
US 8,738,050 B2
Filed 01/07/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method and device for performing integrated caching in a data communication network | ||
Patent #
US 8,739,274 B2
Filed 06/29/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Enhanced personal firewall for dynamic computing environments | ||
Patent #
US 8,745,720 B2
Filed 08/22/2012
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
System and method for globally and securely accessing unified information in a computer network | ||
Patent #
US 8,745,167 B2
Filed 06/08/2009
|
Current Assignee
Good Technology Holdings Limited
|
Original Assignee
Good Technology Corporation
|
System and method for controlling mobile device access to a network | ||
Patent #
US 8,750,108 B2
Filed 04/29/2012
|
Current Assignee
McAfee Inc.
|
Original Assignee
McAfee Inc.
|
Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network | ||
Patent #
US 8,750,123 B1
Filed 07/31/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Maintaining an IP connection in a mobile network | ||
Patent #
US 8,761,756 B2
Filed 09/13/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks International Oy
|
Methods and systems for collection, tracking, and display of near real time multicast data | ||
Patent #
US 8,762,515 B2
Filed 08/20/2008
|
Current Assignee
The Boeing Co.
|
Original Assignee
The Boeing Co.
|
NAVIGATION SYSTEM APPLICATION FOR MOBILE DEVICE | ||
Patent #
US 20140180587A1
Filed 12/17/2013
|
Current Assignee
NNG KFT
|
Original Assignee
NNG KFT
|
Localized network authentication and security using tamper-resistant keys | ||
Patent #
US 8,769,282 B2
Filed 09/25/2012
|
Current Assignee
KoolSpan Inc.
|
Original Assignee
KoolSpan Inc.
|
Integrated messaging | ||
Patent #
US 8,774,844 B2
Filed 04/08/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications | ||
Patent #
US 8,775,631 B2
Filed 02/25/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Timing of keep-alive messages used in a system for mobile network resource conservation and optimization | ||
Patent #
US 8,782,222 B2
Filed 09/05/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Application discovery on mobile devices | ||
Patent #
US 8,787,947 B2
Filed 06/18/2008
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Method and device for performing caching of dynamically generated objects in a data communication network | ||
Patent #
US 8,788,581 B2
Filed 01/18/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Content delivery to a mobile device from a content service | ||
Patent #
US 8,793,305 B2
Filed 12/13/2007
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks | ||
Patent #
US 8,793,336 B2
Filed 02/02/2012
|
Current Assignee
Engagelogic Corporation
|
Original Assignee
Wireless Ink Corporation
|
System and method of a relay server for managing communications and notification between a mobile device and a web access server | ||
Patent #
US 8,799,410 B2
Filed 04/13/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Maintaining mobile terminal information for secure communications | ||
Patent #
US 8,805,334 B2
Filed 09/05/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Integrated messaging | ||
Patent #
US 8,805,425 B2
Filed 01/28/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile device power management in data synchronization over a mobile network with or without a trigger notification | ||
Patent #
US 8,811,952 B2
Filed 05/05/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for globally and securely accessing unified information in a computer network | ||
Patent #
US 8,812,702 B2
Filed 06/22/2009
|
Current Assignee
Good Technology Corporation
|
Original Assignee
Good Technology Corporation
|
Method and system for management of a virtual network connection without heartbeat messages | ||
Patent #
US 8,812,695 B2
Filed 04/03/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Automatic detection and window virtualization for flow control | ||
Patent #
US 8,824,490 B2
Filed 06/14/2012
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks | ||
Patent #
US 8,825,801 B2
Filed 02/07/2014
|
Current Assignee
Engagelogic Corporation
|
Original Assignee
Wireless Ink Corporation
|
System and method for tracking billing events in a mobile wireless network for a network operator | ||
Patent #
US 8,831,561 B2
Filed 04/28/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief | ||
Patent #
US 8,832,228 B2
Filed 04/26/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Distributed caching for resource and mobile network traffic management | ||
Patent #
US 8,838,783 B2
Filed 07/05/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Flexible real-time inbox access | ||
Patent #
US 8,839,412 B1
Filed 09/13/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Web-based access to data objects | ||
Patent #
US 8,838,744 B2
Filed 01/28/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile traffic categorization and policy for network use optimization while preserving user experience | ||
Patent #
US 8,843,153 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for performing flash caching of dynamically generated objects in a data communication network | ||
Patent #
US 8,848,710 B2
Filed 07/25/2012
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System for providing policy based content service in a mobile network | ||
Patent #
US 8,849,902 B2
Filed 06/24/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Enterprise-wide security system for computer devices | ||
Patent #
US 8,850,530 B2
Filed 09/28/2012
|
Current Assignee
McAfee LLC
|
Original Assignee
McAfee Inc.
|
Systems and methods for automatic installation and execution of a client-side acceleration program | ||
Patent #
US 8,856,777 B2
Filed 09/02/2010
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Stateful push notifications | ||
Patent #
US 8,856,346 B2
Filed 12/30/2004
|
Current Assignee
Unwired Planet LLC
|
Original Assignee
Unwired Planet LLC
|
Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization | ||
Patent #
US 8,861,354 B2
Filed 12/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Policy based content service | ||
Patent #
US 8,862,657 B2
Filed 01/25/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation | ||
Patent #
US 8,868,753 B2
Filed 12/06/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning of e-mail settings for a mobile terminal | ||
Patent #
US 8,873,411 B2
Filed 01/12/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols | ||
Patent #
US 8,874,761 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for accelerating delivery of a computing environment to a remote user | ||
Patent #
US 8,886,822 B2
Filed 04/11/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Mobile application traffic optimization | ||
Patent #
US 8,886,176 B2
Filed 07/22/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method and systems for securing remote access to private networks | ||
Patent #
US 8,892,778 B2
Filed 09/14/2012
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and systems for routing packets from a gateway to an endpoint | ||
Patent #
US 8,897,299 B2
Filed 01/11/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Optimization of resource polling intervals to satisfy mobile device requests | ||
Patent #
US 8,903,954 B2
Filed 11/22/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile virtual network operator | ||
Patent #
US 8,909,192 B2
Filed 08/11/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Bandwidth measurement | ||
Patent #
US 8,909,759 B2
Filed 10/12/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for bridging a WAN accelerator with a security gateway | ||
Patent #
US 8,908,700 B2
Filed 09/07/2007
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Detection and management of user interactions with foreground applications on a mobile device in distributed caching | ||
Patent #
US 8,909,202 B2
Filed 01/07/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for facilitating a peer to peer route via a gateway | ||
Patent #
US 8,914,522 B2
Filed 07/22/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for providing a network service in a distributed fashion to a mobile device | ||
Patent #
US 8,914,002 B2
Filed 08/11/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Optimization of mobile traffic directed to private networks and operator configurability thereof | ||
Patent #
US 8,918,503 B2
Filed 08/28/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed data revocation using data commands | ||
Patent #
US 8,935,384 B2
Filed 05/06/2011
|
Current Assignee
McAfee LLC
|
Original Assignee
McAfee Inc.
|
Method and apparatus for intercepting events in a communication system | ||
Patent #
US RE45,348 E1
Filed 03/16/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for providing client-side accelerated access to remote applications via TCP buffering | ||
Patent #
US 8,954,595 B2
Filed 12/30/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,966,066 B2
Filed 10/12/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Triggering actions based on changes in a network connection | ||
Patent #
US 8,972,573 B2
Filed 09/09/2013
|
Current Assignee
Apple Inc.
|
Original Assignee
Apple Inc.
|
Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation | ||
Patent #
US 8,977,755 B2
Filed 12/06/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Monitoring mobile application activities for malicious traffic on a mobile device | ||
Patent #
US 8,984,581 B2
Filed 07/11/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Connection architecture for a mobile network | ||
Patent #
US 8,989,728 B2
Filed 09/07/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
SEAMLESS APPLICATION CONNECTIVITY | ||
Patent #
US 20150085823A1
Filed 09/25/2013
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Predictive content delivery | ||
Patent #
US 9,002,828 B2
Filed 01/02/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation | ||
Patent #
US 9,009,250 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
System and method of creating and sending broadcast and multicast data | ||
Patent #
US 9,008,312 B2
Filed 12/17/2012
|
Current Assignee
KoolSpan Inc.
|
Original Assignee
KoolSpan Inc.
|
Wavefront detection and disambiguation of acknowledgments | ||
Patent #
US 9,008,100 B2
Filed 10/03/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system | ||
Patent #
US 9,021,021 B2
Filed 12/10/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks | ||
Patent #
US 9,032,039 B2
Filed 09/11/2014
|
Current Assignee
Engagelogic Corporation
|
Original Assignee
Wireless Ink Corporation
|
Navigation system application for mobile device | ||
Patent #
US 9,031,788 B2
Filed 12/17/2013
|
Current Assignee
NNG KFT
|
Original Assignee
NNG KFT
|
3D mobile user interface with configurable workspace management | ||
Patent #
US 9,043,731 B2
Filed 03/30/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network traffic coordination across multiple applications | ||
Patent #
US 9,043,433 B2
Filed 05/25/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Intelligent rendering of information in a limited display environment | ||
Patent #
US 9,047,142 B2
Filed 12/16/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network traffic coordination across multiple applications | ||
Patent #
US 9,049,179 B2
Filed 01/20/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Location-based operations and messaging | ||
Patent #
US 9,055,102 B2
Filed 08/02/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Asynchronous real-time retrieval of data | ||
Patent #
US 9,059,956 B2
Filed 06/21/2013
|
Current Assignee
Blackberry Limited
|
Original Assignee
Good Technology Corporation
|
Internet and database searching with handheld devices | ||
Patent #
US 9,058,388 B2
Filed 09/16/2008
|
Current Assignee
Digimarc Corporation
|
Original Assignee
Digimarc Corporation
|
Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic | ||
Patent #
US 9,060,032 B2
Filed 05/09/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network | ||
Patent #
US 9,065,765 B2
Filed 10/08/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Systems and methods for additional retransmissions of dropped packets | ||
Patent #
US 9,071,543 B2
Filed 04/03/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Distributed implementation of dynamic wireless traffic policy | ||
Patent #
US 9,077,630 B2
Filed 07/08/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method and apparatus for providing mobile and other intermittent connectivity in a computing environment | ||
Patent #
US 9,083,622 B2
Filed 12/12/2011
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Device resources sharing for network resource conservation | ||
Patent #
US 9,084,105 B2
Filed 04/19/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Printer-server connections | ||
Patent #
US 9,092,180 B2
Filed 01/24/2013
|
Current Assignee
Hewlett-Packard Development Company L.P.
|
Original Assignee
Hewlett-Packard Development Company L.P.
|
Mobile network background traffic data management | ||
Patent #
US 9,100,873 B2
Filed 09/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Managing cache to prevent overloading of a wireless network due to user activity | ||
Patent #
US 9,131,397 B2
Filed 06/06/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for managing application security profiles | ||
Patent #
US 9,160,768 B2
Filed 07/03/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion | ||
Patent #
US 9,161,258 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol | ||
Patent #
US 9,173,128 B2
Filed 03/06/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Systems and methods for providing dynamic connection spillover among virtual servers | ||
Patent #
US 9,185,019 B2
Filed 06/27/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Dynamic categorization of applications for network access in a mobile network | ||
Patent #
US 9,203,864 B2
Filed 02/04/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor | ||
Patent #
US 9,208,123 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Systems and methods for bridging a WAN accelerator with a security gateway | ||
Patent #
US 9,210,081 B2
Filed 10/24/2014
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods for client-side application-aware prioritization of network communications | ||
Patent #
US 9,219,579 B2
Filed 07/22/2005
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Mobile device with application or context aware fast dormancy | ||
Patent #
US 9,241,314 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network | ||
Patent #
US 9,239,800 B2
Filed 07/11/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Seamless application connectivity | ||
Patent #
US 9,241,292 B2
Filed 09/25/2013
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Method and system for enabling and controlling communication topology, access to resources, and document flow in a distributed networking environment | ||
Patent #
US 9,246,586 B2
Filed 02/22/2012
|
Current Assignee
SRI International Inc.
|
Original Assignee
SRI International Inc.
|
Extending user relationships | ||
Patent #
US 9,251,193 B2
Filed 10/28/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Systems and methods for policy based triggering of client-authentication at directory level granularity | ||
Patent #
US 9,253,193 B2
Filed 10/09/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Public wireless network performance management system with mobile device data collection agents | ||
Patent #
US 9,262,370 B2
Filed 07/19/2012
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Application or context aware fast dormancy | ||
Patent #
US 9,271,238 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Request and response characteristics based adaptation of distributed caching in a mobile network | ||
Patent #
US 9,275,163 B2
Filed 10/17/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol | ||
Patent #
US 9,277,443 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Localized network authentication and security using tamper-resistant keys | ||
Patent #
US 9,294,915 B2
Filed 06/09/2014
|
Current Assignee
KoolSpan Inc.
|
Original Assignee
KoolSpan Inc.
|
System and method for a mobile device to use physical storage of another device for caching | ||
Patent #
US 9,300,719 B2
Filed 01/14/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for application management of mobile device radio state promotion and demotion | ||
Patent #
US 9,307,493 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Method and system for assigning access control levels in providing access to networked content files | ||
Patent #
US 9,311,502 B2
Filed 01/07/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
System and method for reduction of mobile network traffic used for domain name system (DNS) queries | ||
Patent #
US 9,325,662 B2
Filed 01/09/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
User as an end point for profiling and optimizing the delivery of content and data in a wireless network | ||
Patent #
US 9,326,189 B2
Filed 02/04/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Wireless traffic management system cache optimization using http headers | ||
Patent #
US 9,330,196 B2
Filed 06/14/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Dynamic power management scheme in wireless networks based on power over ethernet (POE) | ||
Patent #
US 9,338,750 B2
Filed 06/13/2013
|
Current Assignee
Qualcomm Inc.
|
Original Assignee
Qualcomm Inc.
|
System and method for changing channels for guaranteed reliability communications | ||
Patent #
US 9,356,999 B2
Filed 02/18/2011
|
Current Assignee
Nettention Inc.
|
Original Assignee
Nettention Inc.
|
System and method for globally and securely accessing unified information in a computer network | ||
Patent #
US 9,361,603 B2
Filed 03/02/2011
|
Current Assignee
Blackberry Limited
|
Original Assignee
Good Technology Corporation
|
Reducing stream interruptions during network handover | ||
Patent #
US 9,398,505 B2
Filed 09/25/2013
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Method and apparatus for providing authorized remote access to application sessions | ||
Patent #
US 9,401,906 B2
Filed 12/03/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Method and system for dynamically associating access rights with a resource | ||
Patent #
US 9,401,931 B2
Filed 08/19/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Mobile application traffic optimization | ||
Patent #
US 9,407,713 B2
Filed 01/16/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Method and apparatus for providing access for a limited set of mobile stations to a restricted local access point | ||
Patent #
US 9,420,520 B2
Filed 05/30/2006
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Systems and methods for configuring policy bank invocations | ||
Patent #
US 9,450,837 B2
Filed 12/16/2013
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Systems and methods of using packet boundaries for reduction in timeout prevention | ||
Patent #
US 9,496,991 B2
Filed 07/09/2012
|
Current Assignee
Citrix Systems Inc.
|
Original Assignee
Citrix Systems Inc.
|
Dynamic power management scheme in wireless networks based on power over ethernet (POE) | ||
Patent #
US 9,516,612 B2
Filed 03/29/2016
|
Current Assignee
Qualcomm Inc.
|
Original Assignee
Qualcomm Inc.
|
Automatic distribution of communication to user having common subject-matter interest and served by same or adjacent base station | ||
Patent #
US 9,591,465 B1
Filed 12/07/2015
|
Current Assignee
Sprint Spectrum LP
|
Original Assignee
Sprint Spectrum LP
|
Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks | ||
Patent #
US 9,619,578 B2
Filed 07/07/2014
|
Current Assignee
Engagelogic Corporation
|
Original Assignee
Engagelogic Corporation
|
Constant access gateway and de-duplicated data cache server | ||
Patent #
US 9,621,405 B2
Filed 08/24/2011
|
Current Assignee
Blackberry Limited
|
Original Assignee
Good Technology Holdings Limited
|
Method and apparatus for accessing corporate data from a mobile device | ||
Patent #
US 9,659,165 B2
Filed 08/21/2012
|
Current Assignee
Ivanti Inc.
|
Original Assignee
Crimson Corporation
|
Mobile router device | ||
Patent #
US 9,668,193 B2
Filed 06/25/2013
|
Current Assignee
WAAV Incorporated
|
Original Assignee
Brian J. Smith, John Fulknier
|
Mobile device configured for communicating with another mobile device associated with an associated user | ||
Patent #
US 9,712,986 B2
Filed 03/22/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Reducing stream interruptions during network handover | ||
Patent #
US 9,820,204 B2
Filed 07/14/2016
|
Current Assignee
Google LLC
|
Original Assignee
Google Inc.
|
Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic | ||
Patent #
US 9,832,095 B2
Filed 12/14/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks | ||
Patent #
US 9,922,348 B2
Filed 03/02/2017
|
Current Assignee
Engagelogic Corporation
|
Original Assignee
Engagelogic Corporation
|
Public wireless network performance management system with mobile device data collection agents | ||
Patent #
US 9,959,244 B2
Filed 07/16/2012
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Holdings Inc.
|
Public wireless network performance management system with mobile device data collection agents | ||
Patent #
US 9,965,440 B2
Filed 07/30/2012
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Holdings Inc.
|
Public wireless network performance management system with mobile device data collection agents | ||
Patent #
US 9,971,732 B2
Filed 07/13/2012
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Holdings Inc.
|
Medical device update system | ||
Patent #
US 9,971,871 B2
Filed 10/10/2016
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Public wireless network performance management system with mobile device data collection agents | ||
Patent #
US 9,990,331 B2
Filed 07/13/2012
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Enterprise-wide security for computer devices | ||
Patent #
US 9,998,478 B2
Filed 09/29/2014
|
Current Assignee
McAfee LLC
|
Original Assignee
McAfee LLC
|
Method of providing a mobility service | ||
Patent #
US 10,009,818 B2
Filed 10/05/2017
|
Current Assignee
Conversant Wireless Licensing S..r.l. fka Core Wireless Licensing S.a.r.l.
|
Original Assignee
Conversant Wireless Licensing S..r.l. fka Core Wireless Licensing S.a.r.l.
|
Public wireless network performance management system with mobile device data collection agents | ||
Patent #
US 10,031,885 B2
Filed 01/31/2011
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Infusion pump automation system and method | ||
Patent #
US 10,042,986 B2
Filed 11/19/2014
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Public wireless network performance management system with mobile device data collection agents | ||
Patent #
US 10,198,398 B2
Filed 07/30/2012
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Internet and database searching with handheld devices | ||
Patent #
US 10,235,465 B2
Filed 06/15/2015
|
Current Assignee
Digimarc Corporation
|
Original Assignee
Digimarc Corporation
|
System and method for configuring a rule set for medical event management and responses | ||
Patent #
US 10,238,801 B2
Filed 03/23/2017
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Matching delayed infusion auto-programs with manually entered infusion programs | ||
Patent #
US 10,238,799 B2
Filed 09/15/2015
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
System and method for comparing and utilizing activity information and configuration information from multiple medical device management systems | ||
Patent #
US 10,242,060 B2
Filed 10/30/2014
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Seamless application connectivity | ||
Patent #
US 10,244,451 B2
Filed 12/14/2015
|
Current Assignee
Google LLC
|
Original Assignee
Google LLC
|
Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network | ||
Patent #
US 10,263,899 B2
Filed 04/10/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Medical device system performance index | ||
Patent #
US 10,311,972 B2
Filed 11/11/2014
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
System for monitoring and delivering medication to a patient and method of using the same to minimize the risks associated with automated therapy | ||
Patent #
US 10,314,974 B2
Filed 07/31/2017
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Medical device communication method | ||
Patent #
US 10,333,843 B2
Filed 04/28/2017
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Reducing stream interruptions during network handover | ||
Patent #
US 10,383,019 B2
Filed 11/07/2017
|
Current Assignee
Google LLC
|
Original Assignee
Google LLC
|
Methods for adaptive organization of web application access points in webtops and devices thereof | ||
Patent #
US 10,404,698 B1
Filed 09/30/2016
|
Current Assignee
F5 Networks Inc.
|
Original Assignee
F5 Networks Inc.
|
Medication management system | ||
Patent #
US 10,434,246 B2
Filed 08/31/2015
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Public wireless network performance management system with mobile device data collection agents | ||
Patent #
US 10,621,139 B2
Filed 06/29/2018
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
System for monitoring and delivering medication to a patient and method of using the same to minimize the risks associated with automated therapy | ||
Patent #
US 10,646,651 B2
Filed 06/07/2019
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Drug library dynamic version management | ||
Patent #
US 10,692,595 B2
Filed 07/15/2019
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Tagging pump messages with identifiers that facilitate restructuring | ||
Patent #
US 10,741,280 B2
Filed 07/15/2019
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Fail-safe drug infusion therapy system | ||
Patent #
US 10,765,799 B2
Filed 05/24/2017
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Matching delayed infusion auto-programs with manually entered infusion programs | ||
Patent #
US 10,799,632 B2
Filed 03/08/2019
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Methods for SSL protected NTLM re-authentication and devices thereof | ||
Patent #
US 10,834,065 B1
Filed 03/31/2016
|
Current Assignee
F5 Networks Inc.
|
Original Assignee
F5 Networks Inc.
|
Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks | ||
Patent #
US 10,839,427 B2
Filed 02/06/2018
|
Current Assignee
Engagelogic Corporation
|
Original Assignee
Engagelogic Corporation
|
Reducing infusion pump network congestion by staggering updates | ||
Patent #
US 10,861,592 B2
Filed 07/15/2019
|
Current Assignee
ICU Medical Incorporated
|
Original Assignee
ICU Medical Incorporated
|
Modular communication apparatus | ||
Patent #
US 5,625,673 A
Filed 09/22/1994
|
Current Assignee
Lucent Technologies Inc.
|
Original Assignee
Lucent Technologies Inc.
|
System and method of controlling and managing voice and data services in a telecommunications network | ||
Patent #
US 6,856,676 B1
Filed 10/14/1999
|
Current Assignee
Alcatel-Lucent SA
|
Original Assignee
Alcatel-Lucent SA
|
Virtual circuit management in cellular telecommunications | ||
Patent #
US 5,633,868 A
Filed 10/17/1994
|
Current Assignee
Alcatel-Lucent USA Inc.
|
Original Assignee
Lucent Technologies Inc.
|
Interface between mobile telecommunication stations and trunks that link to communication carriers | ||
Patent #
US 5,173,933 A
Filed 09/25/1990
|
Current Assignee
WORLD COMMUNICATION SYSTEMS INC. A DE CORP.
|
Original Assignee
WORLD COMMUNICATION SYSTEMS INC.
|
Seamless roaming among multiple networks | ||
Patent #
US 6,154,461 A
Filed 05/14/1997
|
Current Assignee
Symbol Technologies LLC
|
Original Assignee
Telxon Corporation
|
Method, apparatus and program storage device for a client and adaptive synchronization and transformation server | ||
Patent #
US 6,477,543 B1
Filed 10/23/1998
|
Current Assignee
Alibaba Group Services Limited
|
Original Assignee
International Business Machines Corporation
|
Radio frequency local area network | ||
Patent #
US 5,504,746 A
Filed 03/27/1995
|
Current Assignee
Avago Technologies General IP PTE Limited
|
Original Assignee
Norand Corporation
|
Mobile IP communication scheme using dynamic address allocation protocol | ||
Patent #
US 6,510,153 B1
Filed 02/19/1999
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Method and apparatus for managing an integrated router/hub | ||
Patent #
US 5,825,775 A
Filed 03/27/1997
|
Current Assignee
Nortel Networks Limited
|
Original Assignee
Bay Networks Inc.
|
Coexisting communication systems | ||
Patent #
US 5,732,076 A
Filed 10/26/1995
|
Current Assignee
Intel Corporation
|
Original Assignee
Omnipoint Corp.
|
Wireless adapter architecture for mobile computing | ||
Patent #
US 5,889,816 A
Filed 02/02/1996
|
Current Assignee
ATT Inc.
|
Original Assignee
Alcatel-Lucent USA Inc.
|
Mobile communication network having path selection means for selecting a communication path | ||
Patent #
US 5,504,935 A
Filed 03/08/1994
|
Current Assignee
Alcatel SA
|
Original Assignee
Alcatel SA
|
Unified directory services architecture for an IP mobility architecture framework | ||
Patent #
US 6,769,000 B1
Filed 09/07/2000
|
Current Assignee
Apple Inc.
|
Original Assignee
Nortel Networks Limited
|
Dual-mode radio receiver for receiving narrowband and wideband signals | ||
Patent #
US 5,668,837 A
Filed 02/03/1995
|
Current Assignee
Unwired Planet LLC
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Mobile location management in ATM networks | ||
Patent #
US 6,078,575 A
Filed 06/26/1997
|
Current Assignee
Lucent Technologies Inc.
|
Original Assignee
Lucent Technologies Inc.
|
Dual mode cellular modem | ||
Patent #
US 5,479,480 A
Filed 12/30/1993
|
Current Assignee
RPX Corporation
|
Original Assignee
ATT Inc.
|
Method and apparatus for error-free digital data transmission during cellular telephone handoff, etc. | ||
Patent #
US 4,912,756 A
Filed 04/07/1989
|
Current Assignee
Unilink Incorporated
|
Original Assignee
Unilink Incorporated
|
Network of hierarchical communication systems and method therefor | ||
Patent #
US 5,452,471 A
Filed 05/02/1994
|
Current Assignee
Intellectual Ventures I LLC
|
Original Assignee
Motorola Inc.
|
Messaging system providing flexible roaming and method therefor | ||
Patent #
US 5,956,640 A
Filed 02/20/1996
|
Current Assignee
Google Technology Holdings LLC
|
Original Assignee
Motorola Inc.
|
Trunked communication system with nationwide roaming capability | ||
Patent #
US 4,833,701 A
Filed 01/27/1988
|
Current Assignee
Motorola Inc.
|
Original Assignee
Motorola Inc.
|
Address updating of wireless mobile terminal hosts affiliated with a wired network | ||
Patent #
US 6,147,986 A
Filed 03/06/1998
|
Current Assignee
Alcatel-Lucent USA Inc.
|
Original Assignee
Lucent Technologies Inc.
|
Method and system for providing wireless mobile server and peer-to-peer services with dynamic DNS update | ||
Patent #
US 6,614,774 B1
Filed 12/04/1998
|
Current Assignee
WSOU Investments LLC
|
Original Assignee
Lucent Technologies Inc.
|
Infrastructure equipment in a wireless communication system serves different service providers | ||
Patent #
US 5,530,945 A
Filed 08/31/1993
|
Current Assignee
Avaya Incorporated
|
Original Assignee
ATT Inc.
|
Apparatus and method for mobile (e.g. cellular or wireless) telephone call handover and impersonation | ||
Patent #
US 5,745,850 A
Filed 10/24/1994
|
Current Assignee
Alcatel-Lucent USA Inc.
|
Original Assignee
Alcatel-Lucent USA Inc.
|
Non-local dynamic internet protocol addressing system and method | ||
Patent #
US 6,052,725 A
Filed 07/02/1998
|
Current Assignee
Alcatel-Lucent USA Inc.
|
Original Assignee
Alcatel-Lucent USA Inc.
|
Intelligent signaling scheme for computer-readable medium for H.323 mobility architecture | ||
Patent #
US 6,732,177 B1
Filed 08/18/2000
|
Current Assignee
Rakuten Inc.
|
Original Assignee
ATT Inc.
|
Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows | ||
Patent #
US 6,286,052 B1
Filed 12/04/1998
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Mobile internet access | ||
Patent #
US 6,804,720 B1
Filed 06/07/2000
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Packet switching with common time reference over links with dynamically varying delays | ||
Patent #
US 6,038,230 A
Filed 07/22/1998
|
Current Assignee
SYNCHRODYNE NETWORKS INC.
|
Original Assignee
SYNCHRODYNE INC.
|
Transparent support of protocol and data compression features for data communication | ||
Patent #
US 5,768,525 A
Filed 04/25/1997
|
Current Assignee
HP Inc.
|
Original Assignee
US Robotics Corporation
|
Providing reliable communication over an unreliable transport layer in a hand-held device using a persistent session | ||
Patent #
US 6,161,123 A
Filed 05/06/1997
|
Current Assignee
Intermec IP Corporation
|
Original Assignee
Intermec IP Corporation
|
Mobility management for a multimedia mobile network | ||
Patent #
US 6,256,300 B1
Filed 04/11/2000
|
Current Assignee
Alcatel-Lucent USA Inc.
|
Original Assignee
Lucent Technologies Inc.
|
Point-to-point computer network communication utility utilizing dynamically assigned network protocol addresses | ||
Patent #
US 6,131,121 A
Filed 09/25/1996
|
Current Assignee
Straight Path IP Group Inc.
|
Original Assignee
NetSpeak Corporation
|
Switching arrangement for wireless terminals connected to a switch via a digital protocol channel | ||
Patent #
US 5,598,412 A
Filed 10/24/1995
|
Current Assignee
Avaya Incorporated
|
Original Assignee
Lucent Technologies Inc.
|
Mobility enabling access point architecture for wireless attachment to source routing networks | ||
Patent #
US 5,490,139 A
Filed 09/28/1994
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Mobile IP mobility agent standby protocol | ||
Patent #
US 6,195,705 B1
Filed 06/30/1998
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Mobile assisted handoff | ||
Patent #
US 5,042,082 A
Filed 06/26/1989
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Shortcut network layer routing for mobile hosts | ||
Patent #
US 5,442,633 A
Filed 07/08/1992
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Dynamic address assignment and resolution technique | ||
Patent #
US 5,835,725 A
Filed 10/21/1996
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Method and apparatus for providing continuation of a communication call across multiple networks | ||
Patent #
US 5,664,007 A
Filed 03/06/1995
|
Current Assignee
Lucent Technologies Inc.
|
Original Assignee
Lucent Technologies Inc.
|
Wireless data communications system for detecting a disabled condition and simulating a functioning mode in response to detection | ||
Patent #
US 5,566,225 A
Filed 11/21/1994
|
Current Assignee
Lucent Technologies Inc.
|
Original Assignee
Lucent Technologies Inc.
|
Handoff method and apparatus for mobile wireless workstation | ||
Patent #
US 5,181,200 A
Filed 10/29/1990
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Module for selectively providing wireless and wireless call communication services | ||
Patent #
US 5,878,344 A
Filed 01/21/1998
|
Current Assignee
Volcano Corporation
|
Original Assignee
GTE Mobile Communications Service Corporation
|
Handover method for mobile radio system | ||
Patent #
US RE36,078 E
Filed 09/26/1997
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Establishing a route with a level of quality of service in a mobile network | ||
Patent #
US 6,798,757 B2
Filed 01/11/2001
|
Current Assignee
Hitachi Communication Technologies Ltd.
|
Original Assignee
Hitachi America Limited
|
Architecture for an IP centric distributed network | ||
Patent #
US 6,714,987 B1
Filed 11/05/1999
|
Current Assignee
Apple Inc.
|
Original Assignee
Nortel Networks Limited
|
Geographic based communications service | ||
Patent #
US 6,259,405 B1
Filed 11/03/1999
|
Current Assignee
Wayport Inc.
|
Original Assignee
Wayport Inc.
|
Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network | ||
Patent #
US 6,415,329 B1
Filed 10/30/1998
|
Current Assignee
Massachusetts Institute of Technology
|
Original Assignee
Massachusetts Institute of Technology
|
Colocated cellular radiotelephone systems | ||
Patent #
US 4,893,327 A
Filed 11/25/1988
|
Current Assignee
Motorola Inc.
|
Original Assignee
Motorola Inc.
|
Network transport driver interfacing | ||
Patent #
US 6,249,818 B1
Filed 06/30/1993
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
Compaq Computer Corporation
|
Apparatus and method for intelligent routing of data between a remote device and a host system | ||
Patent #
US 6,198,920 B1
Filed 03/16/2000
|
Current Assignee
Netmotion Wireless Holdings Inc.
|
Original Assignee
Padcom Incorporated
|
Disconnection management system for wireless voice communications | ||
Patent #
US 5,752,185 A
Filed 11/21/1994
|
Current Assignee
Lucent Technologies Inc.
|
Original Assignee
Lucent Technologies Inc.
|
Optimum routing system | ||
Patent #
US 6,400,722 B1
Filed 08/24/1998
|
Current Assignee
Alcatel-Lucent USA Inc.
|
Original Assignee
Lucent Technologies Inc.
|
Method for supporting communication in a communication system using intermediaries between called parties | ||
Patent #
US 5,555,553 A
Filed 02/16/1993
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Wide-area wireless lan access | ||
Patent #
US 5,796,727 A
Filed 04/30/1993
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Method and system for distributed control in wireless cellular and personal communication systems | ||
Patent #
US 6,081,715 A
Filed 03/18/1997
|
Current Assignee
Alcatel-Lucent USA Inc.
|
Original Assignee
Lucent Technologies Inc.
|
Object-oriented remote procedure call networking system | ||
Patent #
US 5,491,800 A
Filed 12/20/1993
|
Current Assignee
Apple Inc.
|
Original Assignee
Taligent Inc.
|
Virtual client to gateway connection over multiple physical connections | ||
Patent #
US 6,308,281 B1
Filed 09/02/1998
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Internetworking apparatus for connecting plural network systems and communication network system composed of plural network systems mutually connected | ||
Patent #
US 5,434,863 A
Filed 08/27/1992
|
Current Assignee
Hitachi America Limited
|
Original Assignee
Hitachi America Limited
|
Seamless roaming among multiple networks including seamless transitioning between multiple devices | ||
Patent #
US 6,201,962 B1
Filed 10/24/1997
|
Current Assignee
Symbol Technologies LLC
|
Original Assignee
Telxon Corporation
|
Method and apparatus to determine user identity and limit access to a communications network | ||
Patent #
US 6,256,739 B1
Filed 11/26/1997
|
Current Assignee
Juno Online Services Incorporated
|
Original Assignee
Juno Online Services Incorporated
|
Handover method for mobile radio system | ||
Patent #
US 5,109,528 A
Filed 06/13/1989
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Coexisting GSM and CDMA wireless telecommunications networks | ||
Patent #
US 5,978,679 A
Filed 02/23/1996
|
Current Assignee
Qualcomm Inc.
|
Original Assignee
Qualcomm Inc.
|
Data reconciliation between a computer and a mobile data collection terminal | ||
Patent #
US 6,694,366 B1
Filed 10/05/1998
|
Current Assignee
Symbol Technologies LLC
|
Original Assignee
Symbol Technologies Inc.
|
Colocated cellular radiotelephone systems | ||
Patent #
US 4,799,253 A
Filed 07/20/1987
|
Current Assignee
Motorola Inc.
|
Original Assignee
Motorola Inc.
|
Method and apparatus for providing mobile and other intermittent connectivity in a computing environment | ||
Patent #
US 6,546,425 B1
Filed 06/11/1999
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Directory server for providing dynamically assigned network protocol addresses | ||
Patent #
US 6,185,184 B1
Filed 09/25/1996
|
Current Assignee
Straight Path IP Group Inc.
|
Original Assignee
NetSpeak Corporation
|
Modem resistant to cellular dropouts | ||
Patent #
US 5,673,268 A
Filed 08/11/1994
|
Current Assignee
Multi-Tech Systems Incorporated
|
Original Assignee
Multi-Tech Systems Incorporated
|
Access point tracking for mobile wireless network node | ||
Patent #
US 5,594,731 A
Filed 07/24/1995
|
Current Assignee
MediaTek Inc.
|
Original Assignee
International Business Machines Corporation
|
Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack | ||
Patent #
US 5,548,723 A
Filed 12/17/1993
|
Current Assignee
Apple Inc.
|
Original Assignee
Taligent Inc.
|
System and method for accounting management in an IP centric distributed network | ||
Patent #
US 6,854,014 B1
Filed 11/07/2000
|
Current Assignee
Apple Inc.
|
Original Assignee
Nortel Networks Limited
|
Communication controller | ||
Patent #
US 6,449,259 B1
Filed 06/30/1997
|
Current Assignee
WSOU Investments LLC
|
Original Assignee
Lucent Technologies Inc.
|
Object-oriented networking system with dynamically configurable communication links | ||
Patent #
US 5,499,343 A
Filed 12/17/1993
|
Current Assignee
Apple Inc.
|
Original Assignee
Taligent Inc.
|
System and method for multiplexing data transmissions | ||
Patent #
US 5,325,361 A
Filed 12/01/1992
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
LEGENT Corp.
|
Datagram message communication service employing a hybrid network | ||
Patent #
US 5,481,535 A
Filed 06/29/1994
|
Current Assignee
General Electric Company
|
Original Assignee
General Electric Company
|
Communication system for use with stationary and second entities, via a wireless intermediate network with gateway devices, a gateway device for use with such system, and a mobile entity provided with such gateway device | ||
Patent #
US 5,771,459 A
Filed 06/16/1995
|
Current Assignee
US Philips Corporation
|
Original Assignee
US Philips Corporation
|
System and method for re-establishing a disconnected telephone communication | ||
Patent #
US 5,566,236 A
Filed 01/05/1996
|
Current Assignee
Genband US LLC
|
Original Assignee
Priority Call Management Inc.
|
Apparatus and method for transparent wireless communication between a remote device and host system | ||
Patent #
US 6,418,324 B1
Filed 09/17/1997
|
Current Assignee
Netmotion Wireless Holdings Inc.
|
Original Assignee
Padcom Incorporated
|
Method and system for setting and managing externally provided internet protocol addresses using the dynamic host configuration protocol | ||
Patent #
US 6,212,563 B1
Filed 10/01/1998
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
3Com Corporation
|
Radio communications device and method | ||
Patent #
US 5,943,333 A
Filed 07/01/1996
|
Current Assignee
Google Technology Holdings LLC
|
Original Assignee
Motorola Inc.
|
Dynamic network address updating | ||
Patent #
US 6,243,749 B1
Filed 10/08/1998
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Policy server and architecture providing radio network resource allocation rules | ||
Patent #
US 6,714,515 B1
Filed 05/16/2000
|
Current Assignee
TelefonABet LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Network address management for a wired network supporting wireless communication to a plurality of mobile users | ||
Patent #
US 5,159,592 A
Filed 10/29/1990
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Distributed control methods for management of migrating data stations in a wireless communications network | ||
Patent #
US 5,212,806 A
Filed 10/29/1990
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Methods and systems for concurrent receipt of incoming calls from a wide area cellular network and a private radio communications network | ||
Patent #
US 5,870,673 A
Filed 08/30/1996
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Seamless roaming among multiple networks | ||
Patent #
US 6,091,951 A
Filed 09/03/1997
|
Current Assignee
Symbol Technologies LLC
|
Original Assignee
Telxon Corporation
|
User selectable response to an incoming call at a mobile station | ||
Patent #
US 5,559,860 A
Filed 06/11/1992
|
Current Assignee
Sony Electronics Inc., Sony Corporation
|
Original Assignee
Sony Electronics Inc., Sony Corporation
|
Client server system and method of operation including a dynamically configurable protocol stack | ||
Patent #
US 5,515,508 A
Filed 12/17/1993
|
Current Assignee
Apple Inc.
|
Original Assignee
Taligent Inc.
|
Apparatus and method for intelligent routing of data between a remote device and a host system | ||
Patent #
US 20030017845A1
Filed 06/10/2002
|
Current Assignee
Netmotion Wireless Holdings Inc.
|
Original Assignee
Padcom Incorporated
|
System and method for providing mobile server services | ||
Patent #
US 20030028612A1
Filed 08/01/2001
|
Current Assignee
Intel Corporation
|
Original Assignee
Intel Corporation
|
System and method of addressing and configuring a remote device | ||
Patent #
US 20030061384A1
Filed 09/25/2001
|
Current Assignee
OPTO-22
|
Original Assignee
OPTO-22
|
Method and apparatus for providing mobile and other intermittent connectivity in a computing environment | ||
Patent #
US 20030120811A1
Filed 12/02/2002
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Allocation method and apparatus for reusing network resources in a wireless communication system | ||
Patent #
US 6,597,671 B1
Filed 08/26/1998
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Extensible policy-based network management architecture | ||
Patent #
US 6,611,864 B2
Filed 09/10/1999
|
Current Assignee
Intel Corporation
|
Original Assignee
Intel Corporation
|
Domain name validation using mapping table | ||
Patent #
US 20030163567A1
Filed 02/28/2002
|
Current Assignee
Openwave Systems Incorporated
|
Original Assignee
Openwave Systems Incorporated
|
Application influenced policy | ||
Patent #
US 6,621,793 B2
Filed 05/21/2001
|
Current Assignee
Sony Corporation
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
System and method for delivery of information over narrow-band communications links | ||
Patent #
US 6,615,267 B1
Filed 06/10/1999
|
Current Assignee
Google Technology Holdings LLC
|
Original Assignee
Motorola Inc.
|
Access and control system for network-enabled devices | ||
Patent #
US 20030191848A1
Filed 11/19/2002
|
Current Assignee
Western Digital Technologies Incorporated
|
Original Assignee
Senvid Inc.
|
GPRS-subscriber selection of multiple internet service providers | ||
Patent #
US 6,636,502 B1
Filed 09/25/1998
|
Current Assignee
IDTP Holdings Incorporated
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Support of disparate addressing plans and dynamic HA address allocation in mobile IP | ||
Patent #
US 20030223439A1
Filed 04/07/2003
|
Current Assignee
Qualcomm Inc.
|
Original Assignee
Qualcomm Inc.
|
Mechanisms for policy based UMTS QoS and IP QoS management in mobile IP networks | ||
Patent #
US 6,661,780 B2
Filed 12/07/2001
|
Current Assignee
Conversant Wireless Licensing S..r.l. fka Core Wireless Licensing S.a.r.l.
|
Original Assignee
Nokia Corporation
|
Wireless console/control concentrator | ||
Patent #
US 20030228874A1
Filed 06/06/2002
|
Current Assignee
Oracle America Inc.
|
Original Assignee
Sun Microsystems Incorporated
|
Gateway for converting synchronous client/server protocols into asynchronous messaging protocols and storing session state information at the client | ||
Patent #
US 6,336,135 B1
Filed 11/19/1998
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
System and method for secure network mobility | ||
Patent #
US 20020066036A1
Filed 11/13/2001
|
Current Assignee
Smith Micro Software Incorporated
|
Original Assignee
Ecutel Systems Inc.
|
Apparatus and method for automatic configuration of a personal computer system when reconnected to a network | ||
Patent #
US 6,412,025 B1
Filed 03/31/1999
|
Current Assignee
Lenovo Singapore Pte Limited
|
Original Assignee
International Business Machines Corporation
|
Network-based mobile workgroup system | ||
Patent #
US 20020069278A1
Filed 12/05/2000
|
Current Assignee
Longhorn HD LLC
|
Original Assignee
Interactive People Unplugged AB
|
Mobile agent connectivity | ||
Patent #
US 20020075812A1
Filed 12/14/2000
|
Current Assignee
Intel Corporation
|
Original Assignee
Intel Corporation
|
Method and apparatus for dynamically addressing and routing in a data network | ||
Patent #
US 20020091855A1
Filed 02/01/2001
|
Current Assignee
Trustees Of Columbia University In The City Of New York
|
Original Assignee
Trustees Of Columbia University In The City Of New York
|
Dynamic communication and method of use | ||
Patent #
US 20020093956A1
Filed 01/16/2002
|
Current Assignee
Michael H. Gurin
|
Original Assignee
Michael H. Gurin
|
Method and apparatus for providing mobile and other intermittent connectivity in a computing environment | ||
Patent #
US 20020098840A1
Filed 02/21/2002
|
Current Assignee
NetMotion Software Inc.
|
Original Assignee
Netmotion Wireless Incorporated
|
Delivering service to a client via a locally addressable interface | ||
Patent #
US 6,438,594 B1
Filed 08/31/1999
|
Current Assignee
Accenture Global Services Limited
|
Original Assignee
Accenture LLP
|
Service management | ||
Patent #
US 6,446,200 B1
Filed 03/25/1999
|
Current Assignee
RPX Clearinghouse LLC
|
Original Assignee
Nortel Networks Limited
|
Port routing functionality | ||
Patent #
US 20020122394A1
Filed 02/28/2002
|
Current Assignee
Padcom Incorporated
|
Original Assignee
Padcom Incorporated
|
Method, system, and program for enabling communication between devices using dynamic addressing | ||
Patent #
US 20020147843A1
Filed 04/04/2001
|
Current Assignee
Oracle America Inc.
|
Original Assignee
Sun Microsystems Incorporated
|
Mobile IP communication scheme using dynamic address allocation protocol | ||
Patent #
US 20020167922A1
Filed 07/01/2002
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Graphical network security policy management | ||
Patent #
US 6,484,261 B1
Filed 12/11/1998
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Mobile IP communication scheme using dynamic address allocation protocol | ||
Patent #
US 20020176383A1
Filed 07/01/2002
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Mobile IP communication scheme for supporting mobile computer move over different address spaces | ||
Patent #
US 6,501,767 B1
Filed 09/04/1998
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Mobile computer and method of packet encryption and authentication in mobile computing based on security policy of visited network | ||
Patent #
US 6,170,057 B1
Filed 10/16/1997
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems | ||
Patent #
US 6,233,619 B1
Filed 07/31/1998
|
Current Assignee
Unisys Corporation
|
Original Assignee
Unisys Corporation
|
Packet processing device and mobile computer with reduced packet processing overhead | ||
Patent #
US 6,240,514 B1
Filed 10/20/1997
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Geo-spacial Internet protocol addressing | ||
Patent #
US 6,236,652 B1
Filed 11/02/1999
|
Current Assignee
OL Security LLC
|
Original Assignee
Airbiquity Incorporated
|
Determining the visibility to a remote database client | ||
Patent #
US 6,233,617 B1
Filed 08/17/1999
|
Current Assignee
Oracle America Inc.
|
Original Assignee
Siebel Systems Inc.
|
Remote procedure calls using short message service | ||
Patent #
US 6,230,004 B1
Filed 12/01/1997
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Enterprise network management using directory containing network addresses of users obtained through DHCP to control routers and servers | ||
Patent #
US 6,233,616 B1
Filed 04/28/1998
|
Current Assignee
NetPL Incorporated
|
Original Assignee
NetPL Incorporated
|
Dynamic configuration of wireless networks | ||
Patent #
US 6,252,884 B1
Filed 03/20/1998
|
Current Assignee
Huawei Technologies Co. Ltd.
|
Original Assignee
NCR Corporation
|
Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters | ||
Patent #
US 6,243,753 B1
Filed 06/12/1998
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Virtual private networks | ||
Patent #
US 20010009025A1
Filed 01/18/2001
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Component-based control structure for wireless communication | ||
Patent #
US 6,263,213 B1
Filed 12/21/1998
|
Current Assignee
Sony Limited
|
Original Assignee
Sony Limited
|
Method and system of security location discrimination | ||
Patent #
US 6,308,273 B1
Filed 06/12/1998
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Communication control scheme using proxy device and security protocol in combination | ||
Patent #
US 20010047474A1
Filed 05/23/2001
|
Current Assignee
Kabushika Kaisha Toshiba
|
Original Assignee
Toshiba Corporation
|
Security communication method, security communication system, and apparatus thereof | ||
Patent #
US 20010042201A1
Filed 04/05/2001
|
Current Assignee
Matsushita Electric Industrial Company Limited
|
Original Assignee
Matsushita Electric Industrial Company Limited
|
Communication network with a service agent element and method for providing surveillance services | ||
Patent #
US 20010052081A1
Filed 04/05/2001
|
Current Assignee
Motorola Inc.
|
Original Assignee
Motorola Inc.
|
Cellular radio network having mobile radio station user-activated unlocking of prevention of location-updating feature | ||
Patent #
US 6,032,042 A
Filed 05/01/1995
|
Current Assignee
Nokia Telecommunications Oy
|
Original Assignee
Nokia Telecommunications Oy
|
Virtual network architecture for connectionless LAN backbone | ||
Patent #
US 6,041,166 A
Filed 07/15/1996
|
Current Assignee
HP Inc.
|
Original Assignee
3Com Corporation
|
Virtual network configuration and management system for satellite communication system | ||
Patent #
US 6,112,085 A
Filed 09/04/1997
|
Current Assignee
ATC Technology Corporation
|
Original Assignee
Amsc Subsidiary Corp.
|
Communications channel selection | ||
Patent #
US 6,122,514 A
Filed 01/03/1997
|
Current Assignee
Cellport Systems Incorporated
|
Original Assignee
Cellport Systems Incorporated
|
Mobile computing scheme using encryption and authentication processing based on mobile computer location and network operating policy | ||
Patent #
US 6,167,513 A
Filed 10/31/1997
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Internetwork address mapping gateway | ||
Patent #
US 5,856,974 A
Filed 02/13/1996
|
Current Assignee
EMC Corporation
|
Original Assignee
Novell Incorporated
|
Emergency mobile routing protocol | ||
Patent #
US 5,890,054 A
Filed 11/14/1996
|
Current Assignee
Symbol Technologies LLC
|
Original Assignee
Telxon Corporation
|
System for controlling multiple networks and associated services | ||
Patent #
US 5,901,352 A
Filed 02/20/1997
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Mobile communication service provider selection system | ||
Patent #
US 5,915,214 A
Filed 02/23/1995
|
Current Assignee
Apple Inc.
|
Original Assignee
Richard W. Reece, Matthew L. Reece
|
Transmitting device with mobility manager and method of communicating | ||
Patent #
US 5,910,951 A
Filed 10/15/1996
|
Current Assignee
Google Technology Holdings LLC
|
Original Assignee
Motorola Inc.
|
System with program for automating protocol assignments when newly connected to varing computer network configurations | ||
Patent #
US 5,918,016 A
Filed 06/10/1997
|
Current Assignee
Texas Instruments Inc.
|
Original Assignee
Texas Instruments Inc.
|
Packet mode multimedia conferencing services over an ISDN wide area network | ||
Patent #
US 5,909,431 A
Filed 06/28/1996
|
Current Assignee
ATT Inc.
|
Original Assignee
ATT Inc.
|
Connection-oriented session emulation | ||
Patent #
US 5,935,212 A
Filed 08/07/1997
|
Current Assignee
Oracle America Inc.
|
Original Assignee
i-Planet Inc.
|
Network system supporting network communication among temporarily connected mobile computers and flexible file sharing among computers | ||
Patent #
US 5,941,956 A
Filed 06/07/1995
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Multilayer firewall system | ||
Patent #
US 5,968,176 A
Filed 05/29/1997
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
3Com Corporation
|
System and methodology for managing internet access on a per application basis for client computers connected to the internet | ||
Patent #
US 5,987,611 A
Filed 05/06/1997
|
Current Assignee
Check Point Software Technologies Incorporated
|
Original Assignee
Zone Labs Inc.
|
Routing method for Ad-Hoc mobile networks | ||
Patent #
US 5,987,011 A
Filed 08/30/1996
|
Current Assignee
Chai-Keong Toh, KINGS COLLEGE
|
Original Assignee
Chai-Keong Toh, KINGS COLLEGE
|
Providing roaming capability for mobile computers in a standard network | ||
Patent #
US 6,006,090 A
Filed 04/28/1993
|
Current Assignee
Google LLC
|
Original Assignee
Proxim Inc.
|
Dual mode radio communication apparatus having function of selectively designating analog or digital mode | ||
Patent #
US 5,710,986 A
Filed 03/15/1996
|
Current Assignee
Fujitsu Mobile Communications Limited
|
Original Assignee
Toshiba Corporation
|
Method and system for enabling a file server to service multiple networks of the same network protocol family by invoking multiple instances of a network session protocol | ||
Patent #
US 5,721,818 A
Filed 01/25/1996
|
Current Assignee
Apple Inc.
|
Original Assignee
Apple Computer Incorporated
|
Apparatus and method for transparent wireless communication between a remote device and a host system | ||
Patent #
US 5,717,737 A
Filed 06/01/1995
|
Current Assignee
Netmotion Wireless Holdings Inc.
|
Original Assignee
Padcom Incorporated
|
Mobile terminal apparatus and method having network inter-operability | ||
Patent #
US 5,732,359 A
Filed 10/13/1994
|
Current Assignee
Westinghouse Electric Company LLC
|
Original Assignee
Westinghouse Electric Company LLC
|
Mobile portable wireless communication system | ||
Patent #
US 5,732,074 A
Filed 01/16/1996
|
Current Assignee
Cellport Systems Incorporated
|
Original Assignee
Cellport Labs Inc.
|
Means for maintaining connectable access points owing to movement of a mobile station between cells in a wireless LAN system | ||
Patent #
US 5,724,346 A
Filed 09/18/1995
|
Current Assignee
Fujitsu Limited
|
Original Assignee
Fujitsu Limited
|
Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer | ||
Patent #
US 5,748,897 A
Filed 07/02/1996
|
Current Assignee
Oracle America Inc.
|
Original Assignee
Sun Microsystems Incorporated
|
Radio communication system including SDL having transmission rate of relatively high speed | ||
Patent #
US 5,754,961 A
Filed 06/20/1995
|
Current Assignee
Toshiba Corporation
|
Original Assignee
Toshiba Corporation
|
Method and apparatus for generically handling diverse protocol method calls in a client/server computer system | ||
Patent #
US 5,758,186 A
Filed 10/06/1995
|
Current Assignee
Oracle America Inc.
|
Original Assignee
Sun Microsystems Incorporated
|
Client/server communication system | ||
Patent #
US 5,754,774 A
Filed 02/15/1996
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Cellular telecommunications network having seamless interoperability between exchanges while supporting operation in multiple frequency hyperbands | ||
Patent #
US 5,761,623 A
Filed 10/13/1995
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktienbolaget L.M. Ericsson
|
System incorporating program for intercepting and interpreting or altering commands for generating I/O activity for enabling real-time user feedback by sending substitute characters to modem | ||
Patent #
US 5,784,643 A
Filed 03/28/1996
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Method and apparatus for processing data packets in a network | ||
Patent #
US 5,790,554 A
Filed 10/04/1995
|
Current Assignee
RPX Clearinghouse LLC
|
Original Assignee
Bay Networks Inc.
|
Method and apparatus for transmission of data and voice | ||
Patent #
US 5,793,843 A
Filed 09/28/1994
|
Current Assignee
Frances E. Morris
|
Original Assignee
Intelligence Yochu Guangzhou Technology Co. Ltd
|
Method and apparatus for transmission of data and voice | ||
Patent #
US 5,802,483 A
Filed 09/10/1996
|
Current Assignee
Frances E. Morris
|
Original Assignee
Walker C. Morris
|
Remote access apparatus and method which allow dynamic internet protocol (IP) address management | ||
Patent #
US 5,812,819 A
Filed 06/05/1995
|
Current Assignee
Dialogic Corp.
|
Original Assignee
Shiva Corp.
|
Method and apparatus for handing off calls between differing radio telecommunication networks | ||
Patent #
US 5,826,188 A
Filed 12/07/1995
|
Current Assignee
Google Technology Holdings LLC
|
Original Assignee
Motorola Inc.
|
Time alignment of transmission in a down-link of CDMA system | ||
Patent #
US 5,828,659 A
Filed 08/02/1996
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Methods and systems for allocating a cellular communications channel for communication between a cellular terminal and a telephone base station using received signal strength measurements | ||
Patent #
US 5,839,075 A
Filed 08/21/1995
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Wireless software upgrades with version control | ||
Patent #
US 5,848,064 A
Filed 08/07/1996
|
Current Assignee
Symbol Technologies Inc.
|
Original Assignee
Telxon Corporation
|
Method and apparatus for preventing unauthorized monitoring of wireless data transmissions | ||
Patent #
US 5,602,916 A
Filed 10/05/1994
|
Current Assignee
Google Technology Holdings LLC
|
Original Assignee
Motorola Inc.
|
Integrated wired and wireless telecommunications system | ||
Patent #
US 5,602,843 A
Filed 04/01/1996
|
Current Assignee
Mitel Networks Corporation
|
Original Assignee
Zarlink Semiconductor Inc.
|
Packet radio communication system protocol | ||
Patent #
US 5,610,595 A
Filed 03/14/1995
|
Current Assignee
Avago Technologies General IP PTE Limited
|
Original Assignee
Intermec Corporation
|
Method and arrangement for handling a mobile telephone subscriber administered in different mobile telephone networks with a common call number | ||
Patent #
US 5,610,974 A
Filed 04/05/1995
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Communication apparatus and methods | ||
Patent #
US 5,610,905 A
Filed 12/13/1994
|
Current Assignee
Ericsson AB
|
Original Assignee
Alantec Corp.
|
Connection of mobile devices to heterogenous networks | ||
Patent #
US H001,641 H1
Filed 11/30/1993
|
Current Assignee
GTE Mobile Communications Service Corporation
|
Original Assignee
GTE Mobile Communications Service Corporation
|
Apparatus and method for providing a secure gateway for communication and data exchanges between networks | ||
Patent #
US 5,623,601 A
Filed 11/21/1994
|
Current Assignee
RPX Corporation
|
Original Assignee
MILKWAY NETWORKS CORPORATION
|
Combined fixed and mobile radio communication system and method | ||
Patent #
US 5,633,873 A
Filed 09/13/1995
|
Current Assignee
Hughes Electronics Corporation
|
Original Assignee
Hughes Electronics Corporation
|
Secure socket layer application program apparatus and method | ||
Patent #
US 5,657,390 A
Filed 08/25/1995
|
Current Assignee
Facebook Inc.
|
Original Assignee
Netscape Communications Corporation
|
System for location of communication end users | ||
Patent #
US 5,659,596 A
Filed 04/12/1995
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks | ||
Patent #
US 5,673,322 A
Filed 03/22/1996
|
Current Assignee
Rakuten Inc.
|
Original Assignee
Bell Communications Research Inc.
|
Wide area radio communication system and method for communicating in a wide area through a wide area radio communication system | ||
Patent #
US 5,666,653 A
Filed 07/01/1996
|
Current Assignee
Inventahl AB
|
Original Assignee
Inventahl AB
|
Transparent local RPC optimization | ||
Patent #
US 5,682,534 A
Filed 09/12/1995
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Method and apparatus for handoff between different cellular communications systems | ||
Patent #
US 5,697,055 A
Filed 10/16/1994
|
Current Assignee
Qualcomm Inc.
|
Original Assignee
Qualcomm Inc.
|
Facsimile apparatus capable of connecting to mobile communicator and public communication line | ||
Patent #
US 5,537,220 A
Filed 04/26/1994
|
Current Assignee
Canon Kabushiki Kaisha
|
Original Assignee
Canon Kabushiki Kaisha
|
Speech compensation in dual-mode telephone | ||
Patent #
US 5,550,893 A
Filed 01/31/1995
|
Current Assignee
Nokia Technologies Oy
|
Original Assignee
Nokia Mobile Phones UK Limited
|
Remote control of gateway functions in a wireless data communication network | ||
Patent #
US 5,559,800 A
Filed 01/19/1994
|
Current Assignee
Blackberry Limited
|
Original Assignee
Blackberry Limited
|
Dual mode radio communication apparatus having function of selectively designating analog or digital mode | ||
Patent #
US 5,564,077 A
Filed 02/04/1993
|
Current Assignee
Fujitsu Mobile Communications Limited
|
Original Assignee
Toshiba Corporation
|
Versatile RF data capture system | ||
Patent #
US 5,568,645 A
Filed 07/05/1994
|
Current Assignee
Intermec Technologies Corporation
|
Original Assignee
Norand Corporation
|
Method and system for maintaining processing continuity to mobile computers in a wireless network | ||
Patent #
US 5,564,070 A
Filed 07/30/1993
|
Current Assignee
Xerox Corporation
|
Original Assignee
Xerox Corporation
|
Mobile networking method and apparatus | ||
Patent #
US 5,572,528 A
Filed 03/20/1995
|
Current Assignee
RPX Corporation
|
Original Assignee
Novell Incorporated
|
Method and apparatus of maintaining an open communications channel between a cellular terminal and an associated cellular radio network | ||
Patent #
US 5,574,774 A
Filed 05/04/1994
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Load balancing in a digital communications network using radio links | ||
Patent #
US 5,379,448 A
Filed 08/05/1991
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines SA
|
Method for connecting a mobile computer to a computer network by using an address server | ||
Patent #
US 5,410,543 A
Filed 07/05/1994
|
Current Assignee
Apple Computer Incorporated
|
Original Assignee
Apple Computer Incorporated
|
Digital Cellular Overlay Network (DCON) | ||
Patent #
US 5,404,392 A
Filed 06/12/1991
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Method of selecting an air interface for communication in a communication system | ||
Patent #
US 5,412,375 A
Filed 09/27/1993
|
Current Assignee
Motorola Mobility LLC
|
Original Assignee
Motorola Inc.
|
Channel allocation mechanism | ||
Patent #
US 5,420,574 A
Filed 09/04/1990
|
Current Assignee
Motorola Inc.
|
Original Assignee
Motorola Inc.
|
Methods and apparatus for interconnecting local area networks with wide area backbone networks | ||
Patent #
US 5,426,637 A
Filed 12/14/1992
|
Current Assignee
International Business Machines SA
|
Original Assignee
International Business Machines Corporation
|
Method and apparatus for connecting a node to a wireless network using a standard protocol | ||
Patent #
US 5,446,736 A
Filed 10/07/1993
|
Current Assignee
Samsung Electronics Co. Ltd.
|
Original Assignee
AST Research Inc.
|
Integrated remote execution system for a heterogenous computer network environment | ||
Patent #
US 5,442,791 A
Filed 05/12/1994
|
Current Assignee
Aggregate Computing Incorporated
|
Original Assignee
Aggregate Computing Incorporated
|
Apparatus and a method of allowing private cellular operation within an existing public cellular system | ||
Patent #
US 5,448,619 A
Filed 04/14/1992
|
Current Assignee
Allen Telecom Inc.
|
Original Assignee
Orion Industries Incorporated
|
Data gateway for mobile data radio terminals in a data communication network | ||
Patent #
US 5,457,680 A
Filed 05/18/1993
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Distributed configuration profile for computing system | ||
Patent #
US 5,475,819 A
Filed 06/17/1994
|
Current Assignee
Hewlett-Packard Development Company L.P.
|
Original Assignee
Digital Equipment Corporation
|
Wireless coupling of devices to wired network | ||
Patent #
US 5,276,680 A
Filed 05/01/1991
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Telesystems SLW Inc.
|
Method of transferring, between two switching exchanges for mobile services, the handling of an active connection with a mobile terminal | ||
Patent #
US 5,291,544 A
Filed 06/17/1992
|
Current Assignee
Koninklijke PTT Nederland N.V.
|
Original Assignee
Koninklijke Philips N.V.
|
Method and system for implementing remote procedure calls in a distributed computer system | ||
Patent #
US 5,307,490 A
Filed 08/28/1992
|
Current Assignee
Hewlett-Packard Development Company L.P.
|
Original Assignee
Tandem Computers Incorporated
|
Automated order and delivery system | ||
Patent #
US 5,310,997 A
Filed 09/10/1992
|
Current Assignee
Tandy Corporation
|
Original Assignee
Tandy Corporation
|
Scalable and efficient intra-domain tunneling mobile-IP scheme | ||
Patent #
US 5,325,362 A
Filed 09/29/1993
|
Current Assignee
Sun Microsystems Incorporated
|
Original Assignee
Sun Microsystems Incorporated
|
Handover method for mobile radio system | ||
Patent #
US 5,327,577 A
Filed 06/03/1993
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Versatile RF data capture system | ||
Patent #
US 5,349,678 A
Filed 08/21/1991
|
Current Assignee
Intermec Technologies Corporation
|
Original Assignee
Norand Corporation
|
Interface for connecting computers to radio telephone networks | ||
Patent #
US 5,353,334 A
Filed 01/06/1994
|
Current Assignee
MLR LLC
|
Original Assignee
Spectrum Information Technologies Inc.
|
Programmable universal modem system and method for using the same | ||
Patent #
US 5,367,563 A
Filed 07/26/1993
|
Current Assignee
MLR LLC
|
Original Assignee
Spectrum Information Technologies Inc.
|
Processor-to-processor communications protocol for a public service trunking system | ||
Patent #
US 5,212,724 A
Filed 07/21/1992
|
Current Assignee
Com-Net Ericsson Canada Corp., Com-Net Ericsson Critical Radio Systems Inc.
|
Original Assignee
General Electric Company
|
Protocol and transceiver for cordless/cellular telephone service | ||
Patent #
US 5,212,684 A
Filed 08/30/1990
|
Current Assignee
IPG Electronics 503 Limited
|
Original Assignee
US Philips Corporation
|
Compensation for mismatched transport protocols in a data communications network | ||
Patent #
US 5,224,098 A
Filed 07/17/1991
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Programmable universal interface system | ||
Patent #
US 5,249,218 A
Filed 04/06/1992
|
Current Assignee
MLR LLC
|
Original Assignee
Spectrum Information Technologies Inc.
|
Method of maintaining an established connection in a mobile radio system comprising both analog and digital radio channels | ||
Patent #
US 5,257,401 A
Filed 04/11/1990
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Apparatus and method for alternative radiotelephone system selection | ||
Patent #
US 5,260,988 A
Filed 02/06/1992
|
Current Assignee
Google Technology Holdings LLC
|
Original Assignee
Motorola Inc.
|
System and method for interfacing computers to diverse telephone networks | ||
Patent #
US 5,127,041 A
Filed 06/01/1990
|
Current Assignee
MLR LLC
|
Original Assignee
Spectrum Information Technologies Inc.
|
Communications network dynamic addressing arrangement | ||
Patent #
US 5,166,931 A
Filed 09/04/1990
|
Current Assignee
American Telephone Telegraph
|
Original Assignee
ATT Inc.
|
Cellular cordless telephone | ||
Patent #
US 4,989,230 A
Filed 09/23/1988
|
Current Assignee
Motorola Inc.
|
Original Assignee
Motorola Inc.
|
Portable hybrid communication system and methods | ||
Patent #
US 4,972,457 A
Filed 01/19/1989
|
Current Assignee
MLR LLC
|
Original Assignee
Spectrum Information Technologies Inc.
|
Data transmission arrangement | ||
Patent #
US 4,969,184 A
Filed 02/02/1989
|
Current Assignee
Dialogic Corp.
|
Original Assignee
ALPHANET TECHNOLOGY CORPORATION
|
Cellular data telephone system and cellular data telephone therefor | ||
Patent #
US 4,837,800 A
Filed 03/18/1988
|
Current Assignee
Motorola Inc.
|
Original Assignee
Motorola Inc.
|
Cellular telephone data communication system and method | ||
Patent #
US 4,697,281 A
Filed 03/14/1986
|
Current Assignee
Spectrum Information Technologies Inc.
|
Original Assignee
SPECTRUM CELLULAR COMMUNICATIONS CORPORATION INC.
|
105 Claims
-
1. In a data communications environment including:
-
a plurality of data networks or subnetworks capable of communicating Internet Protocol packet-based data; at least one resource consumer that consumes at least one resource; at least one mobile computing device coupled to at least one of said plurality of networks or subnetworks; and at least another computing device that is coupled to at least one of said plurality of networks or subnetworks, wherein said at least one mobile computing device communicates with said at least another computing device at least in part via at least one of said plurality of networks or subnetworks, a distributed policy-management arrangement comprising; a policy management module present at least on said at least one mobile computing device, said policy management module dynamically conditioning or dynamically modifying at least one of consumption of and access to said at least one resource by said at least one resource consumer; wherein said distributed policy management arrangement provides at least one of (a) a rule, and (b) a control, that dynamically conditions or dynamically modifies at least one of said consumption of and said access to said resource by the resource consumer based at least in part on at least one of (a) a change in the state of the resource consumer, (b) the identity of the resource consumer, (c) said mobile computing device'"'"'s communication capability via at least one of said plurality of networks or subnetworks, (d) a time event associated with said policy management arrangement, and (e) a mobility event associated with said mobile computing device, wherein said policy management arrangement dynamically conditions or dynamically modifies said consumption of or access to the said at least one resource even if said communication(s) are encrypted. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. In a network computing environment comprising
a plurality of networks or subnetworks; -
at least one resource consumer that consumes at least one resource at least in part via at least one of said plurality of networks or subnetworks; at least one mobile computing device coupled to at least one of said plurality of networks or subnetworks; and at least another computing device that is coupled to at least one of said plurality of networks or subnetworks, a distributed policy management system including a first module operable on said at least another computing device coupled to said at least one of said networks or subnetworks, said distributed policy management system including a second module operable on said mobile computing device, said first and second modules cooperating to dynamically manage at least one of;
(a) access by said resource consumer to the at least one resource, and (b) consumption by said resource consumer of the at least one resource as said mobile computing device roams between said plurality of networks or subnetworks, even if the mobile computing device becomes unreachable or communication accessing or consuming the at least one resource is encrypted. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81)
-
-
82. In a data communications environment including:
-
a plurality of networks or subnetworks, at least one resource consumer that consumes at least one resource at least in part via at least one of said plurality of networks or subnetworks, at least one mobile computing device communicating with at least one of said plurality of networks or subnetworks, and at least another computing device that is coupled to at least one of said plurality of networks and subnetworks, a method comprising; executing, on said at least one mobile computing device, said resource consumer comprising at least one software module that at least one of accesses and consumes at least one computing resource via said at least one of said plurality of networks or subnetworks, and managing policy at least in part through cooperation involving said mobile computing device, including dynamically managing, based at least on an identity of at least one computing application, at least one of;
(a) access by said resource consumer to said resource, and (b) consumption by said resource consumer of said resource, at least in part in response to change in the state of said mobile computing device, even if communication with the resource is encrypted. - View Dependent Claims (83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105)
-
1 Specification
This application claims priority from U.S. Provisional Patent Application No. 60/274,615 filed Mar. 12, 2001; and is a continuation-in-part of U.S. patent application Ser. No. 09/660,500 filed Sep. 12, 2000; which application claims priority from Provisional Patent Application No. 60/176,305 filed Jan. 18, 2000; and which is a continuation-in-part of U.S. patent application Ser. No. 09/330,310 filed Jun. 11, 1999 (now U.S. Pat. No. 6,546,425); which application claims priority from provisional application No. 60/103,598 filed Oct. 9, 1998 (all incorporated herein by reference). This application also claims priority from International Application No. PCT/US01/28391 filed Sep. 12, 2001 (incorporated herein by reference).
The present invention relates to connectivity between networked computing devices. More particularly, the present invention relates to methods and systems that transparently address the characteristics of nomadic systems, and enable existing network applications to run reliably in the associated mobile environments. Still more particularly, the invention relates to techniques and systems for providing a continuous data stream connection between intermittently-connected devices such as handheld data units and personal computing devices.
Increasingly, companies are seeing rapid access to key information as the way to maintaining a competitive advantage. To provide immediate access to this information, mobile and other intermittently-connected computing devices are quietly and swiftly becoming an essential part of corporate networks—especially with the proliferation of inexpensive laptops and hand-held computing devices. However, integrating these nomadic devices into existing network infrastructures has created a challenge for the information manager.
Many problems in mobile networking parallel the difficulties in early local area networks (LANs) before the adoption of Ethernet. There are a variety of mobile protocols and interfaces, and because standards are just developing, there is little interoperability between systems. In addition, performance over these network technologies has typically been slow and bandwidth limited. Implementation costs to date have been high due the specialized nature of deployed systems.
Along with these issues, mobile technologies present a category of problems unto their own. Interconnects back into the main network may travel over and through a public network infrastructure, thus allowing sensitive information to possibly be tapped into. Furthermore, if any of the intermediary interconnects are via a wireless interface, the information is actually broadcast, and anyone with a similar interface can eavesdrop without much difficulty.
But, perhaps even more significantly, mobile networking has generally in the past been limited to mostly message-oriented or stateless applications—and thus has not been readily adaptable for existing or new corporate applications that use client/server, host-terminal, web-based or shared file systems models. This is because such commonly used applications need stateful sessions that employ a continuous stream of data—not just a stateless packet exchange—to work effectively and reliably.
To this end, many or most popular off-the-shelf networking applications require TCP/IP sessions, or private virtual circuits. These sessions cannot continue to function if they encounter network interruptions, nor can they tolerate roaming between networks (i.e., a change of network addresses) while established. Yet, mobile networking is, by its nature, dynamic and unreliable. Consider these common scenarios encountered in mobile networks:
Disconnected or Out of Range User
When a mobile device disconnects from a given network or loses contact (e.g., through an outage or “hole” in the coverage of a wireless interconnect), the session-oriented application running on the mobile device loses its stateful connection with its peer and ceases to operate. When the device is reattached or moves back into contact, the user must re-connect, log in again for security purposes, find the place in the application where work was left off, and possibly re-enter lost data. This reconnection process is time consuming, costly, and can be very frustrating.
Moving to a Different Network or Across a Router Boundary (Network Address Change)
Mobile networks are generally segmented for manageability purposes. But the intent of mobile devices is to allow them to roam. Roaming from one network interconnect to another can mean a change of network address. If this happens while the system is operational, the routing information must be changed for communications to continue between the associated peers. Furthermore, acquiring a new network address may require all of the previously established stateful application sessions to be terminated—again presenting the reconnection problems noted above.
Security
As mentioned before, companies need to protect critical corporate data. Off-the-shelf enterprise applications are often written with the assumption that access to the physical network is controlled (i.e., carried within cables installed inside a secure facility), and security is maintained through an additional layer of authentication and possible encryption. These assumptions have not been true in the nomadic computing world—where data is at risk for interception as it travels over public airways or public wire-line infrastructures.
It would be highly desirable to provide an integrated solution that transparently addresses the characteristics of nomadic systems, and enables existing network applications to run reliably in these mobile environments.
The present invention solves this problem by providing a seamless solution that extends the enterprise network, letting network managers provide mobile users with easy access to the same applications as stationary users without sacrificing reliability or centralized management. The solution combines advantages of present-day wire-line network standards with emerging mobile standards to create a solution that works with existing network applications.
In accordance with one aspect of a non-limiting exemplary and illustrative embodiment of the present invention, a Mobility Management Server (MMS) coupled to the mobile interconnect maintains the state of each of any number of Mobile End Systems (MES) and handles the complex session management required to maintain persistent connections to the network and to peer application processes. If a Mobile End System becomes unreachable, suspends, or changes network address (e.g., due to roaming from one network interconnect to another), the Mobility Management Server maintains the connection to the associated peer—allowing the Mobile End System to maintain a continuous virtual connection even though it may temporarily lose its actual physical connection.
The illustrative non-limiting example embodiments provided by the present invention also provide the following (among others) new and advantageous techniques and arrangements:
- a Mobility Management Server providing user configurable session priorities for mobile clients;
- per-user mobile policy management for managing consumption of network resources;
- a roaming methodology making use of the industry standard Dynamic Host Configuration Protocol (DHCP) in coordination with a Mobility Management Server;
- automatic system removal of unreliable datagrams based on user configurable timeouts; and
- automatic system removal of unreliable datagrams based on user configurable retries.
In more detail, the preferred illustrative embodiments of the present invention in one of their aspects provide a Mobility Management Server that is coupled to the mobile interconnect (network). The Mobility Management Server maintains the state of each of any number of Mobile End Systems and handles the complex session management required to maintain persistent connections to the network and to other processes (e.g., running on other network-based peer systems). If a Mobile End System becomes unreachable, suspends, or changes network address (e.g., due to roaming from one network interconnect to another), the Mobility Management Server maintains the connection to the associated peer, by acknowledging receipt of data and queuing requests. This proxying by the Mobility Management Server allows the application on the Mobile End System to maintain a continuous connection even though it may temporarily lose its physical connection to a specific network medium.
In accordance with another aspect of preferred embodiments of the present invention, a Mobility Management Server manages addresses for Mobile End Systems. Each Mobile End System is provided with a proxy address on the primary network. This highly available address is known as the “virtual address” of the Mobile End System. The Mobility Management Server maps the virtual addresses to current “point of presence” addresses of the nomadic systems. While the point of presence address of a Mobile End System may change when the mobile system changes from one network interconnect to another, the virtual address stays constant while any connections are active or longer if the address is statically assigned.
In accordance with yet another aspect of the preferred exemplary embodiments of the present invention, a Mobility Management Server provides centralized system management of Mobile End Systems through a console application and exhaustive metrics. The preferred embodiment also provides user configurable session priorities for mobile clients running through a proxy server, and per-user mobile policy management for managing consumption of network resources.
In accordance with yet another aspect, a Remote Procedure Call protocol and an Internet Mobility Protocol are used to establish communications between the proxy server and each Mobile End System.
Remote procedure calls provide a method for allowing a process on a local system to invoke a procedure on a remote system. The use of the RPC protocol allows Mobile End Systems to disconnect, go out of range or suspend operation without losing active network sessions. Since session maintenance does not depend on a customized application, off-the-shelf applications will run without modification in the nomadic environment.
The Remote Procedure Call protocol generates transactions into messages that can be sent via the standard network transport protocol and infrastructure. These RPC messages contain the entire network transaction initiated by an application running on the Mobile End System—enabling the Mobility Management Server and Mobile End System to keep connection state information synchronized at all times—even during interruptions of the physical link connecting the two. In the preferred embodiment of the present invention providing RPC'"'"'s, the proxy server and the Mobile End Systems share sufficient knowledge of each transaction'"'"'s state to maintain coherent logical database about all shared connections at all times.
The Internet Mobility Protocol provided in accordance with the preferred embodiment of the present invention compensates for differences between wired local area network interconnects and other less reliable networks such as a wireless LAN or WAN. Adjusted frame sizes and protocol timing provide significant performance improvements over non-mobile-aware transports—dramatically reducing network traffic. This is important when bandwidth is limited or when battery life is a concern. The Internet Mobility Protocol provided in accordance with the preferred embodiment of the present invention also ensures the security of organizational data as it passes between the Mobile End System and the Mobility Management Server over public network interconnects or airways. The Internet Mobility Protocol provides a basic firewall function by allowing only authenticated devices access to the organizational network. The Internet Mobility Protocol can also certify and encrypt all communications between the Mobility Management Server and the Mobile End System.
In accordance with yet another aspect of preferred non-limiting embodiments of the present invention, mobile inter-connectivity is built on standard transport protocols (e.g., TCP/IP, UDP/IP and DHCP, etc) to extend the reach of standard network application interfaces. The preferred exemplary embodiments of the present invention efficiently integrates transport, security, address management, device management and user management needs to make nomadic computing environments effectively transparent. The Internet Mobility Protocol provides an efficient mechanism for multiplexing multiple streams of data (reliable and unreliable) through a single virtual channel provided by such standard transport protocols over standard network infrastructure.
With the help of the RPC layer, the Internet Mobility Protocol coalesces data from different sources targeted for the same or different destinations, together into a single stream and forwards it over a mobile link. At the other end of the mobile link, the data is demultiplexed back into multiple distinct streams, which are sent on to their ultimate destination(s). The multiplexing/demultiplexing technique allows for maximum use of available bandwidth (by generating the maximum sized network frames possible), and allows multiple channels to be established (thus allowing prioritization and possibly providing a guaranteed quality of service if the underlying network provides the service).
The Internet Mobility Protocol provided in accordance with the preferred example embodiments of the present invention provide the additional non-limiting exemplary features and advantages:
- Transport protocol independence.
- Allows the network point of presence (POP) or network infrastructure to change without affecting the flow of data (except where physical boundary, policy or limitations of bandwidth may apply).
- Minimal additional overhead.
- Automatic fragment resizing to accommodate the transmission medium. (When the protocol data unit for a given frame is greater then the available maximum transmission unit of the network medium, the Internet Mobility Protocol will fragment and reassemble the frame to insure that it can traverse the network. In the event of a retransmit, the frame will again be assessed. If the network infrastructure or environment changes, the frame will be refragmented or in the case that the maximum transmission unit actually grew, sent as a single frame.)
- Semantics of unreliable data are preserved, by allowing frames to discard unreliable data during retransmit.
- Provides a new semantic of Reliable Datagram service. (Delivery of datagrams can now be guaranteed to the peer terminus of the Internet Mobility Protocol connection. Notification of delivery can be provided to a requesting entity.)
- Considers the send and receive transmission path separately, and automatically tailors its operating parameters to provided optimum throughput. (Based on hysteresis, it adjusts such parameters as frame size/fragmentation threshold, number of frames outstanding (window), retransmit time, and delayed acknowledgement time to reduce the amount of duplicate data sent through the network.)
- Network fault tolerant (since the expected usage is in a mobile environment, temporary loss of network medium connectivity does not result in a termination of the virtual channel or application based connection).
- Provides an in-band signaling method to its peer to adjust operating parameters (each end of the connection can alert its peer to any changes in network topology or environment).
- Employs congestion avoidance algorithms and gracefully decays throughput when necessary.
- Employs selective acknowledgement and fast retransmit policies to limit the number of gratuitous retransmissions, and provide faster handoff recovery in nomadic environments. (This also allows the protocol to maintain optimum throughput in a lossy network environment.)
- Employs sliding window technology to allow multiple frames to be outstanding. (This parameter is adjustable in each direction and provides for streaming frames up to a specified limit without requiring an acknowledgement from its peer.)
- Sequence numbers are not byte oriented, thus allowing for a single sequence number to represent up to a maximum payload size.
- Security aware. (Allows for authentication layer and encryption layer to be added in at the Internet Mobility Protocol layer.)
- Compression to allow for better efficiency through bandwidth limited links.
- Balanced design, allowing either peer to migrate to a new point of presence.
- Either side may establish a connection to the peer.
- Allows for inactivity timeouts to be invoked to readily discard dormant connections and recover expended resources.
- Allows for a maximum lifetime of a given connection (e.g., to allow termination and/or refusal to accept connections after a given period or time of day).
Non-limiting preferred exemplary embodiments of the present invention also allow a system administrator to manage consumption of network resources. For example, the system administrator can place controls on Mobile End Systems, the Mobility Management Server, or both. Such controls can be for the purpose, for example, of managing allocation of network bandwidth or other resources, or they may be related to security issues. It may be most efficient to perform management tasks at the client side for clients with lots of resources. However, thin clients don'"'"'t have many resources to spare, so it may not be practical to burden them with additional code and processes for performing policy management. Accordingly, it may be most practical to perform or share such policy management functions for thin clients at a centralized point such as the Mobility Management Server. Since the Mobility Management Server proxies the distinct data streams of the Mobile End Systems, it provides a central point from which to conduct policy management. Moreover, the Mobility Management Server provides the opportunity to perform policy management of Mobile End Systems on a per user and/or per device basis. Since the Mobility Management Server is proxying on a per user basis, it has the ability to control and limit each user'"'"'s access to network resources on a per-user basis as well as on a per-device basis.
As one simple example, the Mobility Management Server can “lock out” certain users from accessing certain network resources. This is especially important considering that interface network is via a mobile interconnect, and may thus “extend” outside of the boundaries of a locked organizational facility (consider, for example, an ex-employee who tries to access the network from outside his former employer'"'"'s building). However, the policy management provided by the Mobility Management Server can be much more sophisticated. For example, it is possible for the Mobility Management Server to control particular Web URL'"'"'s particular users can visit, filter data returned by network services requests, and/or compress data for network bandwidth conservation. This provides a way to enhance existing and new application-level services in a seamless and transparent manner.
Furthermore, because the Mobile End System may be connected to an “untrusted” network (i.e. outside the corporations locked boundaries) there is a chance of malicious attack while being remotely connected. By sharing policy rules and filters with the Mobile End System, one can protect the MES from rogue connections, provide ingress filtering for the remote node, and further secure the corporate infrastructure from one central location.
A further exemplary embodiment of the invention provides an interface-assisted roaming listener that allows Mobile End Systems to take advantage of interfaces supporting generic signaling, to enable interface-assisted roaming. In accordance with one feature provided in accordance with the exemplary embodiment, the Mobile End System interface-based listener determines in response to an event (e.g., a callback, a timer timeout or a network activity hint indicating data loss), whether the Mobile End System'"'"'s media connectivity status has changed. For example, the listener signals to the interface when it detects that the Mobile End System has become detached and is no longer in communication with the network. Upon re-attachment, the listener uses previously recorded network point of attachment identification information to determine whether the Mobile End System has been reattached to the same or different network point of attachment. If the reattachment is to the same network point of attachment, the listener signals to alert the mobile clients that they need to take steps to reestablish transport level communications. If the reattachment is to a different network point of attachment, the listener signals a “roam” condition and prompts the Mobile End System to acquire an address that is usable on the current network segment (this may entail, for example, registering the current address to be valid on a new subnet, for example). The listener may maintain a network topology map (which may be learned through operation) to assist it in deciding the correct signal (e.g., “roam same subnet” or “roam”) to generate to its clients.
A still further aspect provided by non-limiting preferred exemplary embodiments of our invention allows access to a Mobility Management Server (MMS) in a “disjoint networking” mode. The new algorithm allows for dynamic/static discovery of alternate network addresses that can be used to establish/continue communications with an MMS—even in a disjoint network topology in which one network infrastructure may have no knowledge of network addresses for another network infrastructure. In accordance with this arrangement, a list of alternate addresses that the MMS is available at is preconfigured, forwarded to or dynamically learned by an MES (Mobile End System) during the course of a conversation/connection. In one embodiment, the MMS can use a connection over one network to send the MES one or more MMS network addresses or other MMS identities corresponding to other networks. This list can be sent/updated during circuit creation or at any other time during the connection.
If/when the MES roams to a second network, it uses the list of MMS “alias” addresses/identifications to contact the MMS over the new network connection on the second network. This allows the MES to re-establish contact with the MMS over the new network connection even though the first and second networks may not share any addresses, routes, or other information.
Further example embodiments of the invention provide policy management decision making within a distributed mobile network topology. For example, rule-based policy management procedures can be performed to allow, deny and/or condition request fulfillment based on a variety of metrics. Such policy management can be used, for example, to provide decision making based on cost metrics such as least cost routing in a multi-home/path environment.
Such policy management techniques may take into account the issue of mobility or positioning (i.e., roaming) in making decisions. For example, policy management rules may be based on locale of the device (e.g., proximity to network point of attachment such as access point/base station, hubs, routers, or GPS coordinate) so certain operations can be allowed in one building of an enterprise but not in another building. An example of such an application might be an enterprise with several different wireless networks. Such an enterprise might have a loading dock and office area served by a wireless network. The system administrator would be able to configure the system such that workers (e.g., users and devices) on the loading dock are not permitted access to the wireless network in the office environment. Also policy management results can be tri-state: allow, deny or delay (for example, if the decision is based on bandwidth requirements or cost, the decision may be to delay an operation from being executed and to wait for a more opportune time when the operation can be accommodated).
The policy management provided by the preferred example embodiments is capable of modifying an operation based on a decision. For example, one example action is to throttle consumption of network bandwidth for all active applications. Also consider an aggressive application that is consuming significant bandwidth. The policy engine can govern the rate at which the application'"'"'s operations/transactions are completed. This behavior may also be learned dynamically to squelch a possible errant application. Another example action provides reconstitution of data( i.e. dithering of graphics images based on available/allowable bandwidth or cost/user restrictions).
Furthermore the rules engine allows for other actions to be invoked based on rule evaluation. External procedures such as logging an event, sending an alert or notifying the user that the action is being denied, delayed, or conditioned may be executed. Such notification can also be interactive and ask for possible overrides to an existing rule from the operator.
The policy management engine provided in the example non-limiting embodiment can base its decision making on any number or combination metrics that are associated with the device, device group, user group, user,/or network point of attachment.
As part of the policy management functionality, other locale base information and services may also be acquired/provided for the purposes of policy management, network modeling, and/or asset tracking. Such services include the ability to automatically present to users and mobile end systems information that is applicable within the context of a mobile end system'"'"'s present location. This information may be provided in the form of messages, files, or in some other electronic format.
One non-limiting example of such use of this capability would permit shopping malls, business communities, and large retailers, to locate wireless access points that may be compatible with Bluetooth PANs, IEEE 802.11 LANs, 802.15 PANs, or other wireless network standards in strategic locations within the shopping center. As customers roam from location to location, stores and vendors would be permitted to push down information relevant to the vendors that are present within the mobile end systems current location. This information would include information such as current sales, discounts, and services. In addition to such information, mobile end systems may be provided electronic coupons used for sales promotion. Vendors would be permitted to register for these services through some centralized authority that may be associated with the mall, business community, retailer, or some other hosted service.
A further example non-limiting use of such a technology would be in vertical industries where information is collected based on location including but not limited to such industries as field service, field sales, package delivery, or public safety where lists of local services, maps, directions, customers, or hazards may be pushed down to mobile end systems based on location.
Yet another non-limiting example use may entail a web based service for monitoring and tracking mobile end systems. For example, customers may register for this tracking service so trusted third parties may log onto the hosted web service and find out exact locations of their mobile end systems. This may include mobile end systems installed on vehicles or carried by pedestrians. As mobile end systems continue to experience reductions in size and wait, such services become more likely. These services would permit people to track and locate individuals that are high risk such as elderly, handicapped, or ill. It may also be used to track items that are highly valued such as automobiles or other expensive mobile properties and packages. Using 3G WAN networks, Bluetooth networks, 802.11 networks, 802.15 networks, and other wireless technologies, combined with this unique ability to provide seamless connectivity while switching network mediums or point of attachments, such services become possible and likely at a much reduced cost.
The present invention thus extends the enterprise network, letting network managers provide mobile users with easy access to the same applications as stationary users without sacrificing reliability or centralized management. The solution combines advantages of existing wire-line network standards with emerging mobility standards to create a solution that works with existing network applications.
These, as well as other features and advantages of this invention, will be more completely understood and appreciated by careful study of the following more detailed description of presently preferred example embodiments of the invention taken in conjunction with the accompanying drawings, of which:
In this particular example, Mobile End Systems 104 are sometimes but not always actively connected to Mobility Management Server 102. For example:
- Some Mobile End Systems 104a–104k may communicate with Mobility Management Server 102 via a mobile interconnect (wirelessly in this case), e.g., conventional electromagnetic (e.g., radio frequency) transceivers 106 coupled to wireless (or wire-line) local area or wide area network 108. Such mobile interconnect may allow Mobile End Systems 104a–104k to “roam” from one cover area 107a to another coverage area 107k. Typically, there is a temporary loss of communications when a Mobile End System 104 roams from one coverage area 107 to another, moves out of range of the closest transceiver 106, or has its signal temporarily obstructed (e.g., when temporarily moved behind a building column or the like).
- Other Mobile End Systems 104l, 104m, . . . may communicate with Mobility Management Server 102 via non-permanent wire-based interconnects 109 such as docking ports, network cable connectors, or the like. There may be a temporary loss of communications when Mobile End Systems 104 are temporarily disconnected from LAN 108 by breaking connection 109, powering off the Mobile End Systems, etc.
- Still other Mobile End Systems (e.g., 104n) may be nomadically coupled to Mobility Management Server 102 via a further network topography 111 such as a wide area network, a dial-up network, a satellite network, or the Internet, to name a few examples. In one example, network 111 may provide intermittent service. In another example, Mobile End Systems 104 may move from one type of connection to another (e.g., from being connected to Mobility Management Server 102 via wire-based interconnect 109 to being connected via network 111, or vice versa)—its connection being temporarily broken during the time it is being moved from one connection to another.
Mobile End Systems 104 may be standard mobile devices and off the shelf computers. For example, Mobile End System 104 may comprise a laptop computer equipped with a conventional radio transceiver and/or network cards available from a number of manufacturers. Mobile End Systems 104 may run standard network applications and a standard operating system, and communicate on the transport layer using a conventionally available suite of transport level protocols (e.g., TCP/IP suite.) In accordance with the present invention, Mobile End Systems 104 also execute client software that enables them to communicate with Mobility Management Server 102 using Remote Procedure Call and Internet Mobility Protocols that are transported using the same such standard transport level protocols.
Mobility Management Server 102 may comprise software hosted by a conventional Windows NT or other server. In the preferred embodiment, Mobility Management Server 102 is a standards-compliant, client-server based intelligent server that transparently extends the enterprise network 108 to a nomadic environment. Mobility Management Server 102 serves as network level proxy for each of any number of Mobile End Systems 104 by maintaining the state of each Mobile End System, and by handling the complex session management required to maintain persistent connections to any peer systems 110 that host network applications—despite the mobile interconnect between Mobile End Systems 104 and transceivers 106 being intermittent and unreliable.
For example, server 102 allows any conventional (e.g., TCP/IP based) network application to operate without modification over mobile connection. Server 102 maintains the sessions of Mobile End Systems 104 that disconnect, go out of range or suspend operation, and resumes the sessions when the Mobile End System returns to service. When a Mobile End System 104 becomes unreachable, shuts down or changes its point of presence address, the Mobility Management Server 102 maintains the connection to the peer system 110 by acknowledging receipt of data and queuing requests until the Mobile End System once again becomes available and reachable.
Server 102 also extends the management capabilities of wired networks to mobile connections. Each network software layer operates independently of others, so the solution can be customized to the environment where it is deployed.
As one example, Mobility Management Server 102 may be attached to a conventional organizational network 108 such as a local area network or wide area network. Network 108 may be connected to a variety of fixed-end systems 110 (e.g., one or most host computers 110). Mobility Management Server 102 enables Mobile End Systems 104 to communicate with Fixed End System(s) 110 using continuous session type data streams even though Mobile End Systems 104 sometimes lose contact with their associated network interconnect or move from one network interconnect 106, 109, 111 to another (e.g., in the case of wireless interconnect, by roaming from one wireless transceiver 106 coverage area 107 to another).
A Mobile End System 104 establishes an association with the Mobility Management Server 102, either at startup or when the Mobile End System requires network services. Once this association is established, the Mobile End System 104 can start one or more network application sessions, either serially or concurrently. The Mobile End System 104-to-Mobility Management Server 102 association allows the Mobile End System to maintain application sessions when the Mobile End System, disconnects, goes out of range or suspends operation, and resume sessions when the Mobile End System returns to service. In the preferred embodiment, this process is entirely automatic and does not require any intervention on the user'"'"'s part.
In accordance with an aspect of the present invention, Mobile End Systems 104 communicate with Mobility Management Server 102 using conventional transport protocols such as, for example, UDP/IP. Use of conventional transport protocols allows Mobile End Systems 104 to communicate with Mobility Management Server 102 using the conventional routers 112 and other infrastructure already existing on organization'"'"'s network 108. In accordance with the present invention, a higher-level Remote Procedure Call protocol generates transactions into messages that are sent over the mobile enhanced network 108 via the standard transport protocol(s). In this preferred embodiment, these mobile RPC messages contain the entire network transaction initiated by an application running on the Mobile End System 104, so it can be completed in its entirety by the Mobility Management Server. This enables the Mobility Management Server 102 and Mobile End System 104 to keep connection state information synchronized at all times—even during interruptions of network medium connectivity.
Each of Mobile End Systems 104 executes a mobility management software client that supplies the Mobile End System with the intelligence to intercept all network activity and relay it via the mobile RPC protocol to Mobility Management Server 102. In the preferred embodiment, the mobility management client works transparently with operating system features present on Mobile End Systems 104 (e.g., Windows NT, Windows 98, Windows 95, Windows CE, etc.) to keep client-site application sessions active when contact is lost with the network.
Mobility Management Server 102 maintains the state of each Mobile End System 104 and handles the complex session management required to maintain persistent connections to associated peer 108 such as host computer 110 attached to the other end of the connection end point. If a Mobile End System 104 becomes unreachable, suspends, or changes network address (e.g., due to roaming from one network interconnect to another), the Mobility Management Server 102 maintains the connection to the host system 110 or other connection end-point, by acknowledging receipt of data and queuing requests. This proxy function means that the peer application never detects that the physical connection to the Mobile End System 104 has been lost—allowing the Mobile End System'"'"'s application(s) to effectively maintain a continuous connection with its associated session end point (by simply and easily resuming operations once a physical connection again is established) despite the mobile system temporarily losing connection or roaming from one network interconnect 106A to another network interconnect 106K within coverage area 107K.
Mobility Management Server 102 also provides address management to solve the problem of Mobile End Systems 104 receiving different network addresses when they roam to different parts of the segmented network. Each Mobile End System 104 is provided with a virtual address on the primary network. Standard protocols or static assignment determine these virtual addresses. For each active Mobile End System 104, Mobility Management Server 102 maps the virtual address to the Mobile End System'"'"'s current actual (“point of presence”) address. While the point of presence address of a Mobile End System 104 may change when the device changes from one network segment to another, the virtual address stays constant while any connections are active or longer if the address is assigned statically.
Thus, the change of a point of presence address of a Mobile End System 104 remains entirely transparent to an associated session end point on host system 110 (or other peer) communicating with the Mobile End System via the Mobility Management Server 102. The peer 110 sees only the (unchanging) virtual address proxied by the server 102.
In the preferred embodiment, Mobility Management Server 102 can also provide centralized system management through console applications and exhaustive metrics. A system administrator can use these tools to configure and manage remote connections, and troubleshoot remote connection and system problems.
The proxy server function provided by Mobility Management Server 102 allows for different priority levels for network applications, users and machines. This is useful because each Mobility Management Server 102 is composed of finite processing resources. Allowing the system manager to configure the Mobility Management Server 102 in this way provides enhanced overall system and network performance. As one example, the system manager can configure Mobility Management Server 102 to allow real time applications such as streaming audio or video to have greater access to the Mobility Management Server 102'"'"'s resources than other less demanding applications such as email.
In more detail, Mobility Management Server 102 can be configured via an application or application interface; standard network management protocols such as SNMP; a Web-based configuration interface; or a local user interface. It is possible to configure association priority and/or to configure application priority within an association. For example, the priority of each association relative to other associations running through the Mobility Management Server 102 is configurable by either the user name, or machine name (in the preferred embodiment, when the priority is configured for both the user and the machine that a user is logged in on, the configuration for the user may have higher precedence). In addition or alternatively, each association may have several levels of application priority, which is configured based on network application name. The system allows for any number of priority levels to exist. In one particular implementation, three priority levels are provided: low, medium and high.
Server and Client Example Software Architecture
In accordance with the present invention, a new, mobile interceptor component 212 is inserted between the TCP/UDP transport module 202 and the transport driver interface (TDI) 204 of the Mobile End System 104 software architecture. Mobile interceptor 212 intercepts certain calls at the TDI 204 interface and routes them via RPC and Internet Mobility Protocols and the standard TCP/UDP transport protocols 202 to Mobility Management Server 102 over network 108. Mobile interceptor 212 thus can intercept all network activity and relay it to server 102. Interceptor 212 works transparently with operating system features to allow client-side application sessions to remain active when the Mobile End System 104 loses contact with network 108.
While mobile interceptor 212 could operate at a different level than the transport driver interface 204 (e.g., at the socket API level 206), there are advantages in having mobile interceptor 212 operate at the TDI level or more specifically, any transport protocol interface. For brevity sake, all references to the transport driver interface will be denoted using the acronym TDI. Many conventional operating systems (e.g., Microsoft Windows 95, Windows 98, Windows NT and Windows CE, etc. ) provide TDI interface 204—thus providing compatibility without any need to change operating system components. Furthermore, because the transport driver interface 204 is normally a kernel level interface, there is no need to switch to user mode—thus realizing performance improvements. Furthermore, mobile interceptor 212 working at the level of TDI interface 204 is able to intercept from a variety of different network applications 208 (e.g., multiple simultaneously running applications) as well as encompassing network file, print and other kernel mode services 210 (which would have to be handled differently if the interceptor operated at the socket API level 206 for example).
Referring once again to
As also shown in
Mobile Interceptor
- a Remote Procedure Call protocol engine 240; and
- an Internet Mobility Protocol engine 244.
Proxy server 224 running on Mobility Management Server 102 provides corresponding engines 240′, 244′.
Mobile interceptor 212 in the preferred embodiment thus supports Remote Procedure Call protocol and Internet Mobility Protocol to connect Mobility Management Server 102 to each Mobile End Systems 104. Remote procedure calls provide a method for allowing a process on a local system to invoke a procedure on a remote system. Typically, the local system is not aware that the procedure call is being executed on a remote system. The use of RPC protocols allows Mobile End Systems 104 to go out of range or suspend operation without losing active network sessions. Since session maintenance does not depend on a customized application, off-the-shelf applications will run without modification in the mobile environment of network 108.
Network applications typically use application-level interfaces such as Windows sockets. A single call to an application-level API may generate several outgoing or incoming data packets at the transport, or media access layer. In prior mobile networks, if one of these packets is lost, the state of the entire connection may become ambiguous and the session must be dropped. In the preferred embodiment of the present invention providing RPCs, the Mobility Management Server 102 and the Mobile End Systems 104 share sufficient knowledge of the connection state to maintain a coherent logical link at all times—even during physical interruption.
The Internet Mobility Protocol provided in accordance with the present invention compensates for differences between wire-line and other less reliable networks such as wireless. Adjusted frame sizes and protocol timing provide significant performance improvements over non-mobile-aware transports—dramatically reducing network traffic. This is important when bandwidth is limited or when battery life is a concern.
The Internet Mobility Protocol provided in accordance with the present invention also ensure the security of organization'"'"'s data as it passes between the Mobile End System 104 and the Mobility Management Server 102 on the public wire-line networks or airway. The Internet Mobility Protocol provides a basic firewall function by allowing only authenticated devices access to the organizational network. The Internet Mobility Protocol can also certify and encrypt all communications between the mobility management system 102 and the Mobile End System 104.
The Remote Procedure Call protocol engine 240 on Mobile End System 104 of
The Internet Mobility Protocol engine 244 performs reliable datagram services, sequencing, fragmentation, and re-assembly of messages. It can, when configured, also provide authentication, certification, data encryption and compression for enhanced privacy, security and throughput. Because the Internet Mobility Protocol engine 244 functions in power-sensitive environments using several different transports, it is power management aware and is transport independent.
When the coalesce timer expires, or the RPC protocol engine 240 determines that it will not be receiving more RPC calls (decision block 306), the RPC engine provides the Internet Mobility Protocol engine 244 with a request to flush the queue, coalesce the RPC calls into a single frame, and forward the frame to its peer (block 308). This coalescing reduces the number of transmissions—enhancing protocol performance. However, the Internet Mobility Protocol may also decide to flush queue 244 based on other external criteria to further optimize performance. In the preferred embodiment, if a single RPC request will fill an entire frame, the IMP layer will automatically try to send the request to the peer.
As mentioned above, Mobility Management Server 102 proxy server also has an RPC protocol engine 212′ and an Internet Mobility Protocol engine 244′.
The Internet Mobility Protocol engine 244′ then formulates the received message into a RPC receive indication system work request 354, and provides the Mobility Management Server 102 RPC engine 240′ with the formulated work request and association-specific context information. When RPC protocol engine 240′ receives work request 352, it places it into an association-specific work queue 356, and schedules the association to run by providing a scheduled request to a global queue 358. The main work thread of RPC engine 240′ is then signaled that work is available. Once the main thread is awake, it polls the global queue 358 to find the previously queued association scheduled event. It then de-queues the event and beings to process the association-specific work queue 356.
On the association specific work queue 356 it finds the previously queued RPC receive indication work request The main thread then de-queues the RPC receive indication work request 356 and parses the request. Because of the coalescing described in connection with
How RPC Protocol Engine 240′ Runs RPC Associations
There are six basic types of RPC work requests in the preferred embodiment:
- schedule request;
- connect indication
- disconnect indication
- local terminate association
- “resources available” request; and
- ping inactivity timeout.
RPC protocol engine 240′ handles these various types of requests differently depending upon its type. RPC protocol engine 240′ tests the request type (indicated by information associated with the request as stored on global queue 358) in order to determine how to process the request.
If the type of work request is a “schedule request” (decision block 360), the RPC engine 240′ determines which association is being scheduled (block 362). RPC engine 240′ can determine this information from what is stored on global queue 358. Once the association is known, RPC engine 240′ can identify the particular one of association work queues 356(1) . . . 356(n) the corresponding request is stored on. RPC engine 240 retrieves the corresponding association control block (block 362), and calls a Process Association Work task 364 to begin processing the work in a specific association'"'"'s work queue 356 as previously noted.
The above process continues to loop until a “scheduling weight complete” test (block 404) is satisfied. In this example, a scheduling weight is used to decide how many work requests will be de-queued and processed for this particular association. This scheduling weight is a configuration parameter set by configuration manager 228, and is acquired when the association connect indication occurs (
Once the RPC engine is finished with the association work queue 356 (for the time at least), it may proceed to process dispatch queues (block 406) (to be discussed in more detail below). If, after processing work on the association'"'"'s work queue 356, more work remains in the association work queue, the RPC engine 240′ will reschedule the association to run again at a later time by posting a new schedule request to the global work queue 358 (
Referring once again to
- physical identifier of the machine,
- name of the user logged into the machine,
- address of the peer machine, and
- optional connection data from the peer RPC engine 240.
In response to the connect indication (decision block 370), the RPC engine 240 calls the configuration manager 228 with these parameters. Configuration manager 228 uses these parameters to determine the exact configuration for the new connection. The configuration (e.g., association scheduling weight and the list of all applications that require non-default scheduling priorities along with those priorities) is then returned to the RPC engine 240′ for storage and execution. RPC engine 240′ then starts the new association, and creates a new association control block (block 372). As shown in
- allocate an association control block (block 372A);
- initialize system wide resources with defaults (block 372B);
- get configuration overrides with current configuration settings (block 372C);
- initialize flags (block 372D);
- initialize the association-specific work queue (block 372E);
- initialize association object hash table (block 372F);
- initialize the coalesce timer (block 372G); and
- insert association control block into session table (block 372H).
A “disconnect indication” is issued by the Internet Mobility Protocol engine 244′ to the RPC engine 240′ when the Internet Mobility Protocol engine has determined that the association must be terminated. The RPC engine 240′ tests for this disconnect indication (block 374), and in response, stops the association and destroys the association control block (block 376). As shown in
- mark the association as deleted to prevent any further processing of work that may be outstanding (block 376A);
- close all associated association objects including process, connection and address objects (block 376B);
- free all elements on work queue (block 376C);
- stop coalesce timer if running (block 376D);
- decrement association control block reference count (block 376E); and
- if the reference count is zero (tested for by block 376F):
- destroy association specific work queue,
- destroy object hash table,
- destroy coalesce timer,
- remove association control block from association table, and
- free control block (376G).
A “terminate session” request is issued when system 102 has determined that the association must be terminated. This request is issued by the system administrator, the operating system or an application. RPC engine 240′ handles a terminate session request in the same way it handles a disconnect request (decision block 378, block 376).
In the preferred embodiment, the interface between the RPC engine 240′ and the Internet Mobility Protocol engine 244′ specifies a flow control mechanism based on credits. Each time one thread posts a work request to another thread, the called thread returns the number of credits left in the work queue. When a queue becomes full, the credit count goes to zero. By convention, the calling thread is to stop posting further work once the credit count goes to zero. Therefore, it is necessary to have a mechanism to tell the calling thread that “resources are available” once the queued work is processed and more room is available by some user configurable/pre-determined low-water mark in the queue. This is the purpose of the “resources available” work indication (tested for by decision block 380). As shown in
- mark association as “low mark pending” by setting the RPC_LMPQ_SEND_FLAG (block 379A). Once in this state:
- all received datagrams are discarded (block 379B);
- all received stream events are throttled by refusing to accept the data (block 379C) (this causes the TCP or other transport receive window to eventually close, and provides flow control between the Fixed End System 110 and the Mobility Management Server 102; before returning, the preferred embodiment jams a “pending receive request” to the front of the association specific work queue 356 so that outstanding stream receive event processing will continue immediately once resources are made available).
- all received connect events are refused for passive connections (block 379D).
When the “resources available” indication is received by the RPC engine 240′ (
Referring once again to
RPC Parsing and Priority Queuing
Referring back to
The
Thus, RPC parser 394 in this example handles the following boundary conditions:
- each RPC receive request 500 may contain one or more RPC calls;
- one or more RPC calls 506 may exist in a single fragment 502;
- each RPC call 506 may exist completely contained in a fragment 502; and
- each RPC call 506 may span more than one fragment 502.
Once the parser 394 identifies an RPC call type, a pointer to the beginning of the RPC information is passed to the RPC engine 240 for execution. The RPC engine divides all TDI procedure calls into different priorities for execution. The highest priority calls are immediately executed by passing them to an RPC dispatcher 395 for immediate execution. All lower priority calls are dispatched to dispatch queues 510 for future processing. Each dispatch queue 510 represents a discrete priority.
In the preferred embodiment, mobile applications call the “open address” object and “open connection” object functions before executing other TDI networking functions. Therefore, the system assigns application level priorities during the “open address” object and “open connection” object calls. In the example embodiment, once an address or connection object is assigned a priority, all calls that are associated with that object are executed within that assigned priority.
If, for example, the RPC call is a TDI Open Address Object request or a TDI Open Connection Object Request, it is sent to the RPC dispatcher 395 for immediate execution. The Open Address and Open Connection object RPC calls provide access to a process ID or process name that are used to match against the information provided by the configuration manager 228 during the configuration requests that occurs within the association connect indication described earlier. This is used to acquire configuration for the address or connection object.
In the preferred embodiment, all RPC calls have at least an address object or connection object as a parameter. When the call is made, the priority assigned to that specific object is used as the priority for the RPC call. The configuration assigned to the address or connection object determines which priority all associated RPC calls will be executed in. For example, if the assigned priority is “high,” all RPC calls will be executed immediately without being dispatched to a dispatch queue 510. If the assigned priority is “1,” all RPC calls will be placed into dispatch queue 510(1).
Referring once again to
In this example, dispatch queues 510 are processed beginning with the highest priority queue (510(1) in this example) (block 408). Each queue 510 is assigned a weight factor. The weight factor is a configuration parameter that is returned by the configuration manager 228 when a Mobile End System 104 to Mobility Management Server 102 association is created. As one example, low priority dispatch queues 510 can have a weight factor of 4, and medium priority queues can have a weight factor of 8. High priority RPC calls do not, in this example, use weight factors because they are executed immediately as they are parsed.
RPC engine 240′ loops through the de-queuing of RPC calls from the current queue until either the queue is empty or the queue weight number of RPC calls has been processed (blocks 412–416). For each de-queued RPC call, the RPC dispatcher 395 is called to execute the call. The RPC dispatcher 395 executes the procedural call on behalf of the Mobile End System 104, and formulates the Mobile End System response for those RPC calls that require responses.
If, after exiting the loop, the queue still has work remaining (decision block 418), the queue will be marked as eligible to run again (block 420). By exiting the loop, the system yields the processor to the next lower priority queue (blocks 424, 410). This ensures that all priority levels are given an opportunity to run no matter how much work exists in any particular queue. The system gets the next queue to service, and iterates the process until all queues have been processed. At the end of processing all queues, the system tests to see if any queues have been marked as eligible to run—and if so, the association is scheduled to run again by posting a schedule request to the global work queue. The association is scheduled to run again in the “process global work” routine shown in
Mobility Management Server RPC Responses
The discussion above explains how remote procedure calls are sent from the Mobile End System 104 to the Mobility Management Server 102 for execution. In addition to this type of RPC call, the Mobility Management Server 102 RPC engine 240′ also supports RPC events and RPC receive responses. These are RPC messages that are generated asynchronously as a result of association specific connection peer activity (usually the Fixed End System 110). Mobility Management Server 102 RPC engine 240′ completes RPC transactions that are executed by the RPC dispatcher 395. Not all RPC calls require a response on successful completion. Those RPC calls that do require responses on successful completion cause the RPC dispatcher 395 to build the appropriate response and post the response to the Internet Mobile Protocol engine 244′ to be returned to the peer Mobile End System 104. All RPC calls generate a response when the RPC call fails (the RPC receive response is the exception to above).
RPC events originate as a result of network 108 activity by the association specific connection (usually the Fixed End System 110). These RPC event messages are, in the preferred embodiment, proxied by the Mobility Management Server 102 and forwarded to the Mobile End System 104. The preferred embodiment Mobility Management Server 102 supports the following RPC event calls:
- Disconnect Event (this occurs when association-specific connected peer (usually the Fixed End System 110) issues a transport level disconnect request; the disconnect is received by the proxy server 224 on behalf of the Mobile End System 104, and the proxy server then transmits a disconnect event to the Mobile End System);
- Stream Receive Event (this event occurs when the association-specific connected peer (usually the Fixed End System 110) has sent stream data to the Mobile End System 104; the proxy server 224 receives this data on behalf of the Mobile End System 104, and sends the data to the Mobile End System in the form of a Receive Response);
- Receive Datagram Event (this event occurs when any association-specific portal receives datagrams from a network peer (usually the Fixed End System 110) destined for the Mobile End System 104 through the Mobility Management Server 102; the proxy server 224 accepts these datagrams on behalf of the Mobile End System, and forwards them to the Mobile End System in the form of receive datagram events; and
- Connect Event (this event occurs when the association-specific listening portal receives a transport layer connect request (usually from the Fixed End System 110) when it wishes to establish a transport layer end-to-end connection with a Mobile End System 104; the proxy server 224 accepts the connect request on behalf of the Mobile End System, and then builds a connect event RPC call and forwards it to the Mobile End System).
Example Internet Mobility Protocol
Internet Mobility Protocol provided in accordance with the present invention is a message oriented connection based protocol. It provides guaranteed delivery, (re)order detection, and loss recovery. Further, unlike other conventional connection oriented protocols (i.e. TCP), it allows for multiple distinct streams of data to be combined over a single channel; and allows for guaranteed, unreliable, as well as new message oriented reliable data to traverse the network through the single virtual channel simultaneously. This new message oriented level of service can alert the requester when the Internet Mobility Protocol peer has acknowledged a given program data unit.
The Internet Mobility Protocol provided in accordance with the present invention is designed to be an overlay on existing network topologies and technologies. Due to its indifference to the underlying network architecture, it is transport agnostic. As long as there is a way for packetized data to traverse between two peers, Internet Mobility Protocol can be deployed. Each node'"'"'s network point of presence (POP) or network infrastructure can also be changed without affecting the flow of data except where physical boundary, policy or limitations of bandwidth apply.
With the help of the layer above, Internet Mobility Protocol coalesces data from many sources and shuttles the data between the peers using underlying datagram facilities. As each discrete unit of data is presented from the upper layer, Internet Mobility Protocol combines into a single stream and subsequently submits it for transmission. The data units are then forwarded to the peer over the existing network where upon reception, with the help from the layer above, the stream is demultiplexed back into multiple distinct data units. This allows for optimum use of available bandwidth, by generating the maximum sized network frames possible for each new transmission. This also has the added benefit of training the channel once for maximum bandwidth utilization and have its parameters applied to all session level connections.
In rare instances where one channel is insufficient, the Internet Mobility Protocol further allows multiple channels to be established between the peers—thus allowing for data prioritization and possibly providing a guaranteed quality of service (if the underlying network provides the service).
The Internet Mobility Protocol also provides for dynamically selectable guaranteed or unreliable levels of service. For example, each protocol data unit that is submitted for transmission can be queued with either a validity time period or a number of retransmit attempts or both. Internet Mobility Protocol will expire a data unit when either threshold is reached, and remove it from subsequent transmission attempts.
Internet Mobility Protocol'"'"'s additional protocol overhead is kept minimal by use of variable length header. The frame type and any optional fields determine the size of the header. These optional fields are added in a specific order to enable easy parsing by the receiving side and bits in the header flag field denote their presence. All other control and configuration information necessary for the peers to communicate can be passed through the in-band control channel. Any control information that needs to be sent is added to the frame prior to any application level protocol data unit. The receiving side processes the control information and then passes the rest of the payload to the upper layer.
Designed to run relatively unreliable network links where the error probability is relatively high, Internet Mobility Protocol utilizes a number of techniques to insure data integrity and obtain optimum network performance. To insure data integrity, a Fletcher checksum algorithm is used to detect errant frames. This algorithm was selected due to the fact of its efficiency as well as its detection capability. It can determine not only bit errors, but also bit reordering. However, other alternate checksum algorithms maybe used in its place.
Sequence numbers are used to insure ordered delivery of data. Internet Mobility Protocol sequence numbers do not, however, represent each byte of data as in TCP. They represent a frame of data that can be, in one example implementation, as large as 65535 bytes (including the Internet Mobility Protocol header). They are 32 bits or other convenient length in one example to insure that wrap-around does not occur over high bandwidth links in a limited amount of time.
Combining this capability along with the expiration of data, retransmitted (retried) frames may contain less information than the previous version that was generated by the transmitting side. A frame id is provided to enable detection of the latest versioned frame. However, since data is never added in the preferred embodiment and each element removed is an entire protocol data unit, this is not a necessity for sequence assurance. In one example, the Internet Mobility Protocol will only process the first instance of a specific frame it receives—no matter how many other versions of that frame are transmitted. Each frame created that carries new user payload is assigned its own unique sequence number.
Performance is gained by using of a sliding window technique—thus allowing for more then one frame to be outstanding (transmitted) at a time before requiring the peer to acknowledge reception of the data. To insure timely delivery of the data, a positive acknowledgement and timer based retransmit scheme is used. To further optimize the use of the channel, a selective acknowledgement mechanism is employed that allows for fast retransmission of missing frames and quick recovery during lossy or congested periods of network connectivity. In one example, this selective acknowledgement mechanism is represented by an optional bit field that is included in the header.
A congestion avoidance algorithm is also included to allow the protocol to back off from rapid retransmission of frames. For example, a round trip time can be calculated for each frame that has successfully transfer between the peers without a retransmit. This time value is averaged and then used as the basis for the retransmission timeout value. As each frame is sent, a timeout is established for that frame. If an acknowledgement for that frame is not received, and the frame has actually been transmitted, the frame is resent. The timeout value is then increased and then used as the basis for the next retransmission time. This retransmit time-out is bounded on both the upper and lower side to insure that the value is within a reasonable range.
Internet Mobility Protocol also considers the send and receive paths separately. This is especially useful on channels that are asymmetric in nature. Base on hysteresis, the Internet Mobility Protocol automatically adjusts parameters such as frame size (fragmentation threshold), number of frames outstanding, retransmit time, and delayed acknowledgement time to reduce the amount of duplicate data sent through the network.
Due to the fact that Internet Mobility Protocol allows a node to migrate to different points of attachment on diverse networks, characteristics (e.g., frame size) of the underlying network may change midstream. An artifact of this migration is that frames that have been queued for transmission on one network may no longer fit over the new medium the mobile device is currently attached to. Combining this issue with the fact that fragmentation may not be supported by all network infrastructures, fragmentation is dealt with at the Internet Mobility Protocol level. Before each frame is submitted for transmission, Internet Mobility Protocol assesses whether or not it exceeds the current fragmentation threshold. Note that this value may be less than the current maximum transmission unit for performance reason (smaller frames have a greater likelihood of reaching its ultimate destination then larger frames). The tradeoff between greater protocol overhead versus more retransmissions is weighed by Internet Mobility Protocol, and the frame size may be reduced in an attempt to reduce overall retransmissions). If a given frame will fit, it is sent in its entirety. If not, the frame is split into maximum allowable size for the given connection. If the frame is retransmitted, it is reassessed, and will be refragmented if the maximum transmission unit has been reduced (or alternatively, if the maximum transmission unit actually grew, the frame may be resent as a single frame without fragmentation).
The protocol itself is orthogonal in its design as either side may establish or terminate a connection to its peer. In a particular implementation, however, there may be a few minor operational differences in the protocol engine depending on where it is running. For example, based on where the protocol engine is running, certain inactivity detection and connection lifetime timeouts may be only invoked on one side. To allow administrative control, Internet Mobility Protocol engine running on the Mobility Management Server 102 keeps track of inactivity periods. If the specified period of time expires without any activity from the Mobile End System 104, the Mobility Management Server 102 may terminate a session. Also, an administrator may want to limit the overall time a particular connection may be established for, or when to deny access base on time of day. Again these policy timers may, in one example implementation, be invoked only on the Mobility Management Server 102 side.
In one example implementation, the software providing the Internet Mobility Protocol is compiled and executable under Windows NT, 9x, and CE environments with no platform specific modification. To accomplish this, Internet Mobility Protocol employs the services of a network abstraction layer (NAL) to send and receive Internet Mobility Protocol frames. Other standard utility functions such as memory management, queue and list management, event logging, alert system, power management, security, etc are also used. A few runtime parameters are modified depending on whether the engine is part of a Mobile End System 104 or Mobility Management Server 102 system. Some examples of this are:
- Certain timeouts are only invoked on the Mobility Management Server 102
- Direction of frames are indicated within each frame header for echo detection
- Inbound connections may be denied if Mobile End System 104 is so configured
- Alerts only signaled on Mobility Management Server 102
- Power management enabled on Mobile End System 104 but is not necessary on the Mobility Management Server 102
The Internet Mobility Protocol interface may have only a small number of “C” callable platform independent published API functions, and requires one O/S specific function to schedule its work (other then the aforementioned standard utility functions). Communications with local clients is achieved through the use of defined work objects (work requests). Efficient notification of the completion of each work element is accomplished by signaling the requesting entity through the optional completion callback routine specified as part of the work object.
The Internet Mobility Protocol engine itself is queue based. Work elements passed from local clients are placed on a global work queue in FIFO order. This is accomplished by local clients calling a published Internet Mobility protocol function such as “ProtocolRequestwork( )”. A scheduling function inside of Internet Mobility Protocol then removes the work and dispatches it to the appropriate function. Combining the queuing and scheduling mechanisms conceal the differences between operating system architectures—allowing the protocol engine to be run under a threaded based scheme (e.g., Windows NT) or in a synchronous fashion (e.g., Microsoft Windows 9x & Windows CE). A priority scheme can be overlaid on top of its queuing, thus enabling a guaranteed quality of service to be provided (if the underlying network supports it).
From the network perspective, the Internet Mobility Protocol uses scatter-gather techniques to reduce copying or movement of data. Each transmission is sent to the NAL as a list of fragments, and is coalesced by the network layer transport. If the transport protocol itself supports scatter-gather, the fragment list is passed through the transport and assembled by the media access layer driver or hardware. Furthermore, this technique is extensible in that it allows the insertion or deletion of any protocol wrapper at any level of the protocol stack. Reception of a frame is signaled by the NAL layer by calling back Internet Mobility Protocol at a specified entry point that is designated during the NAL registration process.
Example Internet Mobility Protocol Engine Entry Points
Internet Mobility Protocol in the example embodiment exposes four common entry points that control its startup and shutdown behavior. These procedures are:
- 1. Internet Mobility ProtocolCreate( )
- 2. Internet Mobility ProtocolRun( )
- 3. Internet Mobility ProtocolHalt( )
- 4. Internet Mobility ProtocolUnload( )
Example Internet Mobility ProtocolCreate( )
The Internet Mobility ProtocolCreate( ) function is called by the boot subsystem to initialize the Internet Mobility Protocol. During this first phase, all resource necessary to start processing work must be acquired and initialized. At the completion of this phase, the engine must be in a state ready to accept work from other layers of the system. At this point, Internet Mobility Protocol initializes a global configuration table. To do this, it employs the services of the Configuration Manager 228 to populate the table.
Next it registers its suspend and resume notification functions with the APM handler. In one example, these functions are only invoked on the Mobile End System 104 side—but in another implementation it might be desirable to allow Mobility Management Server 102 to suspend during operations. Other working storage is then allocated from the memory pool, such as the global work queue, and the global NAL portal list.
To limit the maximum amount of runtime memory required as well as insuring Internet Mobility Protocol handles are unique, Internet Mobility Protocol utilizes a 2-tier array scheme for generating handles. The globalConnectionArray table is sized based on the maximum number of simultaneous connection the system is configured for, and allocated at this time. Once all global storage is allocated and initialized, the global Internet Mobility Protocol state is change to _STATE_INITIALIZE_.
Example Internet Mobility ProtocolRun( )
The Internet Mobility ProtocolRun( ) function is called after all subsystems have been initialized, and to alert the Internet Mobility Protocol subsystem that it is okay to start processing any queued work. This is the normal state that the Internet Mobility Protocol engine is during general operations. A few second pass initialization steps are taken at this point before placing the engine into an operational state.
Internet Mobility Protocol allows for network communications to occur over any arbitrary interface(s). During the initialization step, the storage for the interface between Internet Mobility Protocol and NAL was allocated. Internet Mobility Protocol now walks through the global portal list to start all listeners at the NAL. In one example, this is comprised of a two step process:
- Internet Mobility Protocol requests the NAL layer to bind and open the portal based on configuration supplied during initialization time; and
- Internet Mobility Protocol then notifies the NAL layer that it is ready to start processing received frames by registering the Internet Mobility ProtocolRCVFROMCB call back.
- A local persistent identifier (PID) is then initialized.
The global Internet Mobility Protocol state is change to _STATE_RUN_.
Example Internet Mobility ProtocolHalt
The Internet Mobility ProtocolHalt( ) function is called to alert the engine that the system is shutting down. All resources acquired during its operation are to be release prior to returning from this function. All Internet Mobility Protocol sessions are abnormally terminated with the reason code set to administrative. No further work is accepted from or posted to other layers once the engine has entered into _STATE_HALTED_state.
Example Internet Mobility ProtocolUnload( )
The Internet Mobility ProtocolUnload( ) function is the second phase of the shutdown process. This is a last chance for engine to release any allocated system resources still being held before returning. Once the engine has returned from this function, no further work will be executed as the system itself is terminating
Example Internet Mobility Protocol handles
In at least some examples, using just the address of the memory (which contains the Internet Mobility Protocol state information) as the token to describe an Internet Mobility Protocol connection may be insufficient. This is mainly due to possibility of one connection terminating and a new one starting in a short period of time. The probability that the memory allocator will reassign the same address for different connections is high—and this value would then denote both the old connection and a new connection. If the original peer did not hear the termination of the session (i.e. it was off, suspended, out of range, etc.), it could possibly send a frame on the old session to the new connection. This happens in TCP and will cause a reset to be generated to the new session if the peer'"'"'s IP addresses are the same. To avoid this scenario, Internet Mobility Protocol uses manufactured handle. The handles are made up of indexes into two arrays and a nonce for uniqueness. The tables are laid out as follows.
Table 1: an array of pointers to an array of connection object
Table 2: an array of connection objects that contains the real pointers to the Internet Mobility Protocol control blocks.
This technique minimizes the amount of memory being allocated at initialization time. Table 1 is sized and allocated at startup. On the Mobile End System 104 side this allows allocation of a small amount of memory (the memory allocation required for this Table 1 on the Mobility Management Server 102 side is somewhat larger since the server can have many connections).
Table 1 is then populated on demand. When a connection request is issued, Internet Mobility Protocol searches through Table 1 to find a valid pointer to Table 2. If no entries are found, then Internet Mobility Protocol will allocate a new Table 2 with a maximum of 256 connection objects—and then stores the pointer to Table 2 into the appropriate slot in Table 1. The protocol engine then initializes Table 2, allocates a connection object from the newly created table, and returns the manufactured handle. If another session is requested, Internet Mobility Protocol will search Table 1 once again, find the valid pointer to Table 2, and allocate the next connection object for the session. This goes on until one of two situations exist:
- If all the connection objects are exhausted in Table 2, a new Table 2 will be allocated, initialized, and a pointer to it will be placed in the next available slot in Table 1; and
- If all connection objects have been released for a specific Table 2 instance and all elements are unused for a specified period of time, the storage for that instance of Table 2 is released back to the memory pool and the associated pointer in Table 1 is zeroed to indicate that that entry is now available for use when the next connection request is started (if and only if no other connection object are available in other instances of Table 2).
Two global counters are maintained to allow limiting the total number of connections allocated. One global counter counts the number of current active connections; and the other keeps track of the number of unallocated connection objects. The second counter is used to govern the total number of connection object that can be created to some arbitrary limit. When a new Table 2 is allocated, this counter is adjusted downward to account for the number of objects the newly allocated table represents. On the flip side, when Internet Mobility Protocol releases a Table 2 instance back to the memory pool, the counter is adjusted upward with the number of connection objects that are being released.
Example Work Flow
Work is requested by local clients through the Internet Mobility ProtocolRequestWork( ) function. Once the work is validated and placed on the global work queue, the Internet Mobility ProtocolWorkQueueEligible( ) function is invoked. If in a threaded environment, the Internet Mobility Protocol worker thread is signaled (marked eligible) and control is immediately returned to the calling entity. If in a synchronous environment, the global work queue is immediately run to process any work that was requested. Both methods end up executing the Internet Mobility ProtocolProcessWork( ) function. This is the main dispatching function for processing work.
Since only one thread at a time may be dispatching work from the global queue in the example embodiment, a global semaphore may be used to protect against reentrancy. Private Internet Mobility Protocol work can post work directly to the global work queue instead of using the Internet Mobility ProtocolRequestWork( ) function.
A special case exists for SEND type work objects. To insure that the semantics of Unreliable Datagrams is kept, each SEND type work object can be queued with an expiry time or with a retry count. Work will be aged based on the expiry time. If the specified timeout occurs, the work object is removed from the connection specific queue, and is completed with an error status. If the SEND object has already been coalesced into the data path, the protocol allows for the removal of any SEND object that has specified a retry count. Once the retry count has been exceeded, the object is removed from the list of elements that make up the specific frame, and then returned to the requestor with the appropriate error status.
Example Connection Startup
Internet Mobility Protocol includes a very efficient mechanism to establish connections between peers. Confirmation of a connection can be determined in as little as a three-frame exchange between peers. The initiator sends an IMP SYNC frame to alert its peer that it is requesting the establishment of a connection. The acceptor will either send an IMP ESTABLISH frame to confirm acceptance of the connection, or send an IMP ABORT frame to alert the peer that its connection request has been rejected. Reason and status codes are passed in the IMP ABORT frame to aid the user in deciphering the reason for the rejection. If the connection was accepted, an acknowledgement frame is sent (possibly including protocol data unit or control data) and is forwarded to the acceptor to acknowledge receipt of its establish frame.
To further minimize network traffic, the protocol allows user and control data to be included in the initial handshake mechanism used at connection startup. This ability can be used in an insecure environment or in environments where security is dealt with by a layer below, such that the Internet Mobility Protocol can be tailored to avert the performance penalties due to double security authentication and encryption processing being done over the same data path.
Example Data transfer
Internet Mobility Protocol relies on signaling from the NAL to detect when a frame has been delivered to the network. It uses this metric to determine if the network link in question has been momentarily flow controlled, and will not submit the same frame for retransmission until the original request has been completed. Some network drivers however lie about the transmission of frames and indicate delivery prior to submitting them to the network. Through the use of semaphores, the Internet Mobility Protocol layer detects this behavior and only will send another datagram until the NAL returns from the original send request
Once a frame is received by Internet Mobility Protocol, the frame is quickly validated, then placed on an appropriate connection queue. If the frame does not contain enough information for Internet Mobility Protocol to discern its ultimate destination, the frame is placed on the Internet Mobility Protocol socket queue that the frame was received on, and then that socket queue is place on the global work queue for subsequence processing. This initial demultiplexing allows received work to be dispersed rapidly with limited processing overhead.
Example Acquiescing
To insure minimal use of network bandwidth during periods of retransmission and processing power on the Mobility Management Server 102, the protocol allows the Mobility Management Server 102 to “acquiesce” a connection. After a user configurable period of time, the Mobility Management Server 102 will stop retransmitting frames for a particular connection if it receives no notification from the corresponding Mobile End System 104. At this point, the Mobility Management Server 102 assumes that the Mobile End System 104 is in some unreachable state (i.e. out of range, suspended, etc), and places the connection into a dormant state. Any further work destined for this particular connection is stored for future delivery. The connection will remain in this state until one of the following conditions are met:
- Mobility Management Server 102 receives a frame from the Mobile End System 104, thus returning the connection to its original state;
- a lifetime timeout has expired;
- an inactivity timeout has expired; or
- the connection is aborted by the system administrator.
In the case that the Mobility Management Server 102 receives a frame from the Mobile End System 104, the connection continues from the point it was interrupted. Any work that was queued for the specific connection will be forwarded, and the state will be resynchronized. In any of the other cases, the Mobile End System 104 will be apprised of the termination of the connection once it reconnects; and work that was queued for the Mobile End System 104 will be discarded.
Example Connect and Send Requests
For connect and other requests, engine 244 queues the connect or send request and signals a global event before return to the calling application (block 604).
To dispatch a connect or send request from the Internet Mobility Protocol global request queue, engine 244 first determines whether any work is pending (decision block 605). If no work is pending (“no” exit to decision block 605), engine 244 waits for the application to queue work for the connection by going to
In order to enter establish state, engine 244 first determines whether the address of its peer is known (decision block 607). If not, engine 244 waits for the peer address while continuing to queue work and transitions to
Once state establish has been achieved, engine 244 tests whether the new connection has been authenticated (decision block 615). If it has not been, engine 244 may wait and transition to step 625 (block 616). If the connection has been authenticated (“yes” exit to decision block 615), engine 244 tests whether authentication succeeded (decision block 617). If it did not (“no” exit to decision block 617), the connection is aborted (block 614a). Otherwise, engine 244 tests whether the peer transmit window is full (decision block 618). If it is (“yes” exit to decision block 618), engine 244 waits for acknowledgment and goes to step 625 (decision block 619). If the window is not full (“no” exit to decision block 618), engine 244 creates an Internet Mobility Protocol data frame (block 620) and sends it (block 621). Engine 244 then determines if the retransmit timer has started (decision block 622). If no, engine 244 starts the retransmit timer (block 623). Engine 244 loops through blocks 618–623 until there is no more data to send (as tested for by decision block 624). Engine 244 then returns to a sleep mode waiting for more work and returns to the global dispatcher (block 625).
Example Termination
Once a “post mortem” responsive frame has been received from the peer (“yes” exit to decision block 632), engine 244 declares a “post mortem” state (block 632a), releases connection resources (block 636), and returns to sleep waiting for more work (block 637).
Example Retransmission
If the total retransmit period is not yet expired (“no” exit to decision block 655), engine 244 reprocesses the frame to remove any expired data (block 657) and then retransmits it (block 658)—restarting the retransmit timer as it does so (block 659). The process then returns to sleep (block 660) to wait for the next event.
Example Internet Mobility Protocol Expiration of a PDU
The validity period associated with a PDU 506 specifies the relative time period that the respective PDU should be considered for transmission. During submission, the Internet Mobility Protocol RequestWork function checks the expiry timeout value. If it is non-zero, an age timer is initialized. The requested data is then queued on the same queue as all other data being forwarded to the associated peer. If the given PDU 506 remains on the queue for longer than the time period specified by the validity period parameter, during the next event that the queue is processed, the given (all) PDU(s) that has an expired timeout is removed and completed locally with a status code of “timeout failure” rather than being retransmitted when the frame is next retransmitted. This algorithm ensures that unreliable data being queued for transmission to the peer will not grow stale and/or boundlessly consume system resources.
In the example shown in
As described above, PDUs 506 are coalesced by the Internet Mobility Protocol Engine 244 transmit logic and formatted into a single data stream. Each discrete work element, if not previously expired by the validity timeout, is gathered to formulate Internet Mobility Protocol data frames. Internet Mobility Protocol Engine 244 ultimately sends these PDUs 506 to the peer, and then places the associated frame on a Frames-Outstanding list. If the peer does not acknowledge the respective frame in a predetermined amount of time (see
In the
Example Reception
If the frame is associated with a connection (“yes” exit to decision block 686), engine 244 determines whether the connection state is still active and not “post mortem” (decision block 689). If the connection is already “post mortem,” the frame is discarded (block 685). Otherwise, engine 244 parses the frame (block 690) and determines whether it is an abort frame (decision block 691). If the frame is an abort frame, engine 244 immediately aborts the connection (block 691a). If the frame is not an abort frame (“yes” exit to decision block 691), engine 244 processes acknowledgment information and releases any outstanding send frames (block 692). Engine 244 then posts the frame to any security subsystem for possible decryption (block 693). Once the frame is returned from the security subsystem engine 244 processes any control data (block 694). Engine 244 then determines whether the frame contains application data (decision block 695). If it does, this data is queued to the application layer (block 696). Engine 244 also determines whether the connection'"'"'s state is dormant (block 697 and 697a—this can happen on Mobility Management Server engine 244′ in the preferred embodiment), and returns state back to established.
If the frame is possibly a “Mortis” frame (“yes” exit to decision block 698), engine 244 indicates a “disconnect” to the application layer (block 699) and enters the “Mortis” state (block 699a). It sends a “post mortem” frame to the peer (block 700), and enters the “post mortem” state (block 700a). Engine 244 then releases connection resources (block 701) and returns to sleep waiting for more work (block 702). If the parsed frame is a “post mortem” frame (“yes” exit to decision block 703), blocks 700a, 701, 702 are executed. Otherwise, control returns to block 680 to dequeue the next frame from the receive queue (block 704).
Example Passive Connections
Blocks 14A–14B are together a flowchart of example steps performed by Internet Mobility Protocol engine 244 in response to a “passive connection” request. Engine 244 first determines whether there is another connection for this particular device (block 720). If there is (“yes” exit to decision block 720), the engine determines whether it is the initial connection (decision block 721). If peer believes the new connection is the initial connection (“yes” exit to decision block 721), engine 244 aborts the previous connections (block 722). If not the initial connection (“no” exit to decision block 721), engine 244 tests whether the sequence and connection ID match (decision block 723). If they do not match (“no” exit to decision block 723), control returns to decision block 720. If the sequence and connection ID do match (“yes” exit to decision block 723), engine 244 discards duplicate frames (block 724) and returns to step 680 of
If there is no other connection (“no” exit to decision block 720), engine 244 determines whether it can allocate connection resources for the connection (decision block 726). If it cannot, an error is declared (“no” exit to decision block 726, block 727), and the connection is aborted (block 728). If it is possible to allocate connection resources (“yes” exit to decision block 726), engine 244 declares a “configure” state (block 726a) and acquires the security context for the connection (block 730). If it was not possible to acquire sufficient security context (“no” exit to decision block 731), the connection is aborted (block 728). Otherwise, engine 244 sends an established frame (block 732) and declares the connection to be in state “establish” (block 732a). Engine 244 then starts a retransmitter (block 733) and waits for the authentication process to conclude (block 734). Eventually, engine 244 tests whether the device and user have both been authenticated (block 735). If either the device or the user is not authenticated, the connection is aborted (block 736). Otherwise, engine 244 indicates the connection to the listening application (block 737) and gets the configuration (block 738). If either of these steps do not succeed, the connection is aborted (decision block 739, block 740). Otherwise, the process returns to sleep waiting for more work (block 741).
Example Abnormal Termination
Example Roaming Control
Referring once again to
It is common to use a Dynamic Host Configuration Protocol (DHCP) to automatically configure network devices that are newly activated on such a subnet. For example, a DHCP server on the sub-net typically provides its clients with (among other things) a valid network address to “lease”. DHCP clients may not have permanently assigned, “hard coded”network addresses. Instead, at boot time, the DHCP client requests a network address from the DHCP server. The DHCP server has a pool of network addresses that are available for assignment. When a DHCP client requests an network address, the DHCP server assigns, or leases, an available address from that pool to the client. The assigned network address is then owned” by the client for a specified period (“lease duration”). When the lease expires, the network address is returned to the pool and becomes available for reassignment to another client. In addition to automatically assigning network addresses, DHCP also provides netmasks and other configuration information to clients running DHCP client software. More information concerning the standard DHCP protocol can be found in RFC2131.
Thus, when a Mobile End System 104 using DHCP roams from one subnet to another, it will appear with a new network address. In accordance with one aspect of the present invention, Mobile End Systems 104 and Mobility Management Server 102 take advantage of the automatic configuration functionality of DHCP, and coordinate together to ensure that the Mobility Management Server recognizes the Mobile End System'"'"'s “new” network address and associates it with the previously-established connection the Mobility Management Server is proxying on its behalf.
One example embodiment uses standard DHCP Discover/Offer client-server broadcast messaging sequences as an echo request-response, along with other standard methodologies in order to determine if a Mobile End System 104 has roamed to a new subnet or is out of range. In accordance with the standard DHCP protocol, a Mobile End System 104 requiring a network address will periodically broadcast client identifier and hardware address as part of a DHCP Discover message. The DHCP server will broadcast its Offer response (this message is broadcast rather than transmitted specifically to the requesting Mobile End System because the Mobile End System doesn'"'"'t yet have a network address to send to). Thus, any Mobile End System 104 on the particular subnet will pick up any DHCP Offer server response to any other Mobile End System broadcast on the same subnet.
This example embodiment provides DHCP listeners to monitor the DHCP broadcast messages and thereby ascertain whether a particular Mobile End System 104 has roamed from one subnet to another and is being offered the ability to acquire a new network address by DHCP.
- a linked list of server data structures,
- an integer transaction ID number (xid),
- a counter (“ping”), and
- a timeout value.
A server data structure 904 may comprise a linked list of data blocks each defining a different DHCP server, each data block comprising: - a pointer to next server,
- a server ID (network address of a DHCP server),
- an address (giaddr) of a BOOTP relay agent recently associated with this DHCP server,
- a “ping” value (socket-→ping), and
- a flag.
These data structures are continually updated based on DHCP broadcast traffic appearing on network 108. The following example functions can be used to maintain these data structures:
- roamCreate( ) [initialize variables]
- roamDeinitialize( ) [delete all listeners]
- roamStartIndications( ) [call a supplied callback routine when a Mobile End System has roamed or changed interfaces, to give a registrant roaming indications]
- roamStopIndications( ) [remove the appropriate callback from the list, to stop giving a registrant roaming indications]
- Interface Change [callback notification from operating system indicating an interface has changed its network address]
- Listener Signal [per-interface callback from a Listener indicating a roaming or out-of-range or back-in-range condition].
Additionally, a refresh process may be used to update Listeners after interface changes.
In the preferred embodiment, all Mobile End Systems 104 transmit the same Client Identifier and Hardware Address in DHCP Discover requests. This allows the listener data structures and associated processes to distinguish Mobile End System-originated Discover requests from Discover requests initiated by other network devices. Likewise, the DHCP server will broadcast its response, so any Mobile End System 104 and/or the Mobility Management Server 102 will be able to pick up the DHCP server Offer response to any other Mobile End System. Since multiple DHCP servers can respond to a single DHCP Discover message, the listener data structures shown in
Upon receiving a Discover request having the predetermined Client Hardware Address and Client Identifier, the preferred embodiment recognizes this request as coming from a Mobile End System 104. If the message also has a BOOTP relay address set to zero, this indicates that the message originated on the same subnet as the listener. Listeners may ignore all DHCP Offers unless they have a transaction ID (xid) matching that of a Discover message recently sent by a Mobile End System 104. The listener can determine that a Mobile End System 104 has roamed if any response comes from a known server with a new BOOTP relay agent ID and/or offered network address masked with an offered subnet mask. Listeners add new servers to the
If the listener never receives a response from any server, there is no point of reference and thus impossible to determine whether roaming has occurred. This condition can be handled by signaling an error after a timeout and allowing the caller to retry the process. The preferred embodiment determines that a Mobile End System 104 has roamed if any response has come from a known server with a new BOOTP relay agent ID (or a new offered network address when masked with offered subnet mask). If the listener data structures see responses from new servers but none from an old server, it is possible that roaming has occurred, but there must be a delay before signaling, in order to wait for any potential responses from the old servers. If there are no responses from new or old servers, then the Mobile End System 104 is probably out of range and Mobility Management Server 102 waits for it to come back into range.
- a DHCP server packet is received;
- a DHCP client packet sent by another Mobile End System is received
- a timer timeout occurs.
If a DHCP server packet has been received, the packet is examined to determine whether its client identifier matches the predetermined client ID (decision block 806). If it does not, it is discarded. However, if the packet does contain the predetermined ID, a test is performed to determine whether the packet is a DHCP Offer packet (decision block 808). Offer packets are rejected unless they contain a transaction ID matching a recently sent DHCP Discover sequence.
If the packet transaction ID matches (block 810), then a test is made as to whether the server sending the DHCP offer packet is known (i.e., the server ID is in the listener data structure shown in
If the event is a received client packet, the listener process determines whether the packet has the predetermined client ID, is a DHCP Discover packet and has a BOOTP relay address (GIADDR) of 0 (blocks 824, 826, 828). These steps determine whether the received packet is DHCP Discover message sent by another Mobile End System 104 on the same sub-net as the listener. If so, the listener process then sets the transaction ID to the peer'"'"'s transaction ID (block 830) for use in comparing with later-received DHCP Offer packets, calls a ping check (block 834) and resets the timer (block 836).
In response to a timer timeout, the process calls a “ping check” (block 838). “Pings” in the preferred embodiment are DHCP Discover packets with a random new xid. Example steps for this ping check 838 are shown in
- Has a Mobile End System roamed from one sub-net to another?
- Is a Mobile End System out of range?
- Is a DHCP server absent?
These conditions are determined by comparing Mobile End System prior “ping” response with the current “ping” response (decision blocks 846, 850). For example, if the current ping number minus the old server'"'"'s last ping response is greater than the sub-net server pings and there is at least one server marked “new, ” there has been a sub-net roam to a different server. The result of this logic is to either signal a subset roam, and out of range condition or a no server condition (or none of these) to the calling process.
When the listener process of
Example Interface Assisted Roaming Listener
A further, interface-based listener feature enables roaming across network points of attachment on the same network or across different network media. This interface-based listener feature operates without requiring the beaconing techniques described above, while permitting the system to fall back on beaconing if the underlying interface(s) is unable to support the appropriate signaling.
In this further embodiment, an interface-based listener integrates information from network interface adapters (e.g., via a low level interface roaming driver) with information available from network stacks to determine whether a mobile node has moved to a new Network Point of Attachment.
Referring to
- open,
- close,
- get status, and
- a Boolean set to TRUE if the driver can notify the registrant of changes in status, and FALSE if the roaming control center module should use timer-based (or other) polling to check status.
The example embodiment function crRegisterCardHandler( ) also provides a interface description string or token that can be used by the roaming control center module for preliminary match-ups to the correct roaming driver. A default roaming driver may also be installed for interfaces that use an O/S generic mechanism for signaling/querying media connectivity as well as changes to network point of attachments.
In the example embodiment, when an interface'"'"'s state becomes enabled (i.e. access to the network is now possible) (block 2020), the roaming control center tries to enable Interface Assisted Roaming (IAR) according to the following steps (please note however, that the steps may be interchanged or either might be omitted based on the design of the operating system (O/S) and/or the hosting device being used in a particular application):
1. If a generic handler is installed, a call to the generic crOpenInstance( ) handler is made. The generic handler queries the low-level adapter driver to see if it can generically support signaling the status of media connectivity as well as any changes to the network point of attachment (block 2030). If the interface driver is unable to support this functionality generically (“no” exit to block 2030), an error status is returned to the caller to indicate that it should use an alternative mechanism for acquiring signaling information.
2. If the generic handler returns an error (“no” exit to block 2030), a search is made with the token of the activated interface through the currently registered roaming drivers (block 2040). If the interface matches one of the tokens that was registered during crRegisterCardHandler( ) phase (block 2050), the roaming control center calls the specific crOpenInstance( ) for that instance of the adapter. This function attempts to open the low level driver, poll once for status (media connectivity, and the network point of attachment ID), and set the periodic polling timer (if applicable). If the low-level driver does not support the requests for some reason, an error is returned indicating that the roaming control center should use an alternate mechanism for acquiring signaling information.
3. If either of the previous steps is unable to achieve the required functionality, an error is returned to the roaming control center to signal that it should not use the IAR functionality and fall back to other roaming algorithms, such as the beaconing listener shown in
Initially, the interface-assisted listener records current media connectivity status and network point of attachment identification information in a local data store (block 2060). Assuming the interface assisted subsystem is successful in providing roaming feedback, the subsystem waits for a status event (block 2100). The event can comprise, for example:
- a callback from the low level roaming driver,
- a timed poll interval (blocks 2070, 2090), or
- a hint from network level activity (i.e. trouble transmitting/receiving) (block 2080).
If the status of the interface signifies either a change in medium connectivity has occurred, or a change in network point of attachment (“yes” exit to block 2110 or 2120 of
1. If the status signifies a change from being connected to the underlying network medium to being detached (“yes” exit to block 2120) and there are no other paths to the peer, the listener concludes that the mobile end system has lost its connection, and the roaming control center signals its clients with a status of ROAM_SIGNAL_OUT_OF_CONTACT (block 2140).
2. If the status signifies that the interface has been reconnected to the medium, and the network point of attachment has not changed (“no” exit to block 2150 after “no” exit to block 2120) and a ROAM_SIGNAL_OUT_OF_CONTACT was previously signaled, this indicates that the mobile end system had previously lost but has now reestablished contact with a particular network point of attachment. In this case, the roaming control center will revalidate any network address it may have registered or acquired for proper access (block 2170), and signals ROAM_SIGNAL_ROAM_SAME_SUBNET (block 2180) to alert the roaming control center clients that a reattachment has occurred and that they should take whatever steps necessary to quickly reestablish transport level communications. For example, during the disruption in service it is possible that some data may have been lost—and the clients may need to act to recover such lost data.
3. If the status signifies that the interface is attached to the medium but the network point of attachment has changed (“yes” exit to block 2150), the roaming control center will signal its clients that a roaming condition has occurred. To more efficiently support handoffs between network point of attachments, the roaming control center in this example employs the use of a learning algorithm along with a local data-store. The data-store is normally populated dynamically (i.e. learning), but it can be seeded with static information (i.e., already learned information) to improve performance. The data-store itself maintains a list of network points of attachment identifiers, along with information such as network and media access address, network mask, etc. This “network topology map” assists the roaming control center in deciding the correct signal to generate to its clients.
Determination of the correct signal is done in the following manner in the example embodiment:
a) A search is made through the network topology map data-store to determine if the interface has already visited this particular network point of attachment (block 2190). If a match is found (“yes” exit to block 2200), a further check is made to see if the network point of attachment is on the same network segment as the one that the interface was previously associated with. If the network segment is the same, the roaming control center generates a ROAM_SIGNAL_ROAM_SAME_SUBNET. This alerts the roaming control center clients that a handoff occurred and it should take whatever steps necessary to quickly reestablish transport level communications as during the handoff it is possible that some data may have been lost.
b) If during the search a match is found, but the new network point of attachment is not on the same network segment, then the listener concludes that the mobile end system has roamed to a different subnetwork. In this case, the roaming control center:
- acquires an address that is usable on the new network segment (block 2220). This may entail registering the current address to be valid on the new segment, (re)acquiring an address from a local server, having one statically defined, or using heuristics to determine that an address that was previously assigned is still valid. In the latter case, the roaming control center may determine that the interface is changing between a given set of network point of attachments and may not immediately relinquish or de-register the network address for performance reasons. In this example, there is a difference between acquiring an address on the network (e.g., via DHCP) or registering the address on the local network (e.g., via a foreign agent in Mobile IP). The roaming entity either (re)acquires (e.g., possibly establishing/updating a lease with the DHCP server) or registers the current address with a foreign agent (Mobile IP).
- Generates a ROAM_SIGNAL_ROAM signal to its clients (block 2230) indicating roaming to a different subnet.
c) If the search yields no match (“no” exit to block 2200), a new record is created in the local data-store populated with the network point of attachment'"'"'s identifier, media access address, network mask and other ancillary information (block 2210). The roaming control center then executes blocks 2220 and 2230 to acquire and register a network address, and to generate a “roam” signal.
Since the interface-assisted roaming technique described above gives access to the underlying interface information, it is possible to employ an additional set of policy parameters (defined by the user and/or the system) that can enable automatic efficient selection of alternate valid network paths. If there is more than one network available at a time, the subsystem can choose the path(s) with the least cost associated with it (i.e., a wide area network connection versus a local area connection). This can be done by a number of metrics such as, for example, bandwidth, cost (per byte), and/or quality of service. Such “least cost routing” techniques can provide advantages in terms of network connection quality, efficiency, and reduction in frame loss. For example, it is possible to provide a “make before break” handoff scheme based on other heuristics available (media connectivity, signal strength, retransmission rate, etc.), thus allowing continuous packet flow with minimal loss to and from the roaming node. See policy management discussion below.
Through further experimentation evidence has shown that some network adapters may erroneously signal that they are (re)connected to the medium before they are totally registered on the network segment. In some instances during roaming events the storage area of where the network identifier is kept may not yet been updated, and thus it is possible for the system to incorrectly believe that these adapters have roamed back onto the same subnet. Eventually, when the device finishes registering, the storage area is updated with the new network identifier, causing yet another ROAM signal to be generated. This scenario would correctly work if both pieces of information were gated together and only signaled once when the interface was finished registering with the network. However when polling it is difficult to determine when the network ID is valid if the “in contact with network” signal is generated previously.
In essences the roaming node may in fact be in media connectivity state since it can communicate at the media access level with the network, but in fact one cannot yet send any application data across the link since the registration process has not completed. Therefore, it is desirable to compensate for this condition. One way to provide such compensation is to determine peer connectivity by sending link confirmation frames, or what is more commonly known as an echo request/response packets. These echo or ping frames are generated by one peer (most likely the roaming node), to determine if two-way peer-to-peer connectivity is achievable. If the requesting peer receives a response frame to its request, it can be concluded that a duplex path has been achieved. At this point, the NPOA information can be regarded as valid until the next disconnect situation is realized. Other information, such as the reception of any frame from the peer on the interface in question, also allows the roaming node to assume the registration process has concluded and two-way communications is achievable.
Another race condition between the network interface and the underlying protocol stack situation has arisen that can sometimes cause a problem. It is possible for a device to have roamed to a new network segment and been signaled correctly from the interface below, but the transport stack itself has not made the necessary adjustments to its routing table(s) for application data to flow. To compensate for this condition, an additional signal ROAM_SIGNAL_ROUTE_CHANGE, was added and is generated whenever the underlying transport'"'"'s routing table changes. When this signal is indicated, the roaming subsystem clients take whatever action is necessary to determine if connectivity to the peer systems is achievable. This may entail the roaming client to enumerate through the underlying transport'"'"'s routing table to determine if the routing modification has affected the communications path to the peer. Other more intrusive algorithms, such as the ones described above, can also be used to confirm that a two-way communication path exists between the peers.
Example Roaming Across Disjoint Networks
A further aspect of an example non-limiting preferred embodiment of our invention provides an algorithm and arrangement for accessing the MMS (Mobility Management Server) in what we call “disjoint networking” mode. The new algorithm allows for dynamic/static discovery of alternate network addresses that can be used to establish/continue communications with an MMS—even in a disjoint network topology in which one network may have no knowledge of network addresses for another network.
In general, the algorithm allows for a list of alternate addresses that the MMS is available at to be forwarded to an MES (Mobile End System) during the course of a conversation. Thus, the MMS uses a connection over one network to send the MES one or more MMS network addresses or other MMS identities corresponding to other networks. As one example, this list can sent during circuit creation. It is also possible for the list to change midstream. In this case, the list can be updated at any time during the connection.
If/when the MES roams to another network, it uses the list of MMS “alias” addresses/identifications to contact the MMS from the new network point of attachment. This allows the MES to re-establish contact with the MMS over the new network connection even though the primary and ancillary networks may not share any address or other information.
There are at least several uses for this new algorithm in addition to the ability to more efficiently obtain an alternative network address or other identifier for communicating with the MMS 102 over a disjoint network. One example usage is secure network operation. For example, using the algorithm shown in
Normally for a node to roam from network segment to network segment, there must be routing information/paths provided on each network segment (i.e. default route, etc) specifying how to get back to the “main public or initial address” used to contact the MMS 102. Once a connection is established, that address is used for the life of the connection. When a frame is sent from the MES 104, the IP network (layer 3) infrastructure on the client and intermediary nodes (routers) looks at the destination address of the frame and correctly forwards the packet on to its ultimate destination (the MMS 102). This is done by using what is commonly referred to as IP forwarding, or IP routing. With this functionality turned on, frames (broadcasts, etc) from one network segment can leak onto another. By not using IP forwarding, frames sent on one segment are not forwarded onto the other, thus breaking the communications pipe or creating a disjoint network.
The alternate address list shown in
For example, by using the MMS 102 in this manner combined with user level security/encryption, we can limit traffic from and to the corporate backbone to only the frames destined for those nodes on that segment using the roaming techniques described above. Frames can be optionally encrypted to thwart any potential eavesdropping by devices that may be validated by the spoke network infrastructure.
Now suppose that for some reason, the MES now needs to migrate or roam to the 10.1.x.x (Ia) network. Since the 10.1.x.x (Ia) network has no knowledge of the 192.168.x.x (Ib) network (i.e. no routes to it), when the MES 104 moves into its domain, the communication pipe is broken even though the MMS is attached to it. Again, the same thing happens when the mobile node 104 attaches to any of the other 10.x networks depicted.
Now using the algorithm shown in
Another application for the
Suppose someone wants to use the MMS 102 for the LAN/WLAN internally and have it sit behind a NAT. Currently, unless the MMS 102 is the NAT, or by using a different proxy for all communications with the MMS, when someone roams outside of the bounds of the intranet, the MMS is no longer accessible since the address to converse with it is no longer accessible. With the
Example Policy Management and Location Based Services
A further non-limiting embodiment of the invention provides the unique ability to offer additional security, cost savings, and services based on a number of metrics. Since the MMS described above is intimately involved with each application session the MES establishes, either side (i.e., the MMS and/or the MES) can apply policy-based rules to tailor and control the communications between the MES and its ultimate peer. It can further condition or modify applications request based on the locale or proximity of the device and its attachment to the network. For example, the MMS and/or the MES can include a rules engine that applies learned, statically defined, or other rules based on policy to each application session that is established or request that is