CN101554028A - 用于移动设备的接口和方法 - Google Patents
用于移动设备的接口和方法 Download PDFInfo
- Publication number
- CN101554028A CN101554028A CNA2007800144862A CN200780014486A CN101554028A CN 101554028 A CN101554028 A CN 101554028A CN A2007800144862 A CNA2007800144862 A CN A2007800144862A CN 200780014486 A CN200780014486 A CN 200780014486A CN 101554028 A CN101554028 A CN 101554028A
- Authority
- CN
- China
- Prior art keywords
- server
- data
- mobile communication
- communication equipment
- browser
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72445—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/74—Details of telephonic subscriber devices with voice recognition means
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种用于提供通用接口的方法和装置,该通用接口适用于移动通信设备(MCD)中的多应用和/或多功能。在一个示例性实施方式中,通过包含该MCD内的一个或多个微服务器提供了该通用接口,并且该通用接口能够接收和处理来自于移动通信设备的内部的和外部的其它功能的信息。微浏览器还可选择地位于MCD上并且与微服务器通信,后一种用作应用服务器,以及用作浏览器与外部网络机构(例如Web服务器网或运营商服务器)之间的代理。该微服务器还能够用作到至少一个异步通信通道的网关,并且因此允许由该MCD进行更多有效的浏览。
Description
技术领域
本发明涉及无线通信领域。更具体地说,本发明涉及用于为移动通信或其它便携式个人电子设备中的多应用和多功能而提供通用接口的方法和装置。
背景技术
在下文中都称作移动通信设备(MCD)的如蜂窝电话、个人数字助理(PDA)和个人信息管理(PIM)等移动设备都是众所周知的。当这些移动通信设备(MCD)的计算功率已经增加时,它们的功能,包括用户应用和用户功能的个数和多样性,也已经增加。
这些MCD的增加的功能已经允许它们执行与大型计算机和PC传统地关联的很多功能,包括因特网浏览、联系表管理、邮件、聊天、游戏、视频和音频功能(包括MP3存储和重放,以及其它与音乐相关的功能),和系统/网络应用(例如,本地或个人网络通信和管理,例如,经由WiFi、蓝牙或其它可比较的接口)。例如,很多移动通信设备包括用于在因特网上查看网页的“微”网络浏览器。这些微网络浏览器提供了标准网络浏览器的特性中的很多,其中包括渲染HTML页面和文件、显示图像和接收来自于用户的各种类型的各种类型的输入。
WAP栈和相似的无线协议在这些移动设备中是普遍的。众所周知,无线应用协议(WAP)是应用环境,并且是用于无线设备(该无线设备被设计为允许与高级电话服务以及因特网进行与厂商和技术无关的访问)的一组关联的通信协议。
WAP被设计为独立于网络、运营商和所使用的终端。移动用户能够基本访问来自于移动设备的信息,就像它们是来自于桌上型电脑的信息那样。该WAP规范定义了一组在应用程序、会话、事务处理、安全和传输层中使用的协议。WAP还定义了无线应用环境(WAE),该无线应用环境是针对允许高级服务和应用的开发,其包括,例如,“微浏览器”、脚本设备、万维网(WWW)到移动手机的通信联系、邮件和移动装置到传真(mobile-to-fax)的访问。基于因特网模型,该移动无线设备包括微浏览器,而内容和应用程序位于Web服务器上。
WAP应用程序通常用无线标记语言(WML)书写,该WML是可扩展标记语言(XML)的子集,并且WML实质上使用了与因特网相同的模型。WAP使用如用户数据报协议(UDP)和因特网协议(IP)等因特网标准。这些协议中的很多是基于如超文本传输协议(HTTP)和TLS等因特网标准,但是因为无线环境(例如,更低的带宽、更高的延迟和更少的连接稳定性/丢失)的独特约束而被优化。
例如超文本链接标示语言(HTML)、HTTP、TLS和传输控制协议(TCP)等的因特网标准在移动网络上通常效率更低,并需要发送大量的数据。标准HTML内容通常不能有效地和完整地显示在移动设备的小尺寸屏幕上。
例如WAP等移动协议为更进一步压缩的数据使用实质上为二进制的传输,并且由于长延迟和低带宽而被优化。例如,WAP HTTP接口用于从因特网上获取移动设备请求的WAP内容。WAP会话适合于应付间断的覆盖,并且能够在多种无线传输机制上进行操作。
客户-服务器结构
客户-服务器结构是众所周知的,它通常用于移动通信设备网络中,例如在前述的WAP移动设备结构。这种客户-服务器关系存在很多固有优点,例如,包括允许将对于访问分配给移动设备用户的给定服务而言必不可少的很多功能设置在集中位置(服务器),从而消除了将这些功能放置于相对“薄”(例如,较少的计算能力和较少的存储能力)的移动设备的需要。然而,传统的客户-服务器配置具有某些不足;即,在服务器功能完全远离设备所在的位置的情况下。例如,在某些结构中,MCD接口上的web浏览器直接地(或间接地)与远端服务器软件交互,因此会引入延迟。某些类型的连接的同步性必须经常被服从,并且当试图同时访问不同功能时,将导致某种程度的“瓶颈”。
在移动设备架构,例如WAP,中部署网络代理(例如,媒介的或“替代”功能)是众所周知的。在某些情况下,代理能够用作相当于远端客户进程(例如,微浏览器)和远端服务器进程之间的“缓冲器”,从而改进移动通信连接的总功能。然而,这些代理设备通常被放置在客户-服务器信道的网络侧,从而未能解决很多在内部客户软件(和硬件)环境内产生的问题。
基于前述的内容,需要改进的客户-服务器架构,其中的移动设备能够使用和保留传统的客户-服务器结构的优点,但该改进的客户-服务器架构还将优化移动设备的操作,例如,web浏览器、数据下载,等等。这种改进的装置和方法将理想地考虑每个MCD内的内部代理或缓冲器,从而消除了前述的“瓶颈”并因此改进了用户浏览和网络接口体验。该代理尤其允许在MCD与一个或多个外部设备之间实现异步通信(例如,经由MCD可利用的外部信道)以及同步运行。
用户接口限制
与现有移动设备相关联的一个突出问题涉及如何允许“商品(commodity)”web浏览器在移动设备上运行以无缝地访问下述资源:(i)上述设备、(ii)运营商或服务提供商和(iii)外部网络或代理,例如因特网、WAP网关或WAP代理等。对这些不同功能和服务的访问通常被分为几种用户接口技术。通常,设备操作系统(O/S)提供嵌入式用户接口(UI)以访问如电话特征、“家用屏幕(home screen)”、和菜单系统等核心功能。在一些设备上,O/S还提供一个或多个用于本地的和/或第三方的应用程序的单独的用户接口库。例如,移动通信设备可包括一套用于配置该设备的功能,以及包括(例如)用于组织联系表等、设置系统或网络参数选择、铃声、壁纸、音量等的功能。这些功能中的很多通常包括单独的接口(和执行该接口的相关软件)。由移动通信设备应用程序执行的其它功能包括:邮件、聊天和短信、音频和视频,它们中的每一个还可将它们特有的接口与应用程序相结合。
该浏览器还包含另一个用户接口,该用户接口用于访问因特网网络(web)站或其它网络位置。结果,在很多终端,三个或更多个用户接口技术被同时使用,并且终端用户需要学习使用多个导航范例,并且需要习惯于每个的不同设计。当这些接口很少使用时,这将是一个特殊问题,从而导致用户必须通过试错法、访问“帮助”功能、用户手册等方式来操作,以完成与这些接口相关联的期望的功能。
此外,因为选择升级为新设备的用户已经改变为不同的设备厂商,因此他们通常得到完全不同的用户接口技术。该问题通常延伸为与相同厂商不同的系列设备。
此外,从平台开发和软件开发角度来看,因为对应于移动通信设备上的每一个新功能的新接口必须被开发,多接口的使用还增加了开发的复杂性。
使用多个GUI或其它用户接口来控制移动通信设备的不同应用程序和功能还增加了该移动通信设备所需的总程序存储器。
尽管使用基于标识语言(ML)的浏览器作为移动设备上的主用户接口的思想是相对新的,但是几个移动浏览器供应商在本申请之前就开始作为潜在解决方案来提高他们的浏览器产品,以解决对移动设备内的统一标准的“外观和使用(look and feel)”的需要。然而,这些专有的解决方案未能完全地解决潜在的问题,有效地将该问题从移动设备(例如,智能手机或PDA)制造商转移到浏览器制造商。迄今,由浏览器制造商提供的、允许访问设备功能的解决方案主要包括:用附加API扩充浏览器以使该浏览器更易访问设备上的不同功能和应用程序或更易被设备上的不同功能和应用程序访问。因为每个制造商已经选择执行他们自己的专有API,并且因为这些API都还未被标准化,因此写入一个浏览器的服务将几乎肯定不会与另一个相互操作。从终端用户(和运营商/服务供应商)的角度来看,具有“通用的”结构将是非常有利的,其中已知服务或已知功能能够一次被授权、用于很多不同的设备上并且通过使用不同的浏览器被访问。
在移动通信设备中执行用户接口和应用程序接口的其它的不同方法已经存在于现有技术中。例如,2002年6月25日出版的第6,411,989号美国专利,即Anupam等人的题为“Apparatus and method forsharing information in simultaneously viewed documents on acommunication system(用于在通信系统中共享同时观看的信息的装置和方法)”,该专利公开了计算机用户可使用不同的网络(web)浏览器来访问万维网(WWW)上的服务器系统以创建或加入协同会话。一个或多个控制器连接服务器系统中的会话的用户或合作者。这是通过建立所谓的“共用的网络顶端(Web-top)”而实现的,即,工作空间,其中不同文件内应用程序能够被交互式地运行,并且能够协作式地由多个用户共享。具体地,这可通过使用包括循环轮询的代理来实现,该循环轮询周期地对共享的文件结构核查规定属性的改变,并且该循环轮询经由信道将所检测的改变传送给其它代理,即,至少一个其它合作者。为此,共用的Web-top的预期的用户访问这样的系统,即,其将移动代码传送给用户的计算机以在其上创建代理。为共用的Web-top的用户创建的代理通过系统中的至少一个控制器被连接,并且分别用作控制器与用户计算机上的各浏览器之间的接口。通过使用代理中的循环轮询,实现了这样的功能,即,当一个用户共享文件(例如将数据输入到文件中的一个或多个表格等)时,通过信道将在表格中的规定属性中检测到的改变传送到用户计算机和他们的代理,从而使得相同的数据出现在其它用户浏览器中。
用于移动通信设备的接口的另一个实施例在2002年12月31日授权的第6,501,956号美国专利,即Weeren等人的题为“Providing blendedinterface for wireless information services(为无线信息服务提供混合接口)”中公开,其中无线通讯设备与信息服务提供商之间的用户接口被公开。该接口考虑了用于执行无线通信设备的用户的信息服务的信息和呼叫服务的混合输出。该用户建立与数据网络服务器的初始连接以接收特殊服务。该数据网络服务器将一套无线协议指令发送给用户的移动设备。根据这些指令,该移动设备将把信息显示给能够被用于选择特殊服务的用户。当优选地将连续的显示提交给用户时,无线协议指令发起移动设备与具有语音识别能力的语音服务器之间的通信连接。根据通过无论哪种方法被选择的服务和用户的身份识别,该语音将运行特殊的与该用户进行语言沟通的语音应用程序以执行期望的服务,该服务允许该用户在不必通过使用移动设备上的键盘输入数据或信息的情况下控制该服务。如该用户可看到的,存在与所选择的服务的从初始接收到无线协议指令到最后接收到被请求的信息的持续连接。因此,给用户提供混合数据和用于访问该信息服务的语音接口。
在2002年4月16日授权的第6,374,305号美国专利,即Gupta等人的题为“Web applications interface system in a mobile-basedclient-server system(基于移动的客服-服务器系统中的网络应用接口系统)”公开了基于移动的客户-服务器系统接口,其中包括两个专用软件层-位于移动客户端的专用“代理服务器”层和位于服务器上的“web代理”层。位于移动客户端的传统的web浏览器应用程序被配置为指向代理层,该代理层获得传送到web浏览器和从web浏览器接收的HTTP信息请求消息。该HTTP请求消息通过代理层在所选择的通信传输格式内被填充,该通信传输格式用于在如无线网络等通信网络上进行上行传输。在服务器处,web代理层恢复最初的(即“原始的”)HTTP请求消息,这些消息然后被发送到合适的web服务器以用于进一步处理。从各自的web服务器发送出的响应的HTTP消息由web代理层获得,该代理层然后将响应的消息封装在所选择的通信传输格式中以用于传输给客户端。在客户端,代理层获取原始HTTP响应消息,然后,该原始HTTP响应消息被发送给web浏览器以用于处理。各自的代理服务器和web代理层优选地使用各自的内存缓冲并且具有智能的过滤能力,从而减少了多余的或其它不期望的消息传输。
在2001年12月20日授权的第20010054087号美国专利,即Flom等人的题为“Portable internet services(便携式互联网服务)”公开了内容制造和分配系统,该系统用于制造、分配和缓存便携式设备的无线或有线网络上的内容。该系统至少包括一个便携式设备,该便携式设备能够给用户提供基于用户的商品和个人偏好中的至少之一的便携式设备应用程序和内容,该便携式设备包括用于缓存便携式设备上的缓存内容包。内容制造系统处理来自于通用外部源和商品源的信息、数据和应用对象,并且创建结构化的、可供查找的内容包,该内容包涉及下述各项中的至少一个,即,社区、代理和便携式设备的类型。至少一个网络服务器根据商品和个人偏好至少之一将无线或有线网络上的内容包分配给便携式设备。作为用户给便携式设备应用程序提交请求的响应,找到该便携式设备缓存,并且当有关的内容包可利用于便携式设备缓存以实现该请求时,该便携式设备缓存被用于实现用户的请求。请求在便携式设备缓存无法获得的内容的用户请求被路由到至少一个有线或无线的因特网服务器,并且实现该请求的内容分组被发送到下游的便携式设备,完成用户请求并更新便携式设备缓存以使接下来的用户请求已经访问了更新的缓存。
考虑到由于在移动通信设备中使用多个接口产生的不足,减少并入移动通信设备的接口个数同时仍然支持所有的期望功能将是非常有益的。所述期望功能包括:移动设备功能、数据和短信服务、局域网资源、如邮件、目录等服务提供的运营商,以及传统因特网web站。根据“外观和使用”以及其它特性,该接口还将在一定程度上可选择地控制。
还将期望提供这样一种改进的装置和方法,其中服务或功能可一次被授权(开发)且用于很多不同的设备上,并通过使用很多不同“商品”浏览器被访问。
发明内容
通过本发明满足了前述的需要。该发明公开了提供用于移动通信设备中的多应用程序的通用接口的方法和装置。
在本发明的第一方面中,公开了具有“微服务器”的移动通信设备。在一个实施方式中,该移动通信设备具有至少一个无线接口,并且进一步包括:显示单元,其被配置以向用户显示信息;输入单元,其被配置以接收来自于所述用户的输入;微处理器,其被用于执行由多个模块组成的软件;存储单元,其与所述微处理器进行数据通信,并能够存储所述软件,其中所述软件模块适于执行所述移动通信设备的一个或多个功能,所述软件模块至少包括:应用模块;服务器模块,其被配置为响应于由所述应用模块提供的信息生成第一数据;以及浏览器模块,其用于经由所述显示单元至少显示所述第一数据。
在第二个实施方式中,该移动通信设备包括:处理器、与该处理器进行数据通信的存储设备、无线接口和运行于该处理器上的web服务器进程,该web服务器进程还用作应用服务器,该服务器进程适应于根据来自于一个或多个与该移动通信设备相关联的实体的请求,动态地产生数据。在一个变体中,web服务器进程进一步用作到至少一个异步信道的网关。在另一个变体中,该web服务器进程进一步用作浏览器与网络实体之间的代理。
在第三个实施方式中,该移动通信设备包括:处理器、与该处理器进行数据通信的存储设备、无线接口和运行于该处理器上的服务器进程,该服务器进程用作应用服务器,该服务器进程通过使用“永远在线”结构,能够动态地给设备功能增加至少一个新的接口,该“永远在线”结构能够基本自动接收移动设备上的服务的更新。
在第四个实施方式中,该移动设备包括:微处理器;与该微处理器进行数据通信的存储设备;被配置为接收来自于网络服务器的第一信息的无线接口;用于给用户显示信息的显示单元;运行于该处理器上的、适合于配置该移动通信设备的至少一个方面的结构应用程序,该结构应用程序通过使用至少一个应用程序接口(API)提供结构信息;用于响应于来自于所述配置应用程序的所述信息生成第二信息的微服务器;以及其被配置为在所述显示单元上显示所述第一信息和所述第二信息的微浏览器。
在本发明的第二个方面,公开了操作移动通信设备的方法。在一个实施方式中,移动设备包括:显示器、浏览器和服务器,并且该方法包括:通过至少使用该浏览器来控制该显示器;通过使用该服务器来给该浏览器提供第一组数据;和为该浏览器提供来自于与该移动通信设备进行数据通信的外部服务器的第二组数据。在一个变体中,该移动通信设备进一步包括邮件应用和数据存储器,并且该方法进一步包括:通过至少使用来自于浏览器的请求来请求访问该邮件应用;通过使用该服务器来将请求发送给该邮件应用;通过使用存储在数据存储中的信息产生文件,该文件的至少一部分可通过使用该浏览器被看见;使用服务器为浏览器传输文件;使用浏览器显示文件的至少一部份。
在本发明的第三个方面,公开了用于在移动通信网中被操作的移动通信设备中的软件结构。在一个实施方式中,该结构包括:至少一个第一功能模块,其可操作以运行于所述设备上;至少一个第二功能模块,其位于所述移动通信设备外部;以及用于所述多个功能模块的至少一个通用接口,其包括运行于所述移动通信设备上的服务器进程,并且适用于至少接收和处理来自于所述至少第一功能模块和所述至少第二功能模块的信息。所述架构还包括与所述服务器进程数据通信的浏览器进程,所述的进程处理包括下述各项中的至少一项:(i)格式化该信息并将该信息发送给该浏览器进程;和(ii)接收来自于该浏览器进程的输入,该浏览器进程响应于用户的输入而生成;和向至少一个第一应用发送该输入的至少一部份。
附图说明
图1是根据本发明的一个实施方式配置的移动通信设备的前视图;
图2是图1的示例性移动通信设备的简化结构图;
图3是根据本发明的一个实施方式配置的无线网络(包括图1和图2的移动通信设备)的结构图;
图4是根据本发明的第一个示例性实施方式的、示出了移动通信结构的结构和操作的结构图;
图4a是根据本发明的第二个示例性实施方式的、进一步示出了移动通信结构的结构和操作的结构图;
图4b是根据本发明的第三个示例性实施方式的、进一步示出了移动通信结构的结构和操作的结构图;
图4c是根据本发明的第四个示例性实施方式的、进一步示出了移动通信结构的结构和操作的结构图;
图5是根据本发明的一个实施方式的、示出了当与电子邮件(e-mail)应用程序连接时被执行的步骤的流程图;
图6a和6b是根据本发明的一个实施方式的、示出了移动通信设备的操作的流程图;
图7是根据本发明的另一个实施方式的、示出了移动通信设备的操作的流程图,其中该移动设备的微服务器用作代理服务器;以及
图8是根据本发明的一个实施方式的移动设备的一个示例性执行的结构图,其包括微服务器性能和微浏览器性能。
具体实施方式
现在参照附图,其中在所有附图中相同的标号表示相同的部件。
在本文中所使用的术语“网络”和“承载网”通常是指任何类型的无线电通讯或数据网络,该数据网络包括但不局限于:无线区域(RAN)网、混合光纤同轴网、卫星网、电信网和数据网(包括:MAN、WAN、LAN、WLAN、PAN、因特网和企业内部互联网)。
这些网络或网络中的一部分可利用任何一个或多个不同拓扑(例如,环状、总线、星状、环形,等等)、传输媒介(例如,有线/RF电缆、RF无线、毫米波、光学,等等)和/或通信协议或网络协议(例如,SONET、DOCSIS、IEEE Std.802.3、ATM、X.25、Frame Relay(帧中继)、3GPP、3GPP2、WAP、SIP、UDP、FTP、RTP/RTCP、TCP/IP、H.323等等)。
本文所使用的术语“无线区域网络”或“RAN”通常是指任何无线网络,其包括但不局限于那些符合下述标准的无线网络,即:3GPP、3GPP2、GSM、IS-95、IS-54/136、IEEE Std.802.11、蓝牙、WiMAX、MA、或PAN(例如,IEEE标准802.15)。这些无线网络可完全使用任何空中接口,其包括但不局限于:DSSS/CDMA、TDMA、FHSS、OFDM、FDMA或它们的任何组合或变化,其中包括通过使用将被传输的数据而线性或非线性变换的RF信号。
本文所使用的术语“因特网”可交替地被使用以指示网络间或网络互连的功能,其包括但不局限于因特网。
本文所使用的术语“客户设备”和“终端用户设备”包括但不局限于无论是桌上型的、膝上型的或者其它类型的个人计算机(PC)和小型计算机,和如手提式电脑、PDA和智能电话或连接的或多功能的设备(例如,Motorola ROKR音乐和电话设备)等移动设备。
本文所使用的术语“移动客户设备”和“MCD”包括但不局限于如或RIM“Blackberry”系列的手持式电脑设备等个人数字助理(PDA)、如Motorola Accompli或MPx220设备等个人发报机、装配了J2ME的设备、蜂窝电话或如Motorola A845等“智能电话”、如Motorola Ojo等“SIP”电话、无论是桌上型的、膝上型的或者其它类型的个人计算机(PC)和小型计算机、或者完全能够通过网络接收视频、音频或数据的任何其它设备。
本文所使用的术语“网络代理”是指任何(无论是基于软件、固件和/或硬件的)网络实体,其适合执行一个或多个具体的目的。例如,网络代理可包括在属于网络操作员的服务器中运行的计算机程序,该计算机程序与一个或多个位于客户设备或其它设备上的进程进行通信。
本文所使用的术语“应用程序”通常是指可执行的软件单元,该可执行的软件单元完成某一功能或主题。这些应用程序的主题在覆盖任何数量的学科和功能(例如,通信、即时消息、内容管理、电子商务事务处理、经济业务事物处理、家庭娱乐、计算器,等等)很广泛地变化,并且一种应用程序可具有不止一个主题。该可执行的软件单元通常运行于预定环境中;例如,该单元可包括运行于JavaTM环境中的可下载的Java XletTM。
文所使用的术语“计算机程序”或“软件”是指包括执行功能的任何序列或者人或机器可辨识的步骤。事实上,这些程序可用于任何编程语言或环境中,例如,其包括:C/C++、Fortran、COBOL、PASCAL、汇编语言、标记语言(例如,HTML、SGML、XML、VoXML),等等,以及面向对象的环境,例如,通用对象请求代理体系结构(CORBA)、JavaTM(包括:J2ME、Java Beans,等等),等等。
本文所使用的术语“服务器”是指任何电脑化的元件、系统或实体,无论适合于给计算机网络上的一个或多个其它设备或实体提供数据、文件、应用程序、内容或其它服务的格式如何。例如,服务器可包括计算机化的设备,其具有可在其上运行的软件进程。服务器还可包括软件进程、功能或其实体本身。
此外,术语“选择”和“输入”通常是指但不限制于通过使用键盘或其它在本领域中众所周知的输入设备或功能(例如语音识别算法)的用户输入。例如,输入或选择还可指从其它实体或设备接收到的电子的格式的信息。
本文所使用的术语“语音识别”是指任何方法论或技术,通过这些方法论或技术,人的语音或其它语音能够被译为或转换为电子格式或数据格式或与它们相关的信号。将认识到,许多不同格式的频谱分析,例如而非限制于MFCC(Mel频率倒谱系数)或耳蜗(cochlea)建模,可被使用。尽管其它进程,例如而非限制于DTW(动态时间规整)或NN(神经网络)可被使用,但是如果使用因素/词汇识别,那么他们可能是基于HMM(隐马尔可夫模型)。Myriad语音识别系统和算法是可利用的,所有被考虑的都属于本文公开的发明的范围。
本文所使用的术语“微处理器”和“数字处理器”通常是意味着包含所有类型的数字处理设备,其包括但不局限于数字信号处理器(DSP)、精简指令集计算机(RISC)、通用(CISC)处理器、微处理器、门阵列(例如:FPGA)、PLD、可重构的计算机结构(RCF)、阵列处理器和特定用途集成电路(ASIC)。这些数字处理器能够被包含在单个单式的IC晶片上或者分布于多个元件上。
本文所使用的术语“集成电路(IC)”是指任何类型的设备,其具有任何级别的集成(其包括但不局限于ULSI、VLSI和LSI),并且无论过程或基本原料(其包括但不局限于Si、SiGe、CMOS和GAs)如何。例如,IC可包括:存储设备(例如,DRAM、SRAM、DDRAM、EEPROM/Flash、ROM)、数字处理器、SoC设备、FPGA、ASIC、ADC、DAC、无线电收发机、存储控制器和其他设备,以及它们的任意组合。
本文所使用的术语“存储器”包括任何类型的集成电路或其它适用于存储数字数据的存储设备,其包括但非限制于ROM.PROM、EEPROM、DRAM、SDRAM、DDR/2SDRAM、EDO/FPMS、RLDRAM、SRAM、“闪”存储器(例如,NAND/NOR),和PSRAM。
本文所使用的术语“显示器”是指适用于显示信息的任何类型的设备,其包括但非限制于CRT、LCD、TFT、等离子体显示器、LED、炽光设备和荧光设备。显示设备还可包括较少动态性的设备,例如,打印机、电子墨水设备等等。
本文所使用的术语“数据库”通常是指一个或多个实有数据或虚拟数据存储位置,其可能或不可能物理上相互之间或者与其它系统元件共址。
本文所使用的术语“浏览器”是指任何计算机程序、应用程序或提供网络访问能力的模块,其包括但非局限于适用于通过因特网访问一个或多个web站点或URL的因特网浏览器,以及任何包含那些适用于视频通信、音频通信或触觉通信的“用户代理”。
综述
一方面,本发明包括提供用于移动通信设备中的多个应用程序和/或功能的通用接口的装置和方法。在一个示例性实施方式中,通过将微服务器或其它可比较的软件进程包含在移动通信设备内而提供通用接口,该通用接口属于移动通信设备并且尤其能够接收和处理来自于其它移动通信设备的内部或外部的功能的信息。例如,该处理包括:格式化该信息并通过HTTP或其它连接将信息发送给也位于移动通信设备(乃至相关联的但物理上分离的设备)上的微浏览器。该微服务器的处理还可包括从微浏览器接收作为用户输入而产生的输入,格式化该信息并将该信息发送给相应的功能部件或应用程序。在一个实施方式中所公开的结构包括运行于移动设备上的web服务器,其还用作动态地根据请求产生数据的应用程序服务器。
在该示例性结构中,“微服务器”结构是完全基于标准的。微服务器的使用还有利地允许如因特网等网络中固有的客户-服务器结构得到保护。微服务器还能够知道可利用于该设备的其它网络技术,并且能够通过用作网关以可选择信道(例如,异步数据通道)、在本地缓存适当的数据,和异步地接收稍后使用数据,从而更有效地使用该网络。它还能够用作浏览器(和其它如WAP客户等实体)与网络之间的代理服务器(例如,其包括:远端服务器、WAP网关或代理服务器等等),从而使web浏览更有效。
本文描述的微服务器方法还通过给设备功能增加新的接口而提供了很多适应性;在一个实施方式中,这是经由“永远在线(always-on)”结构完成的,该结构能够自动地接收移动设备上的服务的更新。此外,在很多情况下,从该浏览器延伸出来的功能能够通过延伸具有附加功能的微服务器而被简单地提供,同时保持相同的“商品”浏览器并且避免其在每个不同的移动设备上的用户化的执行。
此外,本发明的微服务器能够通过允许浏览器自身提出和管理的连接成本和计费信息,对服务器接口增值,从而使移动设备更容易被用户掌握,尤其从成本效率观点来看。它还使服务提供商或运营商的网络使用最优化。
被公开的基于如移动设备性能的微服务器结构也是方便升级的。该微服务器能够从一个设备上的简单服务器功能(例如,HTTP服务器)延伸到另一个设备上的所有应用程序服务器或相似的服务器。这些功能还能够通过同样设备上的两个或多个这样的微服务器结合。
实施方式的详细描述
现在参照图1-图8详细描述本发明的装置和方法的示例性实施方式。虽然这些示例性实施方式是在通过IP网关被连接到具有数字网络能力的蜂窝服务提供商(CSP)或多个移动通信设备(MCD)的移动通信系统结构的环境中被描述的,但是本发明的基本原理和优点可被延伸至其它类型的网络和结构,无论是有线的或无线的、宽带的、窄带的,等等,因此,下面的描述实际上仅仅是示例性的。例如,这些技术可令人信服地部署在公共开关电话网络(PSTN)、WiMAX网络或个人区域网络(PAN)的环境中。
此外,虽然本发明主要在众所周知的传输控制协议(TCP)和因特网协议、尤其在RFC 791和2460的环境中被描述,但是将了解到,本发明可利用其它类型的协议(以及事实上地利用承载网以包括其它因特网和企业内部互联网)来执行所描述的功能。
还将认识到,虽然本发明通常在客户(即,蜂窝电话用户)端用户域的网络供应服务的环境中被描述,但是本发明可容易地适合于其它类型的环境,例如,其包括:商业的/企业的应用程序,和政府的/军用的应用程序。例如,该网络可能包括在不同共同校园之间通信的企业网。
贯穿该应用程序,不同的功能被归于在不同结构中被连接的不同系统。应该理解,这些被示出的结构仅仅是本发明的示例性实施方式,并且执行与在其它结构中相同的或相似的功能或使用其它方法与本发明的其它实施方式是一致的。
此外,还应该认识到,构成发明的各种系统通常是通过使用运行于基于半导体的微处理器或其它计算机硬件系统的软件而被执行的,该发明的构造和操作在本领域中是众所周知的。同样地,本文描述的不同的逻辑进程和算法也通常是通过运行于微处理器上的软件来执行的,尽管其它包含固件、硬件和甚至人为实施的步骤的执行也与本发明不相违背。
图1是根据本发明的一个实施方式配置的移动通信设备的简化结构图。移动通信设备(MCD)100包括用于输入例如电话号码和联系人名等信息的键盘104,和用于阅览信息的显示器102。此外,移动通信设备100可包括在本领域中所熟知的类型的转轮(scroll wheel)106,其用于在菜单以及其它输入和选择活动中移动。本领域中其它公知的输入设备例如包括全键盘或鼠标的替代物,例如推轮(jog wheel)和触摸屏等,和/或例如语音识别(例如,基于CELP的语音压缩)等非触摸的输入也与本发明的实施方式的使用是一致的。
在典型的操作过程中,MCD的用户可经由键盘104将号码、姓名和其它联系或目录信息输入MCD 100。该联系信息还可经由其它与MCD的连接(未示出)而被下载,其包括有线连接和无线连接(例如,蓝牙/SyncML接口和协议),或者当呼叫开始并且被接收到的时候,收集这些联系信息,例如,通过适合于这种功能的本地的软件应用程序。
此外,用户可通过使用键盘104和/或转轮106与其它应用程序互动,例如,web浏览器、聊天应用程序、邮件和用于配置该移动通信设备的配置功能。由该输入产生的信息还可选择地被显示在MCD显示器102上。
一个实施方式中的MCD是蜂窝电话或“智能电话”,其具有无线空中接口或与之相连的无线区域网(RAN),但是任何其它类型的移动或游牧通信设备可在本发明的某些实施方式中被使用。例如,具有如Wi-Fi或3G卡等无线接口连接的膝上型电脑可被用作MCD 100。
MCD 100优选地经由被调制的无线电频率电磁信号(RF信号)与基站或其它接入点交互,其中所述的RF信号根据一个或多个通信标准被调制。可使用的标准例如包括:GSM、CDMA-2000、W-CDMA、EDGE、IEEE 802.16、802.15或802.11。其它标准的无线接口或非标准/专有的无线接口的使用也与本发明是一致的。多个这样的接口还可被使用在如MCD具有主(蜂窝)空中接口以及WiFi和/或蓝牙接口的地方。
通常,该MCD 100将包括一个或多个微处理器,和用于存储由微处理器执行的程序的存储器。其它信号处理能力可与“主机”或其它例如公知的ARM7族RISC设备等处理器相结合,在例如DSP用于处理视频、音频或其它数据的场合中使用。本领域中所熟知软件控制MCD的操作,包括处理输入、产生显示数据和菜单结构、和产生将经由无线连接发送的消息。
图2是根据本发明的一个实施方式配置的移动通信单元的简化结构图。微处理器200和存储单元202耦合到数据总线208。尽管这些存储功能还可分布在各种元件(例如在微处理器或DSP除了离散DRAM之外还具有片上SRAM、或位于微处理器200内的板上缓存存储器的场合)上,但是存储单元202包括:RAM、ROM和任何其它被包含在移动通信单元中的数据存储设备。这些存储单元202尤其存储用于控制该移动通信设备的操作的软件指令。
数据总线208还耦合有其它功能单元,例如键盘接口、显示器接口和无线接口210。这些接口提供了与该移动通信单元内的各自系统的输入-输出功能。例如,经由无线接口210将数据传送到外部实体或从外部实体接收数据。从键盘接口204接收数据,并且经由显示器接口206传送要显示的信息。
应该理解,MCD 100的其它结构与本发明的各种其它实施方式是一致的,其包括在包含微处理器的移动通信设备的不同元件之间使用多个数据总线和直接连接(例如,DMA,等等)。该设备结构还可为某些功能而优化,例如,功率保存、游戏/视频应用程序等等。例如,本文描述的不同功能还可用在本领域中所熟知的“休眠模式”类型来配置,以在未使用这些功能的时候保存珍贵的移动设备功率。
此外,图1的不同元件可被组合为单个功能元件或芯片级集合(例如,SoC设备),或者被分解为多个功能单元,这些功能单元一起提供相同的或相似的功能。还可使用提供相似的功能的多实体,例如,集中执行不同任务的两个微处理器,一个微处理器例如用于控制该无线接口,而另一个微处理器例如用于控制该应用程序功能。
图3是根据本发明的一个实施方式配置的无线网络的原理框图。这些移动通信设备(在该图中标注为移动单元)100经由无线RF信号与一个或多个接入点302交互。然后,无线接入点302被连接到移动交换中心(MSC)304。MSC 304通常与例如基站控制器(BSC)和转码结构(TCF)等其它设备位于同一位置,或者这些基站控制器等可位于该系统中的其它位置。
例如,图3的接入点302可包括与如LAN、WAN或因特网等网络或者甚至其它MCD直接相连的蜂窝基站或无线接入结点(例如,WiFi接入点(AP)。在一些实施方式中,这些MCD 100可根据该MCD100的位置和状态与一个或多个接入点302通信。例如,在切换状态下,移动单元100可同时与多个接入点302通信。可选择地,该“基站”302可包括能够在典型的蓝牙执行架构中容纳高达七个“从”设备的蓝牙“主机”。
图4示出了根据本发明的一个实施方式的、具有微服务器的移动通信结构的结构和操作的结构图。如本文接下来将描述的,该微服务器结构提供了很多能力和优点,其包括:(i)提供对设备功能的访问,(ii)为了效率而缓存网络数据,(iii)向其它网络的代理请求,(iv)通过异步通道接收数据,(v)扩展该浏览器的性能以操作新的协议,(vi)将一个协议转换为另一个协议,(vii)动态地为特殊设备制定内容,(viii)管理资源/费用数据,(ix)计费接口能够连同浏览会话一起呈现,(x)允许运营商对终端上的浏览器进行更大的控制,(xi)在移动设备上就像的运营商出现点(point-of-presence)那样操作,(xii)更新空中设备的性能,和(xiii)允许商品浏览器用作移动设备的通用接口。
示出的移动通信设备100包括浏览器402(例如,如“微浏览器”等适用于薄的移动客户设备的浏览器),和“微”HTTP或相似的服务器404(微服务器)。尽管其它实行是容易的,但是该浏览器402和服务器404是典型的运行于与图2所示的微处理器相似的微处理器上的软件。
本文所使用的术语“微”是完全相对的术语,其意味着这样的事实,即,该示例性微处理器适合于允许在更薄的或能力较弱的设备(与PC、BSC或固定的服务器叶片)上,并且因此需要MCD内的更少的处理和存储能力。因此,应该将理解到,根据(主要地)在其上运行进程的平台,服务器404和浏览器402完全可以具有任意的配置结构和期望的功能等级。
微服务器404还经由一个或多个MCD应用程序接口(API)408并经由数据连接411,从存储在存储设备406或其它存储器的数据处接收输入数据。浏览器402经由HTTP或其它连接411和413与其他模块交换信息。例如,该信息被显示在图1的显示器102上。该信息还经由MCD 400的不同输入设备被接收,例如前述的键盘和转轮。
应该认识到,虽然前述的浏览器402、服务器404和/或存储设备406是作为图4的MCD 100的一部分被显示的,但是他们还可位于另一个平台上,并且仅仅保持与该结构中的相关实体的逻辑通信。例如,数据存储设备406可包括放置在不同平台上的数据库(例如,与无线手机相关联的本地基站)。同样地,该浏览器和服务器进程可被放置在不同的物理平台上,但保持与另一个相关实体的数字和逻辑通信。该微服务器404还能作为另一个客户应用程序或进程的一部分或与之形成一个整体,例如,在该微服务器包括MCD 100的应用程序(或O/S)内的模块的场合。
第一服务器414可为位于因特网412或其它网络上的任何HTTP或相似的服务器(其包括但不局限于,HTTP 1.0、HTTP 1.1、SSL上的HTTP、TLS上的HTTP、或WAP服务器),并且经由电路或包转换数据连接409(例如,调制解调器、数据包网关等等)与运行于该移动通信设备100的微服务器404进行通信。第二服务器416在经由第二数据连接411而访问的操作员的网络410内运行。将了解到,虽然示出的是基于TCP/IP协议上的HTTP的连接409、411,但是其它协议以及其它传输形式可被使用。这些数据连接实质上还能够是不同类型的,例如,其中基于TCP/IP协议上的HTTP被用于第一连接409,和非TCP/IP方法(例如,SMS,等等)被用于第二连接411。
此外,该系统可包括服务器的任何组合,其包括这种情况,即,第一服务器414或第二服务器416中只有一种类型被使用、以及多个第一服务器414而非第二服务器416(反之亦然)、或多个同种类型的服务器。此外,在本文接下来更详细地描述中,第二服务器416能够由网络操作员或第三方进行操作或管理,并且可在任何网络上而非仅仅是操作员的专有网上进行数据通信。第二数据连接411还能包含更加通用的数据源。根据本本文公开内容,本领域技术人员还可以组合无数的其他组合和置换。
在操作MCD 100期间,浏览器402从一个或多个HTTP连接413和419接收处理/显示的数据。从HTTP连接409到服务器414的HTTP数据将通常从web站或其它正在被MCD用户浏览的URL获得,并且可包括统计数据或动态产生的数据(例如,基于如对搜索引擎的询问等一些输入数据或串产生的数据)。来自于微服务器404的HTTP数据可能来自于在MCD 100上运行的应用程序,并且根据MCD API 408被配置。例如,这些应用程序可包括:配置功能、邮件应用程序,和与音乐或视频相关的应用程序。还需要注意,共同拥有的且共同未决的题为“METHODS AND APPARATUS FOR ORGANIZING ANDPRESENTING CONTACT INFORMATION IN A MOBILECOMMUNICATION SYSTEM(在移动通信系统中组织和呈现联系信息的方法和装置)”的第11/317,473号美国专利申请中提出的方法和装置可与本发明结合使用,该美国专利申请通过引用并入本文。特殊地,本文描述的提高的“联系”管理功能能够被用作运行于MCD上的、可由微服务器404访问的应用程序或服务的基础。与该功能相关联的数据还能位于该MCD的数据库406内,并且因此经由该微服务器404是可访问的,或作为“静态”信息。
微服务器404还可从其它如操作员网络服务器416等服务器接收信息,该操作员网络服务器416通过与相关联的数据连接409提供数据。此外,该微服务器404可从数据存储器406获取数据或向其写入数据。
微服务器404接收来自于不同的源的信息,并且当在将它投递到浏览器402以用于浏览之前,以XML、HTML、SGML或其它合适的格式或所需的协议来放置它。同样地,微服务器404可接收来自于浏览器402的数据,然后该数据通过使用如MCD上的本地应用程序的API和/或数据连接411,被处理并发送给合适的系统。以这种方式,微服务器用作该浏览器、驻留MCD应用程序和第二服务器416的代理。
通过提供包含移动通信设备自身内部的API接口的微服务器结构,本发明所示出的实施方式进一步考虑为该用户提供更多的通用接口。特殊地,该微服务器404允许该MCD上的其它应用程序经由也包含在该移动通信设备内的微浏览器402给该用户传送数据。因此,该移动通信设备上的其它应用程序只需给该微服务器提供必须被显示的信息,并且格式化、显示和输入接收功能可由该微服务器和该微浏览器操作。第23页,这可以通过使用由“应用程序服务器”通常使用的各种方法中的任何一种来实现,例如,模板、服务器端的内含物、样式表、PHP、JSP、AJAX或其它为本领域技术人员所熟知的机械装置的使用。更概括地说,前述可通过使用从内容中抽象的表述/显示任意方法来实现。在某些实施方式中,在这些应用程序能够以这种方式被使用之前,他们可能需要被配置为与该微服务器404相互作用。然而,无论被使用的方法如何,应该理解,由本发明的方法所提供的显著优点是服务器/微浏览器的结合有效地控制了实际的显示、格式化和用户接口功能,以使该应用程序本身不需要提供其自身的UI“代码”(而是,只有API与该微服务器交换内容数据)。
此外,通过浏览使用单个微浏览器接口从外部服务器以及内部微服务器接收到的信息,用户在使用该MCD时具有更一致(uniform)的体验。该方法有效地减少了用户必须学习和记住的接口和菜单结构等,并且大大地简化了移动通信设备的使用,特别是当很多功能未被经常地使用的时候。众所周知,人类的记忆力随着时间下降的很严重,并且因此,如果经由多个不同接口的复杂访问未经常使用,那么它们将很容易被忘记。这导致重要用户对MCD不满,并且甚至是对运营商的移动服务计划(即,通过发起或发行很难操作的用户设备)不满。
此外,所示出的实施方式的微浏览器402对于多个功能可再利用,这减少了必须嵌入到该移动通信设备的程序的数量,并通过消除对很多不同套UI代码的需要从而减小了这些程序中的每一个的大小和复杂性。
虽然该现象是无形的并难以预测,但是它在计算机系统中是很清晰的现象,即,增加运行于已知系统上的应用程序和其它程序的数量将逐渐产生增加的不相容个数、通常导致设备“碰撞”、锁上、或其它类型的不期望的行为。该现象主要是由这样的事实产生的,即,即使当标准化被使用,但是不同软件供应商不能相对于其它可能运行于相同平台的应用程序或程序而测试它们的应用程序。一些应用程序完全不能与相同平台上的其它应用程序一起很好的工作。因此,本发明方便地消除了对很多这种其它应用程序的需要,从而减小了系统的复杂性(从软件角度来看)并增加了鲁棒性和可靠性。
此外,如所示出的实施方式中的通用接口的使用将减少对创建用于该移动通信设备100的新的应用程序的必要的编程。特殊地,在应用程序被添加到该移动通信设备之前,程序员将不必开发用于该应用程序的复杂的接口。程序员只需提供程序中的“钩子(hook)”以使它操作该移动通信设备应用程序接口(API)、自动地控制“标准化”接口功能的微服务器404和微浏览器402。这节省了开发资源,并且从表面上节省了必须被执行的指令的数量,从而贡献了操作效率和甚至可能减小的、由于移动设备的有限电池电源而成为移动设备的主要问题的功率消耗。
和大多数HTTP或其它这种服务器一样,示例性的微服务器404可响应用户的请求提供静态的或动态的生成数据。在一个实施方式中,该用户通过使用MCD 400用户接口(U/I)直接与浏览器402相互作用。该浏览器402通过HTTP连接409与因特网412上的服务器414或其他外部网络依次交换数据,因而修改了MCD显示。通过处理输入数据并可能地查询数据库或相反地聚集数据,该服务器414可提供静态数据作为来自于浏览器的请求的响应,或者可选择地,服务器414可响应于每个浏览器的请求动态地生成数据。例如,用户可请求只需要从服务器414返回静态数据的URL。或者,该用户可给该浏览器输入搜索串或其它输入数据,此时,该信息被发送给该服务器以发起数据库查询(例如,“Google”查询等等)。
在微服务器结构中,同一浏览器402还被用于通过使用HTTP连接413与微服务器404交换数据,如图4所示。与因特网服务器414相似,微服务器404响应于由该用户/浏览器提出的请求,而提供静态或动态的生成数据。静态数据可直接来自于该设备上的数据库406(例如,通常由MCD使用的缓冲数据),而动态生成的数据能够使用数据连接409访问该网络上的其它服务器416,经由终端API 408访问设备功能,以及访问数据库406以存储或得到数据。
应该理解,因为数据能够经由服务器404被快速地访问并传送到浏览器402,因此数据库406中通常被使用的数据的缓存考虑了MCD用户的改进的浏览经验。
数据还能通过数据连接409异步地被微服务器404接收、存储在数据库406中,并然后通过HTTP连接413传送到浏览器。按照这种方式,微服务器404能够用作浏览器与经由其它协议访问的数据之间的缓存网关。这在很多情况下是有用的,例如,当该浏览器被其它任务占用的时候,或者当需要转换两个环境(例如,远端服务器和浏览器)之间的协议的时候。微服务器404还能用作代理,从数据存储器406中的高速缓存获得文件、或者经由数据连接409接收这些文件并可选择地将它们添加到数据存储器406中的高速缓存器。
本发明的不同实施方式以不同的形式实现微服务器404,这些方式覆盖从例如非常简单的(HTTP)服务器进程到完备的应用程序服务器(例如,web应用服务器)。web应用服务器的示例性商业实施例包括IBM WebSphere、BEA WebLogic、ATG Dynamo应用程序服务器和Jboss,当然还可以使用其它类型和结构或服务器并具有相同的作用。
该系统的一个实施方式包括具有HTTP服务器和基本应用程序服务器的微服务器,其包括适于承载的插件模块和模板系统,当然还可以包括其他的功能部件,作为对上述部件的补充或取代。在这点上,本发明预期该微服务器结构实质上也是模块化的,以使普通结构(例如由MCD制造商或该用户自己定制)能够容易地被执行,而无需重大的软件或硬件修改。
除了基本XHTML文件之外,优选地,微服务器404能够返回由HTTP或其它作为该系统的基础的协议所支持的任何媒体类型,其包括但不局限于音频流或视频流(例如,MPEG-2、H.264、AVC、实际网络或其它编码)、CSS型薄片、ECMA脚本程序和原始XML数据。
如远程事件和DOM下载和保存等先进的客户-服务器web技术能够被用于允许浏览器内的更多流动的和动态的用户接口,而仍然不妨碍客户-服务器抽象层。有利地,运行于微服务器404环境内的应用程序已经访问由终端API给出的任何功能以及网络上的任何资源。
此外,还应该理解,因为示出的微服务器的实施方式不需要它自身的用户接口,因此它能够以较不依赖平台的形式(和具有内置UI的服务器相比)被写入。然而,本发明还构思了能够实现用户界面的变体,它实质上是依赖平台的。因此,由于该结构能够被配置为完全不可知的平台,或者可选择地基于设计者和软件开发员的需要具有依赖平台的变化水平,该结构是灵活的。
基于微服务器的本发明的结构还考虑了根据数据缓存提高的效率。例如,如果用户通过使用浏览器402访问因特网上的邮件帐户,那么该浏览器本身(例如,在现有技术的结构中)将不必知道缓存位于MCD本地的附件并在之后使用将是更有效的。然而,通过使用该微服务器404,对可选择的附件等(例如,当邮件到达时的预缓存附件)的缓存进行管理,从而增加了效率和用户经验。由于扩展内容信息的访问(例如,该扩展内容信息可能由对设备API的访问或由对来自于操作员数据源处的网络信息的访问提供的),该示例性实施方式的微服务器比浏览器能够更好地执行这些功能。
此外,本发明的微服务器结构考虑了将从浏览器402处获得的扩展功能。在很多情况下,该扩展功能能够简单地通过给微服务器404扩展附加功能而被提供,同时保持相同的“商品”浏览器。这种在微服务器404中而非在浏览器402中被更新的技术的一个实施例是目前在W3C中进行的动态性能框架(DPF)。使用用户设备(例如,MCD)中的微服务器404的运营商或服务供应商能够更新该微服务器以支持DPF(例如,经由无线网上的下载),并提供对动态地改变现有商品浏览器(MCD与MCD也可能是不同的)中的任意一个的设备性能的访问,而不是等待所有浏览器支持该框架。
图4的示例性结构还允许多个微服务器或对等的(comparable)进程出现在单个移动设备上。例如,多个服务器(例如,本文下面讨论的图4c)能够被使用以划分已扩展电话、数据或如服务供应商和设备制造商等不同参与方之间的其它功能。例如,设备制造商可将微服务器404安装在移动设备100上以提供基于浏览器的电话/WoIP服务、邮件服务、通讯录服务、电话设置服务等等。在相同的设备上,服务供应商可安装独立的微服务器404以提供对如新闻、天气或体育比分等操作员提供的数据服务的访问,这些服务通过服务供应商网络被异步地发送到微服务器。给定该平台独立于上述结构,那么多服务器是非常普遍的并且还能被专门(ad hoc)安装;例如,用户能够通过数据网(例如,从web服务器)下载一个或多个微服务器到他们的设备上,并将服务器直接安装到现有的MCD软件环境。换一种方式表述,该MCD 100的软件环境有利地不必被重新装配以接收多个并行运行的、并与相同的浏览器402通信的服务器进程。
从软件的角度来看,图4的示例性的微服务器结构还获得了web标准的优点,例如,将设计从内容分离,这将使创作新的接口更加容易。使用web技术(例如,基于标记的内容创作语言和用于决定“外观和使用”样式表)允许软件创作者创建一个新的标记模型并使用样式表来接着管理外观和使用。
上述微服务器方法允许在未修改的情况下使用基于标准的浏览器,从而访问该设备上的电话或其它功能,以及访问通过很多不同数据协议异步地到达该设备的数据。主要的优点在于,任何基于标准的浏览器能够与根发明的系统一起使用,而无需增加专门的性能扩展来支持对主平台(例如,MCD 100)的各种功能的访问。
图4a-4c示出了本发明的结构的各种可选实施方式。
在图4a中示出了“代理”结构,其中,微服务器404用作微浏览器402与外部进程(例如,服务器414和服务器416)之间的代理。如图4a的示例性代理服务器结构的操作原理的详细描述将参照图7在下文中描述。
图4b是同时具有代理功能和非代理(例如,直接的浏览器-到-web服务器)功能的混合结构。
图4c示出了这样的结构,其中MCD 100包括两个或更多的、还可用作如图4a的实施方式中的代理的微服务器。与LAN或PAN独立的接口还与微服务器404通信。
应该理解,图4-图4c的实施方式仅仅是示例性的;每个实施方式的属性和特征能够与其它的相结合,或者本领域技术人员所认知的其它结构也可用于本发明的结构。
图5是示出了当根据本发明的MCD软件环境的一个示例性实施方式核查电子邮件时执行的步骤的流程图。该处理可在如本文的图2和图4中所示的那些系统上、或在其它用途和结构在本领域是公知的结构上执行。处理500还可适合于其它类型的应用程序。
处理500从步骤502开始,其中微浏览器402使用HTTP连接413或其它接口来联系微服务器404以请求邮件应用程序操作。在步骤504中,该微服务器将该请求传递给邮件应用程序,而在步骤506中,该邮件应用程序使用来自于数据存储器中的数据(或通过MCD API接收的数据)以产生本地浏览器可理解的形式的文件或其它数据结构。
在步骤508,微服务器404将文件/结构经由HTTP连接413发给微浏览器。然后,在步骤510处,浏览器处理和显示该文件。
在步骤512处,该微浏览器接收来自于外部服务器的HTTP数据。在步骤513处,来自于外部服务器的HTTP信息通过微浏览器被显示。当微浏览器在需要时从微服务器或外部服务器或网络代理获取附加资源时,这些步骤或它们中的任意部分可被重复。
在本发明的一个实施方式中,包含在由微服务器返回给微浏览器的文件中的脚本信息(例如,形式为XML元数据、XHTML标记、ECMAScript、JavaScript脚本等等)可指示:MCD 100的微浏览器应该发起到微服务器404的单独“事件”连接(如下面的图6a和图6b所讨论的)。然后,该微浏览器注册以接收该微服务器内包含的信息的更新通知。该通知能够为驱动事件(即,根据已知事件的发生)、周期事件,等等。当事件发生时,该微服务器负责通过事件连接将关于该信息的更新发送到浏览器,尽管其它方案(例如,“拉动”或请求系统,其中微浏览器周期地请求或轮询该微服务器)可具有相同的效果。
根据前述的基于事件的方法而被传送的数据的实施例是关于新的消息(其可能与特殊的邮件客户端或环境相关联)已经到达用户的通知。该信息经由MCD API被传达至邮件客户端,该邮件客户端则以事件的形式对该信息进行处理和编码,并且通过前面建立的事件连接将该信息传送到微浏览器。应该理解,可以交换任何等级的信息事件,从非常基本的“通知”消息(例如,用于指示新数据存在的单个位)到完备的内容变化。本文描述的示例性的“远程事件”框架并未将数据交换限制于特殊类型或格式,而仅仅提供了用于打开异步交换数据的事件通道的方法。
其它数据链路还可由移动通信设备100来形成。例如,微服务器404可通过数据连接411从网络上的服务器(例如,web服务器)接收数据。该数据可由微服务器周期地请求,或可由服务器或其代理异步地发送到MCD 100,并且通过例如经由MCD API等其它方法可到达微服务器404。示出的实施方式的微浏览器/微服务器结构还可与其它类型的数据链路相一致,例如,该数据链路包括:RAN或如WiFi LAN、蓝牙PAN等无线局域网等等。这些无线局域网可能被动态地建立或拆卸(例如,蓝牙网络中的主/从关系被建立、终止,并且然后新的关系被建立,或在WiFi网络的条件下将STA添加到AP的情形)。
图6a和图6b是根据本发明的一个示例性实施方式的、移动通信设备的操作的流程图。应该理解,虽然图6a和图6b(以及下面将描述的图7)中示出的方法论在图4的示例性结构的情况下被描述,但是它们可等同地应用于其他类型的结构,并且事实上其它进程和逻辑流程能够替代图6a-图7而被使用。本发明存在一个很重要的优点,即对于下层的网络架构是不可知的。
在步骤600(图6a)处,微浏览器接收前述类型的用户输入。在步骤602处,判断输入是否需要新的统一资源定位器(URL)装载。如果不需要,那么在步骤604处,该微浏览器更新相关的数据结构(例如,文档对象模型(DOM)606)。在步骤608处,微浏览器接下来呈现DOM,并且在步骤610,该微浏览器更新MCD显示。然后,该进程返回步骤600。
如果在步骤602处,判断出输入需要装载新的URL,那么浏览器402准备在步骤612向微服务器404发送HTTP请求。在步骤614处,该请求被发送给微服务器,并且在步骤616,微服务器404判断被请求的资源是否是静态的。在示例性实施方式中这是通过到资源的路径(web服务器通常使用的方法)确定的,尽管还可以使用其它的方法取得同等的效果。如果判读的结果是“是”,则在步骤618,从数据存储器622获得静态资源。然后,在步骤620处,微服务器404准备给微浏览器发送HTTP响应。然后,在步骤624处,HTTP响应(包括被请求的静态资源)被发送给微浏览器。在步骤626处,微浏览器将该响应文件处理成DOM。然后,微浏览器402呈现DOM,并更新MCD显示。
如果在步骤616,判断出被请求的资源实际上不是静态的,那么微服务器404确定需要MCD环境内的哪个模块提供所请求的资源(步骤628)。在前面提供的实施例(例如,电子邮件)中,所请求的资源是与邮件相关的,因此,在步骤630,微服务器404将用户输入传递给邮件模块(例如,其可包括邮件或消息应用程序)。
在步骤638,邮件模块经由例如系统消息API 642和/或系统电话薄API 640等系统API获取数据。
在步骤644,邮件模块异步地接收来自于数据存储器的数据,并且在步骤646,邮件模块产生动态数据以输出。在步骤648,微服务器将来自于邮件模块的数据与XHTML模板相结合,并且MCD 100返回步骤620,其中微服务器404准备将HTTP响应发送给微浏览器402。然后,MCD传送该响应。
图6b示出了三个主要的(3)子流程,这些子流程用于示出的结构中的不同功能。第一子流程在步骤650开始,其中微服务器404发起事件连接。紧接着是步骤690(在图6b中用“E”表示,并且将在下面讨论),或者第一子流程能够延续到步骤660。
在步骤660,判断该事件是否是被建立或在异步连接上被接收。如果是,则在步骤664判断该事件是否需要装载新的URL。如果是,那么该流程进入图6a(“D”)的步骤612。如果否,那么该流程进入步骤622(在下面将被描述)。如果在步骤660确定该事件未被建立或异步地被接收,那么步骤662还被执行。
在步骤662,当需要时(“C”),脚本引擎(示出的实施方式中的浏览器的部分)更新DOM。在步骤652,脚本引擎运行相关脚本、访问DOM、记录事件等等。在步骤654,判断是否打开了所有事件连接,如果是,步骤660(确定异步连接)被再次执行。如果否,那么脚本引擎打开与微服务器的异步事件连接(步骤656),并且微服务器发起事件连接。此外,当微浏览器开始脚本引擎时,这可在步骤658中发起。在步骤658之后,再次执行步骤652(运行脚本、访问DOM,等等)。
图6b的第二子流程在步骤670处开始,在此期间,微服务器404启动。在步骤672处,微服务器启动邮件模块,并且邮件模块访问该网络以核查新的网络数据(步骤674)。在步骤676,判断是否任何网络数据出现,如果否,那么再次执行步骤674(核查新的数据)。该核查可在规定的周期时轶事地(anecdotally)或相反地被发起。
如果当核查被执行时出现了新的网络数据,那么在步骤678处该新的数据被存储在数据存储器406中,并且第二子流程返回图6a(“A”)的步骤644。接下来,从第二子流程接收到的数据在每个步骤644中获得,并且该子流程进入步骤674以核查新的网络数据。
图6b的第三子流程在步骤690处开始,在此期间,微服务器接收一个或多个时间登记。在步骤686处,微服务器从邮件模块获得邮件事件的变更。在步骤688,微服务器通过建立的“远程事件”通道给浏览器发送事件更新消息。然后,该流程返回步骤686;新的子流程被每个事件登记触发。步骤692能够在事件通道被关闭时终止回路和子流程(例如,通过浏览器远离被明确关闭的页面或通道)。
图7是根据本发明的另一个实施方式的、示出了移动通信设备的操作的流程图,其中微浏览器进程404用作一个或多个不同实体的代理(例如,浏览器402、远程服务器等等)。
在步骤700(图7),微浏览器接收前述类型的用户输入。在步骤702判断输入是否需要装载新的统一资源定位器(URL);如果否,那么在步骤704该微浏览器更新文档对象模型(DOM)。在步骤708,微浏览器接下来呈现该DOM,并且在步骤710处,微浏览器更新MCD的显示。然后,该流程返回步骤700。
如果在步骤702处判断出输入需要装载新的URL,那么在712处,该浏览器402准备将HTTP请求发送给微服务器404。在步骤714处,该请求被传送给微服务器,并且在步骤716处,该微服务器404判断被请求的资源是否在(本地MCD)缓存器中。如果是,那么在步骤718处,从该缓存器中获取被请求的资源。然后,在步骤720处,微服务器404准备将HTTP响应发送给微浏览器。然后,在步骤724处,该HTTP响应(包括被请求缓存的资源)被发送到微浏览器。在步骤726处,微浏览器将该响应文件处理成DOM。然后,微浏览器402呈现DOM,并且更新MCD显示。
如果在步骤716处,判断出被请求的资源不在缓存器中,那么微服务器404判断需要那个或那些网络连接来提供被请求的资源(步骤728)。然后,在步骤730处,微服务器准备将HTTP资源发送给相关网络代理。
在步骤738处,该请求被发送到相关代理,例如,服务器,而在步骤740处,微服务器从相关代理接收响应。
在步骤742处,微服务器404处理来自于网络代理的HTTP响应,并且在步骤744处,判断该资源是否能够被缓存。如果是,那么该资源被缓存(步骤746);如果否,那么该微服务器准备到微浏览器402响应,其包括,资源或关于缺乏对该资源的访问的信息(步骤720)。然后,该响应被发送到微浏览器402。然后,该MCD将该响应发送到浏览器402,该浏览器然后将该响应处理为DOM。
图8示出了MCD 100的一个示例性实现,该MCD 100主要使用商业上可利用的元件和软件。在该结构中,示例性的设备包括Nokia系列60设备,其具有运行于其上的众所周知的Opera浏览器402的变体。微服务器404被用作Symbian服务器(用C++编写,并且使用了Symbian软件开发工具箱(SDK))。HTTP服务器功能被编码到服务器应用程序810,其被构建在轻的开放源码模板系统上。可动态装载的二进制模块用于执行例如邮件等的应用程序。如ECMAScript和CSS等的静态数据文件被放置在电话的闪存中,并且通过使用服务器应用程序810被访问。来自于浏览器402的数据被传送到适当的模块,该模块处理所传送的数据、聚集来自于(Symbian)API的数据,并产生层次数据格式(HDF)文件,该文件能够连同数据存储器中存在的合适的XHTML模板一起被处理。然后,产生的完整XHTML文件被传送到HTTP服务器,并且被返回到浏览器402。
商业方法和产品
因为很多用户将希望利用因特网或其它网络“浏览器”功能、高速数据访问等、同时工作在移动状态,因此本发明的巨大效用可在如PDA、智能手机等移动设备的应用中被发现。由运营商或其它服务供应商安装的微服务器404和相关联的结构元件给这些供应商提供了用户移动设备上的活动的出现点(point-of-presence)。通用的且动态的环境能够被运营商可选地控制到改变程度,并且能够被用于改进用户对该设备的体验(和运营商的服务)。
例如,如前所述,微服务器404能够了解到可利用于MCD 100的其它网络技术,并且能够通过用作网关以改变信道(例如,异步数据通道)、本地缓存适当的数据并异步地接收稍后使用的数据,从而更有效地使用该网络。该功能能够提供“额外”服务或特征的基础,例如,作为可变订购包的一部分。例如,在上述图4c的实施方式的应用中,运营商或服务供应商能够可选择地允许或禁止用户的MCD微服务器的某些功能,其尤其包括:经由一个或多个交替的通信接口异步地接收数据。
同样地,这种额外的或可选择的功能可被使用,其关于允许已知用户的MCD 100以动态地识别和增加新的接口到已有设备功能。例如,如前所述,可通过选择允许“永远在线”结构而实现,该结构在用户已经被授权该功能的情况下能够自动地接收移动设备上的服务的更新。
此外,前述的经由服务器404而具有扩展功能的“商品”浏览器的使用考虑了MCD制造商和/服务供应商对MCD性能和功能的扩展。这提供了附加的商业机会,包括:为特殊用户(例如,当定金或费用支付的更新,或作为激励)进行MCD结构的动态更换或升级,这些升级或更换方便地经由网络接口被实时地传导至MCD 100。
运营商或服务供应商还甚至能够动态地控制MCD上的“外观和使用”或出现,例如,在这里,浏览器显示器或用户接口被轶事地或不时地改进,以完成某些目的(例如,增加的用户满意度、为用户突出或改变某些信息或新的功能等等)。
此外,通过允许接网费和计费信息从浏览器本身呈现和管理,而给浏览器接口增加值,本发明的微服务器能够向浏览器接口增值(因为为另一商业模型提供了基础),以使得尤其从成本效率的角度来看,移动设备更用户友好。它还使服务供应商或运营商的网络使用最优化,从而增加了运营商网络的可利用带宽、可靠性等等。
被公开的微服务器结构还能够被用于增加提供给用户的、具有从第三方获得的环境或其它信息(例如,以元数据的形式)的数据,例如,来自于网络操作员或服务供应商的计费信息、广告(可选择地基于或所呈现的其它内容上相关的数据)、位数据等等。
因此,已经描述了提供用于多个移动通信设备中的实体(例如,应用程序)的通用接口的方法和装置。还可以使用对前述系统元件和通信方法的很多其它变体,并且与本发明相一致,这将被本领域相关技术人员所认识。
还应该认识到,虽然本发明的某些方面是根据方法的具体步骤顺序被描述的,但是这些描述只是对本发明的更广泛的方法的示例性说明,并且如果特殊应用需要,可被改进。在某些情况下,某些步骤可不必被提出或是可选择的。此外,某些步骤或功能可被增加到被公开的实施方式,或者可改变两个或多个步骤的执行顺序。所有这些变化都被认为是包含在公开的发明和本文的权利要求中。
虽然在上面进行了详细的描述,并且被指出了应用于不同实施方式的本发明的新颖特征,但是应该理解,在未偏离本发明的情况下,由本领域相关技术人员可以对所示出的设备或流程的形式和细节做出的各种省略、替代和改变。上述描述是具有目前预期的实施本发明的最佳模式。本文中的描述并不是用来进行限制,而是应该被认为是本发明的一般原则的示例性说明。本发明的范围应该参考权利要求书确定。
Claims (25)
1.一种具有至少一个无线接口的移动通信设备,包括:
显示单元,其被配置以向用户显示信息;
输入单元,其被配置以接收来自于所述用户的输入;
微处理器,其被用于执行由多个模块组成的软件;
存储单元,其与所述微处理器进行数据通信,并能够存储所述软件,其中所述软件模块适于执行所述移动通信设备的一个或多个功能,所述软件模块至少包括:
应用模块;
服务器模块,其被配置为响应于由所述应用模块提供的信息生成第一数据;以及
浏览器模块,其用于经由所述显示单元至少显示所述第一数据。
2.根据权利要求1所述的移动通信设备,其中所述应用模块包括从由配置模块和电子邮件模块构成的组合中选择出的模块。
3.根据权利要求1所述的移动通信设备,进一步包括数据存储单元,其中所述服务器模块使用存储在所述数据存储单元中数据生成所述第一数据。
4.根据权利要求1所述的移动通信设备,其中所述应用模块通过使用应用程序接口(API)与所述服务器模块交互。
5.根据权利要求1所述的移动通信设备,其中所述服务器模块经由网络接收来自于被建立的数据链的数据,并且所述浏览器模块显示从所述外部服务器接收到的第二数据。
6.根据权利要求2所述的移动通信设备,其进一步包括第二应用模块,其中所述第二应用模块是电子邮件模块,并且所述应用模块和所述第二应用模块使用应用程序接口(API)与所述服务器模块交互。
7.一种操作具有显示器、浏览器和服务器的移动通信设备的方法,包括:
至少使用所述浏览器控制所述显示器;
用所述服务器向所述浏览器提供第一组数据;以及
从外部服务器向所述浏览器提供第二套数据,所述外部服务器与所述移动通信设备进行数据通信。
8.根据权利要求7所述的方法,其中所述移动通信设备进一步包括邮件应用和数据存储器,所述方法进一步包括:
至少使用来自于所述浏览器的请求而请求访问所述邮件应用;
使用所述服务器向所述邮件应用发送所述请求;
使用存储在所述数据存储器中的信息生成文件,其中使用所述浏览器能够浏览所述文件的至少一部分;
使用所述服务器向所述浏览器传送所述文件;以及
使用所述浏览器显示所述文件的所述至少部分。
9.根据权利要求7所述的方法,进一步包括:
至少使用从邮件应用和配置应用组成的组中选择的应用向所述服务器提供所述第一组数据的至少一部分。
10.根据权利要求9所述的方法,其中,使用应用程序接口(API)向所述服务器提供所述第一组数据的所述至少一部分。
11.根据权利要求7所述的方法,其进一步包括:经由与外部服务器连接的数据链在所述服务器接收附加信息。
12.一种在移动通信网内的移动通信设备中使用的设备软件结构,包括:
至少一个第一功能模块,其可操作以运行于所述设备上;
至少一个第二功能模块,其位于所述移动通信设备外部;以及
用于所述多个功能模块的至少一个通用接口,其包括运行于所述移动通信设备上的服务器进程,并且适用于至少接收和处理来自于所述至少第一功能模块和所述至少第二功能模块的信息。
13.根据权利要求12所述的设备软件结构,进一步包括与所述服务器进程进行数据通信的浏览器进程。
14.根据权利要求13所述的设备软件结构,其中所述进程包括:格式化该信息,和将所述信息发送给所述浏览器进程。
15.根据权利要求13所述的设备软件结构,其中所述进程包括:
响应于用户的输入,从生成的浏览器进程接收输入;以及
向所述至少一个第一应用模块发送所述输入的至少一部分。
16.一个移动通信设备,包括:
处理器;
存储器设备,其与所述处理进行数据通信;
无线接口;以及
Web服务器进程,其运行于所述处理器上,所述web服务器进程还用作应用服务器,所述服务器进程适于根据来自一个或多个与所述移动通信设备相关联的实体的请求而动态地生成数据。
17.根据权利要求16所述的移动通信设备,其中所述web服务器进程进一步用作到至少一个异步信道的网关。
18.根据权利要求16所述的移动通信设备,其中所述web服务器进程进一步用作浏览器与网络实体之间的代理。
19.一种移动通信设备,包括:
处理器;
存储设备,其与所述处理器进行数据通信;
无线接口;以及
服务器进程,其运行于所述处理器上,所述服务器进程还用作应用服务器,所述服务器进程能够通过使用“永远在线”配置动态地向设备功能增加至少一个新的接口,所述“永远在线”配置能够基本动态地接收所述移动设备上的服务的更新。
20.一种移动通信设备,包括:
微处理器;
存储设备,其与所述微处理器进行数据通信;
无线接口,其被配置为接收来自于网络服务器的第一信息;
显示单元,其用于给用户显示信息;
配置应用程序,其运行于所述处理器上并适于配置所述移动通信设备的至少一个方面,所述配置应用程序至少使用应用程序接口(API)提供配置信息;
微服务器,其用于响应于来自于所述配置应用程序的所述信息生成第二信息;以及
微浏览器,其被配置为在所述显示单元上显示所述第一信息和所述第二信息。
21.根据权利要求20所述的移动通信设备,其中所述第一信息和所述第二信息包括超文本传输协(HTTP)形式的数据。
22.根据权利要求20所述的移动通信设备,其中所述微服务器经由所述移动通信设备应用程序接口接收来自于所述配置应用程序的所述信息。
23.根据权利要求20所述的移动通信设备,其进一步包括:
电子通信应用,其用于接收和发送电子通信,并使用所述应用程序接口与所述微服务器交换所述通信;
其中所述微服务器进一步被配置为响应来自所述邮件应用的至少一个通信生成所述第三信息;以及
其中所述微浏览器在所述显示单元上显示所述第三信息。
24.根据权利要求23所述的移动通信设备,其中所述微服务器响应于经由异步数据连接接收到的信息生成第四信息,并且所述微浏览器在所述显示单元上显示所述第四信息。
25.根据权利要求20所述的移动通信设备,进一步包括:
在所述存储设备中存储静态的标记语言页面,其中:
所述微服务器从所述存储设备获得所述静态页面;以及
所述微浏览器在所述显示单元上显示所述静态页面。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/360,242 US20070197260A1 (en) | 2006-02-22 | 2006-02-22 | Interface for mobile devices and methods |
US11/360,242 | 2006-02-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101554028A true CN101554028A (zh) | 2009-10-07 |
Family
ID=38428910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800144862A Pending CN101554028A (zh) | 2006-02-22 | 2007-02-20 | 用于移动设备的接口和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070197260A1 (zh) |
EP (1) | EP2027708A2 (zh) |
CN (1) | CN101554028A (zh) |
WO (1) | WO2007096848A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255614A (zh) * | 2016-12-28 | 2018-07-06 | 中国移动通信集团公司 | 一种基于微服务架构的接口调用系统及方法 |
CN112802457A (zh) * | 2021-04-14 | 2021-05-14 | 北京世纪好未来教育科技有限公司 | 语音识别的方法、装置、设备和存储介质 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8781532B2 (en) * | 2005-09-19 | 2014-07-15 | Google Inc. | Customized data retrieval applications for mobile devices providing interpretation of markup language data |
US20080052363A1 (en) * | 2006-03-27 | 2008-02-28 | Sms.Ac | Systems and methods for interoperable message service with mobile support in a mobile community platform |
KR101419560B1 (ko) * | 2006-06-09 | 2014-07-14 | 스타스크라이버 코퍼레이션 | 부가 서비스들을 신호하기 위해 호를 무효화하는 방법 |
KR101325923B1 (ko) * | 2006-11-06 | 2013-11-07 | 삼성전자주식회사 | 휴대 단말기의 데이터 전송 개선 시스템 및 방법 |
CA2578390A1 (en) | 2007-01-12 | 2008-07-12 | Truecontext Corporation | Method and system for managing mobile applications |
US9486703B2 (en) * | 2007-01-31 | 2016-11-08 | Broadcom Corporation | Mobile communication device with game application for use in conjunction with a remote mobile communication device and methods for use therewith |
US20080227440A1 (en) * | 2007-03-16 | 2008-09-18 | Vinay Kumar Chowdary Settepalli | Methods and apparatus for discovering and updating a mobile device via user behavior |
US20110251970A1 (en) * | 2007-04-24 | 2011-10-13 | Derrick Oien | Mobile social networking system and method |
US20090089366A1 (en) * | 2007-09-27 | 2009-04-02 | Kalman Csaba Toth | Portable caching system |
US20090222554A1 (en) * | 2008-02-28 | 2009-09-03 | James Paul Schneider | Statistics for online advertising |
US8594637B2 (en) | 2008-04-28 | 2013-11-26 | Starscriber Corporation | System and method for modifying calling behavior |
US8612610B2 (en) * | 2009-02-10 | 2013-12-17 | Telefonaktiebolaget Lm Ericsson (Publ) | IP multimedia service provision |
WO2010143669A1 (ja) * | 2009-06-08 | 2010-12-16 | 日本電気株式会社 | 携帯端末装置、携帯端末装置の制御方法、通信システム、通信装置、通信装置の制御方法 |
US10298695B2 (en) * | 2010-11-16 | 2019-05-21 | Provenance Asset Group Llc | Cognitive connectivity management |
US8799470B2 (en) | 2011-03-11 | 2014-08-05 | Qualcomm Incorporated | System and method using a client-local proxy-server to access a device having an assigned network address |
US8819233B2 (en) | 2011-03-11 | 2014-08-26 | Qualcomm Incorporated | System and method using a web proxy-server to access a device having an assigned network address |
US8924556B2 (en) * | 2011-03-11 | 2014-12-30 | Qualcomm Incorporated | System and method for accessing a device having an assigned network address |
US8862693B2 (en) | 2011-03-11 | 2014-10-14 | Qualcomm Incorporated | Remote access and administration of device content and configuration using HTTP protocol |
US9052898B2 (en) | 2011-03-11 | 2015-06-09 | Qualcomm Incorporated | Remote access and administration of device content, with device power optimization, using HTTP protocol |
CN102761864B (zh) * | 2011-04-29 | 2014-12-10 | 中国移动通信集团公司 | 一种数据传输的方法、系统及设备 |
WO2013124858A1 (en) * | 2012-02-26 | 2013-08-29 | Passcall Advanced Technologies (Transforma) Ltd. | Method and system for creating dynamic browser-based user interface by example |
CN102916958A (zh) * | 2012-10-15 | 2013-02-06 | 福建榕基软件股份有限公司 | 一种实现移动终端浏览器访问加密方法及系统 |
KR20140072927A (ko) * | 2012-11-15 | 2014-06-16 | 엘지전자 주식회사 | 이동 단말기 및 이의 제어방법 |
US9477483B2 (en) | 2013-01-03 | 2016-10-25 | Tapjoy, Inc. | Tracking mobile app installations |
US9112827B2 (en) * | 2013-03-15 | 2015-08-18 | Amazon Technologies, Inc. | Determining appropriate browsing applications for selected network resources |
WO2015015251A1 (en) * | 2013-08-01 | 2015-02-05 | Yogesh Chunilal Rathod | Presenting plurality types of interfaces and functions for conducting various activities |
US11397520B2 (en) | 2013-08-01 | 2022-07-26 | Yogesh Chunilal Rathod | Application program interface or page processing method and device |
US9507609B2 (en) | 2013-09-29 | 2016-11-29 | Taplytics Inc. | System and method for developing an application |
US20180013816A1 (en) * | 2016-07-06 | 2018-01-11 | Saeid Safavi | Method and Apparatus for On Demand Mobile Data Transfer |
CN112769927B (zh) * | 2020-12-31 | 2023-06-16 | 湖南金鹰卡通传媒有限公司 | 一种应用程序app的客户端微服务系统及其使用方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956487A (en) * | 1996-10-25 | 1999-09-21 | Hewlett-Packard Company | Embedding web access mechanism in an appliance for user interface functions including a web server and web browser |
US6374305B1 (en) * | 1997-07-21 | 2002-04-16 | Oracle Corporation | Web applications interface system in a mobile-based client-server system |
ATE261638T1 (de) * | 1997-10-15 | 2004-03-15 | Nokia Corp | Mobiles telefon für internet-anwendungen |
US6522875B1 (en) * | 1998-11-17 | 2003-02-18 | Eric Morgan Dowling | Geographical web browser, methods, apparatus and systems |
US6411989B1 (en) * | 1998-12-28 | 2002-06-25 | Lucent Technologies Inc. | Apparatus and method for sharing information in simultaneously viewed documents on a communication system |
JP4660050B2 (ja) * | 2000-02-04 | 2011-03-30 | パナソニック株式会社 | 情報処理端末 |
AU2001255742A1 (en) * | 2000-04-26 | 2001-11-07 | Portable Internet Inc. | Portable internet services |
FR2810841B1 (fr) * | 2000-06-22 | 2005-07-29 | Bull Cp8 | Procede pour le traitement et la transmission de donnees numeriques sur un reseau de telephonie mobile, notamment a la norme "gsm", et systeme embarque a puce electronique |
US6501956B1 (en) * | 2000-10-17 | 2002-12-31 | Intervoice Limited Partnership | Providing blended interface for wireless information services |
US7735021B2 (en) * | 2001-02-16 | 2010-06-08 | Microsoft Corporation | Shortcut system for use in a mobile electronic device and method thereof |
US6954754B2 (en) * | 2001-04-16 | 2005-10-11 | Innopath Software, Inc. | Apparatus and methods for managing caches on a mobile device |
GB2375926B (en) * | 2001-05-24 | 2004-09-22 | 3G Lab Ltd | Method of browser-server communication |
US9374451B2 (en) * | 2002-02-04 | 2016-06-21 | Nokia Technologies Oy | System and method for multimodal short-cuts to digital services |
US20040205068A1 (en) * | 2002-11-05 | 2004-10-14 | Everypath, Inc. | Unified platform for building and operating connected and disconnected mobile applications |
AU2004200809B2 (en) * | 2003-03-07 | 2006-05-11 | Samsung Electronics Co., Ltd. | Method and system for providing data services to mobile communication terminals and mobile communication terminal therefor |
US7212814B2 (en) * | 2004-11-24 | 2007-05-01 | Research In Motion Limited | Methods and apparatus for efficiently managing the storage of e-mail message information for a mobile station |
US7523491B2 (en) * | 2005-01-03 | 2009-04-21 | Nokia Corporation | System, apparatus, and method for accessing mobile servers |
-
2006
- 2006-02-22 US US11/360,242 patent/US20070197260A1/en not_active Abandoned
-
2007
- 2007-02-20 WO PCT/IB2007/051454 patent/WO2007096848A2/en active Application Filing
- 2007-02-20 CN CNA2007800144862A patent/CN101554028A/zh active Pending
- 2007-02-20 EP EP07735587A patent/EP2027708A2/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255614A (zh) * | 2016-12-28 | 2018-07-06 | 中国移动通信集团公司 | 一种基于微服务架构的接口调用系统及方法 |
CN112802457A (zh) * | 2021-04-14 | 2021-05-14 | 北京世纪好未来教育科技有限公司 | 语音识别的方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2027708A2 (en) | 2009-02-25 |
WO2007096848A3 (en) | 2009-05-07 |
WO2007096848A2 (en) | 2007-08-30 |
US20070197260A1 (en) | 2007-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101554028A (zh) | 用于移动设备的接口和方法 | |
JP3490235B2 (ja) | 携帯電話機等の双方向データ通信デバイスとコンピュータとの間の通信のための双方向データ通信システム及びそこで使用される双方向通信デバイスとその使用方法 | |
US6150962A (en) | Predictive data entry method for a keyboard | |
JP4909591B2 (ja) | コンポーネントベースの無線アプリケーションを作成して同アプリケーションと通信するためのシステム及び方法 | |
CN103198830B (zh) | 用于实现分布式多模式应用的方法和设备 | |
US7054626B2 (en) | Method and architecture for an interactive two-way data communication network | |
CN101543011B (zh) | 将多媒体内容和解码装置捆绑的方法 | |
CN100488188C (zh) | 用于从蜂窝通信系统中的服务器取内容的方法和系统 | |
CN101553812A (zh) | 动态设备简档接口 | |
US20090216840A1 (en) | Method for providing services to user interfaces | |
CN1253427A (zh) | 降低在线用户下跌的忠实稳定系统 | |
CN101911064A (zh) | 用于实现分布式多模态应用的方法和装置 | |
CN101159764A (zh) | 一种访问移动业务门户数据的方法和系统 | |
KR20120052232A (ko) | 모바일 대화 시스템 및 콘텐츠 전달 솔루션 | |
KR100876958B1 (ko) | 다양한 사양 및 종류의 단말기와 애플리케이션 서버 간의데이터 통신을 지원하는 미들웨어 및 그 운용 방법 | |
CN102546273A (zh) | Wap网站的测试系统及测试方法 | |
CN201585139U (zh) | 移动终端图形适配系统 | |
Beji et al. | An overview of mobile applications architecture and the associated technologies | |
CN201100950Y (zh) | 智能重定向wap网关 | |
Shin et al. | End-user driven service creation for converged service of telecom and Internet | |
CN101193343B (zh) | 一种为移动通信终端提供个性化网络访问信息的方法和系统 | |
CN100569014C (zh) | 一种用于移动台的数据更新系统和数据更新方法 | |
Jain et al. | The Mobile Application Server (MAS): an infrastructure platform for mobile wireless services | |
KR20090030918A (ko) | 휴대 단말기의 브라우저 표시 방법 및 장치 | |
CN101127984A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20091007 |