CN1947450A - 管理与可用网络的连接的系统和方法 - Google Patents

管理与可用网络的连接的系统和方法 Download PDF

Info

Publication number
CN1947450A
CN1947450A CNA2005800122629A CN200580012262A CN1947450A CN 1947450 A CN1947450 A CN 1947450A CN A2005800122629 A CNA2005800122629 A CN A2005800122629A CN 200580012262 A CN200580012262 A CN 200580012262A CN 1947450 A CN1947450 A CN 1947450A
Authority
CN
China
Prior art keywords
connection
profile
communication network
network
plug
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2005800122629A
Other languages
English (en)
Inventor
雷内·珀尔蒂尔
阿兰·巴斯蒂
加文·M·皮尔库克
雷吉斯·尼古拉斯
丹尼斯·伯格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Access Systems Americas Inc
Original Assignee
Access Systems Americas Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Access Systems Americas Inc filed Critical Access Systems Americas Inc
Publication of CN1947450A publication Critical patent/CN1947450A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Abstract

公开了在用户改变位置时自动管理移动设备和一或多个可用网络(包括专用连接)间的连接的系统和方法。连接管理器确定连接简档并向每个可用简档分配可用性和优先级。已知,移动设备有连到不同网络的多种可能且有许多规定该连接的协议。连接管理器确定最适当简档以接到可用网络。若连接初始尝试失败,则连接管理器基于带有最高优先级的下一可用简档尝试连接直到连接被建立或不再有可用简档。连接管理器用算法来搜索符合指定准则或搜索字符串及如可用性、优先级和适用性的其它参数的连接简档。该系统和方法使用帮助在应用级别的容易处理的连接简档表示格式。可通过该格式在远程设备之间容易地交换简档。此外,连接管理器帮助简档的远程配置和管理。

Description

管理与可用网络的连接的系统和方法
优先权要求
本申请要求于2004年2月9日提交的美国临时专利申请60/543,108和2004年2月9日提交的美国临时专利申请60/543,356的优先权,所述申请的内容在此引入作为参考并作为依据。
相关申请
本申请涉及以下申请:(1)代理卷号4001.Palm.PSI,题为“ASystem and Method of Format Negotiation in a Computing Device”;(2)代理卷号4002.Palm.PSI,题为“A Graphics Subsystem forComputing Device”;以及(3)代理卷号4003.Palm.PSI,题为“A Methodand System for a Security Model for a Computing Device”的申请,以上的每一个申请与本申请同一天提交。将上述每个申请的内容在此引入作为参考。
技术领域
本发明涉及于不同位置在移动设备(例如,膝上型电脑、蜂窝式电话和个人数字助理(PDA))和可用通信网络(包括专用连接)之间建立电子通信的领域。更具体地说,本发明涉及一种管理移动设备和可用网络之间的连接的系统和方法。这通过下述操作来实现:基于诸如可用性、优先级等准则在每个位置确定适当的连接简档,然后基于所述简档在所述位置建立连接。如果建立连接的第一尝试失败,则系统尝试使用另一简档(具有下一最高优先级)来建立连接。
背景技术
随着建立计算机系统所需的部件的尺寸减小,便携式电子设备和计算机系统(例如,膝上型电脑、蜂窝式电话和个人数字助理(PDA))日益普及。一些计算机几乎是“手掌大小”的。大多数小型计算机系统用于实现各种个人信息管理(PIM)应用,比如说,诸如地址本、日程管理器(日历、日期本等)和电子便笺。许多PAD和蜂窝式电话集成在一起,结果产生提供无线通信性能的单个智能设备。
在今天的环境中,在各个位置有效地连接这些移动电子设备的能力对于证明它们的使用是很重要的。普遍情况是,单个用户具有的便携式电子设备可连接到一个或更多其它计算机系统和/或服务器,诸如通过无线连接(蓝牙、IrDA)、局域网(LAN、直接或无线(WIFI-802.11和GPRS(通用分组无线业务)))和传统拨号调制解调器(例如,PPP(点到点协议)、USB、GSM(全球移动通信系统)等)进行连接。移动设备具有连接到一个或更多可用网络的多种可能,并且存在各种有助于这种连接的协议。今天有许多通信选择可用,多数设备被配置为仅有助于特定类型的连接,所述连接必须由用户手动选择。本领域的技术人员应理解,在本申请中对通信网络的参考包括通过专用连接进行的点到点直接通信。
本领域所需要的是改进的连接方案和配置的移动设备,所述移动设备被配置为在特定位置将其自动连接到最佳可用网络。
发明内容
本发明另外的特点和优点将在下面的描述中进行阐述,并将部分地通过所述描述变得明显,或者将通过本发明的实施而被了解。可通过在所附权利要求中具体指出的手段及其组合来实现和获得本发明的特点和优点。通过下面的描述和所附权利要求,本发明的这些和其它特点将变得更加清楚,或者可通过在这里阐述的本发明的实施来了解所述本发明的这些和其它特点。
本发明涉及一种当用户从一个位置移动到另一个位置时自动管理移动设备和一个或更多可用网络之间的连接的系统和方法。根据本发明的一方面,连接管理器特征使用算法来确定与移动设备连接的适当网络(包括专用连接),所述算法依据几种连接特性、特定优先级、可用性和适用性(usability)。众所周知,移动设备可使用多种不同的通信技术来连接到不同的网络(WiFi、蓝牙、GPRS(通用分组无线业务)、拨号(PPP(点到点协议))和GSM(全球移动通信系统)等),并且存在许多规定这种连接的协议。当用户想要连接到适当的网络时,系统根据环境来决定使用哪个连接简档。连接管理器特征基于几个准则来确定用于连接到通信网络的最适当简档。连接管理器通过查询简档中的每个“插件程序”(负责建立物理连接的代码)来确定简档的可用性。如果所有插件程序可用,则简档可用。可用性可取决于系统配置和外部环境而改变。关于可用性,某些现有的技术可实时地确定是否存在网络覆盖。与每个技术有关的插件程序可定义使用这种技术的可用性。例如,移动电话指示信号强度信息。对于有关电话的网络,本发明基于网络的信号强度来指示可用性。连接算法不尝试不可用的连接。WiFi驱动器在后台确定WiFi网络是否可用。例如,如果一定范围之内没有其它的蓝牙设备,则蓝牙连接会是不可用的。
关于适用性,用户通过在连接类型的简档列表中检查简档来确定所述简档的适用性。只有在列表中查到的简档是可使用的。当请求自动连接时,连接管理器特征仅考虑可用的简档。如果用户由于某种原因决定不使用特定简档,则用户可决定禁用移动设备。
每个简档还具有分配给它的优先级。在尝试连接到网络期间,首先尝试具有较高优先级的简档。例如,LAN技术通常较快并且经济,而WAN技术(拨号或PPP)通常较慢并且昂贵。通常,LAN技术具有比WAN技术高的优先级。如果对连接的初始尝试失败,则连接管理器尝试基于下一具有最高优先级的可用简档来进行连接,直到连接被建立或再没有可用的简档。
根据本发明的另一方面,所述系统和方法使用用于搜索连接简档的算法,所述连接简档符合指定的搜索准则或搜索字符串以及诸如可用性、优先级和使用的能力的其它参数,所述使用的能力例如禁用设备还是启用设备。
根据本发明的另一方面,所述系统和方法使用有助于在应用级别进行容易操作的连接简档表示格式。通过这一格式,可从外部(远程设备之间)容易地改变连接简档。再有,连接管理器特征帮助远程(在远程设备之间)配置和管理连接简档。作为一示例,例如,通过使用短消息系统(SMS),或者在执行同步(例如,HotSync)操作的同时,可经由无线通信远程配置移动设备,所述同步操作通常在诸如个人数字助理(例如,Palm设备)的设备和桌上型电脑之间执行。
根据本发明的另一方面,本发明的系统和方法关注管理连接管理器和各种连接的结构。根据各种应用的运行情况,或根据特定应用的需要,连接管理器可同时连接到不同的网络(包括专用连接)。
根据本发明的系统和方法致力于现有技术中的需要,并提供用于在移动设备和一个或更多可用网络之间自动或手动建立连接的改进方法。本发明包括具有在远程移动设备和可用的适当网络之间实现连接的连接管理器特征的系统和方法。
附图说明
为了描述可获得本发明的上述以及其它优点和特征的方式,将通过参照在附图中示出的本发明的特定实施例来提供对以上简要描述的本发明的更加具体的描述。应理解,这些附图仅描述本发明的典型实施例,因此并不认为其限制本发明的范围,将通过使用附图以附加的特征和细节来描述和解释本发明,在附图中:
图1示出用于展现实施本发明的各个方面的环境的计算设备(例如,膝上型电脑或PDA设备)的基本部件;
图2示出如计算设备中所示根据本发明优选实施例的连接管理器特征的结构;
图3是根据本发明优选实施例相互作用以有助于连接管理器特征的连接性能的用户接口、输入/输出、系统进程和数据库管理进程之间的关系;
图4是存储在与连接管理器有关的连接管理数据库中的普通连接类型的图的一示例;以及
图5示出根据本发明一优选实施例在通信管理器图(“CMG”)中的插件程序(用于配置和控制通信部件的活动对象或代码)和接口(对从视图的某个点看起来等同的图的节点进行抽象的方式)。
具体实施方式
以下详细描述本发明的各个实施例。尽管描述了涉及电子移动设备(例如,便携式计算机)的特定实现,但是应理解,这里的描述仅是示例性的,并不限制本发明的各个方面的范围。相关技术领域的技术人员将认识到:在不脱离本发明的精神和范围的情况下,可容易地使用其它部件和配置,或代替这里描述的部件和配置。
图1和它的有关讨论意在提供适用的计算环境的简要的总体描述,在所述计算环境中,可实现本发明的优选实施例的各个方面。这里描述的本发明的系统和处理主要可应用在电子设备(诸如膝上型电脑、蜂窝式电话、寻呼机等便携式计算机系统)和通信网络之间建立通信。手持的便携式类型的计算机系统的一个示例被称为个人数字助理(诸如Palm设备的PDA)。尽管可应用于各种各样的平台和设备,但是作为示例,这里将对于示例性便携式或移动计算机系统,例如,PDA来描述本发明的实施例。
此外,这里描述的本发明的各个方面至少部分地涉及诸如程序模块的,由个人计算机(膝上型)或手持计算设备(PDA)执行的计算机可执行指令。通常,程序模块可包括例行程序、对象、部件、数据结构等,它们执行特定任务或实现特定抽象的数据类型或函数。本领域的技术人员将认识到,可以用非手持或移动设备的计算机系统配置来实施本发明,所述计算机系统配置以其它方式包括在:基于多处理器的系统、基于多处理器或可编程的消费电子设备、网络PC、迷你计算机、大型计算机等之中。还可在由通过通信网络链接的远程处理设备来执行任务的分布式计算环境中实施本发明。在分布式计算环境中,程序模块可位于本地和远程存储装置设备中。
继续参照图1,通常示出示例性便携式或移动计算机系统(诸如PDA)来实现本发明的各个方面。便携式或移动计算机系统包括:通用计算设备100,其包括中央处理单元(CPU)120。通过系统总线110将系统存储器130和各种其它的系统部件连接到CPU 120。系统总线110可以是下述几种类型的总线结构中的任何一种:存储器总线或存储控制器、外围总线、或使用各种总线结构中的任何一种的本地总线。系统存储器130包括:只读存储器(ROM)140(典型地包括诸如PDA中的闪速存储器),用于存储操作系统和应用代码;以及随机存取存储器(RAM)150,用于存储用于应用的临时数据。
计算设备100还包括诸如键盘或触摸屏(在Palm PDA设备的情况下用铁笔来使用)的基本输入设备,它们用于从用户接收数据。计算设备100还包括诸如LCD的基本输出设备154,用于向用户显示用户界面(UI)和其它信息。如果计算设备100是膝上型电脑,则还可包括诸如硬盘驱动器的存储设备160。
最后,计算设备100包括通信接口180,用于与通信网络通信。通信接口180的示例包括无线通信硬件(例如,GPRS(通用分组无线业务)、WiFi等)和直接通信硬件(例如,拨号调职解调器和直接LAN连接)。
在计算机系统100具体为PDA设备的示例中,将通信链路耦合到与PDA设备关联的支架(cradle)或线缆底座(cable dock)(未示出),用来通过通信线路接收和发起与计算机系统100的通信。支架提供计算机系统100之间的电和机械的通信接口或链接,以进行双向通信。在一示例性实施例中,包括支架的通信链路和线路可以是串行通信链路或USB链路。计算机系统100还可包含无线红外通信机制,用于向期望与其通信的其它设备发送信息或从其接收信息。
在本发明的一实施例中,通信链路可以是串行通信端口,或者也可以是多个公知的通信标准和协议中的任何一种,所述通信标准和协议例如:并行通信、SCSI、火线(IEEE 1394)、以太网等。计算机系统100还可包含一个或更多其它无线通信介质,例如,蜂窝式电话、蓝牙和/或无线LAN(例如,IEEE 802.11),它们全部可用于在便携式计算机系统100和主机计算机之间建立通信链路,或用于直接与互联网建立通信链路。
存储在ROM 140中的操作系统和应用代码定义基于流传输构架的输入/输出系统,以建立通信。如本领域技术人员所公知的,流传输构架是已建立的用于建立标准组件通信协议的构架。或者,可使用本领域技术人员所知的其它网络结构来代替流传输构架。根据这里公开的实施例,当在移动设备上运行的应用或操作系统想要发起连接时,本领域技术人员所知的流传输驱动器和模块被打开并连接到一起。例如,可通过打开串行端口来发起通信,通过打开流传输驱动器来打开所述串行端口。根据用于接入互联网的技术,过打开并链接多个驱动器或模块来建立到互联网的连接。流传输构架和IOS(输入/输出系统)不定义服务或有助于应用和系统建立流传输堆栈的库。在优选实施例中,应用和系统不直接与流传输驱动器和模块相互作用。
此外,在本发明的优选实施例中,存储有用的连接信息(例如,串行接口波特率、PPP密码、拨号电话号码等)。为了高效地建立连接,以可容易地访问的方式来存储所述信息。还以可容易地由用户进行编辑的方式来存储所述信息。
现在参照图2,由连接管理器200控制通信接口。连接管理器200是用于在手持或其它计算设备100上创建、配置和建立任何类型的连接,而不考虑所述手持或其它计算设备100是客户机、服务器还是它们的组合的部件。连接管理器200包括各种配置板,并负责实现设备100和通信网络之间的连接(标号205通常指示与通信网络的通信链路)。根据本发明一优选实施例,连接管理器200高效地管理今天的通信环境中可行的所有类型的连接。
为了建立物理连接,连接管理器200定义称为“连接简档”的数据结构或通信堆栈。连接简档是定制插件程序和引用的每个插件程序的配置设置的对象。插件程序是负责配置和连接一个或更多通信部件的代码段,所述通信部件实现规定物理连接的一个或更多协议。插件程序还包含用于简档用户界面部件以实现物理连接的指令。连接管理器200经由“向导”界面手动地,经由API(应用程序接口)自动地,或从外部位置下载来创建连接简档。它可以经由UI界面手动或经由API自动地修改连接简档。
连接简档典型地存储在连接简档数据库202中,但是也可专用于特定系统应用。连接管理器200如通信线路203所示与连接简档数据库202通信并管理连接简档数据库202。它允许用户、首要的应用或系统执行各种任务中的任何一种,例如,编辑、创建、删除、改变、连接或断开存储在连接简档数据库中的任何连接简档。
应理解,可创建连接简档以表示本领域技术人员已知的任何种类的物理连接。通过从连接管理器图(其示例在图4和图5中示出)定义插件程序和接口节点的序列来创建连接简档(对象),所述连接管理器图形成从高级别部件到低级别部件的完整路径,其实际上建立了物理连接。作为示例,电话拨号互联网连接简档包括多个项目,诸如:定义拨号参数(例如,电话号码)的拨号项目,定义PPP参数(例如,注册、密码)的PPP元素、定义电话参数(例如,电话驱动器)的电话项目等。
应认识到,流传输构架和输入输出系统(IOS)是本来就可插入的,即,可通过提供新的流传输模块和驱动器容易地添加新的技术。添加的每个技术提供定义例如如何连接、如何编辑的运用所述技术的代码的连接管理器插件程序、用户参数等。连接简档项目仅仅是对连接管理器插件程序的引用(PPP项目指定PPP插件程序)。
连接管理器200提供由系统块208指示的标准连接API(应用程序接口),用于启动连接并处理连接简档。为了启动连接,连接管理器200使用存储在连接简档数据库202中的信息。特定连接简档定义插件程序,即,涉及建立连接的通信协议。为了启动连接,连接管理器200根据确定的特定连接协议,沿着线路212(见插件程序入口点)请求插件程序。以下,更加详细地描述由连接管理器200用来搜索连接简档的算法。同样地,在本申请的后面也将更详细地描述系统或用户与连接管理器数据库202之间的相互作用。
作为一示例,通过PPP链路上的标准IP连接来示出连接。在函数方面提供CncProfileFindConnect函数。为了使得诸如Palm的PDA设备能够与远程TCP服务器服务进行通信,下面的操作是必需的。首先,从移动设备100的通信接口180建立互联网连接(如果已经打开的话)。然后,打开串行端口(串行插件程序)。接着,进行拨号(电话或调制解调器插件程序),运行PPP,然后交换网络接入信息(PPP插件程序)。最后,在PPP上运行互联网协议。或者,关于公知的TCP服务,可使用标准报路(socket)来创建与远程主机的TCP连接。
连接管理器200提供用于建立物理连接的统一方式。以下描述的示例示出连接管理器200如何与BSD报路API协作创建物理普通连接(IP、串行、RfCom、IrComm):
//initialize a standard BSD Socket sockaddr structure(IP Address,
//TCP service,etc).mySocketDescriptor
//Search the database for an Internet profile and connect it
CncProfileFindConnect(“IP/*”);
//Create a TCP socket with the BSD Socket API
mySocket=socket(PF_INET,SOCK_STREAM,getprotobyname(“TCP”));
bind(mySocket,mySocketDescriptor,...)
连接管理器200结构还可用作存储“服务级别连接”。下面研究服务级别插件程序的示例。TCP插件程序负责打开TCP报路。所述插件需要两个参数:IP地址(或服务器的名称)和请求的TCP服务的名称或标识。使用TCP简档的应用会如下所示:
mySocket=CncProfileFindConnect(“TCP:myhost.mydomain.com,http/*”)
连接管理器200还可用于管理诸如HOTSYNC、SMTP或OBEX连接的应用级别简档。连接管理器200沿着线路209与由系统块210所示的API简档接口通信。应用级别简档的某些示例如下所示:
mySocket=CncProfileFindConnect(“HOTSYNC/*”);
mySocket=CncProfileFindConnect(“SMTP/*”);
mySocket=CncProfileFindConnect(“OBEX/*”);
在一种情况下,在任何互联网协议可用之前(由此,不需要调用CncConnect(“IP/*”))可进行报路调用。在这种情况下,报路算法可选择尝试在建立所述报路之前打开“IP/*”连接简档,而不是发送用于在输出设备154(见图1)显示的错误消息(例如,“不能到达网络”)。
CncProfileFindConnect函数返回文件描述符。所述文件描述符由IOS提供。应用和其它共享的库将正常地使用这一文件描述符来读取/写入数据、配置连接或选择连接。IOS API将用于这一目的。
现在参照图3并继续参照图2,应注意到,连接管理器进展用户界面220(见图2)发生在连接管理器线程224(见图3)中。图3还表示主UI线程229(示出应用代码231和连接管理器SHIM 227)和IOS线程223(示出IOS服务器代码235)。IO进程237沿着管道241与系统进程228通信。
存在另一种称为持久连接的连接,这里也将对其进行描述。持久连接是可独立于启动它的进程存在的活动连接。必须由除了启动持久连接的进程之外的其它进程来管理定义所述系统连接的系统资源。
如果连接所需的所有系统资源仅为UI进程226(见图3)所“拥有”,则当从一应用切换到另一应用时,所述连接将丢失。示出这一情况的示例是:当用户使用物理移动设备100的面板(图1中输入设备152的一部分)上的“连接”按钮,来启动互联网连接,并随后切换到网络剪取或邮件应用时。用户不希望在切换应用的同时停止连接。连接停止通常应仅响应于用户请求而发生,或由于一段时间的不活动(例如,在超时周期过去)而可能发生。
连接管理器200有助于关于持久连接的状态信息的存储。连接管理器200提供API以测试连接的状态。由连接部件将关于连接的状态的情况通知连接管理器200。例如,IP和PPP具有系统进程中的线程,所述系统进程关于连接和断开与连接管理器200的通信。
使用系统进程228中的线程(软件任务)来管理诸如连接密码的敏感信息保证了实际的安全。将异步操作通知所有连接管理器客户机。每个连接管理器客户机经由IOS管道连接到连接管理器线程224。在管道上实施客户机请求。连接服务器处理所述请求并经由相同的管道来应答所述请求。
明确地参照图3,基于以下假设来描述连接管理器200的操作:调用者在用户界面(UI)进程26的主线程。后台进程、其它UI进程线程或其它系统线程可使用通常由系统块208所示的连接管理器API。
在连接管理器200内,连接管理器库(由图3的标号227示出的SHIM,用于调用连接管理器的代码)在数据库管理器进程230的控制器发起经由管道225与连接管理器线程224的通信。结果,连接管理器线程224在它本身和调用进程(从UI进程226)之间创建双向通信通道232。连接管理器线程224实现简单的“服务器”,轮询指定的管道文件描述符以及所有通信通道的“接收通道”文件描述符。这里,不定义由连接管理器线程224和连接管理器库使用的暗含的消息协议。
为了更详细地描述连接管理器200的操作,由标有UI构架的系统块表示并由标号206示出的连接管理器200的内核是不携带特定连接层或特定简档参数的知识的类框架。所述框架负责使用连接管理器简档和连接管理器插件程序来启动插件程序的配置UI部件。UI构架206通过UI处理连接管理器的形式和创建、编辑以及删除之间的转变。
由标有连接引擎的系统块表示并由标号204指示连接管理器200中使用连接简档和连接插件程序来创建实际连接的部分。
连接管理器200提供完整的一组API,其划分为几个类别。对于标准应用,连接API 208可作为发起和/或终止连接的首要应用接口。简档API 210是执行用于创建、编辑、删除或完成连接简档的操作的应用接口。对于专门的应用(诸如输入设备152上的面板的操作),由系统块212表示并由标号212指示的数据库API是到用于创建、编辑、删除和记录连接简档数据库202中的连接的操作的接口。
API的另一示例由系统块214表示,由标号214示出,并标有用于注册插件程序的安装API。可由以下描述的插件程序来调用安装API。对于插件程序,由标号216指示的实用程序API(工具箱)由连接管理器200提供,并由任何特定的插件程序使用。插件程序提供由通信管理器调用的多个入口点(见链路218),来建立连接,显示UI等。如先前所示,连接管理器插件程序(见由标号220指示的标有CM插件程序的块)是负责在通信堆栈内层的简档和建立的代码段和资源。这一层可包含一个或更多通信部件,并实现一个或更多协议。插件程序还包含用于简档特定层的UI。插件程序的各个示例是蓝牙、IP、PPP、USB等。因此,插件程序定义某些由连接管理器引擎204调回的标准入口点。可在带有相同代码的模块中封装多个插件程序(见220)。模块定义至少一个激励码(launch code),例如,sysCnc。另一示例是LaunchCmdGetPlugins,由此插件程序模块将返回在所述模块中定义的插件程序的列表和计数。模块还可定义激励码sysCncPluginLaunchCmdRegister。一旦在模块中定义的插件程序被添加到定义接口、边缘、简档、模板等的连接管理器数据库202,连接管理器200就调用所述激励码sysCncPluginLaunchCmdRegister。如果特定模块取决于在另一模块中定义的插件程序,则为了避免对于模块的依赖会产生的问题,模块可列举“调回”函数。
在安装步骤(硬复位时间或热安装)中,使用CncRegisterPluginModule()API注册连接管理器插件模块(例如,在reset或HotSync通知中)。在简档步骤中,连接管理器200用sysCncPluginLaunchCmdPlugins来加载插件程序模块并调用模块的主入口点。插件程序模块返回插件程序排列和插件程序计数。连接管理器200将插件程序添加到它的数据库202。然后,连接管理器200用sysCncPluginLaunchCmdRegister调用模块的主入口点。插件程序模块将边缘、接口、简档和模块添加到数据库202,或将Done字段设置为false,以便后来被调回。
对于特定应用,确定要连接的哪个简档涉及进程。例如,如果特定应用想要建立与互联网的连接,则系统或用户,而不是应用来确定适当的连接简档。在这种情况下,应用仅知道用于连接的简档开始于引用能够实现TCP/IP连接的技术的特定项目。
根据本发明的优选方面,连接管理器200使得搜索简档能够开始于一个或更多公知的技术。连接管理器200搜索适合搜索字符串和其它参数的连接简档,所述其它参数诸如简档的优先级、适用性、可用性等。自动连接算法使用搜索函数来确定正确的用于连接的简档。简档搜索字符串具有与简档字符串相同的格式,但是由两个字符“/*”来终止。
作为示例,注意到,所有互联网简档开始于“NetOut”项目。应用可通过搜索或连接“NetOut”字符串来搜索或连接正确的简档。连接算法将搜索开始于“NetOut”项目的所有简档,并假设其它规则(优先级、可用性、适用性)将试验所述正确的简档。
现在参照图4,可将根据一示例性实施例的连接管理器数据库202组织为所有普通连接类型的图(“CMG”)。图4表示这种图的简化示例。在所述图中,节点是通信部件,部件的边缘(a,b)仅表示在部件b的上面可直接使用部件a。在图4中示出各种插件程序。由标号240指示IP接口插件程序(图4中的“IPIF”)。由标号242指示IP链路层插件程序(图4中的“ILL”)。由标号244指示点到点协议插件程序(“PPP”)。由标号246指示AT拨号插件程序(“数据调用(Datacall)”)。由标号248指示串行插件程序(“串行(Serial)”)。
可如下建立图4所示的CMG。在初始化时间,连接管理器200和它的插件程序220(图2)建立包括所有普通连接路径的缺省CMG。当添加新的通信部件时,有关的连接管理器插件程序负责CMG的进展。
在某些环境下,应用会想要添加或删除接口,或者CMG的边缘。例如,HotSync会想要添加HotSync接口来组合所有能进行HotSync操作的连接。不允许应用创建或删除插件程序。连接管理器200提供API来处理这一图。包括插件程序和系统代码的授权代码能够创建或删除插件程序和接口节点,以及普通路径。一般的用户应用不能这样做。
连接简档是CMG的节点序列,其中,每个节点标有如上所示的特性表。所述节点序列定义涉及连接的插件程序和接口。特性是用于插件程序的简档参数。
P=({a1 a2...an},{p1 p2...pn}),其中,a1、a2...an是CMG中的节点,pl、p2...pn是分别标有al、a2...an的简档节点的特性。
将连接简档正常地存储在连接管理器数据库中(见图3)。应用具有处理其它应用不可见的专用连接简档的能力。连接简档可引用其它连接简档。在这种情况下,当需要时(例如,当连接时),将简档“线性化”,即,将简档引用扩展到它们表示的插件程序/接口序列。
当用简档启用插件程序函数时,所述插件程序函数将能够访问相同简档中的其它节点的特性表。例如,如果rs232接口节点与定义普通rs232参数的特性表有关,则串行插件程序将能够访问这些参数。
简档的节点序列可以是CMG中的有效路径,也可以不是有效路径。CMG仅定义普通路径。应用将能够定义/使用非普通路径,假设将有关通信部件设计为一起相互作用。例如,可通过PPP调试应用将PPP客户机连接到TCP报路,即使CMG没有定义这样的路径。
当进行物理连接时,应用程序通常仅与最高级别部件相互作用,所述最高级别部件定义连接类型。在TCP/IP的示例中,程序应用不需要了解较低级别的连接。
现在参照图5,其示出连接管理器200内的插件程序和接口。连接管理器接口表示连接管理器图的节点。接口是对从视图的某个点看起来等同的图的节点进行抽象的方式。接口不与任何一个通信部件直接关联,并且不带有代码或UI。在图5中,由标号250指示IP接口插件程序(“IPIF”)。由标号252指示IP链路层插件程序(“ILL”)。由标号254指示点到点协议插件程序(“PPP”)。由标号256指示串行插件程序(“串行(Serial)”)。由标号258指示红外接口插件程序(“IRIF”)。由标号260指示蓝牙插件程序(“蓝牙(Bluetooth)”)。由标号262指示PluginsRoot接口(“插件程序根(PluginsRoot)”,具有从PluginsRoot接口到每个插件程序的边界)。由标号264指示链路接口(到Serial、IRIF(红外)和Bluetooth的点)。
可由用户经由通过编程或通过软件安装的连接应用来创建简档。连接管理器200还允许经由连接应用或通过编程来修改和管理现有的简档。程序应用还可创建和处理仅对所述应用可见的专用连接简档。
当应用或系统想要连接连接简档时,连接管理器200调回与简档的每个项目有关的每个插件程序。应用或系统仅对连接管理器200进行函数调用,并接着接收表示所述连接的文件描述符。
连接管理器200的另一方面处理如何表示连接简档。换言之,如何通过任何编程语言来容易地处理连接简档(其作为每个项目可定义参数的列表),以及如何通过网络实现连接简档的交换(例如,通过空中链路实现配置)。
在本发明的优选实施例中,将字符串格式定义为容易地表示任何种类的连接简档。高级别语言具有容易使用的字符串操作例行程序。本发明的连接管理器200定义消除如字节存储顺序的典型交换问题的格式。如本领域的技术人员所公知的,字节存储顺序(endianness)处理计算机内部存储数字的模式(以自然类型的字节次序,诸如整型)。连接管理器200内部地处理连接简档的二进制表示。函数将连接简档的字符串表示解码为内部二进制表示,另一函数以字符串表示来编码简档的内部二进制表示。字符串是插件程序名称的列表,其中某些值指示它们的配置参数。
连接简档字符串是连接简档的内部文本表示。其为容易地表示连接简档的方式。例如,连接向导应用将使用连接简档字符串来创建新的连接简档并将其存储在连接管理器数据库中。
连接简档字符串的一般格式为:
“a1:p1/a2:p2/.../an:pn”,其中,a1、a2...an是CMG中的节点,p1、p2...pn是分别标有a1、a2...an的简档节点的特性表。特性表是由逗号分隔的参数值。使用包括在大括号中的文本十六进制表示来编码二进制参数。字符串参数包括在引号中。必须用引用的可打印符号(=XY)来表示特殊字符以及等号和引号标记。整型以数字开始。十六进制数字以0x开始。
以下是示例:
      sprinth(
  profile,
  ″SerialMgr:name=′PortCOM1′,crea=0x31323334/Serial:Baud=%d,FCtl=0x%X,Bits
=0x%X″,
  B9600,
  CRTSCTS,
  CS8
  );
      profileId=CncProfileDecode(″SerialMgrPort1Profile″,profile);
连接简档ID是整型值(unit32_t),其表示一个,并且仅表示一个存储的连接简档。这是引用现有的连接简档的最佳方式。连接管理器API充分使用连接简档ID。插件程序和接口也具有ID。
作为一示例,以下描述用于表示连接的字符串格式的细节:
字符串格式的细节
::=      定义非终结符
<...>     非终结符
‘x’     字符
{...}     包括在括号中的元素可重复0到n次
[...]     包括在括号中的元素可重复0或1次
|         或者(仅两个元素中的一个)
nothing   没有实际意义(仅为注释)
<connection profile string>::=<element>{‘/’<element>}
<element>::=<element_name>[‘:’<param_list>]
<param_list>::=nothing|<param>{‘,’<param>}
<param>::=<param_name>‘=’<param_value>
<param_value>::=<param_string>|<param_binary>|<param_integer>
<param_name>是1到4个字符,某些字符不允许:“:”、“=”、“/”或空格。也不允许是参数名称的十六进制模式:“[”ascii十六进制表示的4字节“]”。示例:[0FABE3D1],User,Pass。
<element_name>是字符序列。某些字符不允许:“:”、“=”、“/”或空格。示例:PPP,Phone,Serial。
<param_string>是引用的可打印字符串,以单引号开始和结束。示例:‘This a=0A=0Dstring’。
<param_binary>是字节序列。每个字节由两个十六进制数字表示,其以“[”开始,并以“]”结束。示例:[01779AF8280F]。
<param_interger>是32比特的无符号整型。它可以是十进制或十六进制表示。示例:18972,0XFEA4。
作为一示例,以下示出如何以C语言从连接简档字符串创建新的连接简档:
      profileId=CncProfileDecode(

             ″RAS via Serial″,

               ″NetOut/IPIF/ILL″

               ″/PPP:User=′pptestras′,Pass=′pptestras′,ConT=30000″

               ″/Script:LogS=[″

               ″7320434C49454E5400″ //Send′CLIENT′

               ″64203100″           //Delay 1
             ″7320434C49454E5400″ //Send′CLIENT′

               ″772056455200″       //Wait′VER′

               ″00]″                //End

             ″/RS 232 at 115000bps″);
连接管理器200用诸如可量测性、可维护性、灵活性的网络配置来方便地解决过去的问题。为了示出其优点,应注意到,在过去,负担在于用于理解通信设置的调用代码上。例如,网络模块具有调用特定任务管理器拨号连接调制解调器或拨号连接蜂窝式电话的条件码。如果添加了新的传输,例如,蓝牙,则必须更新网络模块以包括用于与蓝牙API通信并理解蓝牙参数的代码。
根据优选实施例的连接管理器200具有通过HotSync、辐射或SMS操作来“交换”连接简档并接收连接简档的能力。这方便地允许远程管理。或者,可完成辐射或发送配置。不考虑如何接收内容(对象),自动地注册所述内容(对象),并且连接管理器200可使用它。也将进入的内容(对象)自动地通知连接管理器200。可使用由库(SMS、电子邮件、Ir等)提供的所有传输来发送或接收对象。由于安全原因,可对这些对象进行标记和加密。
此外,连接管理器200提供类“内容”API。应用仅具有堆栈中上层协议的知识,所述上层协议是它们正使用的,并且将应用尽可能地从其它连接细节屏蔽。连接管理器200提供“非完整连接简档”能力。应用可使用连接简档进行连接,所述连接简档没有完全规定,并且其在运行时间自动完成或通过用户的干涉而完成。有两种类型的非完整简档:路径没有完全规定。例如,应用可请求TCP/IP连接,而不指定串行连接的种类。如果缺少某些设置,则应用以“AOL”简档进行连接,在所述“AOL”协议中,PPP注册和密码是缺少的。连接管理器200提供用于后台任务或自动重新连接模式的非UI模式。
对于ROM 140(见图1)中的通信部件,可在ROM中预先定义连接简档。在提供硬复位之后,由设置应用激励设置插件程序(见“设置CDB”),以在RAM 150的连接数据库中创建简档。此外,如果某些简档不完整,则插件程序在请求它们的设置向导中添加步骤。
对于其它通信部件,通过应用建立连接简档,所述应用为某些安装代码或诸如电话应用的专用应用。应用可决定通过将连接简档存储在数据库中并在连接时间提供明确的连接字符串来保持连接简档是专用的。终端用户也可在任何时间手动地创建或完成连接简档。
从不通过连接管理器200创建连接简档。然而,当向连接管理器200注册连接管理器插件程序时,它们有时将创建缺省简档。
连接管理器200不直接与I/O子系统相互作用。相反,连接管理器插件程序220(图2)与I/O子系统相互作用以建立连接。连接管理器插件程序220负责通过IOS调用打开和配置某些通信部件,并负责处理某些异常情况的通知。在连接建立期间的某时刻,插件程序请求它的子进行连接(它调用CncConfigureChild),获得文件描述符,推入它上面的某些模块,并返回新的文件描述符。
存储在连接管理器数据库202(图2)中的连接简档具有分配的优先级。通过编程或通过用户来分配连接简档优先级。通常将简档插入等同简档的列表(例如,所有互联网简档在相同的列表中)。优先级用于当第一次插入简档时找到所述简档在列表中的位置。可通过编程(通常遵循用户动作)改变简档在列表中的顺序。搜索算法总是首先返回关于列表顺序的简档。例如,缺省互联网连接将是互联网列表中的第一简档。
连接简档具有可用性和状态信息。可用性表示简档是否可在当时被连接(例如,如果用户将Palm设备放入它的支架上,则“支架上的Palm设备互联网连接”变得可用)。状态表示简档是否被连接。
模板是当创建新的简档时使用的特殊简档。当创建新的简档时,用户将必须选择将被复制到实际简档的模板。宏简档是具有以‘{’开头的名称的简档(kCncMacroSpecialChar)。当创建时,宏简档未附于任何插件程序或接口。它们用作简档或模板中的引用。当用户创建新的简档时,使用两个特殊宏{REPLACE}和{USING}。
链接对象用于将几个不同的名称关联到相同的简档。它们如同符号链接或快捷方式那样作用:它们引用另一对象,当它们被搜索时,它们指向的实际对象被返回。当创建具有国际性名称的缺省简档,而且当这样的简档可由具有公知的国际性独立名称的其它简档引用时,以上处理是非常有用的。例如,称为“115200bps的RS232”的链路可指向有关国际性的简档。
为了创建简档,应用和系统将能够创建连接简档并将其添加到连接管理器数据库202。连接管理器提供用于搜索连接管理器数据库202以找到匹配搜索字符串的简档的API。搜索字符串可与简档字符串进行比较,可定义节点特性,也可以不定义节点特性,可通过joker终止搜索字符串。搜索算法将使用CMG和存储的简档来在有效简档字符串中完成搜索字符串。例如,给出“IP/*”搜索字符串,算法将搜索所有互联网简档。搜索API将包括至少两个函数:CncProfileFindFirst和CncProfileFindNext。第一函数在连接管理器数据库202中创建临时搜索简档,并执行第一搜索。第二函数搜索下一简档。应用可多次调用这一函数,以检索与搜索字符串相应的所有简档。最后,调用CncProfileClose函数,以释放临时搜索简档。按照与简档顺序有关的顺序返回简档。
为了便于使用,简档必须被配置,即,简档中的每个插件程序必须至少具有连接所需要的参数。有三种分配参数给节点的方式:将参数存储在插件程序的特性表中。这可通过编程(在创建简档时进行)来完成。第二种方式可通过插件程序的配置调回来完成:代码定义缺省参数并/或能够在其它简档节点的特性表中找到参数值。最后一种方式是请用户定义缺少的参数。再一次,插件程序的责任是定义允许用户输入配置参数的UI。一旦完成并配置连接简档,则连接管理器能够尝试关于它的连接。
ROM 140(见图1)包含多个通信部件,诸如:TCP/IP、PPP、IrComm和IrDA,连同它们的插件程序和优选连接简档。第一次运行时或硬复位之后,连接管理器220在RAM 150(见图1)中创建简档数据库。ROM 140中的每个插件程序具有向连接管理器200注册并添加缺省简档的责任。例如,在插件程序注册器中创建称为“红外连接”的简档,提供串行接口,并且不要求接口。现在,当诺基亚电话驱动器封装进入时,它将创建电话简档“红外连接上的诺基亚”和TCP/IP简档“经由红外与诺基亚之间的互联网”。它甚至可以检查在设备上什么硬件可用,并由此创建简档(例如,仅当蓝牙硬件存在时创建蓝牙简档)。
可通过安装代码、简档应用和第三方应用来使用下面的API。如果系统不信任应用代码,则可应用一些限制。例如,非信任应用将不能够获得诸如VPN或PPP密码的敏感参数。
涉及以下描述的发明的方面的一种实现与Palm PDA设备的操作系统有关。在所述实现中,连接管理器200包括CncMgr.h file和对存根库CncClientLib.a的链路。以下描述的表指示关于这一具体实现的可用性常数。
  可用性常数(Set/Get Info)缺省状态下,所有简档具有kCncAvailable的可用性。系统驱动器或管理器可改变这些值以将简档标记为不可用。kCncPercentBaseAvailability和kCncPercenTBaseAvailability+100之间的值表示在0到100之间的可用性的百分比(这是以电话信号强度作为示例的情况)。
  kCncUnknownAvailability   0   当连接管理器被询问时,其将通过向简档的每个插件程序发送kCncControlAvailability来尝试动态地确定可用性
  kCncAvailable   1   简档对于连接可用
  kCncPercentBaseAvailability到kCncPercentBaseAvailability+100   100   简档按照定义的百分比(例如电话信号强度)可用
  kCncNotAvailable   255   简档对于连接不可用(例如,如果设备没有在支架中,则简档“支架中的IP”应该不可用)
  字段   提供者  描述
  nameP   所有插件程序  用于插件程序的唯一的32字符的最大名称。例如:“PPP”或“Serial”
  Version   所有插件程序  版本号。在注册期间,如果已存在具有相同名称的插件程序,则连接管理器通过选择具有最大版本号的插件程序来选取正确的插件程序。
  formId   具有配置UI的插件程序  插件程序简档形式的资源Id。
  connectF   几乎所有插件程序  当引用插件程序的简档被连接时,由连接管理器调回。
  formHandlerF   具有配置UI的插件程序  当用户简档引用插件程序的简档时,通过config app安装的形式句柄。当加载所述形式资源formId时安装该形式句柄。
  formValidateF   具有配置UI的插件程序  简档app在关闭插件程b序简档形式之前调用该回。
  externalNameId   用户可查看的所有插件程序  字符串资源的ID。对于用户友好的名称。
  cancelF   想要被异步通知连接取消的插件程序  如果用户或应用想要取消正在进行的连接,则连接管理器调用该函数。
 controlF   具有特殊要求的插件程序   当应用或系统调用CncObjectControl时,连接管理器调用该函数。
 woParams   插件程序可规定只写参数名称最多达到kCncWOParameterCount(4)个   不能用客户机APICncProfileGetParameters来读取只写参数。它们对于密码保护是有用的。
 pluginIndex   系统使用   N/A
 moduleP   系统使用   N/A
尽管上述描述可包含特定细节,但是不应以任何方式将它们解释为限制权利要求。所描述的本发明的实施例的其它配置是本发明的范围的一部分。例如,在单个计算设备上和所述设备内的节点之间可存在格式协商,或者在网络的节点之间的通信网络上会出现所述协商。因此,应仅由所附权利要求及其合法等同物来限定本发明,而不是由所给出的任何具体示例来限定。

Claims (30)

1、一种用于在移动设备和一个或更多通信网络或一个或更多专用连接之间建立连接的方法,所述方法包括以下步骤:
将多个连接简档存储在数据库中,以实现与在所述移动设备周围的环境中可用的一个或多个通信网络的物理连接;
按照从高到低的排列将优先级与所述多个通信网络中的每一个进行关联;
确定所述多个通信网络中的哪一个具有最高优先级,并选择用于实现连接的通信网络;以及
尝试建立到所选择的通信网络的连接。
2、如权利要求2所述的方法,其中,尝试的步骤是建立连接的第一尝试。
3、如权利要求2所述的方法,还包括步骤:
如果第一尝试失败,则尝试用于建立与被给予下一最高优先级的另一通信网络的连接的第二尝试。
4、如权利要求1所述的方法,其中,所述一个或更多通信网络包括无线通信网络。
5、如权利要求4所述的方法,其中,无线通信网络使用蓝牙技术。
6、如权利要求4所述的方法,其中,无线通信网络使用IrDA技术。
7、如权利要求4所述的方法,其中,无线通信网络是WiFi-802.11网络。
8、如权利要求4所述的方法,其中,无线通信网络是GPRS网络。
9、如权利要求1所述的方法,其中,经由拨号调制解调器来接入通信网络。
10、如权利要求9所述的方法,其中,拨号调制解调器提供到PPP(点到点协议)网络的接入。
11、如权利要求1所述的方法,其中,确定步骤还包括:确定通信网络是否可用。
12、如权利要求1所述的方法,其中,尝试建立连接的步骤包括一次或更多尝试,直到没有通信网络剩余。
13、如权利要求1所述的方法,还包括步骤:
在尝试建立连接之前,考虑所选择的通信网络的适用性。
14、如权利要求1所述的方法,其中,由存储在移动设备内的存储器中的应用程序来创建连接简档。
15、如权利要求1所述的方法,其中,从外部下载连接简档。
16、一种用于在移动设备和通信网络之间建立连接的系统,所述系统包括:
连接简档数据库,用于存储多个连接简档,以实现与在所述移动设备周围的环境中可用的多个通信网络的物理连接;
连接管理器,用于按照从高到低的排列将优先级与所述多个通信网络中的每一个进行关联;并确定所述多个通信网络中的哪一个具有最高优先级,连接管理器选择用于实现连接的适当通信网络;以及
通信接口,用于尝试建立到所选择的通信网络的连接。
17、如权利要求16所述的系统,其中,通信接口尝试用于基于被分配最高优先级的第一连接简档建立连接的第一尝试。
18、如权利要求17所述的系统,其中,如果第一尝试失败,则通信接口尝试用于建立与被给予较低优先级的另一通信网络的连接的第二尝试。
19、如权利要求16所述的系统,其中,所述一个或更多通信网络包括无线通信网络。
20、如权利要求19所述的系统,其中,无线通信网络使用蓝牙技术。
21、如权利要求19所述的系统,其中,无线通信网络使用IrDA技术。
22、如权利要求19所述的系统,其中,无线通信网络是WiFi-802.11网络。
23、如权利要求19所述的系统,其中,无线通信网络是GPRS网络。
24、如权利要求16所述的系统,其中,由拨号调制解调器接入通信网络。
25、如权利要求24所述的系统,其中,拨号调制解调器接入PPP网络。
26、如权利要求24所述的系统,其中,连接管理器确定所选择的通信网络是否可用。
27、如权利要求24所述的系统,其中,通信接口继续尝试建立连接,直到没有通信网络剩余。
28、如权利要求16所述的系统,其中,在尝试建立连接之前,连接管理器还考虑所选择的通信网络的适用性。
29、如权利要求16所述的系统,其中,由存储在移动设备内的存储器中的应用程序来创建连接简档。
30、如权利要求16所述的系统,其中,从外部下载连接简档。
CNA2005800122629A 2004-02-09 2005-02-09 管理与可用网络的连接的系统和方法 Pending CN1947450A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US54335604P 2004-02-09 2004-02-09
US54310804P 2004-02-09 2004-02-09
US60/543,108 2004-02-09
US60/543,356 2004-02-09
PCT/US2005/004167 WO2005079103A1 (en) 2004-02-09 2005-02-09 A system and method of managing connections with an available network

Publications (1)

Publication Number Publication Date
CN1947450A true CN1947450A (zh) 2007-04-11

Family

ID=34864512

Family Applications (3)

Application Number Title Priority Date Filing Date
CN2009100053578A Expired - Fee Related CN101526986B (zh) 2004-02-09 2005-02-08 用于计算设备的安全模型的方法和系统
CNB2005800122633A Expired - Fee Related CN100476685C (zh) 2004-02-09 2005-02-08 用于计算设备的安全模型的方法和系统
CNA2005800122629A Pending CN1947450A (zh) 2004-02-09 2005-02-09 管理与可用网络的连接的系统和方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN2009100053578A Expired - Fee Related CN101526986B (zh) 2004-02-09 2005-02-08 用于计算设备的安全模型的方法和系统
CNB2005800122633A Expired - Fee Related CN100476685C (zh) 2004-02-09 2005-02-08 用于计算设备的安全模型的方法和系统

Country Status (6)

Country Link
US (3) US20070136790A1 (zh)
EP (2) EP1721233A1 (zh)
JP (2) JP4709166B2 (zh)
KR (2) KR101095769B1 (zh)
CN (3) CN101526986B (zh)
WO (4) WO2005078552A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102369697A (zh) * 2009-01-29 2012-03-07 惠普开发有限公司 基于不同的操作模式把一个或多个电子装置的端口连接到网络的不同子集
CN102420640A (zh) * 2010-09-21 2012-04-18 株式会社电装 车内装置

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873646B2 (en) * 2004-02-25 2011-01-18 Research In Motion Limited Method for modifying notifications in an electronic device
US7398061B2 (en) * 2004-02-26 2008-07-08 Research In Motion Limited Method and apparatus for changing the behavior of an electronic device
JP4133902B2 (ja) * 2004-03-30 2008-08-13 Necパーソナルプロダクツ株式会社 情報処理装置、コンテンツ記録方法、プログラムおよび記録媒体
GB2415065B (en) * 2004-06-09 2009-01-21 Symbian Software Ltd A computing device having a multiple process architecture for running plug-in code modules
US20070130078A1 (en) * 2005-12-02 2007-06-07 Robert Grzesek Digital rights management compliance with portable digital media device
US20060195586A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Sessions and terminals configured for binding in an extensible manner
US7594020B2 (en) * 2005-05-31 2009-09-22 Microsoft Corporation Re-establishing a connection for an application layer via a service layer
WO2007081618A2 (en) * 2005-12-02 2007-07-19 Sennari Entertainment Wireless application connection auto-detection mechanism
US8555403B1 (en) * 2006-03-30 2013-10-08 Emc Corporation Privileged access to managed content
US7904078B2 (en) * 2006-05-19 2011-03-08 Sony Ericsson Mobile Communications Ab Mobile peer-to-peer networks
US20080027955A1 (en) * 2006-07-31 2008-01-31 May Darrell R System and method for storage and display of time-dependent events
US20080026729A1 (en) * 2006-07-31 2008-01-31 Research In Motion Limited Method and apparatus for configuring unique profile settings for multiple services
US8145200B2 (en) * 2006-07-31 2012-03-27 Research In Motion Limited Method and apparatus for configuring unique profile settings for multiple services
US20080064388A1 (en) * 2006-09-13 2008-03-13 Helio, Llc. Softkey access to network connections
US8015249B2 (en) * 2006-10-10 2011-09-06 Microsoft Corporation Mitigating data usage in messaging applications
JP4855212B2 (ja) * 2006-10-20 2012-01-18 株式会社エヌ・ティ・ティ・ドコモ 無線通信装置および無線通信方法
US8719431B2 (en) * 2006-10-26 2014-05-06 Blackberry Limited Transient WLAN connection profiles
GB0621433D0 (en) * 2006-10-27 2006-12-06 3G Scene Ltd Networking application
CA2670033C (en) * 2006-11-21 2016-03-15 Research In Motion Limited Saving a connection profile when unable to connect to a wireless local area network
US8533345B2 (en) * 2007-05-08 2013-09-10 Blackberry Limited System and method for managing connections for networks used by a communication device
US8234385B2 (en) * 2007-05-16 2012-07-31 Microsoft Corporation Format negotiation for media remoting scenarios
WO2008151105A1 (en) 2007-06-04 2008-12-11 Ge Healthcare Bioscience Bioprocess Corp. An apparatus for mixing the contents of a container
US8081963B2 (en) 2008-02-12 2011-12-20 Microsoft Corporation Utilizing mobile device functionality from remote computers
GB2458444B (en) 2008-03-04 2010-07-28 Samsung Electronics Co Ltd Apparatus and method using radio signals
US20090265212A1 (en) * 2008-04-17 2009-10-22 David Hyman Advertising in a streaming media environment
JP5278792B2 (ja) * 2008-04-18 2013-09-04 日本電気株式会社 ネットワーク接続装置、接続設定方法、及び接続設定用プログラム
US20100061533A1 (en) * 2008-09-08 2010-03-11 At&T Intellectual Property I, L.P. Portable Telephony Profiles
US20100106977A1 (en) * 2008-10-24 2010-04-29 Jan Patrik Persson Method and Apparatus for Secure Software Platform Access
US8615570B2 (en) * 2008-11-21 2013-12-24 Microsoft Corporation Unified storage for configuring multiple networking technologies
US8751612B2 (en) * 2008-11-21 2014-06-10 Microsoft Corporation Creating cross-technology configuration settings
US8683046B2 (en) * 2008-11-21 2014-03-25 Microsoft Corporation Unified interface for configuring multiple networking technologies
US8676942B2 (en) * 2008-11-21 2014-03-18 Microsoft Corporation Common configuration application programming interface
KR101559776B1 (ko) * 2008-11-28 2015-10-13 엘지전자 주식회사 이동단말기 및 그 제어 방법
KR101015568B1 (ko) * 2009-01-16 2011-02-16 주식회사 비티비솔루션 멀티 통신망 연결 매니저를 이용한 이동통신단말기의 통신망 접속 방법
US8289969B2 (en) 2009-01-26 2012-10-16 Hewlett-Packard Development Company, L.P. Network edge switch configuration based on connection profile
JP2010177757A (ja) 2009-01-27 2010-08-12 Panasonic Corp 無線通信装置および接続先検索方法
JP2010192993A (ja) 2009-02-16 2010-09-02 Panasonic Corp 無線通信装置および優先度変更方法
US8424024B2 (en) * 2009-03-26 2013-04-16 Digi International Inc. Application-specific serial port redirector
US8285858B2 (en) * 2009-06-23 2012-10-09 Avaya Inc. Signaling using binary form of SIP messages
US20110029236A1 (en) * 2009-07-28 2011-02-03 Sony Corporation Gps-based wireless network connection selection and network topology overlay on satellite geographic map
US8346255B2 (en) * 2010-02-11 2013-01-01 Apple Inc. Method and apparatus for using a wireless communication device with multiple service providers
US8356031B2 (en) * 2010-02-11 2013-01-15 Daisy, Llc System and method of generating a playlist based on a frequency ratio
US8639772B2 (en) * 2010-02-16 2014-01-28 Iboard Incorporated Centralized application resource manager
US8635189B1 (en) * 2010-04-22 2014-01-21 Netapp, Inc. Frameworks for providing backup functionalities to different applications
US20110269461A1 (en) * 2010-04-28 2011-11-03 Xu Richard H System and Method for Dynamically Providing Communication Profiles for Mobile Devices
US20110269422A1 (en) * 2010-04-28 2011-11-03 Xu Richard H System and Method for Routing a Message to a Mobile Device Associated with Multiple Communication Profiles
KR101695690B1 (ko) * 2010-09-03 2017-01-12 엘지전자 주식회사 통신 연결 장치 및 그 방법
EP2671407B1 (en) 2011-01-31 2019-12-25 Synchronoss Technologies, Inc. System and method for host and operative system agnostic management of connected devices through network controlled state alteration
JP5608692B2 (ja) 2011-02-17 2014-10-15 パナソニック株式会社 ネットワーク接続装置および方法
CN102752029A (zh) * 2011-04-18 2012-10-24 中兴通讯股份有限公司 蓝牙配件配对蓝牙设备的方法及蓝牙配件
US8732798B2 (en) * 2011-08-03 2014-05-20 Blackberry Limited Automatic disabling of enabled connection profile for wireless network
US9465697B2 (en) 2011-09-21 2016-10-11 Netapp, Inc. Provision of backup functionalities in cloud computing systems
US20130095794A1 (en) * 2011-10-13 2013-04-18 Signalset, Inc. Real-time management of a wireless device operation on multiple networks
US9356804B1 (en) * 2012-06-12 2016-05-31 Amazon Technologies, Inc. Policy-based network connection resource selection
US20140063048A1 (en) * 2012-09-06 2014-03-06 Appsense Limited Visual accessibility indicators
JP6136206B2 (ja) * 2012-11-16 2017-05-31 富士通株式会社 会議システム、サーバ、及び、会議情報生成プログラム
CN103093144B (zh) * 2013-01-14 2015-06-10 中国科学院软件研究所 一种密码模块api安全性检测方法与系统
US9438638B2 (en) * 2013-03-15 2016-09-06 Silicon Graphics International Corp. Method for transparently connecting augmented network socket operations
US20150234767A1 (en) 2013-09-23 2015-08-20 Farmobile, Llc Farming data collection and exchange system
DE102014216795A1 (de) * 2014-08-22 2016-02-25 Lesswire Ag Erweiterungsmodul für ein persönliches Mobilgerät, Kommunikationssystem mit einem Erweiterungsmodul, sowie Kommunikationsverfahren
US9338071B2 (en) 2014-10-08 2016-05-10 Google Inc. Locale profile for a fabric network
KR101716690B1 (ko) * 2015-05-28 2017-03-15 삼성에스디에스 주식회사 데이터 무단 엑세스 차단 방법 및 그 기능이 구비된 컴퓨팅 장치
US10505994B2 (en) 2015-10-20 2019-12-10 Intel Corporation Technologies for scalable capability detection for multimedia casting
DE102016005492A1 (de) 2016-05-03 2017-11-09 Giesecke+Devrient Mobile Security Gmbh Verfahren zum Verwalten von teilweise und/oder unvollständig geladenen Subskriptionsdaten
US20180092143A1 (en) * 2016-06-03 2018-03-29 Sriakhil Gogineni Setup device for sharing content over a network
US9860736B1 (en) * 2016-09-30 2018-01-02 Microsoft Technology Licensing, Llc Providing network resource access based on a purpose identifier
CN107222406B (zh) * 2017-07-13 2021-06-15 北京元心科技有限公司 网络管理方法、装置和智能设备
CN109274634B (zh) * 2017-07-18 2021-06-11 腾讯科技(深圳)有限公司 多媒体通信方法及装置、存储介质
CN110618847A (zh) * 2018-06-20 2019-12-27 华为技术有限公司 一种用户界面的显示方法和终端设备
CN109889406B (zh) * 2019-02-02 2021-05-14 北京百度网讯科技有限公司 用于管理网络连接的方法、装置、设备和存储介质
US11630551B1 (en) * 2021-10-28 2023-04-18 Dallen Yu Chao Smart keychain or accessory devices, systems, and methods

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136712A (en) * 1989-06-29 1992-08-04 Digital Equipment Corporation Temporary object handling system and method in an object based computer operating system
US6421429B1 (en) * 1993-12-29 2002-07-16 At&T Corporation Network-based system enabling image communications
WO1995018413A1 (en) * 1993-12-30 1995-07-06 Taligent, Inc. Object-oriented view hierarchy framework
SE504866C2 (sv) * 1995-06-01 1997-05-20 Ericsson Telefon Ab L M Anordning och förfarande för interaktivt val av kommunikationsanordning vid mobil kommunikation
US5903832A (en) * 1995-12-21 1999-05-11 Nokia Mobile Phones Llimited Mobile terminal having enhanced system selection capability
US6138238A (en) * 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6282652B1 (en) * 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
JP2993444B2 (ja) * 1996-10-25 1999-12-20 日本電気株式会社 Atm網におけるコネクション設定および復旧方式
US5913038A (en) * 1996-12-13 1999-06-15 Microsoft Corporation System and method for processing multimedia data streams using filter graphs
US5949975A (en) * 1997-03-12 1999-09-07 Microsoft Corp. Method and system for negotiating capabilities when sharing an application program with multiple computer systems
US6496202B1 (en) * 1997-06-30 2002-12-17 Sun Microsystems, Inc. Method and apparatus for generating a graphical user interface
US6173404B1 (en) * 1998-02-24 2001-01-09 Microsoft Corporation Software object security mechanism
IL123512A0 (en) * 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
US6148197A (en) * 1998-03-06 2000-11-14 Sbc Technology Resources, Inc. Intelligent roaming system with over the air programming
JP2002526830A (ja) * 1998-09-28 2002-08-20 アーガス システムズ グループ,インク. コンパートメント化された信用コンピュータオペレーティングシステム
US6741608B1 (en) * 1999-01-29 2004-05-25 Avaya Technology Corp. Dynamically configurable system and method for transcoding streaming data and telecommunications infrastructure the same
US6748217B1 (en) * 1999-12-30 2004-06-08 Denso Corporation Rapid acquisition and system selection of mobile wireless devices using a system map
FI120478B (fi) * 2000-02-24 2009-10-30 Nokia Corp Menetelmä ja laitteisto tietoliikenneverkkoon liittymiseksi
US7191236B2 (en) * 2000-05-02 2007-03-13 Canon Kabushiki Kaisha Transparent telecommunications system and apparatus
US20020038430A1 (en) * 2000-09-13 2002-03-28 Charles Edwards System and method of data collection, processing, analysis, and annotation for monitoring cyber-threats and the notification thereof to subscribers
US6774919B2 (en) * 2000-12-06 2004-08-10 Microsoft Corporation Interface and related methods for reducing source accesses in a development system
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US7016334B2 (en) * 2001-08-17 2006-03-21 Ixi Mobile ( Israel) Ltd. Device, system, method and computer readable medium for fast recovery of IP address change
US7551629B2 (en) * 2002-03-28 2009-06-23 Precache, Inc. Method and apparatus for propagating content filters for a publish-subscribe network
US20040125745A9 (en) * 2002-04-09 2004-07-01 Ar Card Two-stage reconnect system and method
US7016306B2 (en) * 2002-05-16 2006-03-21 Meshnetworks, Inc. System and method for performing multiple network routing and provisioning in overlapping wireless deployments
US7065367B2 (en) * 2002-07-11 2006-06-20 Oliver Michaelis Interface selection in a wireless communication network
US7155437B2 (en) * 2002-07-29 2006-12-26 Inventec Appliances Corp. Method for multiple configurations of wireless network connection settings
US7039712B2 (en) * 2002-10-16 2006-05-02 Microsoft Corporation Network connection setup procedure for traffic admission control and implicit network bandwidth reservation
KR100742580B1 (ko) * 2002-10-30 2007-08-02 리서치 인 모션 리미티드 데이터 통신 서비스를 이용가능하게 하는 통신 네트워크를선택하는 방법 및 장치
US6954631B2 (en) * 2003-02-13 2005-10-11 Hewlett-Packard Development Company, L.P. Apparatus and method for telecommunications services
US20040258063A1 (en) * 2003-03-25 2004-12-23 Raith Alex Krister Multimedia message processing
KR100592885B1 (ko) * 2003-04-29 2006-06-23 주식회사 팬택앤큐리텔 이동국의 시스템 선택 방법
JP4216115B2 (ja) * 2003-05-07 2009-01-28 株式会社エヌ・ティ・ティ・ドコモ 移動通信ネットワークシステム、移動端末機及びページング方法
US7245877B2 (en) * 2003-08-12 2007-07-17 Intel Corporation Wireless local area network detection
KR20050030509A (ko) * 2003-09-26 2005-03-30 삼성전자주식회사 헤테로지니어스 시스템에서의 억세스 네트워크 선택 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102369697A (zh) * 2009-01-29 2012-03-07 惠普开发有限公司 基于不同的操作模式把一个或多个电子装置的端口连接到网络的不同子集
CN102369697B (zh) * 2009-01-29 2016-03-16 惠普开发有限公司 基于不同的操作模式把一个或多个电子装置的端口连接到网络的不同子集
CN102420640A (zh) * 2010-09-21 2012-04-18 株式会社电装 车内装置
CN102420640B (zh) * 2010-09-21 2015-08-26 株式会社电装 车内装置

Also Published As

Publication number Publication date
WO2005079103A1 (en) 2005-08-25
JP2007525894A (ja) 2007-09-06
CN101526986B (zh) 2012-03-28
KR20070055996A (ko) 2007-05-31
KR101095769B1 (ko) 2011-12-21
WO2005078571A2 (en) 2005-08-25
CN101526986A (zh) 2009-09-09
KR101162786B1 (ko) 2012-07-04
CN100476685C (zh) 2009-04-08
JP2007523411A (ja) 2007-08-16
WO2005078552A1 (en) 2005-08-25
WO2005078571A3 (en) 2006-06-15
CN1947081A (zh) 2007-04-11
EP1721233A1 (en) 2006-11-15
US8055249B2 (en) 2011-11-08
JP4709166B2 (ja) 2011-06-22
US20070136790A1 (en) 2007-06-14
WO2005079039A1 (en) 2005-08-25
US20050175030A1 (en) 2005-08-11
US20050260989A1 (en) 2005-11-24
KR20070003917A (ko) 2007-01-05
EP1714522A1 (en) 2006-10-25

Similar Documents

Publication Publication Date Title
CN1947450A (zh) 管理与可用网络的连接的系统和方法
CN1207876C (zh) 短消息网关、向移动电话提供信息服务的系统和方法
CN1241368C (zh) 假想私设网
CN1178442C (zh) 使用网络的鉴别系统
RU2355025C2 (ru) Загружаемая конфигурирующая прикладная программа для беспроводного устройства
CN1276320C (zh) 终端装置、终端装置的控制方法及通信方法
CN1284099C (zh) 电子钥匙系统以及电子钥匙使用方法
US20050227669A1 (en) Security key management system and method in a mobile communication network
CN1461130A (zh) 自动改变用户数据的系统及方法
CN1638345A (zh) 使用便携式存储媒质配置瘦客户机设备的网络设置
CN1689302A (zh) 用于无线移动通信设备的资源的安全控制的系统和方法
CN1902965A (zh) 灵活的消息传送系统
CN1723674A (zh) 用于无线移动通信设备的连接控制的系统和方法
CN1386385A (zh) 在具体使用gsm标准的移动电话网络上处理和发送数字数据的方法和嵌入式微芯片系统
CN101032151A (zh) 用于在数据网络中预订多媒体传送服务的方法和装置
CN1685323A (zh) 通信系统,中继设备和通信控制方法
CN1642114A (zh) 手持移动终端用户定制信息的网络备份方法
CN1330827A (zh) 访问服务器计算机
JP4305234B2 (ja) 公衆無線lan接続サービス装置及びその方法
US11678176B1 (en) Electronic subscriber identity module (eSIM) transfer via activation code
CN1272953C (zh) 终端装置
CN1860818A (zh) 经移动终端控制资源的方法和系统、相关网络及其计算机程序产品
US20120196588A1 (en) Communication protocol preferences
CN1663307A (zh) 通过数据处理终端向移动电话设备供应服务配置数据的方法
CN1615662A (zh) 通信系统中小应用程序的下载

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20070411