[go: up one dir, main page]

CN101790714A - Application management framework for web applications - Google Patents

Application management framework for web applications Download PDF

Info

Publication number
CN101790714A
CN101790714A CN200880100912A CN200880100912A CN101790714A CN 101790714 A CN101790714 A CN 101790714A CN 200880100912 A CN200880100912 A CN 200880100912A CN 200880100912 A CN200880100912 A CN 200880100912A CN 101790714 A CN101790714 A CN 101790714A
Authority
CN
China
Prior art keywords
web applications
web
management framework
application management
application
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
CN200880100912A
Other languages
Chinese (zh)
Inventor
曼吉尔纳斯·查特吉
格雷戈里·R·西蒙
罗德里克·斯威夫特
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.)
Qualcomm Inc
Original Assignee
Palm 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
Priority claimed from US11/873,305 external-priority patent/US20080098093A1/en
Priority claimed from US12/061,179 external-priority patent/US20080248834A1/en
Priority claimed from US12/116,697 external-priority patent/US8060486B2/en
Application filed by Palm Inc filed Critical Palm Inc
Publication of CN101790714A publication Critical patent/CN101790714A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Various embodiments are directed to an application management framework for web applications that may provide speed improvements, capability improvements, user experience improvements, increased advertising profit opportunities, and simplified application development to wide range of network devices. The described embodiments may employ techniques for containing, controlling, and presenting multiple web-based applications in a shared web browser application management framework. Sharing a web browser application management framework provides the capability for rapidly switching between applications, allows for multitasking, facilitates using a common set of input controls for applications, and makes it possible for applications to be available with little perceived startup ('boot') time. The described embodiments also provide incentives for web application users, web application developers, web application portal providers, and web advertising providers to share in transactions between one another.

Description

The application management framework of web applications
Related application
Present patent application requires the 60/952nd of submission on July 29th, 2007, the 60/954th of No. 588 U.S. Provisional Patent Application, submission on August 6th, 2007, the right of priority of the 12/181st, No. 776 U.S. Patent application that No. 022 U.S. Provisional Patent Application and on July 29th, 2008 submit to.This patented claim also relates to and the name that requires to submit on May 8th, 2006 be called " Method for Synchronizing SoftwareApplication and User Data for Asynchronous Client-Serverand Peer to Peer Computer Networks " the 11/382nd, the right of priority of No. 058 U.S. Patent application, the name of submitting on Dec 18th, 2006 be called " System forRunning Web Applications Offline and Providing Access toNative Services " the 11/612nd, the right of priority of No. 282 U.S. Patent applications, the name of submitting on October 16th, 2007 be called " Offline Automated ProxyCache for Web Applications " the 11/873rd, No. 305 U.S. Patent applications, the name of submitting on January 4th, 2008 is called the U.S. Patent application of " System and Methods forProviding Granular Security for Locally Running ScriptedEnvironments and Web Applications ", the name of submitting on April 2nd, 2008 be called " System and Methods for ProvidingAccess to a Desktop and Applications of a Mobile Device " the 12/061st, No. 179 U.S. Patent applications, and the name of submission on May 7th, 2008 is called the right of priority of the 12/116th, No. 697 U.S. Patent application of " Automatic Conversion Schema for Cached Web Requests ".The full content of quoting these patented claims is for reference.
Background technology
Recent years, WWW (web) browser has become the powerful software package of ability.Except web presence is provided, Web-browser can move sometimes the applet that is called as " little (widget) ".Many Web-browsers also are supported in the ability of the more complicated web applications of operation on the Web-browser.Can utilize various web technologies, realize this web applications such as HTML, XHTML, XML and asynchronous JavaScirpt and XML (Ajax).
Although it is web applications has many advantages, still stranded in a lot of fields.For example, because web applications depends on Web-browser, so Web-browser must start before the web applications operation.The same with the situation of many mobile devices, this delay may make the final user dissatisfied, if especially the device of operation web applications has limited processing power.In addition, if Web-browser is not moving, then web applications does not move yet.Therefore, web applications can not upgrade its data.In addition, if the user wishes to move simultaneously several web applications, then this user must directly start each application program.And, there is not simple and easy method can make a plurality of web applications share one group of user's input control.
On such as cellular mobile device, some widget may operate on the Web-browser.These widget have some benefit of web applications, are easier to utilize the web technology coding such as developer's ratio, but but lock into other field.At first, the user can not be in order to download web presence in widget clickable hyperlinks.Secondly, wish that when a widget switched to another widget, the basic browsers of a user widget out of service then, started new browser instances (new browser instance), to move the 2nd widget as the user.Because operation when these two widget are different, so the cost plenty of time of the hand-off process from a widget to another widget, this is that the final user is undesirable.In addition, there is not the mechanism of managing a plurality of widget by general user interface yet.
Advertisement has become common way based on WWW, therefore, according to various criterions, advertisement is inserted in the web presence.Yet if Web-browser is not connected to the Internet, this advertisement just can not be inserted in the web presence.For such as cellular mobile device, when receiving weak signal or when having gone out service area, common this device and network disconnect.In addition, when this device off line, even the final user has watched and/or clicked this advertisement, provider is deposited in advertisement can not obtain advertising income.In this case, the advertiser need not the benefit for using communication medium just can obtain to advertise to provider's defrayment.And current widget is not easy to support the advertisement based on WWW.
Description of drawings
Fig. 1 illustrates the embodiment of application management framework.
Fig. 2 illustrates the embodiment of the calculation element that comprises Web-browser and WWW virtual machine.
Fig. 3 illustrates the embodiment of the logic flow that is used to start application framework.
Fig. 4 illustrates the embodiment by the logic flow of application framework processing transactions.
Fig. 5 illustrates the embodiment of the mobile device that comprises web applications and application management framework user interface.
Fig. 6 A-6F illustrates the embodiment of web applications and application management framework user interface.
Fig. 7 A illustrates the embodiment of Web-browser, web applications and application framework user interface.
Fig. 7 b illustrates another embodiment of Web-browser, web applications and application framework user interface.
Fig. 8 illustrates the embodiment of communication system.
Fig. 9 illustrates the embodiment of the logic flow that is used to produce advertising income.
Embodiment
Various embodiment relate to the application management framework of web applications, and for network equipment widely, it can improve speed, raising capacity, improves user's impression, has increased access to the chance of ad margins and simplify application development.Described embodiment can adopt and be used for sharing the technology that the web browser application Governance framework holds, controls and shows a plurality of application programs based on WWW.This technology especially be fit to processing power limited, intermittently accesses network, display screen is little and user's input capability is limited such as cellular mobile device.
Sharing the web browser application Governance framework can switch, allow to carry out multitask rapidly, be convenient to each application program used one group of general input control and make become possibility with imperceptible startup (" bootstrapping (boot) ") time use application program between application program.
In addition, the additional capabilities that application program in the web browser application Governance framework can use this framework to provide is provided, content or data such as the visit of high-speed cache off line, assurance is to the renewal of the application program that comprised, use the local service of mobile device, such as calendar or contact details, and the user interface that advertisement is inserted application program.Described embodiment also encourages the user of web applications, the developer of web applications, the provider of portal website and the shared service each other of WWW advertising provider of web applications.
For this embodiment of complete understanding, will specifically describe its a large amount of details.Yet those skilled in the art understand do not having also can to implement this embodiment under the situation of these details.In other cases, understand this embodiment, well-known operation, parts and circuit are not described in detail in order not hinder.Can understand that concrete structure described here and function detail are illustrative, might not limit the scope of the invention.
In whole instructions, " various embodiment ", " some embodiment ", " embodiment " or " embodiment " refer to that all special characteristic, structure or the characteristic described in conjunction with this embodiment comprise at least one embodiment.Therefore, the meaning that is positioned at phrase " in various embodiments ", " in certain embodiments ", " in one embodiment " or " in an embodiment " of each position of whole instructions differs to establish a capital and refers to same embodiment.In addition, in one or more embodiment, can make up special characteristic, structure or characteristic in any appropriate manner.
Fig. 1 illustrates the system assumption diagram of the application management framework 100 that is suitable for realizing various embodiment.Although Fig. 1 illustrates the parts of limited quantity as an example, can imagine and to adopt more or less parts for given realization.
In various embodiments, application management framework 100 can be achieved by calculation element.The unit of this calculation element can comprise: various physical units that are used to diffuse information and/or logical block, they can be according to the requirement of one group of given design parameter or performance restriction, by hardware component (for example, calculation element, processor, logical device), executable computer program instruction (for example, firmware, software) or their combination in any that can be carried out by various hardware componenies be achieved.According to described embodiment, the typical calculation device can comprise: personal computer (PC), desk-top computer, notebook, laptop computer, mobile computing device, smart mobile phone, PDA(Personal Digital Assistant), mobile phone, combination with mobile phones/PDA, video-unit, televisor (TV), digital television (DTV), high definition television machine (HDTV), media player, game machine, information transfer device (messaging device) or any other suitable communicator.
Comprise that the calculation element of application management framework 100 can constitute the part of wired communication system, wireless communication system or the combination of these two.For example, can arrange this calculation element, to diffuse information by one or more wire communication links such as electric wire, cable, bus, printed circuit board (PCB) (PCB), Ethernet connection, equity (peer-to-peer (P2P)) connection, base plate, switching fabric (switch fabric), semiconductor material, twisted pair wire, concentric cable, optical fiber connection or the like.Can arrange this calculation element, to diffuse information such as radio channel, satellite channel, television channel, broadcasting channel, infrared channel, radio frequency (RF) channel, Wireless Fidelity (WiFi) channel, a part of radio spectrum and/or one or more licensed band or the wireless communication link of exempting from licensed band by surpassing one or more.In wireless realization, this calculation element can comprise interface and/or the parts that one or more is used for radio communication, such as one or more transmitter, receiver, transceiver, amplifier, wave filter, steering logic, wireless network interface card (WNIC), antenna or the like.Although utilize particular communications media to describe specific embodiment as an example, should be understood that and utilize various communication medias and correlation technique, can be implemented in the principle and the technology of this discussion.
As shown in Figure 1, application management framework 100 can be realized and operation on this Web-browser 105 by Web-browser 105.According to described embodiment, Web-browser 105 can be by such as Internet
Figure GPA00001009992500061
Figure GPA00001009992500062
Netscape
Figure GPA00001009992500063
And/or the desktop computer version of any suitable Web-browser or the Web-browser of mobile version are achieved.In various embodiments, Web-browser 105 can the support application program Governance framework 100 computer programming voice, standard, world wide web protocols and/or the technology that require.These computer programming voice, standard, world wide web protocols and/or technology can comprise, but be not limited to comprise: HTML, XHTML, XML,
Figure GPA00001009992500064
/ ActionScript,
Figure GPA00001009992500065
JavaScript, ECMAScript, JScript, Basic, Visual
Figure GPA00001009992500066
Visual
Figure GPA00001009992500067
Scripting Edition (VBScript), CSS, asynchronous JavaScript and XML (Ajax),
Figure GPA00001009992500068
Figure GPA00001009992500069
Python,
Figure GPA000010099925000610
C#/.net,
Figure GPA000010099925000611
And/or other suitable programming language, script or based on the language of VM.In addition, Web-browser 105 can be supported " this locality " surfing, not requiring with network to have under the connective situation, can visit the resource of " local host ".Even should be understood that when only needing the local host resource, some current Web-browsers are also attempted to be connected on the network, may disturb the operation of some embodiment like this.
In various embodiments, Web-browser 105 can provide the basis of user interface, and can comprise such as be used for such as
Figure GPA00001009992500071
The language interpreter of the script interpretive routine of the computer programming language of VBScript and/or other Script Programming language is wherein by script, bytecode collection or the language of runtime interpretive routine real-time interpretation based on browser.The various web technologies of utilization such as HTML, XHTML, XML, asynchronous JavaScript and XML (Ajax) or the like, Web-browser 105 can be provided in the platform of operation web applications on the Web-browser 105.
Usually, application management framework 100 can be by writing such as one or more programming languages, script or based on the computer programming language of virtual machine (VM) language that Web-browser 105 is supported.For example, the various standard web technologies such as HTML, CSS, JavaScript and ECMAScript can be applied to create application management framework 100.Because many web page authors are familiar with these technology, the benefit of utilizing application management framework is conspicuous.We know that this machine of the special use programming language that utilizes web technology to develop common ratio such as C, C++ or the like is developed faster, and much easier.In addition, for mobile device, this machine programming language requires expensive developing instrument usually.Yet for web applications, large quantities of free available or cheap SDK (Software Development Kit) make bigger developer colony carry out the web applications exploitation becomes possibility.
As shown in the figure, application management framework 100 can comprise and encapsulate one or more web applications such as web applications 110-1 to 110-N, and wherein N is based on the arbitrarily suitable positive integer of described embodiment.Web applications 110-1 to 110-N all can be by any language compilation of Web-browser 105 supports.Web applications 110-1's to 110-N and application management framework 100 source code is highly transplantable between the large quantities of hardware and software platforms such as desk-top computer, mobile phone or the like.In addition, central server can be preloaded into one group of web applications 110-1 to 110-N in the application management framework 100, and provides whole application management framework 100 to many calculation elements.In certain embodiments, web applications 110-1 to 110-N can comprise, perhaps can be achieved by one or more applet or widget in application management framework 100.
Application management framework 100 can allow the user to switch fast between web applications 110-1 to 110-N, and needn't restart Web-browser 105 or HTML application environment.In various realizations, for example, a plurality of web applications 110-1 to 110-N can operate in the application management framework 100 simultaneously.In one embodiment, web applications 110-1 to 110-N may operate on the HTML " iframe " in the application management framework 100.When a plurality of web applications in operation and when residing in the internal memory, between web applications, switch the very short time of common needs, therefore improved user's impression.
Application management framework 100 can be caught the user interactions incident, such as click, stylus click, keyboard input, scroll key (jog wheel) input, touch-screen input, phonetic entry, button input or the like.Application management framework 100 can optionally be delivered to one or more capturing events one or more web applications 110-1 to 110-N that is included in the application management framework 100.This helps creating one group of web applications that has one group of common user input control together.In addition, for device, simplified the web applications exploitation like this with limited input control.For example, on mobile phone, it is favourable allowing with a finger control web applications.In various embodiments, application management framework 100 can support the user can utilize single only finger or " mouse-over (mouseover) " to switch fast between web applications 110-1 to 110-N, experiences happy to guarantee the user.
Application management framework 100 can be controlled the each side of the web applications 110-1 to 110-N that one or more comprised.For example, application management framework 100 can to which web applications preset time to the user be visual, web applications whether in effective deal with data and/or when indicate " renewal " web applications or web applications is downloaded on the Web-browser 105 again, control.Application management framework 100 can also be pointed out one or more web applications 110-1 to 110-N that comprises to download again or be upgraded its data.
In various embodiments, application management framework 100 developer that can give security introduces multitask the mechanism of one or more web applications 110-1 to 110-N.For example, " hide " web applications according to plan by utilizing concealed frame (hidden frame), application management framework 100 can make web applications move in background, and the user sees the user interface of different web applications simultaneously.
Application management framework 100 can also provide the developer will insert the mechanism of its web applications based on the advertisement of WWW.For example, web applications 110-1 to 110-N can use existing advertisement link and script compilation method, also be comprise on the device widely of computing machine and mobile phone observable.One or more web applications 110-1 to 110-N can comprise that banner and/or itself can be the advertisements that is subjected to application management framework 100 controls and configuration.We understand, application management framework 100 makes and provides the business affairs method of free or low-cost web applications to become possibility to the final user, in this method, advertising income can be shared between web applications developer, device manufacturer, service provider even final user.
Fig. 2 illustrates the calculation element 200 that is suitable for realizing various embodiment.As shown in the figure, calculation element 200 can comprise Web-browser 205 and WWW virtual machine (WebVM) 210.In various embodiments, application management framework 100 can be mutual with Web-browser 205, as mentioned above.In this realization, the ability of application management framework 100 can make up with the ability of WebVM 210.
Usually, WebVM 210 can realize local Web host, providing server capability on calculation element 200, and Web-browser 205 is used local applications.When being embodied as server on calculation element 200, WebVM 210 can support a plurality of application programs and visit to a plurality of application programs can be provided.WebVM 210 can be on calculation element 200 server-side code of local runtime such as PHP, Python, PERL or CGI programmed environment.In order to visit the local resource of calculation element 200, WebVM 210 can also pass through SOAP, XML PRC, REST or the like realize WWW method DLL (dynamic link library) and web services expansion.Therefore, calculation element 200 can provide the server end interface in order to the local resource of other managed resource of visit such as file system, telephone directory, media repository (media store), database, hardware component (for example, camera, microphone or the like), software part and/or calculation element 200.This interface can also be realized server-side code, in order to allow the user local resource such as telephone directory, media repository or the like is write.
WebVM 210 can carry out the secrecy provision such as secure HTTP (http) and/or other login method, with the acquisition user rs authentication, thereby prevents unauthorized access and uses application program and/or other resource.Can dispose this WebVM 210, between application program on the calculation element 200 and Web-browser 205, playing instrumentality, thus the local service of agency, and guarantee to have only trusted entity can permit visiting specific function.WebVM 210 can realize various secret model and restrict access based on web, assess so that the Web-browser of visiting the local resource of calculation element 200 from request is carried out function call.
When with WebVM 210 combinations, application management framework 100 has several attendant advantages.For example, one or more web applications 110-1 to 110-N in application management framework 100 can be mutual with local web applications or native application on the home server that operates in the WebVM 210, and they are all in calculation element 200 itself.In calculation element 200 was not connected to time on the network, perhaps in the time that data this locality of web applications need be stored on the calculation element 200, this had advantage.In various embodiments, can have the ability that the home base (home screen) of calculation element is made an announcement by the off line agency that realizes by WebVM 210 such as the resident or non-resident web applications of widget.
In addition, the web applications on the application management framework 100 can use the agency service of WebVM 210, from deriving from its different website access data or the services in website with web applications.Usually, " the initial strategy " that be used for web applications avoids this behavior, thus operate in script on the Web-browser can only access or modification be positioned at data on the website that this script derives from it.When with WebVM 210 combinations, application management framework 100 can provide the mechanism according to this restraint of labour.Then, in WebVM 210, realize suitable secrecy policy.
In addition, WebVM 210 is the high-speed cache desired data frequently, so that it can be used by web applications immediately, utilizes network access data and need not to require the user to wait for.This significantly improves user's overall feeling, even so that the speed on the network of being connected to slow or can not be connected on the network, user still sensory data is always available.
Fig. 2 illustrates a kind of of WebVM 210 and may realize, configuration WebVM 210 is to move on such as the calculation element 200 of mobile device (for example, mobile device 100) or desk-top computer.In various embodiments, can be called as the name of submitting on Dec 18th, 2006 " System for Running Web ApplicationsOffline and Providing Access to Native Services " the 11/612nd, No. 282 U.S. Patent application is described, realize web virtual machine (WebVM) 210, the full content of quoting this U.S. Patent application is for reference.
As shown in the figure, WebVM 210 is 215 directly mutual with Web-browser 205 by connecting, and this connection 215 is achieved by the http network connection that operates on the calculation element 200.Usually, this can by be connected to local host IP address (for example, 127.0.0.1) or the Web-browser 205 of the combination of other proper address or address and port activate.Therefore, WebVM 210 can and provide different application programs in different address port combinations simultaneously on different security classifications, and wherein each application program has different permission level and access right for local resource.
WebVM 210 is connected to device service by the application programming interfaces (API) that comprise Device memory API 238, device file API243, equipment thread API 247 and specialized equipment function and API 253.Note that WebVM 210 utilizes API 238,243 and 247 to connect and is convenient to carry out such as the built-in function of internal storage access, file system and tasks/threads and the resource that is used for transplanting WebVM 210 between different classes of the device and operating system.
Interface 253 can be achieved by one or more first interface of representing the expansion character of WebVM 210.Utilize the binding of SOAP, REST or other web services, operate on the WebVM 210 or pass through the WWW program that Web-browser 205 moves, such as passing through Ajax, can be to these calculation element 200 access specific service.For example, calculation element 200 can comprise the telephone directory or the Digital Media storage vault of the on-board camera that can be used as C++ or Java service.Externally server does not rely on and can and keep the client-server programming model according to WWW programming technique access local service, and under the intact situation of the secret model of WWW, utilize the interface capability of WebVM 210 by interface 253, can make web applications local runtime (for example, mobile device or desk-top computer) on calculation element 200.For example, can be based on the phone book application of WWW by the local phone book on the interface 253 access calculation elements 200, then, in this locality with contact information storage on local SQL database 213, to produce mixed function.Afterwards, same web applications can will send to or store into online portal website by the internet by the phone book information that interface 255 retrieves.
According to some embodiment, interface 253 can comprise equipment caller ID API (Device Caller ID API).Utilize SOAP, REST or other web service binding, operate on the WebVM 210 or by Web-browser 205 operation, such as web program by the Ajax operation, can be to calculation element 202 access special services.For example, calculation element 202 can comprise telephone directory, message registration (call log) and to the access of the calling party's id information on the calculation element 202, they can be used as C++ or Java service.
Be in operation, as passing through the described alternately of path 215 by Web-browser 205 and network agent 260, the several sections of WebVM 210 operation http-server storehouses.Network agent 260 can comprise the rule-based network agent engine of realizing software stack, and this software stack makes the network traffics of input or flows to the external world by interface 255, perhaps flows to http-server 265 by path 245.For example, the XHTML special permission and the application program based on browser local script (in Web-browser 205) operation such as JavaScript or VBScript can be asked new resources, such as new page or the data call of XMLHttpRequest type.This request arrives http-server 265 by network agent 260 from Web-browser 205, to handle.If this request is to give web presence to server (for example, the WWW Advertisement Server), perhaps similar addressable asset search web presence, then http-server 265 can take out this resource, then, sends it back to Web-browser 205.Http-server 265 can obtain resource from one of several native object, and this native object comprises by http-server 265 and the local installation file system that is connected to by path 240 that the local application bundle management device (local application bundle manager) 235 of http-server 265 realizes.
If this request to the server side scripts language (for example is, PHP, Python, Java enterprise version (Java Enterprise Edition), servlet or CGI script) data call or the call back function that carry out, then http-server 265 is delivered to processing engine with this request.For the server side scripts language, this request is sent to the server end language by path 270 and supports processing engine 275, and this server end language is supported processing engine 275 to handle this request, the concrete feature of language is provided and is kept session management information or server end variable.If this request by WWW descriptive language interface (web description language interface) (for example is, SOAP, WSDL, the long-range preface of REST, XML are called or similar functions), then this request can be sent to the special-purpose web services manager 223 that is used for finishing as mentioned above this request function by path 285.Can also utilize the server end language to support processing engine 275 to finish by path 290 calling to special-purpose web services manager 223, thereby make or Ajax application program (for example, only having) or can enjoy the SOAP/REST/Web service plug only based on the code and the logic of server based on the code of browser and the application program of logic.
WebVM 210 also can visit the local SQL database 213 that is connected to web services manager 223 by path 217.Local SQL database 213 has the ability to store end user data, such as hobby, address or profile information.In certain embodiments, local SQL database 213 can stores advertisements and calling party's id information.Support server side scripts or (for example on the processing engine 275 by operating in the server end language by the direct web services software transfer of directly sending by web services manager 223, SOAP calls), the application program that operates on the Web-browser 205 can be visited local SQL database 213.Local SQL database 213 can also be connected to data synchronization engine 225 by path 203.Application resource is stored in the database of being realized by application program bundle management device 235 in application program binding mode, and this application program bundle management device 235 is directly connected to http-server 265 by path 240.The database of being realized by application program bundle management device 235 also is connected to data synchronization engine 225 by path 230.
In various realizations, have the http server parts or do not having under the situation of http server parts, utilize message passing interface 250 and web services manager 223 mutual, also can provide the application program binding 225 services.Can make application program finish direct service like this based on non-socket, thereby with effective means visit local hardware or storer.The example of interface 250 can comprise such as transmitting framework or other suitable message transmission framework in the message of Linux DBus.For example, web services manager 223 can be communicated by letter with application management framework 100 by direct message passing interface.In this model, this applied environment not only can be used for this browser, and can be used for the application program of browser class.In other words, the HTML and the helper storehouse that are provided for carrying out JavaScript/ECMAscript such as the browser supply engine (a browser rendering engine) of webkit, but itself is not a browser application.That is, the user does not think that they are in browser environment.
The whole web applications assets of application program bundle management device 235 management.Application program can provide service by the WWW archive file of a collection of necessary application file that comprises web applications.The WWW archive file can comprise the binding or the encapsulation of the WWW assets of web applications, this web applications comprises: index file, html file, script file are (for example, JavaScript or such as the server script of PHP, Python or Perl), figure (for example, JPEG, GIF), animation, dictionary and other web applications parts.The archive storehouse of utilization such as zip, gzip or zlib or other suitable encapsulation scheme can encapsulate, stores and compress this WWW archive file.
When the stored specific file of a part that can be used as the atom binding that comprises this application assets is asked, network agent 260, http-server 265 and application program bundle management device 235 sequential workings, to resolve this document, just as its host on Internet server.These parts are the same manner work to adopt with browser cache also, maintains secrecy and carry out to resolve identical original strategy.In other words, xyz.foo.com/mypage.xhtml can be locally stored, but unlike accessed with program mode (PM) with the browser cache of (non-programmed control) method work automatically.Be resolved to local address clearly (such as the port that operates on the 127.0.0.1, promptly, http loopback address (http loopback address)) uniform resource locator (URL) is resolved to local Web-browser 205 by http interface 210, and is sent to local Web-browser 205.In some cases, Web-browser 205 does not know clearly the actual address that this document is provided.
Utilize synchronization engine 225, the additional function of WebVM 210 is provided, by path 230 and 203, upgrade the application program of local storage with respectively, such as those application programs in database that is stored in application program bundle management device 235 and the local SQL database 213.The application program of storing in the binding mode is stored on the calculation element 200 with atomic way as single file.Then, synchronization engine 225 can be managed storage, renewal, upgrading and the reservation state of several this application programs.For example, server can be stored the information of the reservation application program that will strengthen about local synchronization engine 225.When this is subscribed when expired, this application program binding will be lost efficacy or be deleted.This function will expand to the application program based on WWW with the application memory type that special-purpose runtime (for example, Java miniature edition (Java MicroEdition)) once was correlated with.
In addition, synchronization engine 225 can be stored, synchronously and the application data of managed storage in local SQL database 213.In typical case's (based on server) application, user data (for example, sharing the photograph of website based on on-line shop (web store) the shopping cart information or the photo of ecommerce) can be stored on this database of this website.Yet, utilize WebVM 210, call by web services, can obtain at once to utilize based on the agreement of WWW ability at local storing applied data.In addition, so synchronization engine 225 can be retracted the standard runtime server that is arranged in internet url with the user data that is stored in the local SQL database 213.Therefore, synchronization engine 225 allows application program and user data all are stored on the calculation element 200 this locality.If calculation element 200 can't find, perhaps the user obtains a device new, that may be upgraded, then this application program of user or application data smoothness seamlessly can be delivered to this new equipment again.
Synchronization engine 225 can also utilize path 220 by network agent 260 visit external the Internet.This can make synchronization engine 225 mobile code assets and be stored in the database of application program bundle management device 235 or user data and the application data in the local SQL database 213, and according to subscribing or providing the business rules of user application to keep them.Because it utilizes binding of database storing application program and user data,, more many or different data to allow the certain user to visit than other user so WebVM 210 can also support different application permissions to different users.
WebVM 210 can also realize the name of submitting on May 8th, 2006 be called " Method for Synchronizing Software Application and UserData for Asynchronous Client-Server and Peer to PeerComputer Networks " the 11/382nd, the various technology that No. 058 U.S. Patent application is described, and it is for reference to quote the full content of this U.S. Patent application.Therefore, WebVM 210 can support to create the off line web applications and off line is produced, afterwards must be consistent and do not exist the relevant user data of data collision to manage with one or more central server.It is information new and which need be appended to central server which version in the different user data is provided like this.This is applied to actual web applications file, so that except the user is produced the user data of significantly online and off line impression, can also make software application synchronous.Can be to allow the mode that equity is synchronous and filedata distributes, distributed data collection.In order to improve the efficient of the available bandwidth on the computer network, can make the quantity of the synchronous Transaction Information of data set reduce to minimum by network with requiring.
WebVM 210 can also realize off line active agency high-speed cache, as the name of submitting on October 16th, 2007 be called " Offline Automated Proxy Cache forWeb Applications " the 11/873rd, No. 305 U.S. Patent application is described, and is for reference at this full content of quoting this U.S. Patent application.The more request of new data can be supported to dispatch and be retransmitted automatically to off line automatic high speed buffer memory.In various embodiments, when this announces application program (publishing application) off line, can utilize scheduling parameter to retrieve representative automatically and announce the renewal version of the request content of application program (for example, be closed, runtime off-duty, VM off-duty or the like).In such an embodiment, even when this announcement application program is not moved, on behalf of the announcement application program of this repetitive schedule operation, WebVM 210 still can carry out the Ajax request of repetition.This announcement parameter can comprise scheduling parameter, and for example, this scheduling parameter comprises: time interval parameter has defined the time interval that request msg is upgraded; History parameters has defined the versions of data of the maximum quantity of high-speed cache simultaneously; The data expiration parameter has been specified the expiration time of data in the high-speed cache; Retry parameter has defined the number of times that retry connects; Or the like.
Utilize to cover and (for example write (overwrite), send not same request if announce application program with scheduling parameter, then cancellation scheduling), (for example utilize the explicit request deletion, send parameter if announce application program, with the request of announcing by the sequence number deletion, the then cancellation request of scheduling automatically), (for example utilize the application program deletion, if user or operating system are deleted this announcement application program, then from this system-kill whole automatically announce and proxy requests relevant) with this application program, utilize program reset (for example, API withdraws from by acting on behalf of announcement program (proxy publisher), to hang up given or all act on behalf of publish request), and/or utilize overtime (for example, if given announcement application program is update agent publish request in such as the preset time of fortnight not, then this is acted on behalf of the announcement program and can make that this repetition proxy requests is aging to be shifted out, stop repetition, and from this formation, delete with any storage data and rule), can stop repetition/automatic dispatch request.
In various embodiments, utilize WebVM 210, in the name space that this application program is determined, can poll more above-mentioned or all announce parameter.This name space poll can automatically perform.For example, if such as the announcement application call WebVM 210 of MySuperWidget.wgt, then Cun Chu inquiry and request msg can be placed in the name space or table of MySuperWidget as prefix.Like this, different application programs can be stored the request with agency, and can keep each result to separate, to avoid naming conflict (for example, two different dealer use identical variable name).For some realization, clearly encourage reverse URL name (for example, com.lampdesk.MySuperWidget).In addition, can also provide the commonname space to the message between communication.
WebVM 210 can also realize application program runtime environment, as the name of submitting on January 4th, 2008 be called " System and Methods for ProvidingGranular Security for Locally Running Scripted Environmentsand Web Applications " the 12/019th, No. 362 U.S. Patent application is described, and the full content of quoting this U.S. Patent application is for reference.Application program runtime environment can provide meticulousr granularity and in the control of function level, have entirely or completely without method but not execute for controlling application program, in this method, this application program or fully free-running operation or moved by total ban.Particularly, application program runtime environment allows to utilize function call grade control based on the application program of script runtime, calls local function in signatory mode.
For the WWW archive file, a collection of WWW assets of web applications can be treated to the single file that to contract and can distribute with secured fashion.When binding WWW archive file, so that the details of API (for example, SOAP calls) to be provided, produce signed instrument (for example, file clear (manifest file)) automatically, when this application program was registered in certification authority, application program was used in signatory mode.When being provided with this machine function (native function) inventory that application program uses, the function that signature mechanism and the last system that this application program is installed can attempt this application program to use with compared by the signature and the function inventory of being speciallyyed permit.Whether the secrecy policy that this provides extra security layers and realized system scope for destination OS violates this strategy to determine whether the function that allows set up applications and application program to use.
The judgement of carrying out function call can be divided in real time and task operating system, so that whole confidentiality is consistent with the total security strategy of this operating system.By making operating system be responsible for allowing function call, the secret control of the platform class of api class can and require the runtime environment only to follow the tracks of which application program by a plurality of runtime environment in what service of request to be achieved.Therefore, this operating system can keep the control to confidentiality and accesses script application program, and the quantity that must defer to the privacy mechanism of various application program runtime environment minimizes.
This application program runtime environment can also be to unify will contract process and virtual machine is installed or is returned based on the application program of script runtime layer and link kernel operating system of mode.Particularly, when permitting set up applications, this operating system can be accepted the application program based on signatory script or bytecode.In addition, utilize the combination of IP address and port address, a plurality of independent web applications that operates on the same local calculation element can tracked and maintenance independence.Therefore, in a plurality of application programs on operating in same equipment, can force to give different security classifications, even and one of application program be " rogue " application program, also can keep the integrality of application program.
WebVM 210 can also carry out the announcement program of acting on behalf of, as the name of submitting on May 7th, 2008 be called " Automatic Conversion Schema for Cached WebRequests " the 12/116th, No. 697 U.S. Patent application is described, and the full content of quoting this U.S. Patent application is for reference.This acts on behalf of the announcement program can realize auto transformation mode, and this auto transformation mode can be so that from announcing that the application's data result is shown application program but not the application program that comes forth is extracted and shown.For example, act on behalf of the announcement program and can receive, with the data result of retrieval from data server from the request of announcing application program.This request can be included in the path and the appended announcement parameter of data server.According to auto transformation mode, this announcement parameter can comprise the decoding parametric relevant with this announcement application program, is used to allow the display application program variable of this data result but not this announcement application program is decoded, and conversion this decoding variable of being used to show.This acts on behalf of the announcement program can comprise the request of appended announcement parameter by high-speed cache, and retrieves the data result from this data server.This acts on behalf of the announcement program can local this data result of storage and the announcement parameter of high-speed cache, and by the data result and the announcement parameter of this high-speed cache are delivered to this display application program, can be to making response from the inquiry of the display application program pair data relevant with this announcement application program.
In exemplary embodiments, this announcement application program can comprise the XHTML widget that writes with JavaScript and XHTML.This is acted on behalf of the announcement program and can receive from the request of passing through the Internet retrieve data result from the remote data server of announcing application program.Can be included in path and appended announcement parameter from this request of this announcement application program such as the remote data server of uniform resource locator (URL).
Comprise the request of appended announcement parameter and pass through to the path of remote data server that by high-speed cache this is acted on behalf of the announcement program and can handle from the request of announcing application program.By the return data result, this remote data server can be made response in a usual manner.This acts on behalf of the announcement program can receive data result from remote data server, and by store the high-speed cache announcement parameter of this data result and this announcements application program in this locality, handles this data result.
This announcement parameter can comprise the decoding parametric relevant with this announcement application program, is used to allow the display application program variable of this data result but not this announcement application program is decoded and it is transformed to the decoding variable that is used to show.Decoding parametric can be announced the variable that minimizes this announcement application program of expression and extract by called after.For example, by only announcing one day high temperature, widget can announce the expression that minimizes of weather application, and perhaps by only announcing the quantity of unread message, widget can announce the expression that minimizes of email application.
Decoding parametric can also comprise data extract rule and data formatting rule, how (for example to be used to indicate this display application program from data result, response text) (for example extracts the web request data in, weather), (for example how to format these data, with the web request data combination of this character string and extraction together) and how to show these data (for example, show such as URL or text additional information and this response text).
Subsequently, this is acted on behalf of the announcement program and can receive inquiry from this display application program.In some cases, this display application program can be from the specific named request request msg.For example, this display application program can be asked and the data of announcing that application program is relevant.In other cases, this display application program can be acted on behalf of whole List Nameses that the announcement program requires non-special use (announcement) request msg of current storage to this.If this display application program does not require specific names, then as acquiescence, this acts on behalf of the announcement program can return whole naming rules.
One receive the available name of this display application procedure Selection after, this is acted on behalf of the announcement program and can will comprise local storage data result and announce that the matching result of parameter deliver to this display application program.By utilizing this extracting rule to extract and this variable of decoding, and utilize this format rule to show this extraction value in a suitable manner, this display application program can be handled this matching result.In certain embodiments, by utilizing this data extract rule to extract variable from this data result and variable and the data formatting rule extracted being delivered to this display application program, this acts on behalf of the announcement program can reduce the desired processing of this display application program.
Usually, when this announcement application program was based on the application program of WWW, this display application program can or can not provide based on the outer mobile device home base (homescreen) of the Web-browser of the standard content of WWW by reader application and be achieved.For example, this display application program can comprise that home base (active home screen), news party device (newsaggregator), billboard (billboard) or the mobile device quotation of C/C++ activity include device (mobile device ticker), this mobile device quotation is included device and is only shown a little information, but it requires the conversion of the data result of high-speed cache to use.Utilize the decoding parametric of announcing that application program provides, this display application program can be transformed to cached data operable form.In a single day this display application program obtains the variable of available formats, and this display application program just can be announced these data again with another kind of form.
According to auto transformation mode, this announcement parameter can comprise decoding parametric, is used to allow this display application program the decode variable of this data result and the variable of the decoding that conversion is used to show.This decoding parametric can comprise that name parameter (for example, var_name) and variable name, is used to the variable that this announcement application program name is extracted.This variable name can be used by external application, with the parameter of this web applications reservation of addressing.This variable name may not be the title of off line proxy requests coding, but it is the title (for example, " Temp_Hi ") of external application indication.
Decoding parametric can comprise the data extract parameter of regularity (for example, extraction_rules, var_extract_regex) and be used for from the instruction of this response or data result information extraction.This announcement application program can make this act on behalf of the announcement program will to be used for storing with this information request from the instruction of this response information extraction.External application (for example, the display application program) or act on behalf of the announcement program and can use this extraction instruction extracts (discovery) by this name parameter (for example, var_name) information of indication from the off line proxy requests of storage.
This extract instruction can with such as the server side scripts language of PERL regex by regular expression (regex) (for example, JSON call): get_bytes[23-28] or " expression formula of capture rule ", be achieved.This extraction instruction can also be achieved by Xpath or XQuery.This extraction instruction can also comprise the XSLT conversion.This extraction instruction can also comprise custom program, and this custom program itself is the instruction that is used to handle this request.For example, be used for to be achieved by the XHTML webpage that contains JavaScript from the storage instruction of this data result information extraction.
Decoding parametric can comprise that the data formatting parameter of regularity (for example, formatting_rules) and be used for showing with the form that external application (for example, this display application program) uses the instruction of the variable in this data result.This announcement application program can make this act on behalf of that the announcement program is represented how to show with one group and the optional independent instruction that formats these extraction data is stored with this information request.This format instruction can comprise character string, and this character string is extracted application program exactly can content displayed in the warning dialogue.This parameter can utilize the different phonetic parameter to duplicate.This format instruction can be the transformation rule collection, and this transformation rule collection is got this extraction value and to show it such as the specific format (for example, if 2007.04.11 is this date, then by regex it being transformed to April 11,2007) by XSLT.This extraction instruction is used for extraction and by this invokes application (for example is positioned at, announce application program) data returned of the server of the URL that forms, and how these these extraction data of format instruction detailed description should appear in the application-specific (for example, display application program) that is positioned at outside this invokes application.
This format instruction can be achieved by the regular expression (regex) that is independent of the regex that extracts this data use.This format instruction can also comprise the XSLT conversion.This format instruction can also be achieved by stored programme according to its oneself right.For example, this stored programme itself can be used as parameter and transmits, and it carries this extraction data, and in the mode that the external application outside this invokes application can use and handle, and shows or formats this extraction data.For example, this stored programme can comprise the script application programe such as XHTML+JavaScript.This demonstration and format instruction can also be achieved by the custom language of creating in order to format these extraction data.This demonstration and format instruction can also authorize string function parameter (capable string function parameter) to be achieved by A C/C++ sprintf ().
This decoding parametric can comprise special parameters, and (for example, set_request_private), this special parameters can be achieved by attribute set, and therefore, the off line proxy requests can not be read by external application.The agency never encourages to realize maintaining secrecy from the request of application-specific by indication, and this announcement application program can have a mind to not expose its data.Like this, can prevent that application-specific from receiving the cached data result of given announcement application program and announcing parameter.Therefore, this announcement application program can be carried out the off line request, and this off line request is to use other application program special-purpose (rather than sharing).
This announcement parameter can comprise event argument or order, and this is acted on behalf of the announcement program and represents the application program outside the Request Processing to carry out action to be used for requirement, so that web applications works as conventional application program, but having background wakes task up.Whether this optional parameter can be carried out depends on security classification and operating system.This event argument can comprise wake_upon (condition) parameter or order, is used for asking this to act on behalf of the announcement program and waking (startup) application program up in the time satisfying specific off line and act on behalf of condition (for example, receiving Email).Whether actual this application program that starts is by privacy clearance or operating system decision.This acts on behalf of the announcement program can the executive operating system service, so that the application program sleep, thereby announce the service that can read and can be sent to other application program.For example, the C/C++ application program can utilize this to act on behalf of the request that the bulletin self of announcement program is upgraded and proposed shared announced result.Usually, when satisfying specific wake-up condition, any application program by compiling (static linkage) can be utilized this to act on behalf of the announcement program and wake up.
This event argument can comprise alert_upon (condition) parameter or order, is used for asking this to act on behalf of the announcement program this operating system being given a warning when satisfying condition (for example, announcing that application program should be noted that).This can make web applications pass through this and act on behalf of announcement program bulletin information.This response can be text or the icon notification on the home base/free screen of the message of bulletin in the dialog box or this device.For example, the script widget application program that operates on the honeycomb telephone device can provide Email to check service, and can set incident, so that when this acts on behalf of announcement program discovery new e-mail, event request is sent to the free screen of this device, check its Email so that this user knows.The warning parameter can also comprise optional alert_msg parameter and optional alert_urgency parameter.
Can be according to the secrecy policy of operating system, the off line powers and functions of application program are announced in restriction.For example, this act on behalf of the announcement program can with mutual secrecy policy of this operating system and permission, the use of announcing application program off line powers and functions with restriction.Whether in certain embodiments, for secret purpose, this is acted on behalf of the announcement program and comprises application signature ID or reference page, be used for operating system decision and respond and wake up or change condition and carry out request.
The name that WebVM 210 can also as submit on April 2nd, 2008 be called " Systemand Methods for Providing Access to a Desktop andApplications of a Mobile Device " the 12/061st, No. 179 described being achieved of U.S. Patent application, the full content of quoting this U.S. Patent application is for reference.Therefore, host's one or more web applications on calculation element 200 is configured, and can be conducted interviews by the Web-browser that operates on the terminal of separating with this calculation element 200.In various realizations, the UI that this terminal shows can comprise with the UI of this calculation element 200 and compares the interface that is enhanced.For example, can dispose the application program on the mobile device, UI with center telephone interface that the browser that is included in this mobile device is provided, and dispose the application program on this mobile device, with when being connected to the browser of this terminal, the UI that comprises enhancing (for example, big/better/difference) interface is provided.Usually, application program can be provided in the simplifying interface that shows on this mobile device and utilizes the enhancing interface of bigger and/or more useful assets (for example, than giant-screen, full size keyboard, mouse, internal memory, browser plug-in, hardware or the like) advantage of this terminal.For example, when being in telephony mode, use on the mobile device of four-way navigation and 2 soft keys application program can to use such as the navigation hardware of full keyboard and mouse and this terminal than giant-screen on show that the terminal of more contents provides enhancing UI.
Employing can allow multi-functional data application program or even the bigger legacy application of mobile device transmission such as little widget based on the technology of WWW.For example, in some cases, can dispose mobile device, with host and operation PC application program.In this case, when by this terminal access, the enhanced edition of this application program can be moved, and when by this main frame mobile device visit, the simplification version of this application program can be moved.Can dispose this application program, to be supported in two kinds of environment that need not to require to revise this application program in this processing.Like this, this application program can detect its environment, and when when being used by this mobile device and by this terminal, using, the operation difference of this application program.
Fig. 3 illustrates an embodiment of the logic flow 300 that is used for initialization application management framework 100.Can and/or install actuating logic flow process 300 by various systems, and logic flow 300 can be achieved according to the requirement of one group of given design parameter or Performance Constraints by hardware, software, firmware and/or their combination in any.For example, one or more operation of logic flow 300 can be achieved by the executable program instructions that logical device (for example, computing machine, processor) is carried out.
In this embodiment, the user indicates Web-browser 105 to start working, with initialization application management framework 100 (step 302).For example, start Web-browser 105 by utilizing the order line independent variable, perhaps by uniform resource locator (URL) is provided, agreement, address and the title of the script that the user can specified application Governance framework 100.Web-browser 105 utilizes this information to start application management framework 100 (step 304).
In this exemplary embodiments, application management framework 100 its documentation roots of scanning are to find available web applications assets (step 306).Then, the web applications assets (step 308) of application management framework 100 loadings first web applications.If additional web applications can be used (step 310), then application management framework 100 repeats this processing (step 312) to each web applications.When all WWW assets of whole web applications are loaded (step 314), application management framework 100 activates first web applications (step 316) and is ready to receive user's incoming event (step 318).
We understand that logic flow 300 illustrates the typical sequence that is used for initialization application management framework 100, and can utilize replacement step that one or more web applications is installed in this application management framework 100.For example, in some cases, web applications can directly insert in the source code of this application management framework 100.In addition, perhaps as a kind of selection, when the user started or asks, WebVM 210 can store one or more will be by the web applications of these application management framework 100 loadings.
In various embodiments, a series of web applications can be stored among " cookie " on user's the calculation element, therefore, can reset or dispose this web applications.In some cases, can pass through server end logic (for example, SOAP, REST, JSON etc.) this series web applications is provided.Some embodiment can utilize the server end language, and (for example, PHP) making up can be by the web applications starter of user and/or web applications developer customization.Specific embodiment can also be saved in consumer taste, configuration or web app data on user's set (for example, by WebVM 210) or on the webserver in the local database of realizing.In addition, this application management framework 100 can be compatible such as Adobe PDF,
Figure GPA00001009992500291
" plug-in unit (plug-in) " technology of VMRL or the like.
Fig. 4 illustrates an embodiment of the logic flow 400 of these application management framework 100 processing events.Logic flow 400 can be carried out by various systems and/or device, and it can be achieved by hardware, software, firmware and/or their combination according to the requirement of one group of given design parameter or Performance Constraints.For example, one or more operation of this logic flow 400 can be achieved by the executable program instructions that logical device (for example, computing machine, processor) is carried out.
In this embodiment, 100 pairs of one or more incidents such as the user interactions incident of this application management framework are handled.After having loaded this application management framework 100 and web applications, this application management framework 100 just is ready to processing events (step 402).In this exemplary embodiments, the user can be by the button trigger event (step 404) of clicking the mouse on the web applications icon.This application management framework 100 is caught user's input (step 406).Then, this application management framework 100 makes the icon highlighted (step 408) of the web applications of selection, and activates the web applications of selecting (step 410).In case web applications is activated, this application management framework 100 is just made response (step 412) to this customer incident.
If incident occurs in the web applications of selection (step 414), then this application management framework 100 can be delivered to this incident the web applications (step 416) of selection.If incident occurs in the user interface of this application management framework 100, click different web applications icons (step 418) such as the user, then this application management framework 100 can be handled this incident (step 420).In this exemplary, this application management framework 100 makes the icon highlighted (step 408) of the web applications of selection, then, proceeds the subsequent treatment of this logic flow 400.
Fig. 5 illustrates the mobile device 500 that is fit to implement various embodiment.As shown in the figure, mobile device 500 can be achieved by combination handheld computer and the mobile phone that is called as smart phone sometimes.We understand that this mobile device 500 can comprise the calculation element with hand-held shape coefficient.Although utilize the mobile device of realizing by smart phone 500 as an example specific embodiment has been described, but this mobile device 500 can be by the subscriber equipment (UE) or the wireless computing device of other type, such as mobile phone, PDA(Personal Digital Assistant), combination with mobile phones/PDA, hand-held device, mobile unit, subscriber board, game machine, transmitting device (messaging device), multimedia player, pager or other suitable mobile communications device, be achieved.
Usually,, can dispose this mobile device 500, to support or to realize cellular voice communication, wireless data communications and computing power according to described embodiment.This mobile device 500 can comprise the various parts that are used to realize this function, for example, various parts can comprise: printed circuit board (PCB) (PCB), one or more processor (for example, primary processor, radio processor), one or more transceiver (for example, the voice communication transceiver, the data communication transceiver, the GPS transceiver), internal memory (for example, volatibility or non-volatile, movably or immovable storer, can wipe or non-erasable memory, can write or recordable memory), inside and/or exterior antenna, rechargeable battery, or the like.
By utilizing the mobile network to communicate, such as CDMA (CDMA) network, global system for mobile communications (GSM) network, north American digital cellular formula (NADC) network, time division multiple access (TDMA) (TDMA) network, expansion TDMA (E-TDMA) network, arrowband advanced mobile phone service (NAMPS) network, such as the third generation (3G) network of wideband CDMA (WCDMA) network, CDMA-2000 network, universal mobile telephone system (UMTS) network or the like, this mobile device 500 can be realized voice and wireless data communication function.
This mobile device 500 can also support to comprise wireless wide area network (WWAN) data communication services of the Internet access.The example of WWAN data communication services can comprise: evolution-data-optimized or evolution-only data (EV-DO), evolution data and voice (EV-DV), CDMA/1 * RTT, the GSM (GSM/GPRS) with general packet radio service system, the global evolution (EDGE) that strengthens data rate, high-speed downlink packet insert (HSDPA), High Speed Uplink Packet inserts (HSUPA) or the like.
According to IEEE (IEEE) 802.xx serial protocols, such as IEEE 802.11a/b/g/n series standard agreement and modification (being also referred to as " WiFi "), IEEE 802.16 series standard agreements and modification (being also referred to as " WiMAX "), IEEE802.20 series standard agreement and modification or the like, this mobile device 500 can be realized the wireless lan (wlan) data communication function.
Can also such as according to bluetooth sig (SIG) serial protocols, technical manual, configuration file (profile) or the like, provide according to short-range wireless networking
Figure GPA00001009992500311
The individual radio LAN (Local Area Network) (PAN) of data communication services is arranged this mobile device 500, to carry out data communication function.Other example of short-range wireless networking can adopt infrared (IR) technology or near-field communication technology and agreement, such as electromagnetic induction (EMI) technology that comprises passive or active radio-frequency (RF) identification (RFID) agreement and device.
This mobile device 500 can comprise various I/O (I/O) interface, is used for connecting with other device.For example, this I/O interface can comprise: port connected in series, IR port,
Figure GPA00001009992500321
Interface, network interface, WiFi interface, WiMAX interface, cellular network interface, wireless network interface card (WNIC), transceiver or the like.According to described embodiment, this connection can utilize various wired and/or wireless communication mediums to be achieved.Although utilize particular communications media to describe certain typical embodiment as an example, we understand, utilize various communication medias and correlation technique, can be implemented in the principle and the technology of this discussion.
In certain embodiments, connection can comprise wired connection, (for example, links such as USB (universal serial bus) (USB) connection (for example, usb host, USB net), serial bus interface (SBI)
Figure GPA00001009992500322
) or other suitable wired connection, with when very close, this mobile device 500 is directly connected to (for example, mooring, insertion) device.In other was realized, connection can comprise that short-distance radio (for example, connects
Figure GPA00001009992500323
Connection, IR connect), with when very close, this mobile device 500 is communicated to connect auto levelizer.In some implementations, according to described embodiment, network between this connection can comprise this mobile device 500 and install is connected, such as WiFi connection, WiMax connection, Ethernet connection, cellular network (for example, 1G/2G/3G) connection or other suitable integrated data or exchange connection.
According to described embodiment, this mobile device 500 can comprise the various software programs such as system program and application program, so that computing power to be provided.The canonical system program can include but are not limited to: comprise: operating system (OS), device driver, programming tool, utility routine, software library, application programming interface (API) or the like.For example, typical operating system can comprise Palm
Figure GPA00001009992500324
OS,
Figure GPA00001009992500325
OS, Linux OS, Symbian OS TM, Embedix OS, vedio on radio binary operation environment (BREW) OS, JavaOS, wireless application protocol (wap) OS, or the like.
This mobile device 500 can provide various application programs, carries out one or more specific tasks to allow the user.Typical application can include but are not limited to: comprise: web browser application (for example, Web-browser 105), telephony application (for example, honeycomb fashion, VoIP, PTT), networked application programs, message application (for example, Email, IM, SMS, MMS), the address list application program, calendar applications, word-processing application, spreadsheet application, database application, media application (for example, video player, audio player, multimedia player, digital camera, video camera, media management), location-based service (location based service (LBS)) application program, game application or the like.This application program can comprise or is achieved by executable computer program instructions, this executable computer program instructions is stored on the computer-readable recording medium such as volatibility or nonvolatile memory, can and carry out by the processor retrieval, to realize the operation of this mobile device 500.This storer can also be realized the data structure (for example, array, file, form, record) of various databases and/or other type, is used to store for the processor of this mobile device 500 and/or the data of other unit use.
This mobile device 500 can comprise and is used for various parts or the device mutual with application program, import the keypad 502 of data and/or order and be used to show one or more user interface and receive the display 504 (for example, touch-screen) that the user imports such as being used to.We understand, this mobile device 500 can comprise various parts or the device that uses with one or more application program, such as stylus, button (for example, enter key, preset and hot key able to programme), button (for example, Action Button, multidirectional the navigation button, preset and quick botton able to programme), switch, microphone, loudspeaker, wear audio earphone, video camera, or the like.
According to various embodiment, this mobile device 500 can comprise application management framework 100, and as mentioned above, this application management framework 100 is by Web-browser 105 realizations and comprise a plurality of web applications 110-1 to 110-N.In some implementations, this mobile device 500 may further include the WebVM 210 mutual with this application management framework 100.
As shown in the figure, this mobile device 500 can show Web-browser UI 505, as the example of Web-browser 105.This Web-browser UI 505 can show the web applications UI 510-1 corresponding to web applications 110-1.In this embodiment, this web applications 110-1 can comprise movable clock application program or widget, and this web applications UI 510-1 can show local date and time and other local time of this mobile device 500.This Web-browser UI 505 can also show the application management framework UI 515 that is provided for the interface that switches rapidly and receives one group of conventional input control between web applications 110-1 to 110-N.In various realizations, this Web-browser 105 can comprise the inside widget control of being realized by mobile device 500.
In one or more embodiment, this application management framework UI 515 can be realized that wherein according to described embodiment, M is arbitrarily suitable positive integer value by the menu bar that comprises set of diagrams mark 520-1 to 520-M.The menu bar of this application management framework UI 515 can be achieved by the application program upset pallet (flip tray) that comprises page turning (page flipping) UI, so that as to (for example such as the single touch screen, by or slide), button (for example presses, the navigation button, special-purpose hardkey, soft key) or with response such as the unique user incident of the auxiliary widget interaction that singly refers to operate rotating disk (jog-dial wheel), the user can pass through web applications or widget page turning very apace.Utilize touchscreen events (for example, on icon, touch or push), button event (for example, mobile device 500 can have special-purpose hardkey or the soft key button that is used to select down one page and prevpage), singly (for example refer to operate rotating disk incident and screen event, by the click icon) or the combination in any of other random navigation incidents, the user can also select or enter specific web applications.In some implementations, icon pallet (icon tray) itself can be hidden automatically, to keep available screen area.In this case, when the user utilized above-mentioned incident to switch between web applications, only moment manifested the icon pallet.
Described as this exemplary embodiments, this group icon 520-1 to 520-M comprises be used for the icon 520-1 to 520-6 that switches between movable web applications.As shown in the figure, icon 520-1 to 520-6 can be achieved by clock icon 520-1, WWW the mail icon 520-2, weather icon 520-3, search icon 520-4, NEWSERADER icon 520-5 and quotation icon 520-6.For example, icon 520-1 to 520-6 can be corresponding to movable web applications or widget, such as the web applications 110-1 to 110-6 that is realized by clock application program 110-1, WWW mail applications 110-2, weather application 110-3, search for application 110-4, news application program 110-5 and quotation application program 110-6.Yet we understand that the arrangement of icon 520-1 to 520-6 and order needn't be necessarily corresponding with the order of web applications 110-1 to 110-6.For example, in certain embodiments, the user can be provided with right of priority (preference), draw, moves, adds, removes and/or customize the set of diagrams mark that is shown by this application management framework UI 515.
We understand that also position component and the shape of this application management framework UI 515 are not limited to embodiment shown in Figure 5.By revising the graphic element or the layout parameter of lower floor's web presence, can easily change the attribute of this application management framework UI 515, and the web presence editor can customize the attribute of this application management framework UI 515 easily.For example,, this application management framework UI 515 is shown, also can with vertical bar it be shown along the left side of this Web-browser UI 505 with horizontal bar although in the bottom of Web-browser UI505.This application management framework UI 515 can also often be hidden.As another example, in fact, can use the web applications icon of any amount, they correspond respectively to web applications.
To describe other exemplary embodiments below, in this exemplary embodiments, same Ref. No. is represented identical unit, as mentioned above.We understand that any feature, structure or the characteristic described according to specific embodiment all are not limited to this embodiment, and can not think that they have any restriction to the purposes of this embodiment or the scope of function.
Fig. 6 A illustrates the embodiment of the Web-browser UI 505 that shows web applications UI 510-2 and application management framework UI 515.In this embodiment, this application management framework 515 shows the set of diagrams mark 520-1 to 520-M corresponding to web applications 110-1 to 110-M.As shown in the figure, on Web-browser UI 505 interfaces, the user can see the web applications UI 510-2 corresponding to the web applications 110-2 that selects.
In this exemplary embodiments, the relative size of icon 520-2 is bigger than other icon, and this represents that its corresponding web applications 110-2 is selected, and on this Web-browser UI 505, the user can see web applications UI 510-2.We understand, in other embodiments, utilize the characteristic outside the size, such as the combination of shape, brightness, color, highlighted or the like and/or these characteristics, the icon and the visible web applications UI of the web applications selected can be differentiated.
Fig. 6 B illustrates another embodiment of the Web-browser UI 505 that shows web applications UI 510-2 and application management framework UI 515.In this embodiment, this application management framework UI 515 comprises that the icon corresponding to the web applications of current selection is arranged in the layout at the center of this application management framework UI 515.In this exemplary embodiments, the relative size of icon 520-2 is bigger than other icon, and this represents that its corresponding web applications 110-2 is selected, and on this Web-browser UI 505, the user can see web applications UI 510-2.
Shown in Fig. 6 B, the layout of this application management framework UI 515 allows mobile device 500 management to be assemblied in the web applications that the Web-browser UI 505 interior number of icons on the miniscope 504 are Duoed than single.In an example, can dispose this application management framework UI 515, (for example with display icon 520-1 to 520-M, M=5), and base application Governance framework 100 comprises a plurality of web applications, such as web applications 110-1 to 110-N (for example, N=9)., do not dwindle the icon of web applications 110-1 to 110-N, and throbber and five other icons such as icon 520-2 only are shown in order to be assemblied in this application management framework UI 515.
In this embodiment, in this view, be disposed in the center of this application management framework UI 515 corresponding to the icon 520-2 of the web applications 110-2 of current selection and web applications UI 520-2.On the right side of this selection icon 520-2 icon 520-3 corresponding to next web applications 110-3.In the left side of this selection icon 520-1 icon 520-1 corresponding to previous web applications 110-1.
Application management framework UI 515 shown in Fig. 6 B realizes that also module is around (modulus wrap-around) function.For example, when the user advanced to left side or right side, some icons that are presented on this application management framework UI 515 were replaced by other icon.For example, after scrolling is by the icon corresponding to last web applications, corresponding to the icon of first web applications by module around manifesting.
In Fig. 6 B, this group icon that this application management framework UI 515 shows is ordered as icon 520-N, icon 520-1, icon 520-2 (bigger), icon 520-3 and icon 520-4.As mentioned above, icon 520-2 is selected.The icon 520-4 on right side that is presented at icon 520-3 is corresponding to web applications 110-4, and it is the next one that comes after the web applications 110-3 in order.The icon 520-N that is presented at icon 520-1 left side is corresponding to web applications 110-N, and it is last web applications among this group web applications 110-1 to 110-N of application management framework 100 encapsulation.
Utilize this scheme, the icon of current web applications is shown in the centre, such as icon 520-X, 1≤X≤N wherein.If icon that this group shows is included on 5 icons, then, preceding two icons such as icon 520-(X-1) and icon 520-(X-2) are shown in the left side of the icon of this current web applications.Right side at the icon of this current web applications illustrates following two icons such as icon 520-(X+1) and icon 520-(X+2).For example, if corresponding to the icon 520-6 of web applications 110-6 with selected, then this group display icon is ordered as icon 520-4,520-5,520-6,520-7, and 520-8.
Fig. 7 A-7F illustrates the embodiment of web applications and application management framework user interface.In Fig. 7 A-7F, application management framework UI 515 comprises icon 520-1 to 520-6, this icon 520-1 to 520-6 is by the clock icon 520-1 that corresponds respectively to movable web applications or widget, WWW the mail icon 520-2, weather icon 520-3, search icon 520-4, NEWSERADER icon 520-5, and quotation icon 520-6 is achieved, and this activity web applications or widget are by clock application program 110-1, WWW mail applications 110-2, weather application 110-3, search for application 110-4, news application program 110-5, and quotation application program 110-6 is achieved.
Fig. 7 A illustrates when icon 520-1 is selected, the embodiment of the web applications UI 510-1 (for web applications 110-1) that can show.Fig. 7 B illustrates when icon 520-1 is selected, the embodiment of the web applications UI510-2 that can show (for web applications 110-2).Fig. 7 C illustrates when icon 520-3 is selected, the embodiment of the web applications UI 510-3 (for web applications 110-3) that can show.Fig. 7 D illustrates when icon 520-4 is selected, the embodiment of the web applications UI 510-4 (for web applications 110-4) that can show.Fig. 7 E illustrates when icon 520-5 is selected, the embodiment of the web applications UI 510-5 (for web applications 110-5) that can show.And Fig. 7 F illustrates when icon 520-6 is selected, the embodiment of the web applications UI 510-6 (for web applications 110-6) that can show.
By click or select special icon on application management framework UI 515 menu bars, this user can be switched rapidly between the web applications UI of web applications 110-1 to 110-6 and demonstration 510-1 to 510-6.For example, as the response that single touch or key are pressed, the web applications UI 510-1 to 510-6 that the user can show with rapid continuation mode convergent-divergent.
We understand that web applications UI 510-1 to 510-6 is an exemplary view.For example, in this application management framework 100, can contain the web applications 110-1 to 110-N of any amount, and can utilize random order to arrange web applications 110-1 to 110-N and respective icon thereof.
In various realizations, the pivoted menu bar of the application program of application management framework UI 515 helps the user to determine advertisement.Shown in Fig. 7 E, the exemplary embodiments of web applications UI 510-5 comprises banner 700.Shown in Fig. 7 F, the exemplary embodiments of web applications UI 510-6 itself comprises sponsored advertisement 702.
Fig. 8 illustrates the embodiment of the communication system 800 that is suitable for implementing various embodiment.Although in order to say something, Fig. 8 illustrates the unit of limited quantity, we understand that according to described embodiment, communication system 100 can comprise unit more or unit still less and other type.Requirement according to one group of given design parameter or performance restriction, the unit of communication system 800 can comprise physics or the logic entity that is used to the information of transmitting, this physics or logic entity are by hardware component (for example, calculation element, processor, logical device), executable computer program instruction (for example, firmware, software) or their combination carried out by various hardware componenies realize.
As shown in the figure, communication system 800 can comprise provider of portal website 802, this provider of portal website 802 realizes being used to store the widget picture library (gallery) 805 of widget 810-1 to 810-Z, and wherein according to described embodiment, Z is any positive integer value.In various realizations, web applications developer 815 can upload to one or more widget widget picture library 805.This web applications developer 815 can get in touch with the founder or the announcement program of web applications.Subsequently, the user can download to this mobile computing device 500 from provider of portal website 802 with one or more widget.
In some implementations, according to pre-determined model, the user can download to this mobile device 500 with various web applications or widget, so that the user can obtain to reside in web applications and widget on the device.In one or more embodiment, this widget obviously can be upgraded by the web applications developer 815 of provider of portal website 820 and/or this widget of host.In some cases, specific web applications or widget can only be shown or lasting short cycle, such as during particular event (for example, entertainment event or such as the sport event of the Olympic Games).
In various embodiments, widget does not need to reside on this mobile device 500, but can provide in real time from the server of provider of portal website 802.For example, the user can sign in to this provider of portal website 802, and can be such as being remembered automatically by Web-browser cookie or manually being remembered by registration and password.This user's widget can be fluidized, and continues to retain to this mobile device 500 or desktop computer browser from this provider of portal website.
In various realizations, can in this provider of portal website 802, dispose widget, and this configuration information and this widget can be sent to mobile device 500 together.When the user bought new equipment, the previous widget that confirms of this user can be sent to this new equipment.If this device is stolen or lose, then the widget of this user on old device can or close by long-range elimination.In one or more embodiment, the user can use its widget simultaneously on several different devices or desk-top computer.Each device can not show identical widget.That is, this user can dispose different devices, to show different widget.This configuration can be that device is relevant, perhaps can be based on the time, based on right of priority and/or based on other factors.
If this widget is at local storing applied data or configuration data, then these data can return to this provider of portal website 802.For example, the user can dispose quotation and include device widget, to follow the tracks of 5 specific security.Then, this widget is sent to mobile device 500.On this mobile device 500, this user utilizes widget screen control to change two stock codes in these stock codes.These N. B.s are sent provider of portal website 802 back to with being stabilized, as the part of user to this widget configuration.This allows to offer other device of this user by optional, renewal automatically.Backup Data can produce automatically, and need not user intervention.In some cases, this Backup Data can be optional according to the widget type of application.
According to various embodiment, in order to produce advertising income, this web applications developer 815 can have several selections.For example, a kind of advertisement selection comprises that 802 couples of widget of this provider of portal website add banner.In some cases, this provider of portal website 802 can add banner to widget at run duration.In other cases, this web applications developer 815 can comprise banner in widget.The example of realizing this selection is the web applications UI 510-5 that comprises banner 700.The income that produces when banner 700 is clicked can be shared with web applications developer 815.
Another kind of advertisement selection is that the sponsored free advertising of widget is realized.In this case, web applications developer 815 can be to these provider of portal website 802 defrayments, to close advertisement.Then, web applications developer 815 has whole screen and the user experience of this widget.This widget can effectively be realized by a large-scale mutual best brand of product advertisement.This widget is valuable to the user, allows the marketeer issue their message simultaneously.In some cases, widget can comprise that direct point enters the website of this brand.The example of realizing this selection is that itself comprises the web applications UI 510-6 that subsidizes widget.
According to described embodiment, can realize various income Share Model.For example, widget can adopt cost per thousand (CPM), every click cost (CPC), each cost ((cost per) CP) application program to use a model alternately, or the like.CMP, CPC and CP application program use a model and can be based upon the mutual screen area that keeps of advertisement.When producing the advertisement demonstration in web applications developer 815 its application program on this mobile device 500, this web applications developer 815 can collect usage charges.For example, for its application program in the each installation on the device, for the action of generation after advancing at the use/user interactions of its application program on the device, for the advertising income that on this device, produces and/or for advertisement or widget point (for example by its application program, after point enters the commodity website, follow-up purchase commodity or service) income that produces, this web applications developer 815 can collect usage charges.
In the embodiment shown in fig. 8, the user of mobile device 500 is endowed the widget such as web applications UI 510-5.For example, this web applications UI 510-5 can be corresponding to the web applications that contains advertising area at its screen area of a part.In this advertising area, can fill based on the advertisement that represents, such as banner 700, can be according to CMP to its monetization.This banner 700 can be movable (for example, hyperlink), can utilize the keypad of mobile device 500 or touch the activation control and click or select this banner 700 thereon.
In this exemplary embodiments, when this user and banner 700 mutual (for example, clicking), another UI 820 appears in the Web-browser UI 505.For example, this UI 820 can be the commodity website relevant with this banner 700 or other the conventional website on the Internet.Widget can be connected to website, commodity website or another website or the server that belongs to this web applications developer 815, so that other service to be provided.In some cases, UI 820 can be the previous hidden screen that is stored in the widget, can see more in detail like this advertising message or user can with the mutual interactive screen of advertisement.
This widget can be mutual with the mode and the web applications on the server of online or off line.For example, in various realizations, can high-speed cache ad content (for example, one or more dark link), so that when off line, can visit the advertisement content of clicking.User/advertisement alternately can be by immediately (for example, with online mode) or delay (for example, with off-line mode) be submitted to advertising provider 825 server.Legal in order to ensure the advertisement that off line and extension are seen/clicked, can carry out the checking sequence, be used to wait a moment report.For example, when the user clicked advertisement during in the widget off line, this click had been carried out record with timestamp.Can make up and location identifier, timestamp and device certificate in the hash mode.This hash can compare with the device certificate subsequently, to guarantee and this timestamp/device coupling.When online, the server of this encapsulation being delivered to advertising provider 825 is used for the advertising income payment processes.
In certain embodiments, according to caller id (caller ID) information, can select specific WWW advertisement to be presented on the web applications that runs on the mobile device 500.Caller id (caller ID) information can be to the incoming call of this mobile device 500 or obtain from the exhalation of this mobile device 500.Ad-request can be produced according to calling party's id information by this mobile device 500, and is sent on this advertising provider's 825 the WWW Advertisement Server.This ad-request can be immediately or put off until after time send on the WWW Advertisement Server.This ad-request can be used to inquire about this WWW Advertisement Server with calling party's id information.
As the response to this ad-request, this WWW Advertisement Server can be according to caller ID Information Selection relevant advertisements, and the WWW advertisement of being correlated with can be sent to this mobile device 500.This mobile device 500 can receive the WWW advertisement relevant with this calling party's id information from this WWW Advertisement Server, and with this WWW ad storage in the local data base (for example, SQL database 213) of this mobile device 500.
On this mobile device 500, this WWW advertisement can be inserted web applications.This WWW advertisement may be displayed in telephone user interface software or the stand-alone software application.During calling out, the WWW advertisement can be presented on the user interface such as telephone user interface of mobile device 500 immediately.Can also after time storage and show this WWW advertisement.
When the user saw and/or click this WWW advertisement, this mobile device 500 can write down mutual (for example, see and/or click) of this user and this WWW advertisement.User/advertisement can (online mode) or delay (off-line mode) be submitted to the WWW Advertisement Server by immediately alternately.In some implementations, the user can receive with the WWW advertisement and carry out mutual credit branch (credit).For example, can realize the income that obtains from the advertiser partly or the bankroll user have the property right of mobile device or the business affairs method of service.In some cases, can click the number of times of advertisement, " page browsing (pageview) " number of times of advertisement such as the user according to various standards, or the like, the credit branch collected from the advertising provider.In some cases, can collect the credit branch from the each side outside the advertising provider (for example, trader, web applications developer or the like).
In various realizations, described embodiment makes the advertiser obtain valuable information about concerning between the buyer and seller.In addition, can also gather this information effectively, at an easy rate.This can make the advertiser see clearly the buyer-seller relationship of particular type soon, and according to individual consumer's details, makes with clearly defined objective advertisement.For example, the advertiser can determine the targeted customer according to analyze the relation that may exist between client and the seller or service provider.This advertiser can also provide the special quotation of usefulness to the existing customer, perhaps carries out special quotation from rival to potential customers.
Calling party's id information of incoming call or exhalation can provide the clue of usefulness to inquiring about relevant additional information.For example, this user can benefit from the nearest news article of knowing the dealer of whether calling relevant for he or she.In these cases, the user of this mobile device can be benefited from the additional information of context-sensitive, and the advertiser may very interested potential user be benefited to the target quotation that the advertiser provides from contact.
In some implementations, when friend called out, this user can be benefited from remind about birthday of this calling party, anniversary etc.This information can produce the inquiry to Advertisement Server, causes the user who is presented on the web applications user interface on this mobile device is provided quotation.Quotation in the web applications can directly link advertiser's website (for example, hyperlink), comprises the map hyperlink, carries out the hyperlink of online reservation and the telephone link of directly dialing the number from this mobile device 500.All this functions all are available, and do not require that the user stops phone application, starts independent Web-browser or other software application, thereby have significantly quickened user interactions.
We understand, can have many advertisement modification.For example, this web applications can provide Additional Services, promptly, finish book keeping operation by credit card storage or that manually insert, by directly being kept accounts, mobile bill/operator's account (carrieraccount) of user finishes book keeping operation, the option service (for example can be tied on the telephone number of receiving or call out, be the birthday of Sam today, should you give a present thing to him?), the user can be when calling out or after certain time from on-line shop/products catalogue, buy something, or the like.
In some implementations,, can in database, inquire about another conversation participant's telephone number, to determine that this number is whether on " supervision inventory " for security purpose or according to telephone subscriber's hope.Then, suitable message can produce in web applications and show, for example, and when when soliciting contributions tissue and learn the calling party.Can in advertising database, inquire about another conversation participant's telephone number, with the quotation of identification rival product.During conversing or after certain time, can utilize telephone number of another conversation participant to start the communication of other form.For example, the part of web applications screen can become the instant messaging session with another conversation participant, so that text, picture or file can directly exchange between the participant.
We understand that also conversation can comprise plural participant.For example, web applications UI can be divided, showing all or information of some conversation participants, and text, picture or file can be allowed between the participant, to transmit.In addition, all participants all can see identical demonstration on its web applications user interface separately, and perhaps they can see and the possible different different demonstration of WWW advertisement of being inserted.
Can realize other advantage by from caller ID mark or subsequent query acquired information.Need not to use immediately information from caller ID mark or subsequent query acquisition.On the contrary, even be not connected to network immediately when the mobile device phone, when perhaps not being covered, such as aboard or in the tunnel, this information still can be stored or high-speed cache, for use at the appropriate time subsequently by honeycomb.
Other advantage is can directly be used in the web applications of this mobile device by the information that this caller ID mark or subsequent query obtain.This is favourable to the user because with the interaction models of web applications (for example, utilize stylus, keypad, mouse etc., click hyperlink, rolling webpage or the like, import) be that this user is familiar with.In addition, WWW announces that the merchant is familiar with the web applications programming, therefore, and need be at the special programming skill of this user's mobile device.In addition, this web applications provides out of Memory or WWW resource directly is linked to the simple mechanisms of calling party's id information, and needn't or wait for that software application starts (" bootstrapping ") by the switch application program.
We understand, according to described embodiment, provider of portal website 802, web applications developer 815 and advertising provider 825 can comprise or use any suitable calculation element with computing power and/or communication capacity.The typical calculation device can include but are not limited to: comprise: mobile device, personal digital assistant, mobile computing device, smart phone, cell phone, mobile phone, unidirectional pager, bidirection pager, transmitting device, computing machine, personal computer (PC), desk-top computer, laptop computer, notebook, handheld computer, server, server array or server-centric (server farm), Web server, the webserver, Internet server, workstation, small-size computer, mainframe computer, supercomputer, network appliance, the WWW equipment, distributed computing system, multicomputer system, system based on processor, consumer electronics product, programmable consumer electronics, TV, Digital Television, set-top box, WAP, the base station, subscriber board, the mobile subscriber center, the wireless network controller, router, hub, gateway, bridge, switch, perhaps their combination.
Fig. 9 illustrates the logic flow 900 that is used to produce advertising income, and it illustrates the operation of being carried out by one or more embodiment described here.According to one group of given design parameter or Performance Constraints, logic flow 900 can be carried out by various systems and/or device, and can be achieved by hardware, software, firmware and/or their combination in any.For example, one or more operation of logic flow 900 can be achieved by the programming instruction carried out that logical device (for example, computing machine, processor) is carried out.
In this embodiment, logic flow 900 has been demonstrated in order to produce advertising income, mutual between mobile device 500, provider of portal website 902, web applications developer 815 and the advertising provider 825.In various realizations, user's mobile device 500 can comprise application management framework 100 and selectively comprise WebVM 210.
When web applications developer 815 write web applications, logic flow 900 started (step 901).Web applications developer 815 these advertising providers's (step 902) of registration, and provide any necessary information and advertising provider's 825 desired qualification certificates, so that web applications developer 815 can obtain advertisement from advertising provider 825 theres.In one embodiment, in order to ensure the security and the integrality of affairs between web applications developer 815 and the advertising provider 825, between web applications developer 815 and advertising provider 825, use suitable safety certificate.Therefore, web applications developer 815 is included in (step 903) in the web applications with WWW link or script, and during with the box lunch request, web applications can obtain advertisement from advertising provider 825.
Then, web applications developer 815 uploads to provider of portal website 802 (step 904) with this web applications.In various realizations,, between developer 815 and provider of portal website 802, use suitable safety certificate in order to ensure the security and the integrality of affairs between this developer and this provider of portal website.The information of provider of portal website 802 these web applications of storage and/or this web applications necessity of obtaining from server.
Wish to utilize the user of available web applications that application management framework 100 and optional WebVM 210 are installed on the mobile device 500 (step 905) from provider of portal website 802.In one embodiment, in order to ensure the security and the integrality of affairs between provider of portal website 802 and the user, this user utilizes suitable safety certificate to be registered to provider of portal website 802.By portal website, this user can browse available web applications and select web applications action (step 906).This web applications can be downloaded and is installed on the mobile device 500 (step 907) by application management framework 100.The corresponding web applications icon of user by selecting activates this web applications (step 908).
In the exemplary embodiments of logic flow 900, when the user capture web applications, whether be linked to network " online " (step 909) immediately according to this mobile device 500, can carry out different steps.If this mobile device 500 is linked to network (910), then by network, this web applications can obtain advertisements with application management framework 100 and/or WebVM 210 requests and from web applications developer's advertising provider 825.Then, this advertisement can be downloaded and inserted in the web applications that this user selects (step 911).
Yet, if this mobile device 500 is online immediately (step 912) not, then this web applications can be loaded into advertisement high-speed cache or preloaded on this mobile device 500 from local storage with application management framework 100 and/or WebVM210, then, this advertisement can be inserted the web applications of selecting (step 913).No matter whether given web applications moves, and WebVM 210 can obtain advertisement these high-speed caches or preloaded from advertising provider 825 every now and then.
When the user sees or clicks advertisement, can carry out different steps according to this mobile device 500 whether online (step 914).If this mobile device 500 not online (step 915) then writes down these affairs and is used for transmitting afterwards (step 916).Sometimes, when this mobile device 500 was online, then WebVM 210 can send to relevant issues information advertising provider 825, so that web applications developer 815 can receive the advertisement commission.Whether the WWW configuration that no matter contains this advertisement is in operation, and this can realize.
If this mobile device 500 online (step 917) when the user clicks advertisement, then this web applications sends to this advertising provider with application management framework 100 and/or WebVM210 with relevant issues information, so that this web applications developer can receive advertisement commission (step 918).In conversion embodiment, WebVM 210 can change into and delay send the advertisement panel details up to time (for example, disposable wholesale many affairs of sending) after a while.
In certain embodiments, can between mobile device 500, provider of portal website 802, web applications developer 815 and advertising provider 825, carry out checking or audit steps, guaranteeing that this advertisement panel is legal, and " click fraud (click fraud) " can not take place.
Described embodiment provides the user activity and service download that is provided and the incentives that use web applications has been provided.815 couples of web applications developers create web applications and give the mechanism that the web applications of writing by 802 issues of provider of portal website was encouraged and had to finance to share advertising income.Web applications developer 815 also has the mechanism that obtains advertisement from advertising provider 825.In addition, even when mobile device 500 is not online, web applications developer 815 also can earn from the affairs that the user carries out and get advertising income.Advertising provider 825 can earn from its advertiser and get profit, and has the mechanism of issuing its advertisement by web applications.Provider of portal website 802 has incentives from shared advertising income to the user that issue web applications by.
In addition, even when mobile device 500 is not online, this provider of portal website 802 also can carry out affairs from the user and earn and get advertising income.We understand that in certain embodiments, some of user, provider of portal website, web applications developer and advertising provider or whole role all can be played the part of by general entity.As mentioned above, this embodiment has created the self-insurance that all participants are benefited " effectively circulation (virtuous cycle) ".
We understand, unless expressly stated otherwise,, refer to the action and/or the processing of computing machine or computing system or similar computing electronics such as the term of " processing ", " calculating ", " computing ", " determining " or the like, with in register and/or the storer with the data processing of physical quantity (for example, electronics) expression and/or be transformed in storer, register or other this information stores, transmission or display device other data with the same expression of physical quantity.
Some accompanying drawings can comprise process flow diagram.Although these accompanying drawings can comprise particular logic flow, we understand that the typical case that this logic flow only illustrates general utility functions realizes.In addition, except as otherwise noted, this logic flow not necessarily must with shown in order carry out.We also understand, although logic flow illustrates the step of particular order, according to conversion embodiment, also can carry out with the step of other order.In addition, the independent step of some of logic flow can comprise with the various orders that are fit to this independent step carry out step by step a plurality of.In addition,, can add additional step, perhaps remove some steps according to specific implementation.
In addition, the software unit that can carry out by hardware cell, by computing machine of this logic flow, embed firmware unit in the hardware or their combination in any is achieved.In various embodiments, this logic flow can comprise the executable computer program instruction or is achieved by the executable computer program instruction.This executable computer program instruction can be achieved by software, firmware, module, application program, program, widget, subroutine, instruction, instruction set, Accounting Legend Code, word, numerical value, symbol or their combination.This executable computer program instruction can comprise the code of any suitable type, such as source code, compiled code, interpretive code, executable code, static code, dynamic code or the like.This executable computer program instruction can be achieved according to the predetermined computerese, mode or the grammer that are used for order computing machine execution specific function.According to described embodiment, this executable computer program instruction can utilize any suitable programming language senior, rudimentary, OO, visual, compiling and/or that explain to be achieved.
In various embodiments, logic flow can comprise that the executable computer program that is stored in goods and/or the computer-readable recording medium instructs or is achieved by the executable computer program instruction that is stored in goods and/or the computer-readable recording medium.These goods and/or computer-readable recording medium can be stored the executable computer program instruction, and this executable computer program instruction can make method and/or the operation of this computing machine execution according to described embodiment when being carried out by computing machine.According to described embodiment, these goods and/or computer-readable recording medium can be achieved by various systems and/or device.In such an embodiment, computing machine can comprise any suitable computer platform that any appropriate combination of utilizing hardware and/or software realizes, device, system or the like.
These goods and/or computer-readable recording medium can comprise that one or more can store data computing machine readable storage medium storing program for executing, and they comprise volatile memory or nonvolatile memory, removable memory or non-moving storer, can wipe or nonerasable memory, can write or recordable memory or the like.According to described embodiment, the example of computer-readable recording medium can comprise, but be not limited to comprise: random-access memory (ram), dynamic RAM (DRAM), Double Data Rate dynamic RAM (DDRAM), Synchronous Dynamic Random Access Memory (SDRAM), static RAM (SRAM), ROM (read-only memory) (ROM), programmable read-only memory (prom), EPROM (Erasable Programmable Read Only Memory) (EPROM), EEPROM (Electrically Erasable Programmable Read Only Memo) (EEPROM), flash memory (for example, NOR type or NAND type flash memory), Content Addressable Memory (CAM), polymer memory (for example, ferroelectric polymer memory), phase transition storage, ovonic memory, ferroelectric memory, silicon-monox-silicon-nitride and silicon oxide-silicon (Silicon-Oxide-Nitride-Oxide-Silicon) is storer (SONOS), magnetic card or light-card, the perhaps any computer-readable recording medium of other suitable type.Although described the special characteristic of this embodiment as mentioned above,, now, those skilled in the art can expect many modifications, replacement, change and be equal to.Therefore, the purpose that should be known in appended claims is all such modifications and the change of containing in the essential scope that falls into this embodiment.

Claims (15)

1. mobile device comprises:
Web-browser;
Application management framework is achieved in this browser, and this application management framework encapsulates a plurality of web applications; And
The application management framework user interface, it comprises one group corresponding to a plurality of icons that run on the movable web applications in this application management framework.
2. mobile device according to claim 1, wherein this application management framework user interface is running,, switches between the web applications of this application management framework under the situation of single browser with permission.
3. according to claim 1 or 2 described mobile devices, wherein this application management framework user interface is running, provides one group of general input control with the web applications to this application management framework.
4. each described mobile device in requiring according to aforesaid right, wherein this application management framework user interface is running, to respond one or more incident, enters this group icon.
5. each described mobile device in requiring according to aforesaid right, wherein one or more web applications of this application management framework comprises little (widget).
6. each described mobile device in requiring according to aforesaid right, wherein when this mobile device was not connected to Active Networks, one or more web applications was movable.
7. each described mobile device in requiring according to aforesaid right, wherein one or more web applications of this application management framework comprises advertisement.
8. method comprises:
Application management framework is installed in the Web-browser;
A plurality of web applications are installed in this application management framework; And
Show to comprise set of diagrams target application management framework user interface, this group icon is corresponding to a plurality of movable web applications that operates in this application management framework.
9. method according to claim 8 further comprises one or more this web applications is provided, for using on one or more calculation element.
10. according to Claim 8 or 9 described methods, comprise further the WWW virtual machine be installed that to communicate by letter with this application management framework, this WWW virtual machine is included in the local Web server main frame on this mobile device.
11. method according to claim 10, wherein this WWW virtual machine comprises the web services manager, and this web services manager is communicated by letter with this application management framework by direct message passing interface.
12. a computer-readable recording medium that comprises computer program comprises running on the computer-readable program unit that requires each described method in 8 to 11 on the calculation element with enforcement of rights.
13. a method comprises:
The developer receives web applications from web applications;
This web applications is provided the calculation element that gives the user;
Advertisement is inserted specific development merchant's specific web applications; And
With the shared advertising income that obtains by the showing advertisement of the specific web applications generation on this calculation element of user of this specific web applications developer.
14. method according to claim 13, wherein
This WWW advertisement is inserted into this specific web applications, and no matter this user's calculation element is in network presence or off-line state; And
This showing advertisement occurs in this specific web applications, and no matter this user's calculation element is in network presence or off-line state.
15. a computer-readable recording medium that comprises computer program comprises running on the computer-readable program unit that requires 13 or 14 described methods on the calculation element with enforcement of rights.
CN200880100912A 2007-07-29 2008-07-29 Application management framework for web applications Pending CN101790714A (en)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US95258807P 2007-07-29 2007-07-29
US60/952,588 2007-07-29
US95402207P 2007-08-06 2007-08-06
US60/954,022 2007-08-06
US11/873,305 2007-10-16
US11/873,305 US20080098093A1 (en) 2006-10-16 2007-10-16 Offline automated proxy cache for web applications
US12/061,179 2008-04-02
US12/061,179 US20080248834A1 (en) 2007-04-03 2008-04-02 System and methods for providing access to a desktop and applications of a mobile device
US12/116,697 2008-05-07
US12/116,697 US8060486B2 (en) 2007-05-07 2008-05-07 Automatic conversion schema for cached web requests
PCT/US2008/071476 WO2009018277A1 (en) 2007-07-29 2008-07-29 Application management framework for web applications

Publications (1)

Publication Number Publication Date
CN101790714A true CN101790714A (en) 2010-07-28

Family

ID=40304816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880100912A Pending CN101790714A (en) 2007-07-29 2008-07-29 Application management framework for web applications

Country Status (3)

Country Link
EP (1) EP2174211A4 (en)
CN (1) CN101790714A (en)
WO (1) WO2009018277A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024124A (en) * 2010-12-20 2011-04-20 中国联合网络通信集团有限公司 Method, device and system for processing mobile widgets as well as client-side
CN102298521A (en) * 2011-08-31 2011-12-28 因为科技无锡有限公司 Mobile internet application system based on cross-platform browsing technology
CN103139648A (en) * 2011-11-30 2013-06-05 苏州中茵泰格科技有限公司 Method and system for refresh-free page turning of TV shopping page
CN112217671A (en) * 2020-09-30 2021-01-12 青岛海信网络科技股份有限公司 Method and equipment for performing interface display on front-end micro-service based on split deployment

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8478299B2 (en) 2007-04-06 2013-07-02 Hewlett-Packard Development Company, L.P. System and methods for obtaining coarse location for a mobile device
US8060486B2 (en) 2007-05-07 2011-11-15 Hewlett-Packard Development Company, L.P. Automatic conversion schema for cached web requests
US8458612B2 (en) 2007-07-29 2013-06-04 Hewlett-Packard Development Company, L.P. Application management framework for web applications
CN101557297B (en) * 2009-05-14 2011-06-22 中兴通讯股份有限公司 Internet-based open telecommunication service generation system and method thereof
US8763092B2 (en) * 2010-09-30 2014-06-24 International Business Machines Corporation Implementing secured, event-based layered logout from a computer system
US20130159137A1 (en) * 2011-12-16 2013-06-20 Jayasimha Nuggehalli Approach for arbitrating subscription conflicts in package-based subscriptions
CN104115106B (en) * 2011-12-28 2017-11-07 英特尔公司 Interaction is moved in mixing for locally applied and network application
US9229694B2 (en) 2013-03-15 2016-01-05 Gamesys Ltd. Systems and methods for facilitating application development utilizing plugins
CN104346228B (en) * 2013-07-26 2017-12-05 华为终端有限公司 The method and terminal of sharing application program
US9513885B2 (en) 2013-08-22 2016-12-06 Peter Warren Web application development platform with relationship modeling
US10620972B2 (en) 2015-07-16 2020-04-14 Adobe Inc. Processing touch gestures in hybrid applications
CN106411712A (en) * 2016-10-19 2017-02-15 天脉聚源(北京)传媒科技有限公司 Electronic gift display method and device
US10095763B1 (en) 2017-07-10 2018-10-09 Palantir Technologies Inc. Systems and methods for data analysis and visualization and managing data conflicts

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030066032A1 (en) * 2001-09-28 2003-04-03 Siebel Systems,Inc. System and method for facilitating user interaction in a browser environment
US20050038900A1 (en) * 2003-08-14 2005-02-17 Brad Krassner Internet-based system and method for distributing interstitial advertisements
US20060168101A1 (en) * 2001-07-20 2006-07-27 Dmytro Mikhailov Proactive browser system
US20070033569A1 (en) * 2005-08-02 2007-02-08 Davidson James G Client/server web application architectures for offline usage, data structures, and related methods

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5105184B1 (en) * 1989-11-09 1997-06-17 Noorali Pirani Methods for displaying and integrating commercial advertisements with computer software
WO2004012094A1 (en) * 2002-07-29 2004-02-05 Abaco Pr, Inc. System and method for transfer, control, and synchronization of data
US20040122774A1 (en) * 2002-08-02 2004-06-24 Martin Studd Method and system for executing applications on a mobile device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060168101A1 (en) * 2001-07-20 2006-07-27 Dmytro Mikhailov Proactive browser system
US20030066032A1 (en) * 2001-09-28 2003-04-03 Siebel Systems,Inc. System and method for facilitating user interaction in a browser environment
US20050038900A1 (en) * 2003-08-14 2005-02-17 Brad Krassner Internet-based system and method for distributing interstitial advertisements
US20070033569A1 (en) * 2005-08-02 2007-02-08 Davidson James G Client/server web application architectures for offline usage, data structures, and related methods

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024124A (en) * 2010-12-20 2011-04-20 中国联合网络通信集团有限公司 Method, device and system for processing mobile widgets as well as client-side
CN102024124B (en) * 2010-12-20 2012-07-04 中国联合网络通信集团有限公司 Method, and device for processing mobile widgets as well as client-side
CN102298521A (en) * 2011-08-31 2011-12-28 因为科技无锡有限公司 Mobile internet application system based on cross-platform browsing technology
CN103139648A (en) * 2011-11-30 2013-06-05 苏州中茵泰格科技有限公司 Method and system for refresh-free page turning of TV shopping page
CN112217671A (en) * 2020-09-30 2021-01-12 青岛海信网络科技股份有限公司 Method and equipment for performing interface display on front-end micro-service based on split deployment

Also Published As

Publication number Publication date
EP2174211A4 (en) 2012-08-15
WO2009018277A1 (en) 2009-02-05
EP2174211A1 (en) 2010-04-14

Similar Documents

Publication Publication Date Title
CN101790714A (en) Application management framework for web applications
US8458612B2 (en) Application management framework for web applications
US20090043657A1 (en) System and methods for selecting advertisements based on caller identifier information
US10748205B2 (en) Method, system, and graphic user interface for enabling a customer to access an artist profile and associated media file
US7653001B2 (en) Managing differences in user devices when sharing content on mobile devices
US7284208B2 (en) System and method for enabling at least one independent data navigation and interaction activity within a document
US20060190616A1 (en) System and method for aggregating, delivering and sharing audio content
US20080177858A1 (en) Arranging dynamic bookmarks based on service provider inputs
US20090222117A1 (en) System, apparatus, and method for managing preloaded content for review on a handheld digital media apparatus
US20080133647A1 (en) System and method for delivering web content to a mobile network
US20090198579A1 (en) Keyword tracking for microtargeting of mobile advertising
KR20070067650A (en) System and method for delivering web content to mobile devices
US10235694B2 (en) Rules-based targeted content message serving systems and methods
EP1924053A1 (en) An RSS enabled personal token
CN1963819A (en) Method for exchanging portlet configuration data and portal
US20090164922A1 (en) Auto toolbar
CN101351782A (en) Interactive electronic desktop mobile method and system
EP2120203A1 (en) Method, apparatus and computer program product for managing advertising
EP2188991A1 (en) System and methods for selecting advertisements based on caller identifier information
KR20120137629A (en) System for providing shorten url browsing with branding , method thereof, and web client thereof
Troutman et al. Effective Optimization of Web Sites for Mobile Access: the transition from eCommerce to mCommerce
CA2384858A1 (en) Methods and apparatus for accessing personalized internet information using a mobile device
WO2009015427A1 (en) Distributing web-activatable content
TW200423695A (en) Method for electronic communication device to proceed interactive program services with mass media
WO2010135528A1 (en) A device and method for creating, distributing, managing and monetizing widgets in a mobile environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: HEWLETT PACKARD CO.

Free format text: FORMER OWNER: PAM SA

Effective date: 20110919

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20110919

Address after: American Texas

Applicant after: Hewlett-Packard Development Corp.

Address before: American California

Applicant before: Palm Inc.

ASS Succession or assignment of patent right

Owner name: QUALCOMM INC.

Free format text: FORMER OWNER: HEWLETT PACKARD CO.

Effective date: 20140226

TA01 Transfer of patent application right

Effective date of registration: 20140226

Address after: American California

Applicant after: Qualcomm Inc.

Address before: American Texas

Applicant before: Hewlett-Packard Development Corp.

TA01 Transfer of patent application right
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100728